Chuyển đến nội dung chính

第4課:特徴量エンジニアリングとVertex AI Feature Store

特徴量エンジニアリング技法。BigQueryによる特徴量計算。 Vertex AI Feature Store:オンライン/オフラインサービング。 特徴量モニタリング、学習/推論間の一貫性。

Vertex AI Feature Store

特徴量エンジニアリングとVertex AI Feature Store:ML向け特徴量の作成、保存、再利用

1. 特徴量エンジニアリング技法

技法使用場面例
正規化(Min-Max)有界範囲が必要(0-1)画像ピクセル、確率
標準化(Zスコア)正規分布に近い、境界なし顧客年齢、取引金額
対数変換偏った分布(価格、給与)住宅のLog(price)
One-Hotエンコーディング名義カテゴリカル(順序なし)国、ブランド、色
ラベルエンコーディング順序カテゴリカル(順序あり)Low/Medium/High → 0/1/2
特徴量クロス特徴量間の相互作用を捕捉city × day_of_week
バケット化連続値をカテゴリカルに変換Age → age_group
エンベディング高カーディナリティのカテゴリカルUserID、ProductID

2. 欠損値の処理

戦略使用場面
平均値/中央値補完数値型、欠損率が低い場合
最頻値補完カテゴリカル特徴量
モデルベースの補完欠損率が高い、複雑なパターン
インジケータ変数欠損自体が情報を持つ(is_missingフラグを追加)
行の削除ターゲットの欠損/影響を受ける行が非常に少ない
列の削除80%以上が欠損

3. 学習-推論スキュー

学習-推論スキューは深刻な問題です。特徴量が学習時と推論時で異なる方法で計算されるため、テスト指標が良好でも本番環境でモデルのパフォーマンスが低下します。

Training-Serving Skew Example:

TRAINING TIME:
  avg_purchase_last_30d = mean(all purchases in batch)  ← computed over full period

SERVING TIME:
  avg_purchase_last_30d = mean(last 5 purchases)        ← computed differently!

Result: Feature distribution mismatch → poor predictions

SOLUTION: Vertex AI Feature Store
  Same feature serve logic used at training AND serving time

4. Vertex AI Feature Store

コンポーネント説明
Feature StoreML特徴量の集中型リポジトリ
Entity Type追跡する対象のカテゴリ(User、Product)
Featureエンティティの名前付き属性(user.avg_spend)
Online Store低レイテンシサービング(ms)、リアルタイム予測用
Offline StoreBigQueryバックエンド、バッチトレーニングデータ取得用
Vertex AI Feature Store Architecture:

Feature Ingestion (Batch or Streaming)
        ↓
┌──── Feature Store ────────────────┐
│  Offline Store (BigQuery)          │  ← Training data export
│  Online Store (Bigtable-backed)    │  ← Serving (ms latency)
└───────────────────────────────────┘
        ↑ Same features ↑
  Training      Inference
  Pipeline      Endpoint

5. BigQueryによる特徴量エンジニアリング

BigQueryはGCP上で大規模データセットから集約特徴量を計算するための最適なツールです。

特徴量パターンBigQueryのアプローチ
ローリングウィンドウ集約ウィンドウ関数:AVG() OVER (PARTITION BY ... ORDER BY ... ROWS BETWEEN ...)
ユーザーアクティビティカウントCOUNT() GROUP BY user_id
カテゴリカルエンコーディングCASE WHEN ... または ML.ONE_HOT_ENCODE()
ハッシュエンベディング(高カーディナリティ)FARM_FINGERPRINT() mod N
特徴量の正規化BigQuery MLのML.STANDARD_SCALER()

試験のヒント: 「学習-推論の一貫性」や「複数モデル間での特徴量の再利用」→ Vertex AI Feature Store。「BigQueryデータから大規模に特徴量を計算」→ BigQueryウィンドウ関数 + スケジュールクエリ。

6. 特徴量ドリフトモニタリング

タイプ何が変化するか検出方法
特徴量スキュー学習時と推論時の特徴量分布が異なる学習ベースラインと推論統計の比較
特徴量ドリフト推論時の特徴量が時間とともに変化する推論時の特徴量分布を毎日モニタリング
ラベルドリフトターゲット変数の分布が変化する予測分布のシフトを追跡

7. 練習問題

Q1: チームのMLモデルはテスト時に優れた精度を示しましたが、本番環境ではパフォーマンスが低下しています。調査の結果、平均購入額の特徴量がトレーニング時(過去のバッチデータを使用)とサービング時(リアルタイムルックアップを使用)で異なる方法で計算されていることが判明しました。この問題は何と呼ばれ、どのように解決すべきでしょうか?

  • A) モデルドリフト — モデルをより頻繁に再トレーニングする
  • B) 学習-推論スキュー — Vertex AI Feature Storeを使用する ✓
  • C) データリーケージ — 購入額の特徴量を削除する
  • D) 過学習 — ドロップアウト層を追加する

解説:学習-推論スキューは、特徴量が学習時と推論時で異なる方法で計算される場合に発生します。Vertex AI Feature Storeは、特徴量計算のための単一の信頼できるソースを提供し、学習データのエクスポートとオンラインサービングの両方で同じロジックが使用されることを保証します。

Q2: ある特徴量の値が$10から$10,000,000の範囲で、強い右偏りの分布を持っています。線形モデルで使用する前に最も適切な変換はどれでしょうか?

  • A) One-Hotエンコーディング
  • B) Min-Max正規化
  • C) 対数変換 ✓
  • D) ラベルエンコーディング

解説:対数変換は偏った分布のスケールを圧縮し、より正規分布に近い形にして線形モデルに適したものにします。Min-Max正規化では偏りが保持されます。One-Hotエンコーディングはカテゴリカルデータ用です。

Q3: リアルタイム予測エンドポイントにミリ秒レベルのレイテンシで特徴量を提供するために最適化されたVertex AI Feature Storeのストアタイプはどれでしょうか?

  • A) Offline Store(BigQuery)
  • B) Online Store(Bigtableバックエンド) ✓
  • C) Feature Catalog
  • D) Cloud Memorystore

解説:Vertex AI Feature StoreのOnline StoreはBigtableバックエンドで、100ms未満のレイテンシルックアップ向けに設計されており、リアルタイム予測エンドポイントに最新の特徴量値を提供します。Offline StoreはBigQueryを使用し、バッチトレーニングデータの取得用です。