FM的原理https://zhuanlan.zhihu.com/p/37963267
原理
FM的表達式,包含常數項,一階項,二階項
正常情況下,
隻有當
不為0的情況下,
才能被訓練到
同樣的,
隻有當
都不為0的情況下,
才能被訓練到,再加上資料稀疏,
不為0的情況非常少,是以
就很難被訓練到。
解決辦法
是矩陣計算出來的值,不再是單純一個值。
是有下面矩陣計算出來的
這也是矩陣分解的結果。
最後經過一系列的化簡
然後求偏導
為什麼适用于稀疏
在優化的時候有
,同樣的當
為0的時候,
還是不能訓練到。
但是,此時交叉項的系數是有矩陣組成的,V1=[v12, v13, ..., v1k],隻要有x不為全為0,偏導的結果就不為0,這個參數就能訓練到。
此時有一個特征為空就不能訓練---》變成了全部特征為空才能不訓練,
也就是即使是稀疏資料的情況下,矩陣依然能夠疊代,進而矩陣計算出的
也在疊代。