「DeepFM:A Factorization-Machine based Neural Network for CTR Prediction」- 論文摘要

娃哈哈店長發表於2020-02-28

DeepFM

由FM component和Deep component組成

  1. FM提取低階組合特徵,Deep提取高階組合特徵。不需要進行預訓練以及人工特徵工程。
  2. 共享feature embedding。FM和Deep共享輸入和feature embedding。不但使得訓練更快,而且使得訓練更加準確。

優點:

  1. 不需要預訓練FM得到隱向量
  2. 不需要人工特徵工程
  3. 能同時學習低階和高階的組合特徵
  4. FM模組和Deep模組共享feature embedding

資料

原始資料 = 種類特徵(eg. gender, location) + 連續特徵(eg. age) + label

  • 種類特徵進行one-hot編碼
  • 連續特徵可直接使用,或者先進行離散化在進行one-hot編碼
  • 特徵按照field分組

綜上:原始資料-> (x, label)
x = [xfield1,xfield2,xfield3,…,xfieldm]

DeepFM結構圖:

「DeepFM:A Factorization-Machine based Neural Network for CTR Prediction」- 論文摘要

計算公式:

y = sigmoid( yFM+ yDNN)

其中yFM為FM component的輸出,yDNN為DNN component的輸出。y∈{0,1} ,為CTR預測機率。

FM component

「DeepFM:A Factorization-Machine based Neural Network for CTR Prediction」- 論文摘要

\hat{y} = sigmoid(y_{FM} + y_{DNN})

FM component包含了加法單元和內積單元。

加法單元:提取一階特徵,直接從原始特徵提取。

內積單元:原始特徵先進行embedding,然後由embedding後的輸出經過內積單元提取二階組合特徵。

最終維度:fieldsize + embedding_size
embedding_size對應的是:

\sum_{i = 1}^{d}\sum_{j=i+1}^{d} \left \langle V_{i},V^{j} \right \rangle x_{i} \cdot x_{j}

FM component總結:

  1. 實現了對一階和二階組合特徵的建模
  2. 沒有使用預訓練
  3. 沒有人工特徵工程

Deep component

「DeepFM:A Factorization-Machine based Neural Network for CTR Prediction」- 論文摘要

用來提取高階組合特徵。
原始特徵首先經過embedding層降維後,然後經過多個全連線隱藏層輸出,即yDNN

DeepFM:一階特徵(FM)+二階特徵(FM)+高階特徵(DNN)

在DeepFM之前有其他幾個模型:

FNN與PNN的不足之處:
僅能提取高階組合特徵,低階組合特徵無法獲取。

Wide&Deep的不足之處:
在Wide部分還需要進行人工特徵工程。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
文章!!首發於我的部落格Stray_Camel(^U^)ノ~YO

相關文章