Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
高校講座 | 第3回 協調ベース推薦システム
Search
RecSysLab
PRO
August 06, 2022
Technology
0
450
高校講座 | 第3回 協調ベース推薦システム
下記教科書を基にした高校生向けの推薦システム講座の講義スライドです。
奥 健太:基礎から学ぶ推薦システム - 情報技術で嗜好を予測する -, コロナ社 (2022)
RecSysLab
PRO
August 06, 2022
Tweet
Share
More Decks by RecSysLab
See All by RecSysLab
データベース|SQL
recsyslab
PRO
0
88
龍谷ICT教育|プログラミング演習科目における自動採点ツールを用いた自由進度学習
recsyslab
PRO
0
140
[RecSys2023論文読み会]Interface Design to Mitigate Inflation in Recommender Systems
recsyslab
PRO
0
140
[RecSys2022論文読み会]Bundle MCR: Towards Conversational Bundle Recommendation
recsyslab
PRO
0
440
高校講座 | 第1回 推薦システムとは
recsyslab
PRO
0
510
高校講座 | 第2回 内容ベース推薦システム
recsyslab
PRO
0
470
内容ベース推薦システム | 第2回 推薦システム概論
recsyslab
PRO
0
790
協調ベース推薦システム | 第3回 推薦システム概論
recsyslab
PRO
0
790
知識ベース推薦システム | 第4回 推薦システム概論
recsyslab
PRO
0
720
Other Decks in Technology
See All in Technology
マルチプロダクト×マルチテナントを支えるモジュラモノリスを中心としたアソビューのアーキテクチャ
disc99
1
420
開発 × 生成AI × コミュニケーション:GENDAの開発現場で感じたコミュニケーションの変化 / GENDA Tech Talk #1
genda
0
130
MCP認可の現在地と自律型エージェント対応に向けた課題 / MCP Authorization Today and Challenges to Support Autonomous Agents
yokawasa
5
2.2k
【CEDEC2025】ブランド力アップのためのコンテンツマーケティング~ゲーム会社における情報資産の活かし方~
cygames
PRO
0
280
Kiroから考える AIコーディングツールの潮流
oikon48
4
680
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
130
僕たちが「開発しやすさ」を求め 模索し続けたアーキテクチャ #アーキテクチャ勉強会_findy
bengo4com
0
2.3k
AIのグローバルトレンド 2025 / ai global trend 2025
kyonmm
PRO
1
140
Serverless Meetup #21
yoshidashingo
1
120
Claude Codeから我々が学ぶべきこと
oikon48
10
2.8k
마라톤 끝의 단거리 스퍼트: 2025년의 AI
inureyes
PRO
1
730
Telemetry APIから学ぶGoogle Cloud ObservabilityとOpenTelemetryの現在 / getting-started-telemetry-api-with-google-cloud
k6s4i53rx
0
140
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
3.9k
RailsConf 2023
tenderlove
30
1.2k
BBQ
matthewcrist
89
9.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Code Reviewing Like a Champion
maltzj
524
40k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Transcript
推薦システムの仕組み ~この商品を買った人は、こんな商品も買っています~ 高校講座 | 第3回 協調ベース推薦システム 奥 健太
シナリオ Aliceはとある寿司屋を訪れました。この寿司屋では、表に示すように、カツオ、マグロ、中 トロ、タイ、ヒラメ、スズキの6種類の寿司を提供しています。この寿司屋にはAlice、 Bruno、Chiara、Dhruv、Emiがよく訪れます。そして、寿司に対する好みを1から5の5段 階で評価しています。さて、Aliceはカツオとスズキを試したことがありません。果たして、 Aliceはカツオとスズキを好むでしょうか? ユーザ-寿司評価値行列 カツオ マグロ 中トロ
タイ ヒラメ スズキ Alice ? 5 4 1 2 ? Bruno 5 5 4 ? 3 3 Chiara 4 ? 5 2 1 ? Dhruv ? 4 ? 2 1 1 Emi 1 2 1 3 ? 3 2
ユーザ、アイテム、評価履歴 ユーザ: 推薦システムの利用者 アイテム:推薦システムにおいて扱う商品やコンテンツなど 評価値: ユーザのアイテムに対する好き嫌いの程度 ユーザ アイテム 評価値 1:
Alice 2: マグロ 5 1: Alice 3: 中トロ 4 1: Alice 4: タイ 1 1: Alice 5: ヒラメ 2 2: Bruno 1: カツオ 5 : : : 5: Emi 6: スズキ 3 評価履歴 3 評価履歴: ユーザがこれまで利用してきた アイテムに対して与えた評価値の履歴
1 Bruno Chiara Dhruv Emi カ ツ オ マ グ
ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ Alice 2 3 4 5 1 2 3 4 5 6 ? ? ? ? ? ? ? ? ユーザの評価履歴をベクトルで表そう Bruno Chiara Dhruv Emi 2 3 4 5 ? ? ? ? ? ? ベクトル*:数を縦または横に並べたもの Aliceのマグロに対する評価値 欠損値: Aliceが未評価 *数学B -> 数学C:ベクトル 評価値ベクトル:特定のユーザの評価履歴をベクトルで表したもの 4 ユーザ アイテム 評価値 1: Alice 2: マグロ 5 1: Alice 3: 中トロ 4 1: Alice 4: タイ 1 1: Alice 5: ヒラメ 2 2: Bruno 1: カツオ 5 : : : 5: Emi 6: スズキ 3 評価履歴
すべてのユーザの評価値ベクトルをつなげよう 1 Bruno Chiara Dhruv Emi カ ツ オ マ
グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ Alice 2 3 4 5 1 2 3 4 5 6 ? ? ? ? ? ? ? ? 行列*:数を縦と 横に並べたもの *数学C:数学的な表現の工夫 評価値行列:各ユーザの各アイテムに対する評価値を縦と横に並べたもの 5
問題 | Aliceはカツオを好む?スズキを好む? 欠損値 に入るべき評価値をどう求める? ? 1 Bruno Chiara Dhruv
Emi カ ツ オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ Alice 2 3 4 5 1 2 3 4 5 6 ? ? ? ? ? ? ? ? 6
案1 | Aliceの平均評価値で予測 1 Bruno Chiara Dhruv Emi カ ツ
オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ Alice 2 3 4 5 1 2 3 4 5 6 ? ? ? ? ? ? ? ? 3.0 7
案2 | カツオに対する平均評価値で予測 1 Bruno Chiara Dhruv Emi カ ツ
オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ Alice 2 3 4 5 1 2 3 4 5 6 ? ? ? ? ? ? ? ? 3.3 8
案3 | Aliceと好みが似ているユーザを参考にして予測 1 Bruno Chiara Dhruv Emi カ ツ
オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ Alice 2 3 4 5 1 2 3 4 5 6 ? ? ? ? ? ? ? ? 4.5 9
似ているユーザを探そう 10
AliceとBrunoの評価値の関係 0 1 5 2 3 4 1 5 2
3 4 Aliceの評価値 Brunoの評価値 マグロ 中トロ ヒラメ 正の相関* *数学I:データの分析 Aliceが高く評価しているアイテムは Brunoも高く評価している 1 Bruno カ ツ オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ Alice 2 1 2 3 4 5 6 ? ? ? 11
AliceとEmiの評価値の関係 0 1 5 2 3 4 1 5 2
3 4 Aliceの評価値 Emiの評価値 マグロ 中トロ タイ 負の相関* Aliceが高く評価しているアイテムは Emiは低く評価している 1 Emi カ ツ オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ Alice 5 1 2 3 4 5 6 ? ? ? *数学I:データの分析 12
評価値行列の平均中心化 ユーザによって評価基準が異なるため、ユーザごとの平均評価値よりも好 きか嫌いかをみる 平 均 3 4 3 2 2
1 Bruno Chiara Dhruv Emi カ ツ オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ Alice 2 3 4 5 1 2 3 4 5 6 ? ? ? ? ? ? ? ? カ ツ オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ 1 2 3 4 5 6 ? ? ? ? ? ? ? ? 13
AliceとBrunoは似ている? -2 +2 -1 0 +1 -2 +2 -1 0
+1 Aliceの評価値 Brunoの評価値 マグロ 中トロ ヒラメ 正の相関 AliceとBrunoの評価値の相関係数* ユーザ類似度 *数学I:データの分析 1 Bruno Alice 2 カ ツ オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ 1 2 3 4 5 6 ? ? ? 14
AliceとEmiは似ている? 0 Aliceの評価値 Emiの評価値 マグロ 中トロ タイ 負の相関 AliceとEmiの評価値の相関係数* ユーザ類似度
-2 +2 -1 0 +1 -2 +2 -1 0 +1 15 カ ツ オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ 1 2 3 4 5 6 1 Emi Alice 5 ? ? ? *数学I:データの分析
演習 | AliceとChiaraの評価値の相関係数 AliceとChiaraの評価値の相関係数* ユーザ類似度 ※計算してみよう(分数、平方根はそのままで良い) 16 1 Chiara Alice
3 カ ツ オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ 1 2 3 4 5 6 ? ? ? ? *数学I:データの分析
演習 | AliceとDhruvの評価値の相関係数 AliceとDhruvの評価値の相関係数* ユーザ類似度 ※計算してみよう(分数、平方根はそのままで良い) 17 1 Dhruv Alice
4 カ ツ オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ 1 2 3 4 5 6 ? ? ? ? *数学I:データの分析
Aliceと好みが似ているユーザは? ユーザ ユーザ類似度 Alice Bruno Chiara Dhruv Emi 類似ユーザ ユーザ類似度が
• 上位 k 人のユーザを選ぶ • しきい値以上のユーザを選ぶ 類似ユーザの選び方 1.000 Aliceと嗜好が類似するユーザ 18
嗜好を予測しよう 19
1 カ ツ オ マ グ ロ 中 ト ロ
タ イ ヒ ラ メ ス ズ キ 1 2 3 4 5 6 ? ? ? ? ? ? ? ? Aliceのカツオに対する嗜好を予測しよう +1 類似ユーザ 類似ユーザの嗜好を参考に、Aliceがカツオに対して、平均よりも好むか嫌 うかを予測 20 Bruno Chiara Dhruv Emi Alice 2 3 4 5
カ ツ オ マ グ ロ 中 ト ロ タ
イ ヒ ラ メ ス ズ キ 1 2 3 4 5 6 ? ? ? ? ? ? ? Aliceのカツオに対する評価値を予測しよう 元の平均評価値を足して、Aliceの評価基準で評価値を予測 平 均 3 4 3 2 2 1 Bruno Chiara Dhruv Emi カ ツ オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ Alice 2 3 4 5 1 2 3 4 5 6 ? ? ? ? ? ? ? +1 4 21
カ ツ オ マ グ ロ 中 ト ロ タ
イ ヒ ラ メ ス ズ キ 1 2 3 4 5 6 ? ? ? ? ? ? +1 演習 | Aliceのスズキに対する評価値 ※Aliceのスズキに対する評価値を計算してみよう 平 均 3 4 3 2 2 1 Bruno Chiara Dhruv Emi カ ツ オ マ グ ロ 中 ト ロ タ イ ヒ ラ メ ス ズ キ Alice 2 3 4 5 1 2 3 4 5 6 ? ? ? ? ? ? 4 22
嗜好予測の結果 Aliceはとある寿司屋を訪れました。この寿司屋では、表に示すように、カツオ、マグロ、中 トロ、タイ、ヒラメ、スズキの6種類の寿司を提供しています。この寿司屋にはAlice、 Bruno、Chiara、Dhruv、Emiがよく訪れます。そして、寿司に対する好みを1から5の5段 階で評価しています。さて、Aliceはカツオとスズキを試したことがありません。果たして、 Aliceはカツオとスズキを好むでしょうか? ユーザ-寿司評価値行列 カツオ マグロ 中トロ
タイ ヒラメ スズキ Alice ? 5 4 1 2 ? Bruno 5 5 4 ? 3 3 Chiara 4 ? 5 2 1 ? Dhruv ? 4 ? 2 1 1 Emi 1 2 1 3 ? 3 23 Aliceはカツオを好む 4 Aliceはスズキを嫌う 2