FM梳理以及公式細節推導


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

 

演進梳理:

一、LR模型方程

回顧一般的線性回歸方程LR,對於輸入任意一個n維特征向量X = (x_{1},x_{2},...,x_{n}),建模估計函數\hat{y}(X)

LR模型的參數為:w_{0} \ \epsilon \  \mathbb{R}w \ \epsilon \  \mathbb{R^{n}} = (w_{1},w_{2},...,w_{n})

從LR模型方程中我們可以看到:

(1)各個特征分量x_{i}x_{j}(i \neq j)彼此之間是獨立的

(2)\hat{y}(X)將單個特征分量線性的組合起來,卻忽略了特征分量彼此之間的相互組合關系

對於特征的組合關系,我們定義:

(1)一階特征:即單個特征,不產生新特征,如x_{1}

(2)二階特征:即兩個特征組合產生的新特征,如x_{1}x_{2}

(3)高階特征:即兩個以上的特征組合產生的新特征,如x_{1}x_{2}x_{3}

所以LR模型只考慮了一階特征的線性組合關系

二、多項式模型方程

為了克服模型欠缺二階特征組合因素,我們將LR模型改寫為二階多項式模型

二階多項式模型

其中x_{i}x_{j}表示兩個互異特征組合的二階特征w_{ij}表示二階特征的交叉項系數

至此,該模型似乎已經加入了特征組合的因素,接下來只要學習參數即可

但是,上述二階多項式模型卻有一個致命的缺陷:

數據稀疏性普遍存在的實際應用場景中,二階特征系數w_{ij}的訓練是很困難的

造成學習困難的原因是:

(1)w_{ij}的學習需要大量特征分量x_{i}x_{j}都非零的樣本

(2)樣本本身是稀疏的,同時滿足x_{i}x_{j} \neq 0的樣本非常稀少

所以多項式模型雖然加入了二階特征組合,卻受到數據稀疏的影響

三、FM模型方程

為了克服模型無法在稀疏數據場景下學習二階特征系數w_{ij},我們需要將w_{ij}表示為另外一種形式

為此,針對樣本X的第i維特征分量x_{i},引入輔助隱向量v_{i}

 
輔助隱向量

其中k為超參數,表示特征分量x_{i}對應一個k維隱向量v_{i},則將w_{ij}表示為:

 

上式引入隱向量的含義為:

二階特征系數w_{ij}等價於:特征分量x_{i}x_{j}對應的隱向量v_{i}v_{j}的內積<v_{i}, v_{j}>,這就是FM模型的核心思想

則我們將二階多項式模型改寫為FM模型

從FM模型方程可知,FM模型的參數為:

FM模型的參數

各個參數的意義為:

(1)w_{0} \in \mathbb{R}表示FM模型的偏置

(2)w \in  \mathbb{R}^{n}表示FM模型對一階特征的建模

(3)V \in  \mathbb{R}^{n\times k}表示FM模型對二階特征的建模

參數的個數為:1+n+nk

模型的復雜度為:O(n^2k)

 

公式細節:

1、關注模型中的第三項:

其中<v1,v2>該項的具體展開如圖所示:

 2、在證明該模型具有線性時間復雜度的第一步時,用到如下的方法證明:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM