FM的特點(diǎn):
- 針對(duì)稀疏數(shù)據(jù)也能有效估計(jì)福扬;
- FM復(fù)雜度是線(xiàn)性的,計(jì)算快惜犀;
- 對(duì)數(shù)據(jù)數(shù)據(jù)沒(méi)有嚴(yán)格的要求铛碑,任意的實(shí)數(shù)向量都可以。
FM詳細(xì)介紹
FM虽界,作為線(xiàn)性回歸的拓展汽烦,能夠挖掘特征與特征之間的聯(lián)系。
大家都知道浓恳,線(xiàn)性回歸的方程為
y=w_0+\sum_{i=1}^{n}w_ix_i
其中:n是特征維度刹缝,w是特征的權(quán)重。
度為2的FM的方程為:
y=w_0+\sum_{i=1}^{n}w_ix_i+\sum_{i=1}^{n}\sum_{j=i+1}^{n}\langle \textbf v_i,\textbf v_j\rangle x_ix_j
其中:
w_0 ∈\mathbb R, w∈\mathbb R^n, V∈\mathbb R^{n×k}
V=\left\{ \begin{matrix} \textbf v_1\\\textbf v_2\\\textbf v_3\\...\\\textbf v_n \end{matrix} \right\}
\langle \textbf v_i,\textbf v_j\rangle表示兩個(gè)向量的點(diǎn)積颈将,結(jié)果是一個(gè)值梢夯,表示x_i與x_j的組合特征權(quán)重大小。對(duì)于n個(gè)特征晴圾,總共有n個(gè)行向量\textbf v_i颂砸,這些向量組成了V。
這里可以看見(jiàn)x_i與x_j的交互特征通過(guò)向量v_i與v_j來(lái)表示死姚,這里有一個(gè)問(wèn)題人乓,為什么要用向量來(lái)表示這些交互特征而不通過(guò)一個(gè)值w_{ij}來(lái)描述呢?
這里涉及到了FM的關(guān)鍵思想:只用一個(gè)值w_{ij}來(lái)描述交互特征都毒,如果訓(xùn)練數(shù)據(jù)中針對(duì)兩個(gè)特征x_i與x_j色罚,沒(méi)有同時(shí)非0的數(shù)據(jù)求妹,那么x_ix_j一直等于0益咬,導(dǎo)致w_{ij}一直為0,無(wú)法更新举农。而用向量v_i與v_j來(lái)表示交互特征的權(quán)重瀑焦,這兩個(gè)向量在其他特征更新時(shí)會(huì)同時(shí)更新腌且。v_i揭示了第i個(gè)特征的內(nèi)在屬性,如果特征i與特征j在其他特征上有關(guān)聯(lián)榛瓮,反映到向量v_i與v_j上铺董,在計(jì)算兩者的關(guān)系就十分的清楚了。
時(shí)間復(fù)雜度
原始的FM時(shí)間復(fù)雜度為O(kn^2)禀晓,通過(guò)簡(jiǎn)單的變換精续,能將復(fù)雜度降低到O(kn)坝锰,而且對(duì)于稀疏特征矩陣來(lái)說(shuō),復(fù)雜度可以降低到O(k\overline{m_D})驻右,其中\overline{m_D}$是所有特征非零數(shù)量的平均數(shù)什黑。
度為d的FM公式
公式如下:
其時(shí)間復(fù)雜度為O(kn^d),也能化簡(jiǎn)到線(xiàn)性時(shí)間堪夭。
FM的分布式計(jì)算
分布式計(jì)算與LR類(lèi)似愕把,首先按樣本求wx規(guī)約求和,然后按特征規(guī)約求梯度即可森爽。