Wide & Deep論文閱讀筆記

Introduction

Memorization記憶能力(Wide):

可以簡單定義爲學習item和features的共同出現頻率以及在歷史數據中的協同關係。

Generalization泛化能力(Deep):

可以簡單認爲是基於相關關係的傳遞性去發掘在歷史沒出現過或者很少出現新的特徵組合。

Wide & Deep Learning

Wide部分

Wide部分是形式爲
y=wTx+b y=\boldsymbol w^T\boldsymbol x+b
的廣義線性模型。
其中(向量默認爲列向量):

  1. y\boldsymbol y爲預測值
  2. x=[x1,x2,...,xd]x = [x_1,x_2,...,x_d]爲特徵向量
  3. w=[w1,w2,...,wd]w = [w_1,w_2,...,w_d]爲模型參數
  4. bb爲偏置項

特徵集合包括原始特徵值以及經過轉換(tranformed)後的特徵(特徵既可以是連續的,也可以是稀疏的),其中最爲重要的就是cross-product transformation

定義:
ϕk(x)=i=1dxickicki{0,1} \phi_k(\boldsymbol x) = \prod_{i=1}^dx_i^{c_{ki}}\quad c_{ki}\in \{0,1\}
其中ckic_{ki}是一個布爾值,當第i個特徵是第k個tranformation的"一部分"(part of)時爲1,否則爲0。

這個看起來有些複雜的式子可以簡單理解爲one-hot特徵之後進行組合而來的新特徵,transformation ϕk\phi_k及其所用到的原始特徵都是我們自己定義的,只不過組合的方式是將特徵值進行類乘。

cross-product transformation只用於在二值(稀疏)特徵中學習組合特徵,併爲模型增加非線性。

Deep部分

Deep部分爲一個前饋神經網絡,主要作用就是E mbedding(從稀疏高維的categorical features嵌入(Embedding)到一個低維實數域的向量)。Embedding向量維度多數在[10,100]區間內。

隱藏層(hidden layer)的計算表達式:
a(l+1)=f(W(l)a(l)+b(l)) a^(l+1) = f(W^{(l)}a^{(l)}+b^{(l)})
其中:
ll爲隱藏層序號,ff爲激活函數(通常使用ReLUs)W(l)W^{(l)}a(l)a^{(l)}b(l)b^{(l)}爲l層的參數、輸入、偏置。

Wide & Deep 聯合訓練

wideanddeep

對Wide和Deep部分所輸出的對數機率進行加權求和作爲prediction,並fed到logistic損失函數中進行訓練。

原論文中使用FTRL+L1正則作爲Wide部分的優化器,使用AdaGrad作爲Deep部分的優化器。

Wide & Deep融合後圖示如上圖,數學表達如下:
P(Y=1x)=σ(wwideT[x,ϕ(x)+wdeepTa(lf)+b]) P(Y=1|x) = \sigma(\boldsymbol w_{wide}^T[\boldsymbol x,\phi(\boldsymbol x)+\boldsymbol w_{deep}^Ta^{(l_f)}+b])
其中:
YY爲二值標籤,σ\sigma(·)爲sigmoid函數,ϕ(x)\phi(\boldsymbol x)爲對原始特徵xxcross-product transformationbb爲偏置項,wwide\boldsymbol w_{wide}爲Wide部分權重,wdeep\boldsymbol w_{deep}爲應用到最後激活層a(lf)a^{(l_f)}的權重。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章