Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon Personalizeの レコメンドシステム構築、実際何するの? 〜大体10分で...

Niino
November 13, 2024

Amazon Personalizeの レコメンドシステム構築、実際何するの? 〜大体10分で具体的なイメージをつかむ〜

2024/11/13 まるクラ勉強会にて発表した資料です。
https://classmethod.connpass.com/event/333509/

Niino

November 13, 2024
Tweet

More Decks by Niino

Other Decks in Technology

Transcript

  1. 自己紹介 2 𝕏:@kniino1234 • 部署 ◦ データ事業本部 機械学習チーム • 名前

    ◦ niino • 出身・住まい ◦ 奈良県出身・大阪オフィス所属 • ボーナスの使い道 ◦ PlayStation5 奈良のこのあたり
  2. Personalizeの利用のざっくりとした流れ 15 データの準備・取り込み モデルの作成・学習 レコメンデーション作成 ⚫ 探索的データ分析で 利用データを検討 ⚫ Personalizeで使える形に

    データを加工 1 2 3 ⚫ 作成したモデルが レコメンドにあたって 十分な性能を持つか確認 ⚫ 設計したデータセットの 妥当性を確認し、データ を増やすべきか インタラクション数が少 ないアイテムをフィルタ するなどの工夫をする ⚫ レコメンド結果の妥当性 を確認 ⚫ 評価改善
  3. Personalizeの利用のざっくりとした流れ 16 データの準備・取り込み モデルの作成・学習 レコメンデーション作成 ⚫ 探索的データ分析で 利用データを検討 ⚫ Personalizeで使える形に

    データを加工 1 2 3 ⚫ 作成したモデルが レコメンドにあたって 十分な性能を持つか確認 ⚫ 設計したデータセットの 妥当性を確認し、データ を増やすべきか インタラクション数が少 ないアイテムをフィルタ するなどの工夫をする ⚫ レコメンド結果の妥当性 を確認 ⚫ 評価改善
  4. データの準備・取り込みでやること 17 探索的データ分析(EDA) • データの傾向や特徴を捉え、レコメンドに適したデータセットを作るためのプロセス • アイテム、ユーザー数、メタデータ、アクション数の分布などを事前に調べておく • このプロセスがないと不適切なデータ設計による偏ったレコメンド結果となる可能性も… SELECT

    FLOOR(download_count/100) * 100 as download_range_start, FLOOR(download_count/100) * 100 + 99 as download_range_end, COUNT(*) as user_count FROM (SELECT user_id, COUNT(*) as download_count FROM download_history GROUP BY user_id) user_downloads GROUP BY FLOOR(download_count/100) ORDER BY download_range_start;
  5. Personalizeの利用のざっくりとした流れ 19 データの準備・取り込み モデルの作成・学習 レコメンデーション作成 ⚫ 探索的データ分析で 利用データを検討 ⚫ Personalizeで使える形に

    データを加工 1 2 3 ⚫ 作成したモデルが レコメンドにあたって 十分な性能を持つか確認 ⚫ 設計したデータセットの 妥当性を確認し、データ を増やすべきか インタラクション数が少 ないアイテムをフィルタ するなどの工夫をする ⚫ レコメンド結果の妥当性 を確認 ⚫ 評価改善
  6. モデル作成・学習で確認すること 20 作成したモデルがレコメンドにあたって十分な性能を持つか確認 設計したデータセットの妥当性を確認し、結果によってデータセットを見直す (例:データを増やす、インタラクション数が少ないアイテムをフィルタする) ユニークなアイテム総数の うちレコメンドしたアイテ ムの割合。数値が大きいと 多くの種類のアイテムを レコメンドしている。

    「正解アイテムが何番目に 表示されたか」の評価値。 正解アイテムが上位に表示 されるほど1に近い値となり、 下位になるほど0に近づく。 システムが推薦したアイテ ムの中で、実際にユーザー が好む(購入・閲覧など) アイテムの割合 推薦リストの順序を考慮 した評価指標で、関連性の 高いアイテムが上位に ランクされているほど 高スコアになる
  7. Personalizeの利用のざっくりとした流れ 22 データの準備・取り込み モデルの作成・学習 レコメンデーション作成 ⚫ 探索的データ分析で 利用データを検討 ⚫ Personalizeで使える形に

    データを加工 1 2 3 ⚫ 作成したモデルが レコメンドにあたって 十分な性能を持つか確認 ⚫ 設計したデータセットの 妥当性を確認し、データ を増やすべきか インタラクション数が少 ないアイテムをフィルタ するなどの工夫をする ⚫ レコメンド結果の妥当性 を確認 ⚫ 評価改善