13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Factorization Machines

Posted at

スパースなデータに有効な予測,分類アルゴリズム

元論文:http://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf
Steffen Rendle, 2010

FMの論文、主にSVMとの比較が述べられている。FMとSVMを比較した際、FMのいいところはスパース性に強いところである。さらにSVD++やPITFやEPMCなどを一般化して説明することができる点もFMの利点である。

SVMは協調フィルタリングには適さない、なぜなら協調フィルタリングにはスパースなデータが含まれていることが多く、カーネルではスパース性はうまく表現することができないから。
FMは線形時間で線形個のパラメータの推定を行う。

20160525_1.png

学習データのサンプル、どのユーザーがどの映画に対してどのスコアをつけたのかのデータになっている。黄色は他のユーザーが過去にどの映画に対してつけたレビューの点数、合計が1になるように正規化をしている。

20160525_2.png

FMの予測式、(1)を満たすような、w、vを学習させていく。(1)の3項目がポイント、交差項のパラメーターを(n*(n-1)/2)個のパラメーターにするのではなく、(n)個の次元削減されたベクトルの内積としてあげることで、学習しなければいけない変数の数を減らしている。さらに、一見関係ないようなベクトル間の距離を測ることで、関係性を他の関係性から表現することができる。

適用可能なタスクと損失関数の作り方
・線形予測:二乗誤差
・2値分類:ヒンジ関数 or ロジット関数
・ランキング:pairwise分類損失
どのタスクの場合もL2ノルムを加えることで、正則化を測る

どのタスクの場合も勾配法(SGD)で解く、微分後の勾配
20160525_3.png

交互作用を表す項を多次元化することも可能
20160525_4.png

SVMとの式の比較:線形カーネルの場合
20160525_5.png

SVMとの式の比較:多項式カーネルの場合
20160525_6.png

SVMがスパース性に弱い理由
多項式カーネルを用いて、2つの目的変数にフラグがついていた場合、w_{u, i}が交互作用の項を表している。しかし、学習データの中で、w_{u, i}が出てくる回数などたかだか知れているので、うまく学習ができない。なのでこの式は多項式カーネルではなく、線形カーネルと同等の精度しか表さない。なのでSVMはスパースなデータに弱い。
20160525_7.png

13
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?