tensorflow wide and deep模型

論文地址:https://arxiv.org/abs/1606.07792
模型核心思想: 結合線性模型的記憶能力(memorization)和 DNN 模型的泛化能力(generalization),在訓練過程中同時優(yōu)化 2 個模型的參數(shù),從而達到整體模型的預測能力最優(yōu).

模型輸入:

wide側:離散特征
deep側:連續(xù)特征 + 離散特征

模型結構:
wdl.png
模型輸出:
output.png
代碼詳解

tensorflow封裝實現(xiàn):
deep側 :
embedding層 + 兩層隱層 + 輸出
wide側:
使用embedding實現(xiàn)logistic回歸(離散特征被映射為1維的數(shù)字)

源碼解析:

deep側embedding層將離散特征做embedding以后與連續(xù)特征concat作為神經(jīng)元的輸出

deep_embedding.png

deep側fully全連接層

deep_fullyconnected.png

deep側輸出層

deep_logits.png

wide側離散特征embedding后相加作為logits

wdl_embedding.png

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

weighted_sum_from_feature_columns.png

結果:
deep + wide

logits.png
特征處理:

離散的特征通過sparse column with hash bucket將整數(shù)轉換成對應的字符串表示形式,用字符串計算哈希值然后取模,轉換后的特征值是0到hash_bucket_size的一個整數(shù),再根據(jù)embedding_lookup_table轉換成對應的embedding值
cross


本文遵守知識共享協(xié)議:署名-非商業(yè)性使用-相同方式共享 (BY-NC-SA)簡書協(xié)議
轉載請注明:作者空空格格,首發(fā)簡書 Jianshu.com

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容