Step 3 クイズ:特徴量ストアを設計しよう
特徴量ストアの概念、Feast、特徴量パイプライン、ガバナンスについて理解度を確認しましょう。
Q1. 特徴量ストアが解決する問題として正しくないものはどれか?
A. Training-Serving Skew(学習と推論での特徴量計算の不一致) B. 特徴量の重複開発 C. モデルのハイパーパラメータ最適化 D. Point-in-Time Correctnessの欠如(データリーク)
答えを見る
正解:C. モデルのハイパーパラメータ最適化
特徴量ストアは特徴量の管理・提供に特化しており、Training-Serving Skew、重複開発、データリークの防止を解決します。ハイパーパラメータ最適化は実験管理やAutoMLの領域であり、特徴量ストアの守備範囲ではありません。
Q2. FeastのOnline StoreとOffline Storeの使い分けとして正しいのはどれか?
A. Online Store はモデル学習用、Offline Store は推論用 B. Online Store はリアルタイム推論用、Offline Store はバッチ学習用 C. Online Store はバッチ処理用、Offline Store はストリーミング用 D. 両方とも同じ用途で、バックエンドだけが異なる
答えを見る
正解:B. Online Store はリアルタイム推論用、Offline Store はバッチ学習用
Online Store(Redis/DynamoDB等)は最新の特徴量をミリ秒のレイテンシで提供し、リアルタイム推論に使用します。Offline Store(S3/BigQuery等)は全履歴データを保持し、Point-in-Time Joinによるバッチ学習データセット作成に使用します。
Q3. Point-in-Time Joinの主な目的はどれか?
A. データの結合を高速化する B. 将来のデータを学習に含めないようにしてデータリークを防ぐ C. 特徴量の欠損値を補完する D. 複数のテーブルを外部結合する
答えを見る
正解:B. 将来のデータを学習に含めないようにしてデータリークを防ぐ
Point-in-Time Joinは、各レコードの時点で利用可能だった特徴量のみを結合する手法です。これにより、学習時に未来の情報が混入する「データリーク」を防止し、本番環境での予測精度と学習時の精度を一致させます。
Q4. バッチ特徴量とストリーミング特徴量の違いとして正しいのはどれか?
A. バッチ特徴量は正確だが、ストリーミング特徴量は近似値である B. バッチ特徴量は定期スケジュールで計算、ストリーミング特徴量はイベント駆動で更新 C. バッチ特徴量はOnline Storeのみ、ストリーミング特徴量はOffline Storeのみに保存 D. 両者に技術的な違いはなく、名前が異なるだけ
答えを見る
正解:B. バッチ特徴量は定期スケジュールで計算、ストリーミング特徴量はイベント駆動で更新
バッチ特徴量は日次や時間次などのスケジュールで計算されます(例:30日間購買回数)。ストリーミング特徴量はイベント発生ごとにリアルタイムで更新されます(例:直近1時間のクリック数)。更新頻度の要件に応じて使い分けます。
Q5. 特徴量ガバナンスにおけるデータリネージの目的として最も適切なのはどれか?
A. 特徴量の計算を高速化する B. 特徴量の出自を追跡し、データソース変更時の影響範囲を特定する C. 特徴量のアクセス権限を管理する D. 特徴量の欠損値を自動補完する
答えを見る
正解:B. 特徴量の出自を追跡し、データソース変更時の影響範囲を特定する
データリネージは、特徴量がどのデータソースからどのような変換を経て生成されたかの経路を記録します。これにより、あるデータソースが変更された際に、影響を受ける特徴量やモデルを即座に特定できます(影響分析)。
結果
5問中何問正解できましたか?
| 正解数 | 評価 |
|---|---|
| 5問 | 素晴らしい!Step 4に進みましょう |
| 3-4問 | 良い調子です。間違えた部分を復習しましょう |
| 1-2問 | Step 3のレッスンをもう一度確認しましょう |
| 0問 | 基礎から丁寧に見直しましょう |
推定所要時間:30分