Slide 1

Slide 1 text

推薦システムの評価 第6回 推薦システム概論 奥 健太

Slide 2

Slide 2 text

シナリオ Aliceは食後のデザートとしてケーキを食べようとケーキ屋を訪れました。このケ ーキ屋では、表に示す10種類のケーキを提供しています。このケーキ屋にはAlice、 Bruno、Chiaraがよく訪れます。そして、ケーキに対する好みを1から5の5段階で 評価しています。Aliceはこれまでにさまざまな推薦システムにより好みのものを 推薦してきてもらいましたが、どの推薦システムが良いのでしょうか? ユーザ-ケーキ評価値行列 ショート ケーキ シフォン ケーキ ロール ケーキ スフレ チーズ ケーキ ベイクド チーズ ケーキ レア チーズ ケーキ ガトー ショコラ フォンダン ショコラ ブラウニー ザッハ トルテ Alice 5 4 3 ? 5 4 2 2 ? ? Bruno 3 3 3 3 2 ? 4 ? 5 ? Chiara 4 ? 3 5 4 3 ? 3 ? ?

Slide 3

Slide 3 text

推薦システムの評価方法 (1) オフライン評価 あらかじめ用意されたデータセットを用いて推薦システムの性能を評価 (2) ユーザ評価 募集した実験参加者に推薦システムを利用してもらうなど、タスクに取り組んで もらい、その過程で得られた実験データを基に推薦システムを評価 (3) オンライン評価 実際に推薦システムが稼働している利用環境における、実ユーザによる反応を基 に推薦システムを評価

Slide 4

Slide 4 text

実験計画 (1) 評価目的(evaluation goal) 推薦システムの何を評価したいのか、評価目的を仮説の形で定義 (2) 評価指標(evaluation metric) 推薦システムの性能を測る尺度 (3) ベースライン(baseline) 推薦システムの性能を測るための比較対象 (4) ハイパーパラメタ(hyperparameter) 推薦システムを設計する際に必要なパラメタ

Slide 5

Slide 5 text

オフライン評価 (offline evaluation)

Slide 6

Slide 6 text

データセット(dataset) user_id item_id rating 1 1 5 1 2 4 : : : 1 8 2 2 1 3 2 2 3 : : : 2 9 5 3 1 4 3 3 3 : : : 3 8 3 user_id name age sex 1 Alice 20 f 2 Bruno 22 m 3 Chiara 21 f item_id name category 1 ショートケーキ スポンジケーキ 2 シフォンケーキ スポンジケーキ 3 ロールケーキ スポンジケーキ 4 スフレチーズケーキ チーズケーキ 5 ベイクドチーズケーキ チーズケーキ 6 レアチーズケーキ チーズケーキ 7 ガトーショコラ チョコレートケーキ 8 フォンダンショコラ チョコレートケーキ 9 ブラウニー チョコレートケーキ 10 ザッハトルテ チョコレートケーキ 評価履歴 ユーザ アイテム 正解データとして、 の組の集合により提供されている ユーザ u がアイテム i に対して 評価値 を与えたという事実

Slide 7

Slide 7 text

評価履歴の分割 (1) 訓練データ(training data) 学習モデルの構築に用いられる (2) 検証データ(validation data) 最適なパラメタを見つけるための パラメタ検証に用いられる (3) テストデータ(test data) 最終的な評価に用いられる 評価履歴 訓練データ テストデータ 検証データ 50% 25% 25%

Slide 8

Slide 8 text

ホールドアウト法(hold-out) 評価履歴の一部をテストデータとして抜き出し、残りのデータを訓練デー タとして扱う 評価履歴 75% 25% 訓練データ テストデータ

Slide 9

Slide 9 text

交差検証法(cross-validation) 評価履歴を k 組に分割し、この k 組のうちの1組の評価履歴をテストデー タとして、残りの k - 1 組の評価履歴を訓練データとし、これを k パター ン用意する 評価履歴 テスト テスト テスト テスト テスト 訓練 訓練 訓練 訓練 訓練 訓練 訓練 訓練 訓練 訓練 訓練 訓練 訓練 訓練 訓練 訓練 訓練 訓練 訓練 訓練

Slide 10

Slide 10 text

ユーザ評価 (user evaluation)

Slide 11

Slide 11 text

データ収集 (1) タスク遂行前 事前に実験参加者の属性として、性別や年齢、居住地域、職業などのデモグラフ ィック属性に関して質問しておく (2) タスク遂行中 タスク遂行中に提示された推薦リスト内の個々のアイテムに対して、正確性や満 足度の観点から評価値を与えてもらったり、利用ログを収集したりする (3) タスク遂行後 利用した推薦システム全体に対するアンケートに回答してもらう

Slide 12

Slide 12 text

実験参加者間計画 vs. 実験参加者内計画 実験参加者間計画 (between-subjects design) 実験参加者内計画 (within-subjects design) 多く必要 実験参加者数 少なく済む 小さい 1人当りの負荷 大きい 影響なし 順序効果 影響あり

Slide 13

Slide 13 text

オンライン評価 (online evaluation)

Slide 14

Slide 14 text

A/Bテスト(A/B test) (1)実際に推薦システムを利用している実ユー ザをグループAとグループBに分ける (2)グループAには推薦システムAを、グループ Bには推薦システムBを適用し、一定期間、 ユーザに推薦システムを利用してもらう (3)期間終了後、あらかじめ設定したKPIをグ ループ間で比較する KPI クリック率(CTR)、コンバージョン率(CVR)など

Slide 15

Slide 15 text

オフライン評価 ユーザ評価 オンライン評価 実施コスト 実ユーザの 反応評価 ユーザの分布 その他 ➢ さまざまな条件で の比較 ➢ 定性的な評価 ➢ 長期的な評価 ➢ リスクが大きい ➢ 十分なユーザ数が 必要 評価方法の比較

Slide 16

Slide 16 text

正確性に関する評価指標

Slide 17

Slide 17 text

正確性(accuracy) (1) 嗜好予測の正確性 いかに正確に嗜好を予測できるかに着目した評価指標 (2) 上位 K 推薦の正確性 いかに正確に上位 K 推薦リストを生成できるかに着目した評価指標 嗜好予測問題 上位 K 推薦問題

Slide 18

Slide 18 text

嗜好予測の正確性

Slide 19

Slide 19 text

テストデータ ユーザ-ケーキ評価値行列 ショート ケーキ シフォン ケーキ ロール ケーキ スフレ チーズ ケーキ ベイクド チーズ ケーキ レア チーズ ケーキ ガトー ショコラ フォンダン ショコラ ブラウニー ザッハ トルテ Alice 5 4 3 ? 5 4 2 2 ? ? Bruno 3 3 3 3 2 ? 4 ? 5 ? Chiara 4 ? 3 5 4 3 ? 3 ? ? ショート ケーキ シフォン ケーキ ロール ケーキ スフレ チーズ ケーキ ベイクド チーズ ケーキ レア チーズ ケーキ ガトー ショコラ フォンダン ショコラ ブラウニー ザッハ トルテ Alice 4 2 Bruno 2 5 Chiara 3 テストデータ 正解データ(ground truth)

Slide 20

Slide 20 text

ユーザ u アイテム i 1:Alice 2:シフォンケーキ 4 2 2 2 4 1:Alice 7:ガトーショコラ 2 2 0 0 0 2:Bruno 9:ブラウニー 5 3 2 2 4 2:Bruno 5:ベイクドチーズケーキ 2 2 0 0 0 3:Chiara 8:フォンダンショコラ 3 3 0 0 0 嗜好予測の正確性 テストデータ 平均絶対誤差 (mean absolute error; MAE) 平均二乗誤差 (mean square error; MSE) 二乗平均平方根誤差 (root mean square error; RMSE)

Slide 21

Slide 21 text

上位 K 推薦の正確性

Slide 22

Slide 22 text

好き嫌い分類に基づく評価指標

Slide 23

Slide 23 text

推薦された(陽性) 推薦されなかった(陰性) 好き 真陽性(true-positive; TP) 偽陰性(false-negative; FN) 嫌い 偽陽性(false-positive; FP) 真陰性(true-negative; TN) 推薦された 推薦されなかった 好き 好きなアイテムが推薦された数(TP) 好きなアイテムが推薦されなかった数(FN) 嫌い 嫌いなアイテムが推薦された数(FP) 嫌いなアイテムが推薦されなかった数(TN) 混同行列(confusion matrix) 混同行列 ユーザが好きなアイテムが推薦された/されなかった数、ユーザが嫌いな アイテムが推薦された/されなかった数を2行2列の表にまとめたもの

Slide 24

Slide 24 text

推薦された 推薦されなかった 好き 好きなアイテムが推薦された数(TP) 好きなアイテムが推薦されなかった数(FN) 嫌い 嫌いなアイテムが推薦された数(FP) 嫌いなアイテムが推薦されなかった数(TN) 混同行列 良い推薦と悪い推薦 好きなアイテムを推薦し、 かつ嫌いなアイテムを推薦しない 良い推薦 嫌いなアイテムを推薦し、 かつ好きなアイテムを推薦しない 悪い推薦

Slide 25

Slide 25 text

推薦された 推薦されなかった 好き 好きなアイテムが推薦された数(TP) 好きなアイテムが推薦されなかった数(FN) 嫌い 嫌いなアイテムが推薦された数(FP) 嫌いなアイテムが推薦されなかった数(TN) 偽陽性率(false-positive rate; FPR) すべての嫌いなアイテムのうち上位 K 件の 推薦リストに含まれる嫌いなアイテムの割合 真陽性率(true-positive rate; TPR) すべての好きなアイテムのうち上位 K 件の 推薦リストに含まれる好きなアイテムの割合 真陽性率と偽陽性率 混同行列

Slide 26

Slide 26 text

ROC曲線(ROC curve) AUC (area under the ROC curve) 左上に位置する方が 良い推薦システム

Slide 27

Slide 27 text

推薦された 推薦されなかった 好き 好きなアイテムが推薦された数(TP) 好きなアイテムが推薦されなかった数(FN) 嫌い 嫌いなアイテムが推薦された数(FP) 嫌いなアイテムが推薦されなかった数(TN) 再現率(recall) すべての好きなアイテムのうち上位 K 件の 推薦リストに含まれる好きなアイテムの割合 適合率(precision) 上位 K 件の推薦リストに含まれる 好きなアイテムの割合 適合率と再現率 混同行列

Slide 28

Slide 28 text

適合率と再現率のトレードオフ 好きなアイテム集合 嫌いなアイテム集合 推薦対象 適合率↑↑ 再現率↓↓ 推薦対象 適合率↓↓ 再現率↑↑ F値(F-measure) 適合率と再現率の調和平均 推薦対象 適合率↓ 再現率↑

Slide 29

Slide 29 text

適合率-再現率曲線(precision-recall curve) 右上に位置する方が 良い推薦システム

Slide 30

Slide 30 text

推薦順位に基づく正確性

Slide 31

Slide 31 text

平均逆順位(mean reciprocal rank; MRR) 推薦リストを1位から順にみていったとき、好きなアイテムがいかに早く 現れるかを示す指標 順位 K 好き嫌い 1 好き 2 好き 3 嫌い 4 好き 5 嫌い 順位 K 好き嫌い 1 嫌い 2 好き 3 嫌い 4 嫌い 5 好き 順位 K 好き嫌い 1 嫌い 2 嫌い 3 好き 4 好き 5 嫌い Alice Bruno Chiara

Slide 32

Slide 32 text

平均適合率(average precision; AP) 推薦リストの長さを K に固定したとき、第 K 位までの適合率の平均をと った評価指標 ユーザ u 向けの推薦リストの 平均適合率 順位 K 1 2 3 4 5 好き/嫌い 好き 好き 嫌い 好き 嫌い Alice向けの推薦リスト

Slide 33

Slide 33 text

MAP(mean average precision) すべてのユーザの平均適合率の平均 順位 K 好き嫌い 1 好き 2 好き 3 嫌い 4 好き 5 嫌い 順位 K 好き嫌い 1 嫌い 2 好き 3 嫌い 4 嫌い 5 好き 順位 K 好き嫌い 1 嫌い 2 嫌い 3 好き 4 好き 5 嫌い Alice Bruno Chiara

Slide 34

Slide 34 text

順位 K 1 2 3 4 5 5 4 3 5 2 DCG(discounted cumulative gain) Alice 推薦リスト上位に高評価値のアイテムが含まれているほど高く評価 ユーザ u 向けの推薦リストに 含まれるアイテム集合 推薦リストにおけるアイテム i の順位

Slide 35

Slide 35 text

アイテム i 1 2 3 5 6 7 8 5 4 3 5 4 2 2 順位 K 1 2 3 4 5 5 5 4 4 3 IDCG(ideal discounted cumulative gain) ユーザ u のテストデータを理想的な順位に並べ替えた推薦リストのDCG Aliceのテストデータ Aliceにとっての 理想的な推薦リスト

Slide 36

Slide 36 text

nDCG(normalized discounted cumulative gain) DCGを正規化した評価指標 すべてのユーザのnDCGの平均値 Alice向けの推薦リストのnDCG

Slide 37

Slide 37 text

発見性に関する評価指標

Slide 38

Slide 38 text

被覆率(coverage) アイテムデータベースに登録されているアイテムのうち、実際に推薦可能 なアイテムがどれほど含まれているかを示す評価指標 予測被覆率(prediction coverage) 全アイテム数 | I | に対して、推薦システムにより評価値予測が可能なアイテム数 の割合 カタログ被覆率(catalog coverage) ある期間においてユーザに提示された推薦リストにどの程度のアイテムが含まれ ているかを表す評価指標

Slide 39

Slide 39 text

多様性(diversity) 推薦リストがいかに多様なアイテムを含むかを測る評価指標 アイテム i カテゴリ 5:ベイクドチーズケーキ チーズケーキ 7:ガトーショコラ チョコレートケーキ 8:フォンダンショコラ チョコレートケーキ 9:ブラウニー チョコレートケーキ 10:ザッハトルテ チョコレートケーキ アイテム i カテゴリ 1:ショートケーキ スポンジケーキ 4:スフレチーズケーキ チーズケーキ 5:ベイクドチーズケーキ チーズケーキ 7:ガトーショコラ チョコレートケーキ 8:フォンダンショコラ チョコレートケーキ 推薦リストA 推薦リストB 多様性↓ 多様性↑

Slide 40

Slide 40 text

新規性(novelty) 対象アイテムがいかにユーザにとって新規なものであるかを測る評価指標 人気度に基づく新規性(popularity-based novelty) ➢ 人気のあるアイテムは対象ユーザもよく知っているだろうと仮定 ➢ ユーザに非依存 距離に基づく新規性(distance-based novelty) ➢ 対象ユーザがこれまでに消費してきたアイテムと類似するアイテムは、対象 ユーザもよく知っているだろうと仮定 ➢ ユーザに依存

Slide 41

Slide 41 text

意外性(unexpectedness) プリミティブシステム(人気度や平均評価値に基づく推薦システムなどの原始的な推薦シ ステム)により予測が困難なアイテム 対象とする推薦システムによるアイテム集合 意外なアイテム(unexpected item) プリミティブシステムによるアイテム集合 意外性 意外なアイテムをいかに推薦できるかを測る評価指標

Slide 42

Slide 42 text

セレンディピティ(serendipity) ユーザにとって魅力的かつ意外性のあるアイテム 有用なアイテム集合 セレンディピティなアイテム(serendipitous item) 意外なアイテム集合 セレンディピティ 魅力的かつ意外性のあるアイテムをいかに推薦できるかを測る評価指標