SSブログ

ユーザベースの協調フィルタリングの拡張 [データサイエンス、統計モデル]

★ ユーザベースの協調フィルタリングの一般的な原理 ★
 http://skellington.blog.so-net.ne.jp/2009-08-26
の続き。

ここで改良(拡張)したいこととして
1. ユーザ数が多くなると処理時間がかかってしまう。
2. ユーザ × アイテムの関係に、ユーザの属性や時間などを取り込めないか?
があった。



1. の問題は置いておいて、2. を先に考える。
ユーザ × item の2変量で類似度を計算しているのを、複数の変数(要因)を絡めて計算する方法ってないだろうか?

解決方法 Ⅰ
複数の変量を扱うための拡張として考えられる方法として


解決方法 Ⅱ
各属性を要素として類似度を計算する。



解決方法 Ⅲ
ユーザをクラスタ化し(Step 1)、残りの1変数で類似度を計算する。(Step 2)



解決方法ⅠとⅡは、ユーザ × アイテム の2変量しか扱えない問題を解決しているが、残りの必要HDD空き容量、計算時間の問題は解決できないまま。

解決方法 Ⅲに関しては、クラスタ化し問題規模を縮小しているので、必要HDD空き容量、計算時間は大幅に改善することができた。

解決方法 Ⅲに関して、PASW Modeler(旧: SPSS Clementine)で実装たのだが、

精度、速度、実装方法については、またの機会で。
(・∀・)

nice!(2) 
共通テーマ:学問

nice! 2