Download presentation
Presentation is loading. Please wait.
1
中間発表用スライド 田中健太
2
本日の予定 レコメンドシステムとは ・協調フィルタリングとは メモリーベースのアプローチ ・ユーザーベースの協調フィルタリング ・アイテムベースの協調フィルタリング ・試しに実行してみた
3
ユーザーがまだ購入、レンタルしたことがなく、 きっとそのユーザーが満足するであろう商品を推薦、 提案しようというものである。
レコメンドシステムとは レコメンドシステムは、 ユーザーの趣味嗜好、購入履歴から ユーザーがまだ購入、レンタルしたことがなく、 きっとそのユーザーが満足するであろう商品を推薦、 提案しようというものである。
4
レコメンドシステムとは ・実際にどんなところに使われているか この部分
5
協調フィルタリングとは 過去のユーザーの評価や行動履歴などを利用して 推薦対象のユーザーの嗜好を推測するものである。 ここで重要になっている考え 推薦対象のユーザーと趣味嗜好が似ているユーザーが好むアイテムを推薦対象のユーザーも好むであろうという 協調フィルタリングには大きく分けて ・メモリーベース ・モデルベース というものが存在する
6
協調フィルタリングとは メモリーベース 基本的な考え あるアイテムについて推薦対象のユーザーの予測される評価を 他の類似したユーザーたちによる評価の加重平均を用いて計算する 一般に使われるアルゴリズムとして ピアソンの相関係数 ベクトル類似度 などが挙げられる メモリーベースの問題点 データセットの密度が疎の場合 →精度が悪くなる スケーラビリティの問題 →データセットが大きくなると計算が困難になる
8
メモリーベースのアプローチ ユーザーベースのアプローチ 推薦対象のユーザーと他のユーザー間の類似度を求める
推薦対象のユーザーの未評価アイテムについて 他のユーザーとの類似度とそのユーザーの評価で予測をする アイテムベースのアプローチ 各アイテム間の類似度を求める 推薦対象となるユーザーの未評価アイテムについて 推薦対象のユーザーが評価したアイテムとの類似度とその評価で予測する
9
表記法の定義 アイテムの集合 I = {i1,i2,...,im} データセット内のユーザーの集合 U = {u1,u2,...,un} 推薦対象ユーザー ua ユーザーuごとに、Ru(i)はユーザーuによるアイテムiの評価 Ruはユーザーuの平均評価
10
(1) ua と他のユーザーu との類似度を計算する。
ユーザーベースの協調フィルタリング (1) ua と他のユーザーu との類似度を計算する。 (2) ua の未評価アイテムごとに ua と各ユーザーu の 類似度× u の評価値の総和 を求める。 そしてuaの未評価アイテムごとに総和を 各ユーザーu の 類似度の和で割る。(正規化)
11
データの持ち方
12
(1) ua と他のユーザーu との類似度を計算する。
今回は類似度を求めるのにピアソンの相関係数を用いた。 相関係数の値について 相関係数の値の範囲は-1~1 -1に近い:ユーザー間の類似度が低い 1に近い:ユーザー間の類似度が高い
13
(2) ua の未評価アイテムごとに ua と各ユーザーu の 類似度× u の評価値の総和 を求める。 そしてuaの未評価アイテムごとに総和を 各ユーザーu の 類似度の和で割る。(正規化) 式で表現するならば下のような式
14
(2) ua の未評価アイテムごとにua の未評価アイテムと ua の評価済みアイテムとの類似度×ua の評価
アイテムベースの協調フィルタリング (1) 各アイテムi 間の類似度を計算する (2) ua の未評価アイテムごとにua の未評価アイテムと ua の評価済みアイテムとの類似度×ua の評価 済みアイテムの評価値の総和を求める。 そしてuaの未評価アイテムごとに総和を ua の未評価アイテムとua の評価済みアイテムとの 類似度の和 で割る(正規化)
15
データの持ち方
16
(1) 各アイテムi 間の類似度を計算する ユーザーベースの協調フィルタリングと同様に 類似度を求めるのにピアソンの相関係数を用いた 相関係数の値について 相関係数の値の範囲は-1~1 -1に近い:アイテム間の類似度が低い 1に近い:アイテム間の類似度が高い
17
(2) ua の未評価アイテムごとにua の未評価アイテムと
済みアイテムの評価値の総和を求める。 そしてuaの未評価アイテムごとに総和を ua の未評価アイテムとua の評価済みアイテムとの 類似度の和で割る(正規化) 式で表現するならば下のような式
18
試しに実行してみた 使用したデータセットについて。 MovieLens データセットの中身 943人のユーザー、1682の映画、評価数10万 100000/(943×1682)=0.06・・・
19
試しに実行してみた ユーザーIDが1番の人のデータをいくつか抜いて そのアイテムの評価を2つの協調フィルタリングで予測させてみた
20
試しに実行してみた結果 ぱっとみユーザーベースのほうが精度がよさそう。 疎のデータに対してはアイテムベースのほうが精度がいいらしいのだが (集合知プログラミングより)
21
今後の課題 ・実装したプログラムの見直し ・自分なりの工夫をしてみる ・実験の方法を考える などなど
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.