論文地址:https://arxiv.org/abs/1606.07792
模型核心思想: 結(jié)合線性模型的記憶能力(memorization)和 DNN 模型的泛化能力(generalization),在訓(xùn)練過程中同時優(yōu)化 2 個模型的參數(shù),從而達到整體模型的預(yù)測能力最優(yōu).
模型輸入:
wide側(cè):離散特征
deep側(cè):連續(xù)特征 + 離散特征
模型結(jié)構(gòu):

模型輸出:

代碼詳解
tensorflow封裝實現(xiàn):
deep側(cè) :
embedding層 + 兩層隱層 + 輸出
wide側(cè):
使用embedding實現(xiàn)logistic回歸(離散特征被映射為1維的數(shù)字)
源碼解析:
deep側(cè)embedding層將離散特征做embedding以后與連續(xù)特征concat作為神經(jīng)元的輸出

deep側(cè)fully全連接層

deep側(cè)輸出層

wide側(cè)離散特征embedding后相加作為logits

weighted_sum_from_feature_columns函數(shù)中定義了lookuptable,利用傳入的sparse_id去獲得embedding以后的輸出值

結(jié)果:
deep + wide

特征處理:
離散的特征通過sparse column with hash bucket將整數(shù)轉(zhuǎn)換成對應(yīng)的字符串表示形式,用字符串計算哈希值然后取模,轉(zhuǎn)換后的特征值是0到hash_bucket_size的一個整數(shù),再根據(jù)embedding_lookup_table轉(zhuǎn)換成對應(yīng)的embedding值
cross
本文遵守知識共享協(xié)議:署名-非商業(yè)性使用-相同方式共享 (BY-NC-SA)及簡書協(xié)議
轉(zhuǎn)載請注明:作者空空格格,首發(fā)簡書 Jianshu.com