FM以及DeepFM學(xué)習筆記

FM以及DeepFM

1.FM

在計算廣告和推薦系統(tǒng)中,CTR預(yù)估(click-through rate)是非常重要的一個環(huán)節(jié),判斷一個商品的是否進行推薦需要根據(jù)CTR預(yù)估的點擊率來進行。在進行CTR預(yù)估時,除了單特征外,往往要對特征進行組合。

1.1 FM要解決的問題。

FM(Factorization Machine, 因子分解機)主要用來解決,數(shù)據(jù)系數(shù)的情況下,特征怎樣組合的問題。
下面舉個例子:

enter description here

clicked是分類值,表明用戶有沒有點擊該廣告。1表示點擊,0表示未點擊。而country,day,ad_type則是對應(yīng)的特征。對于這種categorical特征,一般都是進行one-hot編碼處理。
進行onehot編碼的結(jié)果如下所示:

enter description here

因為是cateforical特征,經(jīng)過onehot編碼后,樣本的數(shù)據(jù)會變得十分稀疏,并且會導(dǎo)致特征空間擴大很多倍。

1.2 特征組合

為了表示特征間的相關(guān)性,我們采用了多項式模型,這里我們只考慮二階特征的組合,那么我們可以用下面這個式子作為模型的表達式:
y = \omega_0 + \sum_{i = 1}^n{\omega_i}{x_i} + \sum_{i = 1}^n\sum_{j= i+1}^n\omega_{ij}{x_i}{x_j}
n表示樣本的特征數(shù)量,x_i表示第i個特征。

1.3 FM求解

從上面的表達式我們可以看出,在組合部分的特征相關(guān)參數(shù)共有n(n-1)/2個。在矩陣很稀疏的情況下,矩陣中為0的值特別多,這將導(dǎo)致\omega_{ij}無法直接訓(xùn)練出來。
為了求出\omega_{ij},我們對每一個特征分量x_{i}引入輔助向量V_i=(v_{i1},v_{i2},···,v_{in})。然后利用V_i*V_j^{T}\omega_{ij}進行求解。

enter description here

那么
ω_{ij}
組成的矩陣可以表示為:

enter description here

然后我們再利用公式:

enter description here

具體推導(dǎo)如下:

image

最后我們對
y(x)
求解得到:

enter description here

2. DeepFM

DeepFM主要包括兩個部分,神經(jīng)網(wǎng)絡(luò)部分和因子分解機部分,分別負責提取低階特征和高階特征。并且這兩部分共享權(quán)重矩陣,即共享Embedding層。DeepFM的預(yù)測結(jié)果可以寫為:

enter description here

2.1 FM部分

enter description here

2.2 Deep部分

enter description here

Deep部分主要用來處理高階特征(2階以上)。

2.3 注意事項

Dense Embedding層最開始是隨機初始化的,后面經(jīng)過FM的訓(xùn)練,成為圖中所示的Dense Embedding層,Dense Embedding層的權(quán)重同時輸入到FM部分和deep部分,并且由兩者共同訓(xùn)練。
在最后進行求和時,y的值為FM的一階部分加上偏置再加上deep部分得到的高階部分。

參考資料

1.http://www.itdecent.cn/p/152ae633fb00
2.http://www.itdecent.cn/p/6f1c2643d31b

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容