Matrix Factorization - teketekere/paperMemo GitHub Wiki

Matrix Factorizationのお気持ちと活用法について

Matrix Factorization

ここが分かりやすい(http://tech-blog.fancs.com/entry/factorization-machines )

お気持ち

2組の変数ベクトルX, Yに対し、それぞれを横と縦にとった行列を考える。
例えばXがユーザ、Yが商品とすると、行列の各要素はあるユーザの商品への評価…といった具合に行列をつくる。
このとき行列にはところどころ"穴"があいている(これはデータに依存するので必ず成り立つわけではないけど、そのような行列を考えるとすればいい)。
先程の例でいうと、あるユーザが全ての商品に対して評価値をもっているわけではないので"穴"があいている。
そのような"穴"を推定する方法として、Matrix Factorizationがある。Matrix Factorizationでは与えられた行列がある行列と行列の積になっていると仮定し、そのような行列(2つ)をそれぞれ求めていく。詳しくは上のURLやGoogleに聞く。

Matrix Factorizationを何に使うか

(機械学習の文脈では)カテゴリ変数を連続値に変換したりする。 → https://github.com/jfpuget/LibFM_in_Keras/blob/master/keras_blog.ipynb

協調フィルタリングの文脈では、もっと色々な使い方してそう。しらんけど

Factorization Machineについて

実はMatrix FactorizationよりFactorization Machineの方がいいらしい。しらんけど