1. 程式人生 > >FM(Factorization Machine,因子分解機)演算法個人理解

FM(Factorization Machine,因子分解機)演算法個人理解

1. FM是什麼

因子分解機(Factorization Machine, FM)是由Steffen Rendle提出的一種基於矩陣分解的機器學習演算法。

1.1 背景

常見的線性模型,比如線性迴歸、邏輯迴歸等,它只考慮了每個特徵對結果的單獨影響,而沒有考慮特徵間的組合對結果的影響。 而在某些情況下,若干的特徵經過組合或者關聯之後對於結果的影響比較大。所以。。。

一般的線性模型:

\large \begin{aligned} f(x) &= \omega_0 + \omega_1x_1+\omega_2x_2+...+\omega_nx_n \\ &=\omega_0+\sum_{i=1}^n{\omega_ix_i} \tag{1} \end{aligned}

當考慮任意2個特徵分量之間的關係時,模型就變成了:

\LARGE f(x)=\omega_0+\sum_{i=1}^n\omega_ix_i+\sum_{i=1}^{n-1}\sum_{j=i+1}^n\omega_{ij}x_ix_j \eqno{(1)}

其中,\large n代表樣本的特徵數量, \large x_i是第個特徵的值,\large w_0, w_1, w_{ij}是模型引數。 

1.2 FM的優勢與適用範圍

對於因子分解機FM來說,最大的特點是對於稀疏的資料具有很好的學習能力。現實中稀疏的資料很多,例如作者所舉的推薦系統的例子便是一個很直觀的具有稀疏特點的例子。 

參考連結

https://blog.csdn.net/google19890102/article/details/45532745?utm_source=copy