FM算法 的總結


FM的總結:

1、FM算法與線性回歸相比增加了特征的交叉。自動選擇了所有特征的兩兩組合,並且給出了兩兩組合的權重。

2、上一條所說的,如果給兩兩特征的組合都給一個權重的話,需要訓練的參數太多了。比如我們有N維的特征,這樣的話就需要N*N量級的參數。FM算法的一個優點是減少了需要訓練的參數。這個也是參考了矩陣分解的想法。有N個特征,特征間的權重,需要一個N*N的權重矩陣。把這個N*N的矩陣分解成  K*N的矩陣V的乘積,權重矩陣W=VT*V。把每個特征用長度為K的向量來表示,此處應該是每個特征也有一個向量,而不是每個特征的值有一個向量。比如有一個長度為K的向量來表示性別這個特征。

此處的K是自己設置的,K<<N。

3、FM算法的表示公式為:

如果按這個直接算的話就是N2的復雜度了,比較高。然后針對后一部分進行化簡,變成KN復雜度的。

這部分的化簡主要使用了 x*y  = 1/2( (x+y)2 - x2 - y2)。

 變換之后的是這個樣子的:

4、然后是FM的訓練。

我們再來看一下FM的訓練復雜度,利用SGD(Stochastic Gradient Descent)訓練模型。模型各個參數的梯度如下

 

 

 

 

未完待續,等我看完論文再寫點 

 

 

 

 

 

 

 

 

參考資料:https://tech.meituan.com/deep-understanding-of-ffm-principles-and-practices.html


免責聲明!

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



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