來源:IJCAI17眯漩,DeepFM論文鏈接
DeepFM
由FM component和Deep component組成
- FM提取低階組合特征煌贴,Deep提取高階組合特征。不需要進(jìn)行預(yù)訓(xùn)練以及人工特征工程秀又。
- 共享feature embedding媒惕。FM和Deep共享輸入和feature embedding。不但使得訓(xùn)練更快,而且使得訓(xùn)練更加準(zhǔn)確靠益。
優(yōu)點(diǎn):
- 不需要預(yù)訓(xùn)練FM得到隱向量
- 不需要人工特征工程
- 能同時學(xué)習(xí)低階和高階的組合特征
- FM模塊和Deep模塊共享feature embedding
數(shù)據(jù)
原始數(shù)據(jù) = 種類特征(eg. gender, location) + 連續(xù)特征(eg. age) + label
- 種類特征進(jìn)行one-hot編碼
- 連續(xù)特征可直接使用丧肴,或者先進(jìn)行離散化在進(jìn)行one-hot編碼
- 特征按照field分組
綜上:原始數(shù)據(jù)-> (x, label)
x = [xfield1,xfield2,xfield3,...,xfieldm]
DeepFM結(jié)構(gòu)圖:
計算公式:
$$y = sigmoid(y_{FM} + y_{DNN})$$
其中yFM為FM component的輸出,yDNN為DNN component的輸出胧后。y∈{0,1} 芋浮,為CTR預(yù)測概率。
FM component
$$y_{FM} = \left< x,y \right> + \sum_{i=1}^d\sum_{j=i+1}^d\left< V_{i},V_{j} \right>x_{i}\cdot x_{j}$$
FM component包含了加法單元和內(nèi)積單元壳快。
加法單元:提取一階特征纸巷,直接從原始特征提取。
內(nèi)積單元:原始特征先進(jìn)行embedding眶痰,然后由embedding后的輸出經(jīng)過內(nèi)積單元提取二階組合特征瘤旨。
最終維度:field_size + embedding_size
embedding_size對應(yīng)的是:!$\sum_{i=1}^d\sum_{j=i+1}^d\left< V_{i},V_{j} \right>x_{i}\cdot x_{j}$
FM component總結(jié):
- 實(shí)現(xiàn)了對一階和二階組合特征的建模
- 沒有使用預(yù)訓(xùn)練
- 沒有人工特征工程
Deep component
用來提取高階組合特征。
原始特征首先經(jīng)過embedding層降維后竖伯,然后經(jīng)過多個全連接隱藏層輸出存哲,即yDNN
DeepFM:一階特征(FM)+二階特征(FM)+高階特征(DNN)
在DeepFM之前有其他幾個模型:
FNN與PNN的不足之處:
僅能提取高階組合特征,低階組合特征無法獲取七婴。
Wide&Deep的不足之處:
在Wide部分還需要進(jìn)行人工特征工程祟偷。