Field-aware Factorization Machines for CTR Prediction

分類器 機械学習 推薦システム

概要

Factorization Machines (FMs) の改良.

FMs では性別だろうが地名だろうがお構いなしに、one hot vector でエンコードしたものを並べたものを入力 x として

ϕ:RNR ϕ(x)=b+iwixi+i<jvi,vjxixj

としたのだった. ここで wi はスカラー値で、 vi は適当な k 次元のベクトル.

FFMs はその入力のフィールド (e.g. 性別, 地名) まで考慮しようというもの. その分パラメータは増えるが.

実装

作者等による LIBFFM がある.

この Download のとこを見ると

Warning: FFM is prone to overfitting. See README in the package before using. 

という警告がある. なるほど.

FFMs

入力 x の成分に関してフィールドが F 個 ( f1,f2,,fF ) あるとする. FMs の肝は相互作用 vi,vj であるが、これに、相手のフィールドを考慮させる. すなわち、 xi に対応するベクトル vi に、どのフィールドへの作用かの情報を持たせる. 今まで vi 一個だったのを、

vi,1,,vi,f

と、 F 個にして、

ϕ(x)=b+iwixi+i<jvi,fj,vj,fixixj

とする. ここで fj,fi はそれぞれ、 xj,xi に対応するフィールド. vi,fjxi のフィールド fj への作用に相当する.

パラメータ数、計算量

パラメータ数は FMs が nk だったのに対して nFk 個になる. 計算量は FMs では素朴に実装して O(n2k) 、最適化して O(nk) であったが、 FFMs では特に最適化は提示されておらず、 O(n2k) のままとなる.