偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

廣告點(diǎn)擊率預(yù)估是怎么回事?

企業(yè)動(dòng)態(tài)
點(diǎn)擊率預(yù)估是廣告技術(shù)的核心算法之一,它是很多廣告算法工程師喜愛(ài)的戰(zhàn)場(chǎng)。一直想介紹一下點(diǎn)擊率預(yù)估,但是涉及公式和模型理論太多,怕說(shuō)不清楚,讀者也不明白。所以,這段時(shí)間花了一些時(shí)間整理點(diǎn)擊率預(yù)估的知識(shí),希望在盡量不使用數(shù)據(jù)公式的情況下,把大道理講清楚,給一些不愿意看公式的同學(xué)一個(gè)Cook Book。

[[176886]]

點(diǎn)擊率預(yù)估是廣告技術(shù)的核心算法之一,它是很多廣告算法工程師喜愛(ài)的戰(zhàn)場(chǎng)。一直想介紹一下點(diǎn)擊率預(yù)估,但是涉及公式和模型理論太多,怕說(shuō)不清楚,讀者也不明白。所以,這段時(shí)間花了一些時(shí)間整理點(diǎn)擊率預(yù)估的知識(shí),希望在盡量不使用數(shù)據(jù)公式的情況下,把大道理講清楚,給一些不愿意看公式的同學(xué)一個(gè)Cook Book。

點(diǎn)擊率預(yù)測(cè)是什么?

  • 點(diǎn)擊率預(yù)測(cè)是對(duì)每次廣告的點(diǎn)擊情況做出預(yù)測(cè),可以判定這次為點(diǎn)擊或不點(diǎn)擊,也可以給出點(diǎn)擊的概率,有時(shí)也稱(chēng)作pClick。

點(diǎn)擊率預(yù)測(cè)和推薦算法的不同?

  • 廣告中點(diǎn)擊率預(yù)估需要給出精準(zhǔn)的點(diǎn)擊概率,A點(diǎn)擊率0.3% , B點(diǎn)擊率0.13%等,需要結(jié)合出價(jià)用于排序使用;推薦算法很多時(shí)候只需要得出一個(gè)最優(yōu)的次序A>B>C即可;

搜索和非搜索廣告點(diǎn)擊率預(yù)測(cè)的區(qū)別

  • 搜索中有強(qiáng)搜索信號(hào)-“查詢(xún)?cè)~(Query)”,查詢(xún)?cè)~和廣告內(nèi)容的匹配程度很大程度影響了點(diǎn)擊概率; 點(diǎn)擊率也高,PC搜索能到達(dá)百分之幾的點(diǎn)擊率。
  • 非搜索廣告(例如展示廣告,信息流廣告),點(diǎn)擊率的計(jì)算很多來(lái)源于用戶(hù)的興趣和廣告特征,上下文環(huán)境;移動(dòng)信息流廣告的屏幕比較大,用戶(hù)關(guān)注度也比較集中,好位置也能到百分之幾的點(diǎn)擊率。對(duì)于很多文章底部的廣告,點(diǎn)擊率非常低,用戶(hù)關(guān)注度也不高,常常是千分之幾,甚至更低;

如何衡量點(diǎn)擊率預(yù)測(cè)的準(zhǔn)確性?

AUC是常常被用于衡量點(diǎn)擊率預(yù)估的準(zhǔn)確性的方法;理解AUC之前,需要理解一下Precision/Recall;對(duì)于一個(gè)分類(lèi)器,我們通常將結(jié)果分為:TP,TN,FP,FN。

評(píng)估點(diǎn)擊率算法

本來(lái)用Precision=TP/(TP+FP),Recall=TP/P,也可以用于評(píng)估點(diǎn)擊率算法的好壞,畢竟這是一種監(jiān)督學(xué)習(xí),每一次預(yù)測(cè)都有正確答案。但是,這種方法對(duì)于測(cè)試數(shù)據(jù)樣本的依賴(lài)性非常大,稍微不同的測(cè)試數(shù)據(jù)集合,結(jié)果差異非常大。那么,既然無(wú)法使用簡(jiǎn)單的單點(diǎn)Precision/Recall來(lái)描述,我們可以考慮使用一系列的點(diǎn)來(lái)描述準(zhǔn)確性。做法如下:

1.找到一系列的測(cè)試數(shù)據(jù),點(diǎn)擊率預(yù)估分別會(huì)對(duì)每個(gè)測(cè)試數(shù)據(jù)給出點(diǎn)擊/不點(diǎn)擊,和Confidence Score。

2.按照給出的Score進(jìn)行排序,那么考慮如果將Score作為一個(gè)Thresholds的話(huà),考慮這個(gè)時(shí)候所有數(shù)據(jù)的 TP Rate 和 FP Rate; 當(dāng)Thresholds分?jǐn)?shù)非常高時(shí),例如0.9,TP數(shù)很小,NP數(shù)很大,因此TP率不會(huì)太高;

Confidence Score

3.

將Score作為一個(gè)Thresholds

4.當(dāng)選用不同Threshold時(shí)候,畫(huà)出來(lái)的ROC曲線(xiàn),以及下方AUC面積。

選用不同Threshold畫(huà)出來(lái)的ROC曲線(xiàn)

5.我們計(jì)算這個(gè)曲線(xiàn)下面的面積就是所謂的AUC值;AUC值越大,預(yù)測(cè)約準(zhǔn)確。

為什么要使用AUC曲線(xiàn)

既然已經(jīng)這么多評(píng)價(jià)標(biāo)準(zhǔn),為什么還要使用ROC和AUC呢?因?yàn)镽OC曲線(xiàn)有個(gè)很好的特性:當(dāng)測(cè)試集中的正負(fù)樣本的分布變化的時(shí)候,ROC曲線(xiàn)能夠保持不變。在實(shí)際的數(shù)據(jù)集中經(jīng)常會(huì)出現(xiàn)類(lèi)不平衡(class imbalance)現(xiàn)象,即負(fù)樣本比正樣本多很多(或者相反),而且測(cè)試數(shù)據(jù)中的正負(fù)樣本的分布也可能隨著時(shí)間變化。AUC對(duì)樣本的比例變化有一定的容忍性。AUC的值通常在0.6-0.85之間。

如何來(lái)進(jìn)行點(diǎn)擊率預(yù)測(cè)?

點(diǎn)擊率預(yù)測(cè)可以考慮為一個(gè)黑盒,輸入一堆信號(hào),輸出點(diǎn)擊的概率。這些信號(hào)就包括如下信號(hào)

廣告:歷史點(diǎn)擊率,文字,格式,圖片等等

環(huán)境:手機(jī)型號(hào),時(shí)間媒體,位置,尺寸,曝光時(shí)間,網(wǎng)絡(luò)IP,上網(wǎng)方式,代理等

用戶(hù):基礎(chǔ)屬性(男女,年齡等),興趣屬性(游戲,旅游等),歷史瀏覽,點(diǎn)擊行為,電商行為

信號(hào)的粒度:

Low Level : 數(shù)據(jù)來(lái)自一些原始訪(fǎng)問(wèn)行為的記錄,例如用戶(hù)是否點(diǎn)擊過(guò)Landing Page,流量IP等。這些特征可以用于粗選,模型簡(jiǎn)單,

High Level: 特征來(lái)自一些可解釋的數(shù)據(jù),例如興趣標(biāo)簽,性別等

特征編碼Feature Encoding:

1.特征離散化:把連續(xù)的數(shù)字,變成離散化,例如溫度值可以辦成多個(gè)溫度區(qū)間。

2.特征交叉: 把多個(gè)特征進(jìn)行叫交叉的出的值,用于訓(xùn)練,這種值可以表示一些非線(xiàn)性的關(guān)系。例如,點(diǎn)擊率預(yù)估中應(yīng)用最多的就是廣告跟用戶(hù)的交叉特征、廣告跟性別的交叉特征,廣告跟年齡的交叉特征,廣告跟手機(jī)平臺(tái)的交叉特征,廣告跟地域的交叉特征等等。

特征選取(Feature Selection):

特征選擇就是選擇那些靠譜的Feature,去掉冗余的Feature,對(duì)于搜索廣告Query和廣告的匹配程度很關(guān)鍵;對(duì)于展示廣告,廣告本身的歷史表現(xiàn),往往是最重要的Feature。

獨(dú)熱編碼(One-Hot encoding)

假設(shè)有三組特征,分別表示年齡,城市,設(shè)備;

["男", "女"]

["北京", "上海", "廣州"]

["蘋(píng)果", "小米", "華為", "微軟"]

傳統(tǒng)變化: 對(duì)每一組特征,使用枚舉類(lèi)型,從0開(kāi)始;

["男“,”上海“,”小米“]=[ 0,1,1]

["女“,”北京“,”蘋(píng)果“] =[1,0,0]

傳統(tǒng)變化后的數(shù)據(jù)不是連續(xù)的,而是隨機(jī)分配的,不容易應(yīng)用在分類(lèi)器中。

熱獨(dú)編碼是一種經(jīng)典編碼,是使用N位狀態(tài)寄存器來(lái)對(duì)N個(gè)狀態(tài)進(jìn)行編碼,每個(gè)狀態(tài)都由他獨(dú)立的寄存器位,并且在任意時(shí)候,其中只有一位有效。

["男“,”上海“,”小米“]=[ 1,0,0,1,0,0,1,0,0]

["女“,”北京“,”蘋(píng)果“] =[0,1,1,0,0,1,0,0,0]

經(jīng)過(guò)熱獨(dú)編碼,數(shù)據(jù)會(huì)變成稀疏的,方便分類(lèi)器處理。

點(diǎn)擊率預(yù)估整理過(guò)程:

三個(gè)基本過(guò)程:特征工程,模型訓(xùn)練,線(xiàn)上服務(wù)

點(diǎn)擊率預(yù)估整理過(guò)程

特征工程:準(zhǔn)備各種特征,編碼,去掉冗余特征(用PCA等)

模型訓(xùn)練:選定訓(xùn)練,測(cè)試等數(shù)據(jù)集,計(jì)算AUC,如果AUC有提升,通??梢栽谶M(jìn)一步在線(xiàn)上分流實(shí)驗(yàn)。

線(xiàn)上服務(wù):線(xiàn)上服務(wù),需要實(shí)時(shí)計(jì)算CTR,實(shí)時(shí)計(jì)算相關(guān)特征和利用模型計(jì)算CTR,對(duì)于不同來(lái)源的CTR,可能需要一個(gè)Calibration的服務(wù)。

點(diǎn)擊率預(yù)測(cè)的算法

-邏輯回歸(Logic Regression):

Logistic回歸是點(diǎn)擊率預(yù)估必須入門(mén)的一種方法,使用簡(jiǎn)單,理論容易理解,甚至有些問(wèn)題可以進(jìn)行Debug,了解問(wèn)題原因。它的核心想法就是通過(guò)Sigmooid函數(shù),將Y值轉(zhuǎn)化成0-1;其基本公式如下:

邏輯回歸(Logic Regression)

LR_SGD(隨機(jī)梯度下降):

LR的模型有了,在訓(xùn)練過(guò)程中,為了提高訓(xùn)練的速度,常用的是SGD的優(yōu)化方法。 SGD解決了梯度下降的兩個(gè)問(wèn)題: 收斂速度慢和陷入局部最優(yōu)。梯度下降是一種常規(guī)的優(yōu)化方法,但是SGD的S表示一定的隨機(jī)性;梯度下降是每次都朝著全局優(yōu)化方向前進(jìn),而SGD卻由于隨機(jī)性,有一定的曲折后,可能達(dá)到全局最優(yōu),也可能深陷于局部最優(yōu),但SGD的運(yùn)行性能確實(shí)出色。

LR_SGD(隨機(jī)梯度下降)

LR-FTRL

谷歌點(diǎn)擊率預(yù)估在在線(xiàn)學(xué)習(xí)(Online Learning)積累好多年的經(jīng)驗(yàn),所謂在線(xiàn)學(xué)習(xí)就是通過(guò)線(xiàn)上實(shí)時(shí)處理數(shù)據(jù)而進(jìn)行模型訓(xùn)練,而不是傳統(tǒng)模式,把所有數(shù)據(jù)都放到一起處理(Batch Learning),得到離線(xiàn)的最優(yōu)解。

LR-FTRL (Follow-the-regularized-Leader),Google在10年就提出了一些理論基礎(chǔ),在13年給出了Paper,并且?guī)в蠪TRL的實(shí)現(xiàn)偽代碼,在此之后,F(xiàn)TRL才大規(guī)模應(yīng)用在工業(yè)界。

LR_SGD(隨機(jī)梯度下降)

-FM(Factorization Machines):

Steffen Rendle于2010年提出Factorization Machines(FM),并發(fā)布開(kāi)源工具libFM。憑借這單個(gè)模型,他在KDD Cup 2012上,取得Track1的第2名和Track2的第3名。在Kaggle的主流的點(diǎn)擊率比賽中和實(shí)際廣告系統(tǒng)的經(jīng)驗(yàn),factorization machine的效果完勝LR。FM的內(nèi)核和LR也非常類(lèi)似,但是多增加了一部分引入特征之間的交互因素,所以FM是非線(xiàn)性函數(shù)內(nèi)核,它非常類(lèi)似我們?cè)谔卣鞴こ讨胁捎玫奶卣鹘徊?,但是FM是通過(guò)訓(xùn)練找到那些有用的特征叉值。

-FM(Factorization Machines)

深度學(xué)習(xí)DNN

深度學(xué)習(xí)采用神經(jīng)網(wǎng)絡(luò)技術(shù)也在不斷影響點(diǎn)擊率技術(shù)的發(fā)展。特別是DNN的開(kāi)發(fā)平臺(tái),更多的廣告和用戶(hù)數(shù)據(jù),更大的計(jì)算資源(包括GPU),這都給深度學(xué)習(xí)解決點(diǎn)擊率預(yù)估的問(wèn)題,奠定了好的基礎(chǔ)。

Google、百度等搜索引擎公司以 Logistic Regression(LR)作為預(yù)估模型。而從 2012 年開(kāi)始,百度開(kāi)始意識(shí)到模型的結(jié)構(gòu)對(duì)廣告 CTR 預(yù)估的重要性:使用扁平結(jié)構(gòu)的 LR 嚴(yán)重限制了模型學(xué)習(xí)與抽象特征的能力。為了突破這樣的限制,百度嘗試將 DNN 作用于搜索廣告,而這其中最大的挑戰(zhàn)在于當(dāng)前的計(jì)算能力還無(wú)法接受 10^11 級(jí)別的原始廣告特征作為輸入。作為解決,在百度的 DNN 系統(tǒng)里,特征數(shù)從10^11 數(shù)量級(jí)被降到了10^3,從而能被 DNN 正常地學(xué)習(xí)。這套深度學(xué)習(xí)系統(tǒng)已于 2013 年 5 月開(kāi)始上線(xiàn)服務(wù)于百度搜索廣告系統(tǒng),初期與LR并存,后期通過(guò)組合方法共同提升點(diǎn)擊準(zhǔn)確率。

現(xiàn)在越來(lái)越多的深度學(xué)習(xí)的平臺(tái),例如谷歌的TensorFlow,使用起來(lái)也非常方便,大部分工程師1-2星期就可以上手實(shí)驗(yàn),對(duì)于特征工程的要求沒(méi)有LR高,DNN能夠?qū)μ卣鬟M(jìn)行自主的優(yōu)取,但是對(duì)于大規(guī)模的計(jì)算,能夠直接匹敵LR算法的,還需要一段長(zhǎng)長(zhǎng)的時(shí)間。

集成學(xué)習(xí)(Ensemble Learning)

集成學(xué)習(xí)通過(guò)訓(xùn)練多個(gè)分類(lèi)器,然后把這些分類(lèi)器組合起來(lái)使用,以達(dá)到更好效果。集成學(xué)習(xí)算法主要有Boosting和Bagging兩種類(lèi)型。

Boosting:通過(guò)迭代地訓(xùn)練一系列的分類(lèi)器,每個(gè)分類(lèi)器采用的樣本的選擇方式都和上一輪的學(xué)習(xí)結(jié)果有關(guān)。比如在一個(gè)年齡的預(yù)測(cè)器,第一個(gè)分類(lèi)器的結(jié)果和真正答案間的距離(殘差),這個(gè)殘差的預(yù)測(cè)可以訓(xùn)練一個(gè)新的預(yù)測(cè)器進(jìn)行預(yù)測(cè)。XGBoost是非常出色的Boosting工具,支持DT的快速實(shí)現(xiàn)。

Bagging:每個(gè)分類(lèi)器的樣本按這樣的方式產(chǎn)生,每個(gè)分類(lèi)器都隨機(jī)從原樣本中做有放回的采樣,然后分別在這些采樣后的樣本上訓(xùn)練分類(lèi)器,然后再把這些分類(lèi)器組合起來(lái)。簡(jiǎn)單的多數(shù)投票一般就可以。這個(gè)類(lèi)別有個(gè)非常著名的算法叫Random Forest,它的每個(gè)基分類(lèi)器都是一棵決策樹(shù),最后用組合投票的方法獲得最后的結(jié)果。

各大公司的一些點(diǎn)擊率預(yù)估的算法:

1.微軟 :微軟在2010年曾經(jīng)有一篇文章是關(guān)于使用《Web-Scale Bayesian Click-Through Rate Prediction for Sponsored Search Advertising in Microsoft’s Bing Search Engine 》,但這并不代表這是微軟現(xiàn)在的技術(shù),據(jù)說(shuō)現(xiàn)在的技術(shù)也是Online-learning和一些組合技術(shù)的融合,另外也在嘗試DNN的解決方案。

2.谷歌:谷歌是比較開(kāi)放的公司,LR-FTRL對(duì)整個(gè)行業(yè)的online-learning都有整體的促進(jìn)作用?!禔d Click Prediction: a View from the Trenches》,谷歌內(nèi)部也在不斷嘗試引入深度學(xué)習(xí)方法解決點(diǎn)擊率問(wèn)題,也包括展示廣告的點(diǎn)擊率預(yù)估。

3.Facebook:

Facebook廣告大部分情況下是沒(méi)有關(guān)鍵詞的,因此Facebook的點(diǎn)擊率預(yù)估,其實(shí)是非常更難的問(wèn)題。Facebook有一篇文章,《Practical Lessons from Predicting Clicks on Ads at Facebook》,其中介紹Facebook結(jié)合GBDT訓(xùn)練出一些feature,然后再傳入LR進(jìn)行分類(lèi);

《Practical Lessons from Predicting Clicks on Ads at Facebook》

4.百度:基本全面使用DNN的訓(xùn)練和之前的一些LR;

5.小米:小米使用過(guò)多種方法,包括LR-SGD, LR-FTRL, FM等,同時(shí)也在通過(guò)組合的方式提升綜合效果,另外也在積極探索DNN的解決方案。

點(diǎn)擊率預(yù)測(cè)的成功要素

點(diǎn)擊率預(yù)估的成功來(lái)源于兩面:一面是實(shí)力,一面是運(yùn)氣,加油和好運(yùn)!

【本文為51CTO專(zhuān)欄作者“歐陽(yáng)辰”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)聯(lián)系作者本人獲取授權(quán)】

責(zé)任編輯:趙寧寧 來(lái)源: 互聯(lián)居
相關(guān)推薦

2013-10-30 10:39:25

Banner

2023-03-29 08:24:30

2020-02-18 11:19:36

物聯(lián)網(wǎng)病毒物聯(lián)網(wǎng)IOT

2021-06-04 11:10:04

JavaScript開(kāi)發(fā)代碼

2018-03-26 20:28:24

深度學(xué)習(xí)

2023-10-12 08:54:20

Spring事務(wù)設(shè)置

2023-03-05 15:41:58

MySQL日志暴漲

2013-04-18 09:56:05

2021-05-11 11:51:15

飛機(jī)Wi-Fi通信

2024-01-08 08:35:28

閉包陷阱ReactHooks

2022-06-28 09:19:54

京東平臺(tái)推薦廣告算法

2021-07-30 07:28:16

偽類(lèi)偽元素CSS

2025-06-11 04:00:00

增量計(jì)算Lamda架構(gòu)

2022-12-13 08:36:42

D-SMARTOracle數(shù)據(jù)庫(kù)

2021-10-15 21:16:00

手機(jī)內(nèi)存漏洞

2017-11-24 11:10:38

區(qū)塊鏈礦工分叉

2022-04-15 08:54:39

PythonAsync代碼

2021-07-31 19:21:34

Python下劃線(xiàn)數(shù)值

2011-06-20 15:55:14

SEO

2021-08-10 09:28:10

ViteES Modules Dev Server
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)