Presentation is loading. Please wait.

Presentation is loading. Please wait.

中間発表用スライド 2008.12.20 田中健太.

Similar presentations


Presentation on theme: "中間発表用スライド 2008.12.20 田中健太."— Presentation transcript:

1 中間発表用スライド 田中健太

2 本日の予定 レコメンドシステムとは ・協調フィルタリングとは メモリーベースのアプローチ ・ユーザーベースの協調フィルタリング ・アイテムベースの協調フィルタリング ・試しに実行してみた

3 ユーザーがまだ購入、レンタルしたことがなく、 きっとそのユーザーが満足するであろう商品を推薦、 提案しようというものである。
レコメンドシステムとは レコメンドシステムは、 ユーザーの趣味嗜好、購入履歴から ユーザーがまだ購入、レンタルしたことがなく、 きっとそのユーザーが満足するであろう商品を推薦、 提案しようというものである。

4 レコメンドシステムとは ・実際にどんなところに使われているか この部分

5 協調フィルタリングとは 過去のユーザーの評価や行動履歴などを利用して 推薦対象のユーザーの嗜好を推測するものである。 ここで重要になっている考え 推薦対象のユーザーと趣味嗜好が似ているユーザーが好むアイテムを推薦対象のユーザーも好むであろうという 協調フィルタリングには大きく分けて ・メモリーベース ・モデルベース というものが存在する

6 協調フィルタリングとは メモリーベース 基本的な考え あるアイテムについて推薦対象のユーザーの予測される評価を 他の類似したユーザーたちによる評価の加重平均を用いて計算する 一般に使われるアルゴリズムとして ピアソンの相関係数 ベクトル類似度 などが挙げられる メモリーベースの問題点 データセットの密度が疎の場合 →精度が悪くなる スケーラビリティの問題 →データセットが大きくなると計算が困難になる

7

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 今後の課題 ・実装したプログラムの見直し ・自分なりの工夫をしてみる ・実験の方法を考える などなど


Download ppt "中間発表用スライド 2008.12.20 田中健太."

Similar presentations


Ads by Google