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

内容ベース推薦システム | 第2回 推薦システム概論

内容ベース推薦システム | 第2回 推薦システム概論

下記教科書を基にした推薦システム概論の講義スライドです。
奥 健太:基礎から学ぶ推薦システム - 情報技術で嗜好を予測する -, コロナ社 (2022)

当スライドの利用については下記サポートサイトをご参照ください。
推薦システム概論 | recsys-text

okukenta

May 09, 2022
Tweet

More Decks by okukenta

Other Decks in Technology

Transcript

  1. アイテムID アイテム名 辛さ 甘さ 評価値 1 5辛3甘 5 3 +1

    2 6辛2甘 6 2 +1 3 4辛1甘 4 1 +1 4 8辛5甘 8 5 -1 5 2辛4甘 2 4 -1 6 3辛6甘 3 6 -1 7 7辛6甘 7 6 -1 8 4辛2甘 4 2 ? 9 5辛1甘 5 1 ? 10 8辛6甘 8 6 ? 11 3辛4甘 3 4 ? 12 4辛7甘 4 7 ? 13 4辛4甘 4 4 ? 特徴空間(feature space) 特徴空間 Aliceの評価履歴 10 12 6 5 11 13 4 7 1 2 8 3 9
  2. 10 12 6 5 11 13 4 7 1 2

    8 3 9 k 近傍法(k-nearest neighbor algorithm) 対象アイテムに近傍する k 個の評価済みのアイテムの情報を基に対象アイ テムの評価値を予測 好き1 嫌い2 < 好き3 嫌い0 >
  3. 次元削減(dimensionality reduction) Aliceの評価履歴 アイテムID アイテム名 第1主成分 第2主成分 評価値 1 5辛3甘

    0.699 0.264 +1 2 6辛2甘 -0.139 1.065 +1 3 4辛1甘 0.752 1.355 +1 4 8辛5甘 -2.564 0.202 -1 5 2辛4甘 1.969 -0.636 -1 6 3辛6甘 0.373 -1.211 -1 7 7辛6甘 -2.035 -0.496 -1 8 4辛2甘 1.219 0.656 ? 9 5辛1甘 -0.545 1.766 ? 10 8辛6甘 -1.788 -0.601 ? 11 3辛4甘 1.598 -0.535 ? 12 4辛7甘 -0.148 -1.603 ? 13 4辛4甘 0.611 -0.227 ? 次元削減後のAliceの評価履歴 アイテムID アイテム名 辛さ 甘さ スパイシー 評価値 1 5辛3甘 5 3 3 +1 2 6辛2甘 6 2 5 +1 3 4辛1甘 4 1 5 +1 4 8辛5甘 8 5 9 -1 5 2辛4甘 2 4 2 -1 6 3辛6甘 3 6 5 -1 7 7辛6甘 7 6 8 -1 8 4辛2甘 4 2 3 ? 9 5辛1甘 5 1 8 ? 10 8辛6甘 8 6 6 ? 11 3辛4甘 3 4 2 ? 12 4辛7甘 4 7 5 ? 13 4辛4甘 4 4 4 ?
  4. シナリオ Aliceはとあるクレープ屋を訪れま した。このクレープ屋では、表に 示す13種類のクレープを提供して います。クレープのトッピングと して、いちごやラズベリーなどが あります。Aliceは、これまでに 10種類のクレープを試し、各クレ ープについて「好き」(+1)/ 「嫌い」(−1)を評価してきま

    した。評価値が「?」となってい るクレープはAliceが未評価のクレ ープです。未評価のクレープのう ちAliceにはどのクレープを推薦す るのが良いでしょうか? クレープデータベースとAliceの評価履歴 アイテム ID アイテム名 トッピング 評価値 いちご ラズ ベリー バナナ チョコ ホイッ プ カス タード 1 いちごクレープ 1 0 0 0 1 0 +1 2 ラズベリークレープ 0 1 0 0 1 0 +1 3 ダブルベリークレープ 1 1 0 0 1 0 +1 4 いちごチョコクレープ 1 0 0 1 1 0 +1 5 いちごカスタード 1 0 0 0 0 1 +1 6 ラズベリーチョコカスタード 0 1 0 1 0 1 +1 7 バナナクレープ 0 0 1 0 1 0 -1 8 チョコバナナクレープ 0 0 1 1 1 0 -1 9 ラズベリーダブルクリーム 0 1 0 0 1 1 -1 10 バナナカスタード 0 0 1 0 0 1 -1 11 ダブルベリーチョコクレープ 1 1 0 1 1 0 ? 12 バナナダブルクリーム 0 0 1 0 1 1 ? 13 ラズベリーチョコバナナクレープ 0 1 1 1 1 0 ?
  5. モデルベース方式の基本 「いちごが含まれている クレープは好き」 「バナナが含まれている クレープは嫌い」 ユーザプロファイル 学習 アイテム ID アイテム名

    トッピング 評価値 いちご ラズ ベリー バナナ チョコ ホイッ プ カス タード 1 いちごクレープ 1 0 0 0 1 0 +1 2 ラズベリークレープ 0 1 0 0 1 0 +1 3 ダブルベリークレープ 1 1 0 0 1 0 +1 4 いちごチョコクレープ 1 0 0 1 1 0 +1 5 いちごカスタード 1 0 0 0 0 1 +1 6 ラズベリーチョコカスタード 0 1 0 1 0 1 +1 7 バナナクレープ 0 0 1 0 1 0 -1 8 チョコバナナクレープ 0 0 1 1 1 0 -1 9 ラズベリーダブルクリーム 0 1 0 0 1 1 -1 10 バナナカスタード 0 0 1 0 0 1 -1 11 ダブルベリーチョコクレープ 1 1 0 1 1 0 ? 12 バナナダブルクリーム 0 0 1 0 1 1 ? 13 ラズベリーチョコバナナクレープ 0 1 1 1 1 0 ? 予測
  6. アイテムの特徴ベクトル アイテム ID アイテム名 トッピング 評価値 いちご ラズ ベリー バナナ

    チョコ ホイッ プ カス タード 1 いちごクレープ 1 0 0 0 1 0 +1 アイテム i の特徴ベクトル 6次元特徴ベクトル 二値属性 0 ⇒ なし 1 ⇒ あり いちごクレープ(i = 1) ➢ 集合表現 ➢ 特徴ベクトル
  7. 訓練データ(training data) i xi,1 xi,2 xi,3 xi,4 xi,5 xi,6 r1,i

    1 1 0 0 0 1 0 +1 2 0 1 0 0 1 0 +1 : : : : : : : : 10 0 0 1 0 0 1 -1 Aliceの訓練データ 事例のインデックス =アイテムID アイテム i の特徴ベクトル ユーザ u のアイテム i に対する評価値 事例 i 訓練データに含まれる事例数 ユーザ u の訓練データ
  8. 集合表現による訓練データ i Xi r1,i 1 {いちご, ホイップ} +1 2 {ラズベリー,

    ホイップ} +1 : : : 10 {バナナ, カスタード} -1 集合表現によるユーザ u の訓練データ アイテム i の集合表現 集合表現によるAliceの訓練データ
  9. 予測対象データ(target data) Aliceの予測対象データ 予測対象データに含まれる事例数 ユーザ u の予測対象データ i xi,1 xi,2

    xi,3 xi,4 xi,5 xi,6 11 1 1 0 1 1 0 12 0 0 1 0 1 1 13 0 1 1 1 1 0 ユーザ u のアイテム i に 対する予測評価値
  10. 集合表現による予測対象データ 集合表現によるユーザ u 予測対象データ アイテム i の集合表現 集合表現によるAliceの予測対象データ i Xi

    11 {いちご, ラズベリー, チョコ, ホイップ} 12 {バナナ, ホイップ, カスタード} 13 {ラズベリー, バナナ, チョコ, ホイップ}
  11. 目的変数と説明変数 i xi,1 xi,2 xi,3 xi,4 xi,5 xi,6 r1,i 1

    1 0 0 0 1 0 +1 2 0 1 0 0 1 0 +1 : : : : : : : : 10 0 0 1 0 0 1 -1 説明変数 (explanatory variable) 目的変数(objective variable)
  12. 学習(learning) 訓練データを基に嗜好に関する規則性を見つける過程 i xi,1 xi,2 xi,3 xi,4 xi,5 xi,6 r1,i

    1 1 0 0 0 1 0 +1 2 0 1 0 0 1 0 +1 : : : : : : : : 10 0 0 1 0 0 1 -1 訓練データ 「いちごが含まれているクレープは好き」 「バナナが含まれているクレープは嫌い」 学習モデル (learning model) = ユーザプロファイル 学習
  13. 予測(prediction) 学習モデル(ユーザプロファイル)を使って、新しいアイテムに対する評 価値を推定する過程 i xi,1 xi,2 xi,3 xi,4 xi,5 xi,6

    11 1 1 0 1 1 0 12 0 0 1 0 1 1 13 0 1 1 1 1 0 +1 -1 -1 予測対象データ 「いちごが含まれているクレープは好き」 「バナナが含まれているクレープは嫌い」 学習モデル = ユーザプロファイル 予測
  14. 訓練データからアイテムに対する好き嫌いに関するルールを発見し、その ルールを使って、未知のアイテムの好き嫌いを予測 i Xi r1,i 1 {いちご, ホイップ} +1 2

    {ラズベリー, ホイップ} +1 3 {いちご, ラズベリー, ホイップ} +1 4 {いちご, チョコ, ホイップ} +1 5 {いちご, カスタード} +1 6 {ラズベリー, チョコ, カスタード} +1 7 {バナナ, ホイップ} -1 8 {バナナ, チョコ, ホイップ} -1 9 {ラズベリー, ホイップ, カスタード} -1 10 {バナナ, カスタード} -1 ルールベース分類器(rule-based classifier) 学習モデル = ユーザプロファイル 学習 i Xi 11 {いちご, ラズベリー, チョコ, ホイップ} 12 {バナナ, ホイップ, カスタード} 13 {ラズベリー, バナナ, チョコ, ホイップ} 訓練データ 予測対象データ 予測 +1 -1 -1
  15. i xi,1 xi,2 xi,3 xi,4 xi,5 xi,6 r1,i 1 1

    0 0 0 1 0 +1 2 0 1 0 0 1 0 +1 3 1 1 0 0 1 0 +1 4 1 0 0 1 1 0 +1 5 1 0 0 0 0 1 +1 6 0 1 0 1 0 1 +1 7 0 0 1 0 1 0 -1 8 0 0 1 1 1 0 -1 9 0 1 0 0 1 1 -1 10 0 0 1 0 0 1 -1 予測対象データ 単純ベイズ分類器(naive Bayes classifier) i xi,1 xi,2 xi,3 xi,4 xi,5 xi,6 11 1 1 0 1 1 0 12 0 0 1 0 1 1 13 0 1 1 1 1 0 訓練データ 訓練データからアイテムに対する好き嫌いの確率を計算し、その確率を使 って、未知のアイテムの好き嫌いを予測 学習モデル = ユーザプロファイル 学習 +1 -1 -1 予測
  16. 決定木(decision tree) バナナ いちご ホイップ カスタード 嫌い 好き 嫌い 好き

    好き レベル0 レベル1 レベル2 レベル3 レベル4 根ノード あり あり あり あり なし なし なし なし エッジ 葉ノード 内部ノード
  17. i xi,1 xi,2 xi,3 xi,4 xi,5 xi,6 r1,i 1 1

    0 0 0 1 0 +1 2 0 1 0 0 1 0 +1 3 1 1 0 0 1 0 +1 4 1 0 0 1 1 0 +1 5 1 0 0 0 0 1 +1 6 0 1 0 1 0 1 +1 7 0 0 1 0 1 0 -1 8 0 0 1 1 1 0 -1 9 0 1 0 0 1 1 -1 10 0 0 1 0 0 1 -1 決定木による学習と予測 訓練データ 訓練データから決定木を学習し、その決定木を使って、未知のアイテムの 好き嫌いを予測 学習モデル = ユーザプロファイル 学習 予測対象データ i xi,1 xi,2 xi,3 xi,4 xi,5 xi,6 11 1 1 0 1 1 0 12 0 0 1 0 1 1 13 0 1 1 1 1 0 +1 -1 -1 予測