FM的論文名字為《Factorization Machines》,其核心思想是組合一階和二階特征,基於K維的隱向量,處理因為數據稀疏帶來的學習不足問題。並且通過公式推導出其學習時間是線性的,非常適用於大規模的推薦系統。首先從LR到多項式模型方程再到FM進行演進的梳理,隨后對於論文中的某些細節進行展開。
演進梳理:
一、LR模型方程
回顧一般的線性回歸方程LR,對於輸入任意一個n維特征向量,建模估計函數
為

LR模型的參數為:,
從LR模型方程中我們可以看到:
(1)各個特征分量
和
彼此之間是獨立的
(2)
將單個特征分量線性的組合起來,卻忽略了特征分量彼此之間的相互組合關系
對於特征的組合關系,我們定義:
(1)一階特征:即單個特征,不產生新特征,如
(2)二階特征:即兩個特征組合產生的新特征,如
(3)高階特征:即兩個以上的特征組合產生的新特征,如
所以LR模型只考慮了一階特征的線性組合關系
二、多項式模型方程
為了克服模型欠缺二階特征組合因素,我們將LR模型改寫為二階多項式模型

其中表示兩個互異特征組合的二階特征,
表示二階特征的交叉項系數
至此,該模型似乎已經加入了特征組合的因素,接下來只要學習參數即可
但是,上述二階多項式模型卻有一個致命的缺陷:
數據稀疏性普遍存在的實際應用場景中,二階特征系數
的訓練是很困難的
造成學習困難的原因是:
(1)
的學習需要大量特征分量
和
都非零的樣本
(2)樣本本身是稀疏的,同時滿足
的樣本非常稀少
所以多項式模型雖然加入了二階特征組合,卻受到數據稀疏的影響
三、FM模型方程
為了克服模型無法在稀疏數據場景下學習二階特征系數,我們需要將
表示為另外一種形式
為此,針對樣本的第i維特征分量
,引入輔助隱向量


其中k為超參數,表示特征分量對應一個k維隱向量
,則將
表示為:
上式引入隱向量的含義為:
二階特征系數
等價於:特征分量
和
對應的隱向量
和
的內積
,這就是FM模型的核心思想
則我們將二階多項式模型改寫為FM模型
從FM模型方程可知,FM模型的參數為:

各個參數的意義為:
(1)
表示FM模型的偏置
(2)
表示FM模型對一階特征的建模
(3)
表示FM模型對二階特征的建模
參數的個數為:
模型的復雜度為:
公式細節:
1、關注模型中的第三項:
其中<v1,v2>該項的具體展開如圖所示:
2、在證明該模型具有線性時間復雜度的第一步時,用到如下的方法證明: