wakatakerutmt / paper_research

0 stars 0 forks source link

Factorization Machines #17

Open wakatakerutmt opened 2 years ago

wakatakerutmt commented 2 years ago

abst

要約—このホワイトペーパーでは、サポートベクターマシン(SVM)の利点と因数分解モデルを組み合わせた新しいモデルクラスである因数分解マシン(FM)を紹介します。 SVMと同様に、FMは、実数値の特徴ベクトルを処理する一般的な予測子です。 SVMとは対照的に、FMは、因数分解されたパラメーターを使用して変数間のすべての相互作用をモデル化します。したがって、SVMが失敗する巨大なスパース性(レコメンダーシステムなど)の問題でも、相互作用を推定できます。 FMのモデル方程式は線形時間で計算できるため、FMを直接最適化できることを示します。したがって、非線形SVMとは異なり、デュアル形式での変換は不要であり、ソリューションにサポートベクターを必要とせずにモデルパラメーターを直接推定できます。 SVMとの関係と、スパース設定でのパラメーター推定におけるFMの利点を示します。

一方、行列因数分解、並列因子分析、またはSVD ++、PITF、FPMCなどの特殊なモデルのような多くの異なる因数分解モデルがあります。これらのモデルの欠点は、一般的な予測タスクには適用できず、特別な入力データでのみ機能することです。さらに、それらのモデル方程式と最適化アルゴリズムは、タスクごとに個別に導出されます。 FMは、入力データ(つまり、特徴ベクトル)を指定するだけで、これらのモデルを模倣できることを示します。これにより、因数分解モデルの専門知識がないユーザーでもFMを簡単に適用できます。インデックス用語-因数分解マシン。スパースデータ;テンソル分解;サポートベクターマシン

introduction

人気のある予測子の1つです。 それにもかかわらず、協調フィルタリングのような設定では、SVMは重要な役割を果たしません。最良のモデルは、PARAFAC [1]のような標準行列/テンソル分解モデルの直接適用、または因数分解されたパラメーター[2]、[3]、[4]を使用する特殊モデルのいずれかです。 このホワイトペーパーでは、標準のSVM予測子がこれらのタスクで成功しない唯一の理由は、非常にまばらなデータの下で複雑な(非線形)カーネル空間で信頼できるパラメーター(「超平面」)を学習できないことです。 一方、テンソル分解モデルの欠点、および特殊な因数分解モデルの場合は、(1)標準の予測データ(たとえば、R nの実数値の特徴ベクトル)に適用できないこと、および(2)特殊なモデルに適用できないことです。 通常、学習アルゴリズムのモデリングと設計に労力を必要とする特定のタスクに対して個別に導出されます。

この論文では、新しい予測子である因数分解マシン(FM)を紹介します。これは、SVMのような一般的な予測子ですが、非常に高いスパース性の下で信頼できるパラメーターを推定することもできます。因数分解マシンは、ネストされたすべての変数交互作用(SVMの多項式カーネルと比較可能)をモデル化しますが、SVMのような密なパラメーター化ではなく、因数分解されたパラメーター化を使用します。 FMのモデル方程式は線形時間で計算でき、線形数のパラメーターのみに依存することを示します。これにより、予測用のトレーニングデータ(サポートベクターなど)を保存しなくても、モデルパラメーターを直接最適化して保存できます。これとは対照的に、非線形SVMは通常、デュアル形式で最適化され、予測(モデル方程式)の計算はトレーニングデータ(サポートベクター)の一部に依存します。また、FMは、バイアスされたMF、SVD ++ [2]、PITF [3]、FPMC [4]など、協調フィルタリングのタスクで最も成功したアプローチの多くを包含していることも示しています。

全体として、提案されたFMの利点は次のとおりです。 1)FMは、SVMが失敗する非常にまばらなデータの下でのパラメーター推定を可能にします。 2)FMは線形の複雑さを持ち、primalで最適化でき、SVMのようなサポートベクターに依存しません。 FMは、1億のトレーニングインスタンスを備えたNetflixのような大規模なデータセットに拡張できることを示しています。 3)FMは、任意の実数値の特徴ベクトルで機能する一般的な予測子です。 これとは対照的に、他の最先端の因数分解モデルは、非常に制限された入力データでのみ機能します。 入力データの特徴ベクトルを定義するだけで、FMはバイアスされたMF、SVD ++、PITF、FPMCなどの最先端のモデルを模倣できることを示します。

wakatakerutmt commented 2 years ago

論文の立ち位置、何を解決したか

カテゴリ値が多くスパースな入力の場合(SVM、MFが有力となっている時) ・カテゴリ値は問題ないがスパースなのは、SVMは非線形なカーネル空間となるため安定してパラメータを学習できない ・スパースなのはMFで学習できるが、カテゴリ値が多いみたいな入力データには対応できない(あくまでrateのみ) ⇒どんな入力データ(特徴ベクトル)でもOKな一般的な識別器、そしてスパースでも学習できるのがFM

一般的な識別器なので、回帰問題、クラス分類、ランク付けなどにも利用可 推薦以外ではCTR予測で主に使われている

実装上のメリット ・入力データが特別なものでなくてよくて、MFなどの因数分解型の知識が必要なく使用できる ・特徴量(カテゴリ数)に対して線形となる計算量O(n)で済む ・すべての相互作用を各特徴量の潜在ベクトルによる内積という形でモデル化するので、学習データにない特徴量同士の組み合わせに対する推定が可能⇒すべての相互作用が独立ではないという仮定をしている(SVMなどは学習データにない場合は相互作用が0になるので、独立を仮定している) ・性別、タイムスタンプなど何の値でも特徴量として入力可能(拡張性)

⇒三つ目と四つ目から、コールドスタート問題に対処できるモデル  ・実際に少ないデータ量でも機能することが実験で示されている ⇒推薦タスクにおいて、特徴量を拡張しない場合はバイアス付きMFと同じになる(式的に)  ・MFやSVM++の模倣として使えるので、これ一つで事足りる

・solverも用途に応じて選べる(ALS,SGD,MCMC) ALSだと計算の効率化ができる https://github.com/buptjz/Factorization-Machine/blob/master/paper/Steffen%20Rendle%20(2011)%20Fast%20Context-aware%20Recommendations%20with%20Factorization%20Machines%20.pdf

デメリット ・アイテム数が数十万、数百万と多くなったときに予測の計算に時間がかかる ・特徴量選択でドメイン知識が必要になる場合がある

注意 ・ベクトルの次元を決めるのはハイパーパラメータで、次元を大きくすると個々のユーザーに対して特化した予測がしやすくなるが、過学習の可能性が高まる

関連研究としてFFMがある ・これはFMの発展形で実際に利用されている。コンテストでも上位になった ・