Introduction
Memorization記憶能力(Wide):
可以簡單定義爲學習item和features的共同出現頻率以及在歷史數據中的協同關係。
Generalization泛化能力(Deep):
可以簡單認爲是基於相關關係的傳遞性去發掘在歷史沒出現過或者很少出現新的特徵組合。
Wide & Deep Learning
Wide部分
Wide部分是形式爲
的廣義線性模型。
其中(向量默認爲列向量):
- 爲預測值
- 爲特徵向量
- 爲模型參數
- 爲偏置項
特徵集合包括原始特徵值以及經過轉換(tranformed)後的特徵(特徵既可以是連續的,也可以是稀疏的),其中最爲重要的就是cross-product transformation。
定義:
其中是一個布爾值,當第i個特徵是第k個tranformation的"一部分"(part of)時爲1,否則爲0。
這個看起來有些複雜的式子可以簡單理解爲one-hot特徵之後進行組合而來的新特徵,transformation 及其所用到的原始特徵都是我們自己定義的,只不過組合的方式是將特徵值進行類乘。
cross-product transformation只用於在二值(稀疏)特徵中學習組合特徵,併爲模型增加非線性。
Deep部分
Deep部分爲一個前饋神經網絡,主要作用就是E mbedding(從稀疏高維的categorical features嵌入(Embedding)到一個低維實數域的向量)。Embedding向量維度多數在[10,100]區間內。
隱藏層(hidden layer)的計算表達式:
其中:
爲隱藏層序號,爲激活函數(通常使用ReLUs)、、爲l層的參數、輸入、偏置。
Wide & Deep 聯合訓練
對Wide和Deep部分所輸出的對數機率進行加權求和作爲prediction,並fed到logistic損失函數中進行訓練。
原論文中使用FTRL+L1正則作爲Wide部分的優化器,使用AdaGrad作爲Deep部分的優化器。
Wide & Deep融合後圖示如上圖,數學表達如下:
其中:
爲二值標籤,爲sigmoid函數,爲對原始特徵的cross-product transformation,爲偏置項,爲Wide部分權重,爲應用到最後激活層的權重。