google bigtable论文原文_CTR论文笔记[1]:Wideamp;Deep
感覺(jué)自己對(duì)CTR的論文讀的太少,因此后續(xù)會(huì)在專欄記錄一下閱讀論文的筆記和心得。
2016年Google發(fā)表了文章《Wide & Deep Learning for Recommender Systems》,本文主要記錄了在讀論文時(shí)的筆記和一些心得。
一、論文筆記
1、目的:同時(shí)解決Memorization和Generalization問(wèn)題。
Memorization:根據(jù)人工經(jīng)驗(yàn)和業(yè)務(wù)背景,選擇可能對(duì)label有較大影響的原始特征和組合特征輸入到模型,讓模型通過(guò)訓(xùn)練記憶數(shù)據(jù)中重要的特征。典型代表是LR,使用大量的原始特征和交叉特征作為輸入。優(yōu)點(diǎn)是可解釋性高、實(shí)現(xiàn)快速高效。缺點(diǎn)是人工設(shè)計(jì)較多,輸入過(guò)于細(xì)粒度的特征交叉會(huì)導(dǎo)致過(guò)擬合,模型記憶的只有部分通過(guò)訓(xùn)練得到高權(quán)重的組合特征而已,對(duì)于輸入中未添加過(guò)的組合特征以及添加過(guò)的但是由于訓(xùn)練數(shù)據(jù)中共現(xiàn)頻次為0的組合特征,模型的權(quán)重都為0,即沒(méi)有記憶,無(wú)法“擴(kuò)展”。
Generalization:為高維稀疏的輸入特征學(xué)習(xí)低維稠密的Embedding向量表示,然后將Embedding向量輸入到神經(jīng)網(wǎng)絡(luò)做深層交互。正如NLP里的詞向量一樣,通過(guò)Embedding將特征向量化,顯示特征之間相關(guān)性,使模型具備了“擴(kuò)展”的能力。Generalization的代表是FM、DNN。其優(yōu)點(diǎn)是人工設(shè)計(jì)少,可以“擴(kuò)展”。缺點(diǎn)是存在過(guò)度擴(kuò)展的可能,例如在推薦系統(tǒng)中,用戶評(píng)分矩陣極度稀疏,大部分的user和item應(yīng)該是沒(méi)有關(guān)聯(lián)的,但是經(jīng)過(guò)Embedding向量表示,大部分的user和item之間的評(píng)分預(yù)測(cè)并不為0。
2、模型結(jié)構(gòu)圖:
3、預(yù)測(cè)公式:
其中
是sigmoid函數(shù), 是原始特征, 是組合特征, 是wide part的權(quán)重參數(shù), 是deep part最后一層激活值 的權(quán)重參數(shù)。在具體實(shí)現(xiàn)時(shí),wide側(cè)的輸入是一些原始特征尤其是類別特征以及組合特征,數(shù)值型特征如年齡也會(huì)分桶轉(zhuǎn)化為類別輸入,分桶的目的在于CTR問(wèn)題label與數(shù)值型特征并不會(huì)是線性關(guān)系,往往與分段有關(guān)。比如年齡對(duì)是否下載騰訊動(dòng)漫APP的影響,20歲與22歲無(wú)差別,但是20歲與30歲差別就挺大的。deep側(cè)主要是輸入原始的數(shù)值型特征、類別特征(類別多的做Embedding),然后在深層神經(jīng)網(wǎng)絡(luò)做隱式深層交互。
4、具體實(shí)現(xiàn):
TensorFlow官方有實(shí)現(xiàn)的類tf.estimator.DNNLinearCombinedClassifier。但是我運(yùn)行官方的TensorFlow Wide & Deep Learning Tutorial總是出錯(cuò),所以我換了其他的教程
TensorFlow Wide & Deep Learning Tutorial(廣泛深入的學(xué)習(xí)教程)?cloud.tencent.com還有不使用TensorFlow的numpy實(shí)現(xiàn):
石塔西:用NumPy手工打造 Wide & Deep?zhuanlan.zhihu.com二、心得:
這里主要記錄了在閱讀論文之前和閱讀過(guò)程中產(chǎn)生的一些問(wèn)題以及自己的理解。
問(wèn)題1:為啥wide側(cè)是記憶,deep側(cè)是擴(kuò)展?
答:wide側(cè)輸入特征固定,后續(xù)并沒(méi)有再進(jìn)行特征交叉,且歷史上未出現(xiàn)的特征對(duì)則對(duì)應(yīng)權(quán)重會(huì)是0,因此是記憶。deep側(cè)由于使用低維稠密向量表示特征,特征之間的相關(guān)性就可以由向量之間計(jì)算得到,如計(jì)算向量的余弦?jiàn)A角。由于向量是低維稠密的,因此任意兩個(gè)特征之間的相關(guān)性基本不為0,甚至?xí)邢氩坏降奶卣髦g相關(guān)性很高,這樣就具備了良好的擴(kuò)展能力。PS:我也不知道當(dāng)初為什么明白NLP里的詞向量原理以及推薦系統(tǒng)的矩陣分解,卻不明白deep側(cè)可以擴(kuò)展,就像初中高中有些數(shù)學(xué)題答案里面有顯然二字,當(dāng)時(shí)想不通,最后弄明白了再一想可不就是顯然嘛,但是當(dāng)時(shí)為什么想不到就不知道了。可能是當(dāng)時(shí)沒(méi)有這樣的思維方式吧。
三、總結(jié):
Wide&Deep論文的原理并不復(fù)雜,我的時(shí)間主要耗在那個(gè)numpy實(shí)現(xiàn)上。建議閱讀論文原文
https://arxiv.org/abs/1606.07792?arxiv.org,然后看看一些詳解即可。
石塔西:看Google如何實(shí)現(xiàn)Wide & Deep模型(1)?zhuanlan.zhihu.com刺猬:詳解 Wide & Deep 結(jié)構(gòu)背后的動(dòng)機(jī)?zhuanlan.zhihu.com總結(jié)
以上是生活随笔為你收集整理的google bigtable论文原文_CTR论文笔记[1]:Wideamp;Deep的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: pytorch dataset data
- 下一篇: tkinter frame背景色_Tki