陳巧紅,孫超紅,余仕敏,賈宇波
(浙江理工大學(xué)信息學(xué)院,杭州 310018)
?
基于遞歸神經(jīng)網(wǎng)絡(luò)的廣告點擊率預(yù)估研究
陳巧紅,孫超紅,余仕敏,賈宇波
(浙江理工大學(xué)信息學(xué)院,杭州 310018)
為提高廣告點擊率的預(yù)估準(zhǔn)確率,從而提高在線廣告的收益,對廣告數(shù)據(jù)進行特征提取和特征降維,采用一種基于LSTM的改進的遞歸神經(jīng)網(wǎng)絡(luò)作為廣告點擊率預(yù)估模型。分別采用隨機梯度下降法和交叉熵函數(shù)作為預(yù)估模型的優(yōu)化算法和目標(biāo)函數(shù)。實驗表明,與邏輯回歸、BP神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)相比,基于LSTM改進的遞歸神經(jīng)網(wǎng)絡(luò)模型,能有效提高廣告點擊率的預(yù)估準(zhǔn)確率。該模型不僅有助于廣告服務(wù)商制定合理的價格策略,也有助于廣告主合理投放廣告,實現(xiàn)廣告產(chǎn)業(yè)鏈中各個角色的收益最大化。
廣告點擊率;遞歸神經(jīng)網(wǎng)絡(luò);LSTM;隨機梯度下降;交叉熵
在中國,2014年在線廣告首次超過電視廣告,市場規(guī)模超過1500億人民幣,達到1540億元,同比增長40.0%[1],2014年整年的比2012的773億人民幣,將近翻了一番,并且2015年有望突破2000億人民幣。
廣告點擊率預(yù)估作為計算廣告學(xué)的重要研究領(lǐng)域,提高廣告點擊率是增加在線廣告收益的重要手段之一。廣告點擊率預(yù)估模型主要是通過對豐富的歷史數(shù)據(jù)進行挖掘,使預(yù)估模型盡可能學(xué)習(xí)歷史數(shù)據(jù)中大量非線性特征之間的復(fù)雜關(guān)系,提高廣告點擊率預(yù)估的準(zhǔn)確性。提高了廣告點擊率預(yù)估的準(zhǔn)確性,結(jié)合廣告的位置、廣告競價機制等因素使在線廣告投放得更加準(zhǔn)確,從而提高真實的廣告點擊率,根據(jù)在線廣告付費機制,大多數(shù)公司都是采用按點擊付費(cost per click,CPC),廣告被點擊次數(shù)越多,收益越高[2]。
廣告點擊率預(yù)估流程一般可以分為:特征提取,模型搭建,模型訓(xùn)練和模型預(yù)估這4個步驟。Joachims[3]從web搜索引擎日志中挖掘廣告點擊數(shù)據(jù),并采用支持向量機對點擊率進行預(yù)估。Graepel等[4]提出一種基于在線貝葉斯概率回歸模型(online bayesian probability regression,OBPR)的預(yù)估方法,但由于該模型是基于特定的廣告特征,所以難以實現(xiàn)個性化推薦。Chapelle等[5]提出一種基于動態(tài)貝葉斯網(wǎng)絡(luò)模型的廣告點擊率預(yù)估方法,該方法引入“滿意度”的概念,通過利用“滿意度”分別模擬登陸頁面的相關(guān)性以及搜索結(jié)果頁面可感知的相關(guān)性,以此預(yù)估廣告點擊率,但是貝葉斯模型必須知道先驗概率且屬性之間必須是相互獨立的。Dave等[6]則提出一種基于梯度增強決策樹(gradient boosting decision tree,GBDT)的預(yù)估方法,該方法考慮了廣告數(shù)據(jù)之間的相似性特征。Richardson等[7]采用邏輯回歸模型(logistic regression model)進行廣告點擊率預(yù)估,并利用L-BFGS(limited memory broyden fletcher goldfarb shanno)訓(xùn)練模型。Agrawal等[8]提出一種基于時空模型(spatio-temporal predicting models)的預(yù)估方法。為解決稀疏數(shù)據(jù)廣告點擊率預(yù)估的問題,Agarwal等[9]提出一種稀疏數(shù)據(jù)預(yù)存的層次結(jié)構(gòu)。Zhang等[10]為預(yù)估廣告點擊率提出COEC(clicks over expected clicks,COEC)模型,該模型將實際點擊率與期望點擊率之間的比值作為目標(biāo)函數(shù),該方法具有排序標(biāo)準(zhǔn)化的優(yōu)點。Cheng等[11]則采用最大熵算法對廣告點擊率進行預(yù)估。而Zhang等[12]提出一種基于遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN)的廣告點擊率預(yù)估方法,并利用反向傳播算法(back propagation through time,BPTT)訓(xùn)練模型,實驗表明該方法的預(yù)估準(zhǔn)確率比普通的神經(jīng)網(wǎng)絡(luò)和邏輯回歸模型高。但是,遞歸神經(jīng)網(wǎng)絡(luò)算法在使用梯度下降算法的時候會造成梯度消失或梯度爆發(fā)的問題,為了解決此類問題,本文采用基于長短期記憶(long short term memory,LSTM)改進的遞歸神經(jīng)網(wǎng)絡(luò),利用LSTM特殊的結(jié)構(gòu),來避免在學(xué)習(xí)層次增加的情況下,梯度消失或者爆發(fā)的問題,從而提高模型的準(zhǔn)確性。
本文的廣告數(shù)據(jù)來自Avazu公司所提供的數(shù)據(jù),針對大量豐富的廣告日志數(shù)據(jù),采用基于LSTM改進的遞歸神經(jīng)網(wǎng)絡(luò)模型去預(yù)估廣告點擊率。遞歸神經(jīng)網(wǎng)絡(luò)的隱藏層采用三層全連接結(jié)構(gòu),使得模型得以訓(xùn)練充分。實驗證明基于LSTM改進的遞歸神經(jīng)網(wǎng)絡(luò)比邏輯回歸模型、BP神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)和一般的遞歸神經(jīng)網(wǎng)絡(luò)的廣告點擊率效果越準(zhǔn)確。
1.1 模型定義
LSTM遞歸神經(jīng)網(wǎng)絡(luò),該算法使用LSTM結(jié)構(gòu)替換了一般的遞歸神經(jīng)網(wǎng)絡(luò)的隱藏層節(jié)點,LSTM結(jié)構(gòu)增加了輸入門、輸出門、遺忘門和一個內(nèi)部單元(Cell)。其中一般的遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 一般的遞歸神經(jīng)網(wǎng)絡(luò)
本文將隱藏層節(jié)點換成如圖2所示的結(jié)構(gòu)。
圖2 長短期記憶結(jié)構(gòu)
基于長短期記憶(LSTM)改進的遞歸神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖3所示。
圖3 基于長短期記憶改進的遞歸神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
1.2 模型訓(xùn)練
(1)
(2)
根據(jù)Forget門判斷是否保留過去的信息值,如式(3)所示:
(3)
(4)
于是得到Cell單元的輸出向量如式(5)所示:
(5)
其中:h是激活函數(shù)。
Cell單元的輸出向量,即隱藏層的輸出向量,作為輸出層的輸入向量,如式(6)所示:
(6)
最終從輸出層輸出的結(jié)果向量如式(7)所示:
(7)
根據(jù)按時間的反向傳播算法BPTT可得,t時刻i節(jié)點到j(luò)節(jié)點的權(quán)值更新如式(8)所示:
(8)
由于基于LSTM改進的遞歸神經(jīng)網(wǎng)絡(luò)模型中的狀態(tài)是通過累加的方式計算的,其導(dǎo)數(shù)也是累加形式,避免了傳統(tǒng)遞歸神經(jīng)網(wǎng)絡(luò)中由于導(dǎo)數(shù)逼近0而造成的梯度消失問題。
1.3 損失函數(shù)和評價函數(shù)
對數(shù)損失函數(shù)(logloss,見Cheese[13])跟AUC不同的是,AUC側(cè)重廣告點擊率預(yù)估的排序,logloss側(cè)重廣告點擊率預(yù)估的準(zhǔn)確性,當(dāng)點擊率全部提高一定比例時,AUC因為只注重排序,所以不會有什么變化,而logloss值會引起變化。logloss是反映經(jīng)過模型預(yù)估的點擊率和真實點擊率的擬合程度,值越小,廣告點擊率的預(yù)估結(jié)果越準(zhǔn)確。本文采用scikit-learn 里的logloss,核心如式(9)、式(10)所示:
(9)
(10)
式(10)中的yi表示表示第i個真實點擊值,pi是通過模型預(yù)估的對于的點擊值。
2.1 數(shù)據(jù)分析
本文數(shù)據(jù)采用avazu公司提供的廣告數(shù)據(jù),為了方便對結(jié)果進行驗證,這里僅采用訓(xùn)練集,訓(xùn)練集樣本大小為40428967條。每條樣本包括24個特征(其中包括15個顯性特征和9個隱藏加密特征),將訓(xùn)練集樣本分成四份,將三份作為訓(xùn)練數(shù)據(jù),一份為測試數(shù)據(jù)。采用多次劃分,為了保證數(shù)據(jù)樣本的可信度,分別進行訓(xùn)練。從表1可得,測試數(shù)據(jù)集和訓(xùn)練數(shù)據(jù)集的真實點擊率是類似的,不會對模型的預(yù)測造成影響。
表1 測試數(shù)據(jù)集和訓(xùn)練數(shù)據(jù)集
2.2 特征處理
通過對廣告數(shù)據(jù)特征的分析可知,分析結(jié)果表明,在24個特征中其中Device_id和Device_ip的特征數(shù)過多,會導(dǎo)致很多長尾特征,如表2所示。
表2 Device_id和Device_ip的特征數(shù)
由于以device開頭的特征數(shù)過多所以產(chǎn)生了很多長尾的特征,為了使模型能更加穩(wěn)定得學(xué)習(xí),適當(dāng)過濾掉一些長尾特征值。根據(jù)統(tǒng)計結(jié)果如表3所示。過濾掉device_ip出現(xiàn)頻次低于10次的特征樣本和device_id出現(xiàn)頻次低于10的特征樣本,最終得到訓(xùn)練樣本數(shù)為23548762條。
表3 特征device_ip和device_id頻次
根據(jù)以device開頭的特征,拼接字符,將device_ip、device_id、device_model和C14 4個特征拼接字符,然后再通過哈希映射將拼接的字符截取前8個字符,結(jié)果如表4,記為user_id,作為隱式用戶屬性。原始樣本就有24個特征變成了25個特征,將特征C15和特征C16拼接成新的特征,記為banner_size,也進行哈希編碼。刪除C15和C16特征,得到樣本特征數(shù)變?yōu)?4條。
將所得到特征進行歸一化處理,將特征值映射到[0,1]之間,至此對特征處理完畢。
2.3 實驗結(jié)果
對于邏輯回歸模型,設(shè)置學(xué)習(xí)率為0.0003,采用隨機值初始化邏輯回歸模型,優(yōu)化函數(shù)采用Adagrad。
對于BP神經(jīng)網(wǎng)絡(luò)模型,采用基本的三層結(jié)構(gòu),隱藏層節(jié)點根據(jù)經(jīng)驗所得,設(shè)置為5個節(jié)點。
對于RNN和基于LSTM的RNN模型,這里均采用keras框架,優(yōu)化函數(shù)采用隨機梯度下降(stochastic gradient descent,SGD)算法,目標(biāo)函數(shù)都采用交叉熵函數(shù),兩個模型的特征處理也是采取同樣的處理方法。
實驗將訓(xùn)練數(shù)據(jù)分十等份進行訓(xùn)練,每次迭代一共包括3千萬樣本,每次迭代完計算logloss值。以上4個模型的迭代次數(shù)都一樣,分別是10、20、30、40、50、60。
不同模型logloss值隨著迭代次數(shù)的不同,得到不同的值。表4列出了邏輯回歸(logistic regression,LR)、BPNN、RNN和基于LSTM的RNN模型在不同迭代次數(shù)時的logloss值。
表4 實驗結(jié)果
從表4中可以看出,對于LR模型隨著迭代次數(shù)的增加,logloss一開始在減少,當(dāng)?shù)竭_第40次迭代的時候就減少到最低了,logloss值為0.388364,第50次迭代后logloss值不減反增,可以看出模型在第四迭代時已經(jīng)充分學(xué)習(xí)了。對于BP神經(jīng)網(wǎng)絡(luò)曲線一直處于下降狀態(tài),慢慢趨于平穩(wěn),但是比邏輯回歸模型的logloss值高。對于RNN模型,隨著迭代次數(shù)的增加,logloss值處于下降狀態(tài),至60次時達到最小值0.386266。對于基于LSTM的RNN模型,隨著迭代次數(shù)的增加,logloss值一開始處于下降狀態(tài),在40次時達到最低點0.383213,這個值低于以上3個模型的最低值,如圖4所示,表明這種方法預(yù)估的點擊率比其它方法更準(zhǔn)確?;贚STM改進的遞歸神經(jīng)網(wǎng)絡(luò)采用特殊的LSTM單元結(jié)構(gòu),克服了一般的遞歸神經(jīng)網(wǎng)絡(luò)隨著學(xué)習(xí)的深入,而造成梯度丟失的問題。
遞歸神經(jīng)網(wǎng)絡(luò)模型比邏輯回歸模型和BP神經(jīng)網(wǎng)絡(luò)模型有更好的廣告點擊率預(yù)估的準(zhǔn)確性,線性學(xué)習(xí)模型尋找一個線、面或者高維空間對一個數(shù)據(jù)特征趨勢的無限逼近。線性模型本身就存在對非線性特征學(xué)習(xí)的不充分問題,無法完全體現(xiàn)眾多特征之間的關(guān)系,而且隨著迭代次數(shù)和學(xué)習(xí)時間的增加,容易造成過度擬合的問題,導(dǎo)致學(xué)習(xí)能力反而下降的情況。BP神經(jīng)網(wǎng)絡(luò)模型本質(zhì)上就是梯度下降算法,而且BP神經(jīng)網(wǎng)絡(luò)模型無法記憶信息,存在局部極小值的問題,會導(dǎo)致模型訓(xùn)練提早結(jié)束,BP神經(jīng)網(wǎng)絡(luò)模型對初始狀態(tài)設(shè)置較敏感,會出現(xiàn)同樣條件的訓(xùn)練最后得到不同結(jié)果的情況,BP神經(jīng)網(wǎng)絡(luò)采用的是誤差修正法,所以收斂和訓(xùn)練的速度都非常慢。遞歸神經(jīng)網(wǎng)絡(luò)引進了時刻,相比隱藏層節(jié)點的輸入只來自上一層節(jié)點的輸出,遞歸神經(jīng)網(wǎng)絡(luò)模型的隱藏層節(jié)點不僅來自上一層節(jié)點的輸出還來自上一時刻的隱藏層節(jié)點的輸出,遞歸神經(jīng)網(wǎng)絡(luò)模型可以學(xué)習(xí)更加復(fù)雜特征之間的關(guān)系。
基于LSTM改進的遞歸神經(jīng)網(wǎng)絡(luò)模型采用特殊結(jié)構(gòu)替代了普通的曲線神經(jīng)元激活函數(shù),當(dāng)上一時刻的誤差反向傳遞來的時候,可通過其中的記憶單元記下來,從而可以很好地記錄歷史信息,盡量防止梯度消失的問題。實驗結(jié)果證明了在廣告點擊率預(yù)估上,基于LSTM改進的遞歸神經(jīng)網(wǎng)絡(luò)模型比其他的模型有更好的預(yù)估效果。
本文采用基于LSTM改進的遞歸神經(jīng)網(wǎng)絡(luò)模型去對歷史廣告數(shù)據(jù)進行預(yù)估,通過實驗對比邏輯回歸模型、BP神經(jīng)網(wǎng)絡(luò)模型和標(biāo)準(zhǔn)的遞歸神經(jīng)網(wǎng)絡(luò)模型,實驗結(jié)果證明本文所采用的基于LSTM改進的遞歸神經(jīng)網(wǎng)絡(luò)模型在預(yù)估廣告點擊率方面比對比模型的準(zhǔn)確率要好,克服了一般遞歸神經(jīng)網(wǎng)絡(luò)隨著學(xué)習(xí)層次的加深,造成的梯度消失問題,進一步證明了本文所做工作的有效性。
基于神經(jīng)網(wǎng)絡(luò)的模型對輸入特征都比較敏感,超高維的特征不僅影響模型訓(xùn)練,甚至有可能造成模型無法訓(xùn)練,所以如何更有效得對海量數(shù)據(jù)進行特征提取、特征選擇和特征降維,成為未來的熱門研究問題。此外,神經(jīng)網(wǎng)絡(luò)的優(yōu)化算法和目標(biāo)函數(shù)也有很多,本文遞歸神經(jīng)網(wǎng)絡(luò)采用了的優(yōu)化算法是SGD算法,新的優(yōu)化算法也在不斷提出,例如自適應(yīng)算法Adadelta算法[14]、Adagrad算法[15]等。目標(biāo)函數(shù)本文采用交叉熵函數(shù),常見的目標(biāo)函數(shù)還包括均方差、絕對值均差和多分類邏輯回歸。優(yōu)化算法和目標(biāo)函數(shù)也是未來一個值得研究的問題。
[1] 艾瑞咨詢.艾瑞咨詢:2015年中國網(wǎng)絡(luò)廣告行業(yè)年度數(shù)據(jù)監(jiān)測[EB/OL].(2015-04-20)[2015-12-20].http://www.iyunying.org/seo/sjfx/12636.html.
[2] 周傲英,周敏奇,宮學(xué)慶.計算廣告:以數(shù)據(jù)為核心的Web綜合應(yīng)用[J].計算機學(xué)報,2011,34(10):1805-1819.
[3] JOACHIMS T. Optimizing search engines using clickthrough data[C]//Proceedings of the Eighth ACM SIGKDD International Conference on Knowledge Discovery and Data mining. ACM,2002:133-142.
[4] GRAEPEL T, CANDELA J Q, BORCHERT T, et al. Web-scale bayesian click-through rate prediction for sponsored search advertising in microsoft’s bing search engine[C]//Proceedings of the 27th International Conference on Machine Learning(ICML-10).2010:13-20.
[5] CHAPELLE O, ZHANG Y. A dynamic bayesian network click model for web search ranking[C]//Proceedings of the 18th International Conference on World Wide Web. ACM,2009:1-10.
[6] DAVE K, VARMA V. Predicting the Click-Through Rate for Rare/New Ads[R]. Centre for Search and Information Extraction LabInternational Institute of Information Technology . Hyderabad,2010.
[7] RICHARDSON M, DOMINOWSKA E, RAGNO R. Predicting clicks: estimating the click-through rate for new ads[C]//Proceedings of the 16th International Conference on World Wide Web. ACM,2007:521-530.
[8] AGARWAL D, BRODER A Z, CHAKRABARTI D, et al. Estimating rates of rare events at multiple resolutions[C]//Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM,2007:16-25.
[9] AGARWAL D, AGRAWAL R, KHANNA R, et al. Estimating rates of rare events with multiple hierarchies through scalable log-linear models[C]//Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2010:213-222.
[10] ZHANG W V, JONES R. Comparing click logs and editorial labels for training query rewriting[C]//WWW 2007 Workshop on Query Log Analysis: Social And Technological Challenges.2007.
[11] CHENG H, CANTú-PAZ E. Personalized click prediction in sponsored search[C]//Proceedings of the Third ACM International Conference on Web Search and Data Mining. ACM, 2010: 351-360.
[12] ZHANG Y, DAI H, XU C, et al. Sequential Click Prediction for Sponsored Search with Recurrent Neural Networks[C]//Proceedings of the Twenty-Eighth AAAI Conference on Artificial Intelligence. AAAI,2014:1369-1375.
[13] CHEESE T. Logarithmic Loss[EB/OL].(2016-02-25)[2016-02-26]. https://www.kaggle.com/wiki/LogarithmicLoss.
[14] ZEILER M D. Hierarchical convolutional deep learning in computer vision[D]. New York: New York University,2013.
[15] WAGER S, WANG S, LIANG P S. Dropout training as adaptive regularization[C]//Advances in Neural Information Processing Systems.2013:351-359.
(責(zé)任編輯: 陳和榜)
Research on Estimation of Ads Click Rate Based on Recurrent Neural Network
CHENQiaohong,SUNChaohong,YUShimin,JIAYubo
(School of Information Science and Technology, Zhejiang Sci-Tech University, Hangzhou 310018, China)
In order to improve the estimation accuracy of ads click rate and thus improve the revenue of online advertising, feature extraction and dimension reduction of advertising data were implemented. Then, the improved recurrent neural network based on LSTM was used as the ads click rate estimation model. Meanwhile, stochastic gradient descent and cross entropy were used as optimization algorithm and objective function separately. Experiments show that compared with logistic regression, BP neural network and recurrent neural network, the improved recurrent neural network based on LSTM can effectively improve the estimation accuracy of ads click rate. It not only helps advertising service providers develop reasonable price strategies, but also helps advertisers advertise reasonably. As a result, the revenue maximization of each role in the advertising industry chain is realized.
ads click rate; recurrent neural network; LSTM; stochastic gradient descent; cross entropy
10.3969/j.issn.1673-3851.2016.11.014
2016-04-08
陳巧紅(1978- ),女,浙江臨海人,副教授,博士,主要從事計算機輔助設(shè)計及機器學(xué)習(xí)技術(shù)方面的研究。
TP181
A
1673- 3851 (2016) 06- 0880- 06 引用頁碼: 110602