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
okukenta
PRO
August 06, 2022
Technology
0
380
高校講座 | 第3回 協調ベース推薦システム
下記教科書を基にした高校生向けの推薦システム講座の講義スライドです。
奥 健太:基礎から学ぶ推薦システム - 情報技術で嗜好を予測する -, コロナ社 (2022)
okukenta
PRO
August 06, 2022
Tweet
Share
More Decks by okukenta
See All by okukenta
データベース|SQL
okukenta
PRO
0
66
龍谷ICT教育|プログラミング演習科目における自動採点ツールを用いた自由進度学習
okukenta
PRO
0
110
[RecSys2023論文読み会]Interface Design to Mitigate Inflation in Recommender Systems
okukenta
PRO
0
120
[RecSys2022論文読み会]Bundle MCR: Towards Conversational Bundle Recommendation
okukenta
PRO
0
390
高校講座 | 第1回 推薦システムとは
okukenta
PRO
0
450
高校講座 | 第2回 内容ベース推薦システム
okukenta
PRO
0
400
内容ベース推薦システム | 第2回 推薦システム概論
okukenta
PRO
0
560
協調ベース推薦システム | 第3回 推薦システム概論
okukenta
PRO
0
570
知識ベース推薦システム | 第4回 推薦システム概論
okukenta
PRO
0
530
Other Decks in Technology
See All in Technology
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.9k
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
230
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
450
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
700
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
260
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
130
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
SSMRunbook作成の勘所_20241120
koichiotomo
3
160
TypeScript、上達の瞬間
sadnessojisan
46
13k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
330
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Typedesign – Prime Four
hannesfritz
40
2.4k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Thoughts on Productivity
jonyablonski
67
4.3k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Building Adaptive Systems
keathley
38
2.3k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Building Your Own Lightsaber
phodgson
103
6.1k
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