使用者線上廣告點選行為預測的深度學習模型(含PPT下載)
本文來自英國倫敦大學學院博士張偉楠在攜程技術中心主辦的深度學習Meetup中的主題演講,介紹了深度學習在Multi-field Categorical(多欄位分類)資料集上的應用,涉及FM和FNN等演算法。
本次分享主要講的是深度學習在Multi-field Categorical 這類資料集上的應用,這種型別的資料主要呈現以下特徵:有多個域,每個域上的資料以ID格式呈現。本課題就是在資訊檢索這一大類下的應用,它的應用主要體現在:網路搜尋、推薦系統、廣告展示這些領域。深度學習對連續資料和序列資料(比如:圖片畫素、語音、自然語言等)有比較好的效果且目前已經有了比較成熟的應用,如:影像識別、語音識別等。
而現實世界中又有很多現象需要多欄位的分類資料來描述,那如果用深度學習來處理多欄位的分類資料,效果又會是怎樣呢?本文通過使用者線上廣告點選行為預測的應用例項來向大家展示深度學習在多欄位分類資料的應用效果。
文章將詳細介紹了FM和FNN演算法在處理多值分類資料方面的優勢,並把這兩種演算法與神經網路在特徵變數處理方面的差異做了對比,最後通過一個使用者線上廣告點選行為預測的例項比較了LR、FM、FNN、CCPM、PNN-I等不同演算法的實際預測效果。
深度學習目前的應用現狀
深度學習目前比較成熟的應用主要集中在:機器視覺、語音識別、自然語言處理這些課題上,這些應用領域的共同特點是它們的資料集是連續的。比如:圖形識別中每個圖層與它之後的圖層區域性都有比較緊密的聯絡;語音資訊前後也有比較強的相關關係;在自然語言處理中每個WORD雖然是離散的,但是其前後的資料也是強相關的。對於這種型別的資料,人可以輕易理解這些資料,但是一般的機器學習演算法處理這種資料卻是非常困難的,而深度學習卻可以很好的從底層逐層學習出高層的模式,這就是深度學習的優勢。
而今天我們要了解的資料 Multi-field Categorical Data與上述這些連續或是序列資料是有區別的,Multi-field Categorical Data會有多種不同的欄位,比如:[Weekday=Wednesday, Gender=Male, City=London,…],那這樣我們就比較難識別這些特徵之間的關係。給大家舉例一個直觀的場景:比如現在有一個鳳凰網站,網站上面有一個迪斯尼廣告,那我們現在想知道使用者進入這個網站之後會不會有興趣點選這個廣告,類似這種使用者點選率預測在資訊檢索領域就是一個非常核心的問題。
那一般普遍的做法就是通過不同的域來描述這個事件然後預測使用者的點選行為,而這個域可以有很多,比如:
• Date: 20160320
• Hour: 14
• Weekday: 7
• IP: 119.163.222.*
• Region: England
• City: London
• Country: UK
• Ad Exchange: Google
• Domain: yahoo.co.uk
• URL: http://www.yahoo.co.uk/abc/xyz.html
• OS: Windows
• Browser: Chrome
• Ad size: 300*250
• Ad ID: a1890
• User tags: Sports, Electronics
可能我們還會有這些使用者的身份資訊,比如該使用者是學生等,那我們可以通過這些多維度的取值來描述這個事件然後來預測使用者的點選行為。回到剛才的那個場景,那麼什麼樣的使用者會點選這個廣告呢?我們可能猜想:目前在上海的年輕的使用者可能會有需求,如果今天是週五,看到這個廣告,可能會點選這個廣告為週末做活動參考。那可能的特徵會是:[Weekday=Friday, occupation=Student, City=Shanghai],當這些特徵同時出現時,我們認為這個使用者點選這個迪斯尼廣告的概率會比較大。
這種場景在WEB Search、廣告展示、推薦系統領域會經常遇到,比如Google和百度在做廣告點選率預測時,他們人工地把這種分類資料做四階或是五階的結合特徵,最終在一個超級大的資料集上去學習特徵,而這個過程需要耗費大量人力去做特徵處理,本次要講的就是應用深度學習去直接學習這類資料特徵。
傳統的做法是應用One-Hot Binary的編碼方式去處理這類資料,例如現在有三個域的資料X=[Weekday=Wednesday, Gender=Male, City=Shanghai],其中 Weekday有7個取值,我們就把它編譯為7維的二進位制向量,其中只有Wednesday是1,其他都是0,因為它只有一個特徵值;Gender有兩維,其中一維是1;如果有一萬個城市的話,那City就有一萬維,只有上海這個取值是1,其他是0。
那最終就會得到一個高維稀疏向量。但是這個資料集不能直接用神經網路訓練:如果直接用One-Hot Binary進行編碼,那輸入特徵至少有一百萬,第一層至少需要500個節點,那麼第一層我們就需要訓練5億個引數,那就需要20億或是50億的資料集,而要獲得如此大的資料集基本上是很困難的事情。
FM、FNN以及PNN模型
因為上述原因,我們需要將非常大的特徵向量嵌入到低維向量空間中來減小模型複雜度,而FM(Factorisation machine)無疑是被業內公認為最有效的embedding model:
第一部分仍然為Logistic Regression,第二部分是通過兩兩向量之間的點積來判斷特徵向量之間和目標變數之間的關係。比如上述的迪斯尼廣告,occupation=Student和City=Shanghai這兩個向量之間的角度應該小於90,它們之間的點積應該大於0,說明和迪斯尼廣告的點選率是正相關的。這種演算法在推薦系統領域應用比較廣泛。
那我們就基於這個模型來考慮神經網路模型,其實這個模型本質上就是一個三層網路:
它在第二層對向量做了乘積處理(比如上圖藍色節點直接為兩個向量乘積,其連線邊上沒有引數需要學習),每個field都只會被對映到一個 low-dimensional vector,field和field之間沒有相互影響,那麼第一層就被大量降維,之後就可以在此基礎上應用神經網路模型。
我們用FM演算法對底層field進行embeddding,在此基礎上面建模就是FNN(Factorisation-machine supported Neural Networks)模型:
模型底層先用FM對經過one-hot binary編碼的輸入資料進行embedding,把稀疏的二進位制特徵向量對映到 dense real 層,之後再把dense real 層作為輸入變數進行建模,這種做法成功避免了高維二進位制輸入資料的計算複雜度。
那我們把這些模型應用到iPinYou資料集上,模型效果如下所示:
那我們可以看出FNN的效果優於LR和 FM 模型。我們進一步考慮FNN與一般的神經網路的區別是什麼?大部分的神經網路模型對向量之間的處理都是採用加法操作,而FM 則是通過向量之間的乘法來衡量兩者之間的關係。我們知道乘法關係其實相當於邏輯“且”的關係,拿上述例子來說,只有特徵是學生而且在上海的人才有更大的概率去點選迪斯尼廣告。但是加法僅相當於邏輯中“或”的關係,顯然“且”比“或”更能嚴格區分目標變數。
所以我們接下來的工作就是對乘法關係建模。可以對兩個向量做內積和外積的乘法操作:
可以看出對外積操作得到矩陣而言,如果該矩陣只有對角線上有值,就變成了內積操作的結果,所以內積操作可以看作是外積操作的一種特殊情況。通過這種方式,我們就可以衡量連個不同域之間的關係。
在此基礎之上我們搭建的神經網路如下所示:
首先對輸入資料進行embedding處理,得到一個low-dimensional vector層,對該層的任意兩個feature進行內積或是外積處理就得到上圖的藍色節點,另外一種處理方式是把這些Feature直接和1相乘複製到上一層的Z中,然後把Z和P接在一起就可以作為神經網路的輸入層,在此基礎上我們就可以應用神經網路去模型了。
那麼對特徵做內積或是外積處理就會產生一個複雜度的問題:假設有60個域,那麼把這些feature做內積處理,就會產生將近1000多個元素的矩陣,如此就會產生一個很大的weight矩陣,那我們需要學習的引數就很多,那我們的資料集可能就滿足不了這個要求。那接下來的做法就是:由於weight矩陣是個對稱陣,我們可以用factorization來處理這個對稱陣,把它轉換為一個小矩陣乘以這個小矩陣的轉置,這樣就會大大減少我們所需要訓練的引數:
模型效果評估
接下來我們可以看一下模型在兩個不同資料集上面的應用效果:
第一個資料集Criteo Terabyte Dataset:這個資料集有13個數值變數,26個類別變數,我們節選了8天將近300GB的資料量,前7天作為訓練集,由於這個資料集正樣本過少,我們對負樣本做了欠抽樣的處理。
第二個資料集iPinYou Dataset:共有24個類別變數,我們擷取了連續10天的資料量。
我們應用的比較演算法有:LR (Logistic regression)、FM(Factorisation machine)、FNN(Factorisation machine supported neural network)、CCPM(Convolutional click prediction model)、PNN-I(Inner product neural network)、PNN-II(Outer product neural network)、PNN-III(Inner&outer product ensembled neural network)
評估模型我們主要看的是以下幾個指標:
Area under ROC curve (AUC):非常關鍵的指標
Log loss:該值越小,說明點選率預估的準確度越高
- Root mean squared error (RMSE):值越大模型效果越好,作為參考
- Relative Information Gain (RIG):值越大模型效果越好
最終各個模型的效果如下:
我們主要看的是AUC這個指標,業內一般模型提升2個百分點就會帶來巨大收益,可以看到從LR到PNN,模型效果提升了近5個百分點,由此可見FM、FNN、PNN這幾類模型效果比LR顯著要好。
其他的實驗結果,比如dropout,業內認為0.5是比較好的值,我們PNN-II模型的實驗結果也證明了這一點:
我們還測試了最佳的隱層層數,隱層層數並不是越多越好,層數過多的模型會出現過擬合效應,這個隱層數是跟資料集大小相關,一般而言資料集越大所需要的隱層就越多,我們這裡模型顯示的最佳隱層是3層:
我們同時在小資料集iPinYou Dataset上看了一下各模型的穩健性,發現PNN-1和PNN-2模型效果超過其他模型一直處在穩步上升的過程:
之後我們還學習了神經網路不同層級節點數目的分佈,一下有四種不同的層級節點分佈形態,結果發現constant 和 diamond 這兩種形態的表現效果比較好,increasing形態效果最差,說明我們不應該在第一層就過度壓縮特徵向量:
我們還對比了不同隱層節點的Activation Functions的效果,結果發現tanh 和 relu明顯優於sigmoid:
小結
深度學習在多欄位分類資料集上也能取得顯著的應用效果;
通過內積和外積操作找到特徵之間的相關關係;
在廣告點選率的預測中,PNN效果優於其他模型。
PPT下載:使用者線上廣告點選行為預測的深度學習模型 by 張偉楠
本分享涉及的研究工作由張偉楠與其在上海交通大學和倫敦大學學院的同事共同完成,文章由攜程技術中心(微信公號ctriptech)侯淑芳根據演講內容整理,並經過演講者本人確認和授權釋出。
責編:周建丁(zhoujd@csdn.net)
CCAI 2016中國人工智慧大會將於8月26-27日在京舉行,AAAI主席,多位院士,MIT、微軟、大疆、百度、滴滴專家領銜全球技術領袖和產業先鋒打造國內人工智慧前沿平臺,6+重磅大主題報告,4大專題論壇,1000+高質量參會嘉賓,探討人機互動、機器學習、模式識別及產業實戰。門票限時八折優惠中。
相關文章
- 深度強化學習資料(視訊+PPT+PDF下載)強化學習
- Skymind創始人:分散式深度學習綜述(PPT全文下載)分散式深度學習
- AAAI 2021論文:利用深度元學習對城市銷量進行預測(附論文下載)AI
- 深度學習模型深度學習模型
- 基於TensorFlow Serving的深度學習線上預估深度學習
- 乾貨 | 臺大“一天搞懂深度學習”課程PPT(下載方式見文末!!)深度學習
- 深度學習的Attention模型深度學習模型
- NLP與深度學習(五)BERT預訓練模型深度學習模型
- 52 個深度學習目標檢測模型深度學習模型
- 手把手:教你如何用深度學習模型預測加密貨幣價格深度學習模型加密
- 深度學習中的Normalization模型深度學習ORM模型
- 為了預測股票,我用TensorFlow深度學習了股市資料深度學習
- 30倍於傳統方法,中國科學院團隊Transformer深度學習模型預測糖-蛋白質作用位點ORM深度學習模型
- 深度學習的難點深度學習
- 阿里媽媽牟娜:定向廣告新一代點選率預估主模型——深度興趣演化網路阿里模型
- Docker部署深度學習模型Docker深度學習模型
- 【回放視訊+PPT下載整理】程式語言系列講座:深度學習JavaScript和React技術深度學習JavaScriptReact
- 比傳統方法高30倍,中國科學院團隊Transformer深度學習模型預測糖-蛋白質作用位點ORM深度學習模型
- 哥本哈根兩學生開發新模型,預測深度學習演算法碳排放量模型深度學習演算法
- 基於大資料的使用者行為預測大資料
- 深度學習預測蛋白質-蛋白質相互作用深度學習
- 基於深度學習的建築能耗預測03——能耗建模深度學習
- 用深度學習進行欺詐檢測深度學習
- 深度學習的seq2seq模型深度學習模型
- Google線上深度學習神器ColabGo深度學習
- 廣告預估模型(二)模型
- 一文看懂遷移學習:怎樣用預訓練模型搞定深度學習?遷移學習模型深度學習
- 使用PyTorch進行主動遷移學習:讓模型預測自身的錯誤PyTorch遷移學習模型
- AAAI 2021論文:利用深度元學習對城市銷量進行預測AI
- 深度學習中的序列模型演變及學習筆記(含RNN/LSTM/GRU/Seq2Seq/Attention機制)深度學習模型筆記RNN
- 【資料處理】使用深度學習預測未來銷量深度學習
- 和免疫熒游標記說拜拜 | 谷歌Cell論文:深度學習模型預測熒光位置谷歌深度學習模型
- 麻省理工深度學習基礎公開課.ppt深度學習
- 「深度學習系列」CNN模型的視覺化深度學習CNN模型視覺化
- 深度學習網路模型的輕量化方法深度學習模型
- NLP與深度學習(六)BERT模型的使用深度學習模型
- 深度學習模型調參總結深度學習模型
- 深度學習模型壓縮方法概述深度學習模型