天天看點

Factorization Machines 因子分解機FM

1 簡介

本文是根據2010年 Steffen Rendle的《Factorization Machines》翻譯總結的。Factorization Machines簡稱FM,因子分解機。

FM結合了因子分解的優點和支援向量機SVM的優點。

FM用因子參數建構了所有變量間的互動。這些互動通常是存在很大的稀疏性,FM的優點就是處理這些稀疏性。而且是線性的計算時間。可以直接進行優化計算的。

另外,像其他因子模型,比如matrix factorization、parallel factor analysis,以及一些特定模型,如 SVD++, PITF or FPMC。這些模型的缺點是,他們不通用,都是針對特定的輸入資料,特定的任務。而FM隻需要改變相應的輸入資料就可以模拟這些模型,是以FM更通用,尤其是對因子模型鄰域不熟悉的使用者。

總之,FM的優點如下:

1)FM可以在非常稀疏的資料下進行參數估計,而SVM不能;

2)FM是線性複雜度,不依賴支援向量。FM可以支援大資料,如Netflix,有1億個訓練執行個體。

3)FM是一個通用的預測器,可以應用于任何真實的特征向量。而其他的因子模型對輸入資料有諸多限制。而FM隻需要定義輸入資料的特征向量,就可以模拟這些模型。

2 稀疏性

如下圖,藍色的4列代表使用者,第一列是1的話,代表使用者A;第2列是1的話,代表使用者B;接着是紅色的5列,代表看了不同的電影,看了TI電影的,在紅色第一列标1. 可以看到資料很稀疏。

Factorization Machines 因子分解機FM

3 FM

3.1 模型公式

Factorization Machines 因子分解機FM
Factorization Machines 因子分解機FM

3.2 在稀疏下的參數估計

在稀疏的情況下,通常沒有足夠的資料評估參數間的互動關系。FM卻可以在稀疏下表現的很好,主要是其通過因子他們,打破了互動參數間的獨立性。這意味着,一個互動的資料可以用來評估其他相關的互動。

舉個例子:使用者A和電影Star Trek(ST)之間沒互動,但和Star Wars有互動。使用者B、C都和電影 Star War(SW)有相似的互動;使用者A和C都對電影Titanic、Star War有互動,但不同的互動向量(不同的電影等級評價);使用者B和這兩個電影Star Trek(ST)、Star War(SW)都有相似的互動,,這樣下來,直覺上,我們預測使用者A對電影Star Trek(ST)的互動(評價),會和其與Star Wars的互動類似。

3.3 時間計算複雜度

下面公式證明FM的計算複雜度是O(kn)。

Factorization Machines 因子分解機FM

3.4 FM可以預測的類型

1)回歸
2)二分類:hinge loss or logit loss.
3)排名ranking: pairwise classification loss
           

3.5 可以采用梯度下降學習

Factorization Machines 因子分解機FM

4 FM vs SVMs

SVM的公式可以重寫如下:

Factorization Machines 因子分解機FM
Factorization Machines 因子分解機FM

SVM與FM對比總體如下:

1)SVM的密集參數要求所有互動的直接關系,但這些資料在稀疏情況下經常不存在。而FM可以很好處理稀疏;

2)FM可以直接的被學習,而非線性的SVM通常是對偶式的學習。

3)FM的模型公式是獨立于訓練資料的,但SVM依賴部分訓練資料,如支援向量。

繼續閱讀