天天看點

FM算法為什麼适用于稀疏資料

FM的原理https://zhuanlan.zhihu.com/p/37963267

原理

FM的表達式,包含常數項,一階項,二階項

FM算法為什麼适用于稀疏資料

正常情況下,

FM算法為什麼适用于稀疏資料

隻有當

FM算法為什麼适用于稀疏資料

不為0的情況下,

FM算法為什麼适用于稀疏資料

才能被訓練到

同樣的,

FM算法為什麼适用于稀疏資料

隻有當

FM算法為什麼适用于稀疏資料

都不為0的情況下,

FM算法為什麼适用于稀疏資料

才能被訓練到,再加上資料稀疏,

FM算法為什麼适用于稀疏資料

不為0的情況非常少,是以

FM算法為什麼适用于稀疏資料

就很難被訓練到。

解決辦法

FM算法為什麼适用于稀疏資料

是矩陣計算出來的值,不再是單純一個值。

FM算法為什麼适用于稀疏資料

是有下面矩陣計算出來的

FM算法為什麼适用于稀疏資料

這也是矩陣分解的結果。

最後經過一系列的化簡

FM算法為什麼适用于稀疏資料

然後求偏導

FM算法為什麼适用于稀疏資料

為什麼适用于稀疏

在優化的時候有

FM算法為什麼适用于稀疏資料

,同樣的當

FM算法為什麼适用于稀疏資料

為0的時候,

FM算法為什麼适用于稀疏資料

還是不能訓練到。

但是,此時交叉項的系數是有矩陣組成的,V1=[v12, v13, ..., v1k],隻要有x不為全為0,偏導的結果就不為0,這個參數就能訓練到。

此時有一個特征為空就不能訓練---》變成了全部特征為空才能不訓練,

也就是即使是稀疏資料的情況下,矩陣依然能夠疊代,進而矩陣計算出的

FM算法為什麼适用于稀疏資料

也在疊代。

繼續閱讀