【点击模型学习笔记】Predicting Clicks_Estimating the Click-Through Rate for New Ads_MS_www2007...
生活随笔
收集整理的這篇文章主要介紹了
【点击模型学习笔记】Predicting Clicks_Estimating the Click-Through Rate for New Ads_MS_www2007...
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
概要: 微軟研究院的人寫的文章,提出用邏輯回歸來解決ctr預(yù)估問題,是以后ctr的經(jīng)典解決方式,經(jīng)典文章。
詳細(xì)內(nèi)容:
名詞: CPC —— cost per click CTR —— click through rate
1. 研究初衷
搜索引擎主要靠商業(yè)廣告收入,在廣告位上面打廣告,用戶點(diǎn)擊,之后廣告商付費(fèi)。在通用搜索引擎,通常廣告位置是在搜索結(jié)果之前,或者在搜索結(jié)果右邊。
商業(yè)廣告收入 = pClick * CPC
要提升廣告收入,關(guān)鍵問題是在有限的廣告為上面,放什么廣告?非常自然的想法就是,放用戶可能點(diǎn)擊的廣告,而且放每次點(diǎn)擊廣告商付費(fèi)多的廣告,如上面公式所看到的。總而言之,計(jì)算廣告的點(diǎn)擊率就是問題的關(guān)鍵。
一點(diǎn)常識(shí): * 搜索廣告平均點(diǎn)擊率是2.6%。(個(gè)人記得展示廣告的平均點(diǎn)擊率比這個(gè)要低一個(gè)到兩個(gè)數(shù)量級(jí),能超過千分之中的一個(gè)就不錯(cuò)了) * 搜索廣告的點(diǎn)擊率和廣告的展示位置關(guān)系很密切,通常排在第一個(gè)的廣告的點(diǎn)擊率要遠(yuǎn)超過排在后面幾個(gè)的廣告
2. 問題抽象
對(duì)于某個(gè)廣告,要素:bid term(query命中這些term,則有機(jī)會(huì)展示這個(gè)廣告)、廣告本身、廣告商等等 當(dāng)用戶搜索的query命中了bid term的時(shí)候,此時(shí)會(huì)索引到一系列廣告,計(jì)算這些廣告在當(dāng)前情況下(query、用戶等)的點(diǎn)擊率,而且依照點(diǎn)擊率進(jìn)行排序、展示。
3. 樸素的想法
用極大似然方式來預(yù)計(jì)點(diǎn)擊率,即廣告被點(diǎn)擊的次數(shù)除以廣告的總展示量。 缺點(diǎn): * 廣告實(shí)際被點(diǎn)擊的次數(shù)可能非常少,計(jì)算誤差會(huì)比較大 * 對(duì)于新廣告,無法解決冷啟動(dòng)問題
Regelson and Fain的方法: 對(duì)于冷啟動(dòng)問題,這兩個(gè)人用該廣告bid term中的其它廣告的ctr來對(duì)其進(jìn)行預(yù)測
4. 本文的方法
整體思路:把點(diǎn)擊率預(yù)測問題轉(zhuǎn)換成機(jī)器學(xué)習(xí)問題,將詳細(xì)廣告、環(huán)境抽象成特征,用特征來進(jìn)行達(dá)到泛化的目的,從而對(duì)冷啟動(dòng)中的廣告進(jìn)行預(yù)測。
詳細(xì)來說:
p(click|ad, pos) = p(click|ad, pos, seen) * p(seen|ad, pos)
當(dāng)中,ad表示廣告,pos表示展示位置,seen表示廣告被用戶看見。上述表示:用戶在當(dāng)前位置點(diǎn)擊廣告的概率等于用戶在當(dāng)前位置看到廣告的概率及看到廣告后點(diǎn)擊廣告的概率。對(duì)于上述概率進(jìn)一步簡化(在直觀上作簡化),得到:
p(click|ad, pos) = p(click|ad, pos, seen) * p(seen|ad, pos) =?p(click|ad, seen) * p(seen|pos)
對(duì)于每一個(gè)廣告位置,能夠預(yù)計(jì)廣告放在這里被用戶看到的概率——非常多追蹤眼球運(yùn)動(dòng)的裝置能夠發(fā)現(xiàn)用戶觀看搜索結(jié)果的情況——這樣p(seen|pos)的值就能夠預(yù)計(jì)出來。 問題的關(guān)鍵轉(zhuǎn)成計(jì)算p(click|ad, seen)的值。
作者把概率預(yù)計(jì)問題轉(zhuǎn)成回歸問題(曲線擬合問題),只是用的是邏輯回歸、而不是線性回歸。對(duì)此,作者的解釋是,邏輯回歸(不考慮最后的階躍函數(shù)來分類)將函數(shù)值映射到[0,1]區(qū)間,這個(gè)區(qū)間和概率的區(qū)間是一致的,所以就用它了。
訓(xùn)練方式: 對(duì)于某個(gè)廣告,依據(jù)歷史統(tǒng)計(jì)廣告的經(jīng)驗(yàn)點(diǎn)擊率,并從廣告和廣告位等信息中抽取特征,有些是實(shí)值特征,組成<特征....,經(jīng)驗(yàn)點(diǎn)擊率>這種訓(xùn)練樣本,用來進(jìn)行訓(xùn)練。 而如今實(shí)際經(jīng)常使用的系統(tǒng)中,往往採用的是0-1特征,而輸出值,也是0-1,表示這個(gè)廣告在當(dāng)前是否被點(diǎn)擊。這樣的話,隨著廣告被不斷展示,可以不斷進(jìn)行增量訓(xùn)練。而原文作者這樣的方式,僅僅能是積累了一段時(shí)間之后,又一次統(tǒng)計(jì),生成新的經(jīng)驗(yàn)點(diǎn)擊率,然后再進(jìn)行又一次訓(xùn)練。并且,原文這樣的方式,不可以利用那些稀疏點(diǎn)擊——否則依據(jù)MLE來預(yù)計(jì)的“經(jīng)驗(yàn)點(diǎn)擊率”會(huì)非常不準(zhǔn)確(這也是本文要解決的問題),這時(shí)候會(huì)影響訓(xùn)練。
數(shù)據(jù)選擇: 選擇那些展示了100次以上的廣告,進(jìn)行訓(xùn)練。避免數(shù)據(jù)稀疏問題。
評(píng)測方式: 依照廣告商來區(qū)分訓(xùn)練集和測試集——這樣,訓(xùn)練集中的經(jīng)驗(yàn)點(diǎn)擊率用于訓(xùn)練,測試集中的經(jīng)驗(yàn)點(diǎn)擊率用于測試。 兩個(gè)評(píng)測標(biāo)準(zhǔn):MSE和KL距離
作者提道了一句:作者也嘗試了回歸樹(MART: multiple additive regression trees),就像通用搜索做的那樣,只是后來發(fā)現(xiàn)效果和邏輯回歸非常接近,就採用邏輯回歸了。
5. 特征選擇
在模型確定之后,在deep learning延伸到這個(gè)領(lǐng)域之前,特征project就是最重要的——差點(diǎn)兒是唯一——的能夠做的事情了。
對(duì)于每個(gè)數(shù)值特征,假設(shè)count是c,則作者同一時(shí)候用了log(c+1)和c^2作為特征。作者把這些特征歸一化到均值是0方差是1的正態(tài)分布中。
5.1 term ctr
和當(dāng)前廣告用同樣bid term的廣告的ctr,計(jì)算方式為: f = {alpha * average_total(ctr) + N(ad_term) * ctr(ad_term)} / {alpha +?N(ad_term)}
當(dāng)中,average_total(ctr)是指訓(xùn)練集合中全部廣告的總的ctr,N(ad_term)是指同當(dāng)前廣告具有同樣term的廣告的數(shù)目,ctr(ad_term)是指這些廣告的平均ctr
5.2 related term ctr
對(duì)term ctr中的term進(jìn)行擴(kuò)展——字面意義上相關(guān)的term,如:red shoes 和 buy red shoes
5.3 ad特征
* 外觀 * 是否吸引眼球 * 廣告商信譽(yù) * 廣告頁面質(zhì)量 * 廣告與query的相關(guān)性
作者還用了unigram特征:選擇1w個(gè)在廣告title和正文中常常出現(xiàn)的詞語作為特征。值得注意的是,作者以前用這些詞的詞頻作為特征,來取代如今用的0-1特征,只是效果沒有明顯變化。
5.4 廣告的specificity特性
基本假設(shè)是:假設(shè)一個(gè)廣告是非常明白的針對(duì)某種類別的,如:衣服、鞋、等等,則這個(gè)廣告更加easy被用戶點(diǎn)擊;相反,假設(shè)一個(gè)廣告所針對(duì)的類別、受眾的人群非常模糊,則不easy被用戶點(diǎn)擊。
作者的做法是:通過bid term來作為搜索query,進(jìn)行搜索,在搜索結(jié)果中作文本分類(偽相關(guān)反饋,不求精度,用NB就能夠),用各個(gè)類別組成的熵來反映這個(gè)廣告是僅僅針對(duì)某種特定的類別(熵非常小)還是面向非常多類別(熵比較大),將這個(gè)熵值作為特征加進(jìn)去。須要注意的是,這個(gè)過程能夠進(jìn)行離線計(jì)算,不必在線計(jì)算。
5.5 外部數(shù)據(jù)特征
bid term在搜索引擎中返回的頁面數(shù)量等等。由于這個(gè)數(shù)值差異比較大,作者沒有進(jìn)行通常意義上的歸一化,而是把它bin化,即分成幾個(gè)桶(20個(gè)),不同區(qū)間的數(shù)值映射到不同的桶中。
6. 試驗(yàn)和討論
哪些特征比較好?或者說起到的作用比較大? 作者單獨(dú)用某類特征,取得的提高例如以下: (1)廣告質(zhì)量特征,提升12%;當(dāng)中,廣告詞語的unigram特征就提升了10% (2)廣告specificity特性,提升9% (3)搜索數(shù)據(jù)體征(外部數(shù)據(jù)特征)提升3%
注意: 1. 不可以依據(jù)特征的權(quán)重大小來決定特征的好壞,由于各個(gè)特征事實(shí)上不是獨(dú)立的 2. 某些特征(如:某些詞)會(huì)對(duì)點(diǎn)擊率起到非常正面的作用,此時(shí)有兩個(gè)用處:(1)當(dāng)廣告上買bid term的時(shí)候,給廣告商推薦這些詞;(2)當(dāng)某些廣告商惡意的購買這些詞的時(shí)候,通過該廣告商廣告的ctr的劇烈變化,能夠偵測到這個(gè)情況,從而進(jìn)一步處理。
7. 未來工作
引入term的相關(guān)詞特征
詳細(xì)內(nèi)容:
名詞: CPC —— cost per click CTR —— click through rate
1. 研究初衷
搜索引擎主要靠商業(yè)廣告收入,在廣告位上面打廣告,用戶點(diǎn)擊,之后廣告商付費(fèi)。在通用搜索引擎,通常廣告位置是在搜索結(jié)果之前,或者在搜索結(jié)果右邊。
商業(yè)廣告收入 = pClick * CPC
要提升廣告收入,關(guān)鍵問題是在有限的廣告為上面,放什么廣告?非常自然的想法就是,放用戶可能點(diǎn)擊的廣告,而且放每次點(diǎn)擊廣告商付費(fèi)多的廣告,如上面公式所看到的。總而言之,計(jì)算廣告的點(diǎn)擊率就是問題的關(guān)鍵。
一點(diǎn)常識(shí): * 搜索廣告平均點(diǎn)擊率是2.6%。(個(gè)人記得展示廣告的平均點(diǎn)擊率比這個(gè)要低一個(gè)到兩個(gè)數(shù)量級(jí),能超過千分之中的一個(gè)就不錯(cuò)了) * 搜索廣告的點(diǎn)擊率和廣告的展示位置關(guān)系很密切,通常排在第一個(gè)的廣告的點(diǎn)擊率要遠(yuǎn)超過排在后面幾個(gè)的廣告
2. 問題抽象
對(duì)于某個(gè)廣告,要素:bid term(query命中這些term,則有機(jī)會(huì)展示這個(gè)廣告)、廣告本身、廣告商等等 當(dāng)用戶搜索的query命中了bid term的時(shí)候,此時(shí)會(huì)索引到一系列廣告,計(jì)算這些廣告在當(dāng)前情況下(query、用戶等)的點(diǎn)擊率,而且依照點(diǎn)擊率進(jìn)行排序、展示。
3. 樸素的想法
用極大似然方式來預(yù)計(jì)點(diǎn)擊率,即廣告被點(diǎn)擊的次數(shù)除以廣告的總展示量。 缺點(diǎn): * 廣告實(shí)際被點(diǎn)擊的次數(shù)可能非常少,計(jì)算誤差會(huì)比較大 * 對(duì)于新廣告,無法解決冷啟動(dòng)問題
Regelson and Fain的方法: 對(duì)于冷啟動(dòng)問題,這兩個(gè)人用該廣告bid term中的其它廣告的ctr來對(duì)其進(jìn)行預(yù)測
4. 本文的方法
整體思路:把點(diǎn)擊率預(yù)測問題轉(zhuǎn)換成機(jī)器學(xué)習(xí)問題,將詳細(xì)廣告、環(huán)境抽象成特征,用特征來進(jìn)行達(dá)到泛化的目的,從而對(duì)冷啟動(dòng)中的廣告進(jìn)行預(yù)測。
詳細(xì)來說:
p(click|ad, pos) = p(click|ad, pos, seen) * p(seen|ad, pos)
當(dāng)中,ad表示廣告,pos表示展示位置,seen表示廣告被用戶看見。上述表示:用戶在當(dāng)前位置點(diǎn)擊廣告的概率等于用戶在當(dāng)前位置看到廣告的概率及看到廣告后點(diǎn)擊廣告的概率。對(duì)于上述概率進(jìn)一步簡化(在直觀上作簡化),得到:
p(click|ad, pos) = p(click|ad, pos, seen) * p(seen|ad, pos) =?p(click|ad, seen) * p(seen|pos)
對(duì)于每一個(gè)廣告位置,能夠預(yù)計(jì)廣告放在這里被用戶看到的概率——非常多追蹤眼球運(yùn)動(dòng)的裝置能夠發(fā)現(xiàn)用戶觀看搜索結(jié)果的情況——這樣p(seen|pos)的值就能夠預(yù)計(jì)出來。 問題的關(guān)鍵轉(zhuǎn)成計(jì)算p(click|ad, seen)的值。
作者把概率預(yù)計(jì)問題轉(zhuǎn)成回歸問題(曲線擬合問題),只是用的是邏輯回歸、而不是線性回歸。對(duì)此,作者的解釋是,邏輯回歸(不考慮最后的階躍函數(shù)來分類)將函數(shù)值映射到[0,1]區(qū)間,這個(gè)區(qū)間和概率的區(qū)間是一致的,所以就用它了。
訓(xùn)練方式: 對(duì)于某個(gè)廣告,依據(jù)歷史統(tǒng)計(jì)廣告的經(jīng)驗(yàn)點(diǎn)擊率,并從廣告和廣告位等信息中抽取特征,有些是實(shí)值特征,組成<特征....,經(jīng)驗(yàn)點(diǎn)擊率>這種訓(xùn)練樣本,用來進(jìn)行訓(xùn)練。 而如今實(shí)際經(jīng)常使用的系統(tǒng)中,往往採用的是0-1特征,而輸出值,也是0-1,表示這個(gè)廣告在當(dāng)前是否被點(diǎn)擊。這樣的話,隨著廣告被不斷展示,可以不斷進(jìn)行增量訓(xùn)練。而原文作者這樣的方式,僅僅能是積累了一段時(shí)間之后,又一次統(tǒng)計(jì),生成新的經(jīng)驗(yàn)點(diǎn)擊率,然后再進(jìn)行又一次訓(xùn)練。并且,原文這樣的方式,不可以利用那些稀疏點(diǎn)擊——否則依據(jù)MLE來預(yù)計(jì)的“經(jīng)驗(yàn)點(diǎn)擊率”會(huì)非常不準(zhǔn)確(這也是本文要解決的問題),這時(shí)候會(huì)影響訓(xùn)練。
數(shù)據(jù)選擇: 選擇那些展示了100次以上的廣告,進(jìn)行訓(xùn)練。避免數(shù)據(jù)稀疏問題。
評(píng)測方式: 依照廣告商來區(qū)分訓(xùn)練集和測試集——這樣,訓(xùn)練集中的經(jīng)驗(yàn)點(diǎn)擊率用于訓(xùn)練,測試集中的經(jīng)驗(yàn)點(diǎn)擊率用于測試。 兩個(gè)評(píng)測標(biāo)準(zhǔn):MSE和KL距離
作者提道了一句:作者也嘗試了回歸樹(MART: multiple additive regression trees),就像通用搜索做的那樣,只是后來發(fā)現(xiàn)效果和邏輯回歸非常接近,就採用邏輯回歸了。
5. 特征選擇
在模型確定之后,在deep learning延伸到這個(gè)領(lǐng)域之前,特征project就是最重要的——差點(diǎn)兒是唯一——的能夠做的事情了。
對(duì)于每個(gè)數(shù)值特征,假設(shè)count是c,則作者同一時(shí)候用了log(c+1)和c^2作為特征。作者把這些特征歸一化到均值是0方差是1的正態(tài)分布中。
5.1 term ctr
和當(dāng)前廣告用同樣bid term的廣告的ctr,計(jì)算方式為: f = {alpha * average_total(ctr) + N(ad_term) * ctr(ad_term)} / {alpha +?N(ad_term)}
當(dāng)中,average_total(ctr)是指訓(xùn)練集合中全部廣告的總的ctr,N(ad_term)是指同當(dāng)前廣告具有同樣term的廣告的數(shù)目,ctr(ad_term)是指這些廣告的平均ctr
5.2 related term ctr
對(duì)term ctr中的term進(jìn)行擴(kuò)展——字面意義上相關(guān)的term,如:red shoes 和 buy red shoes
5.3 ad特征
* 外觀 * 是否吸引眼球 * 廣告商信譽(yù) * 廣告頁面質(zhì)量 * 廣告與query的相關(guān)性
作者還用了unigram特征:選擇1w個(gè)在廣告title和正文中常常出現(xiàn)的詞語作為特征。值得注意的是,作者以前用這些詞的詞頻作為特征,來取代如今用的0-1特征,只是效果沒有明顯變化。
5.4 廣告的specificity特性
基本假設(shè)是:假設(shè)一個(gè)廣告是非常明白的針對(duì)某種類別的,如:衣服、鞋、等等,則這個(gè)廣告更加easy被用戶點(diǎn)擊;相反,假設(shè)一個(gè)廣告所針對(duì)的類別、受眾的人群非常模糊,則不easy被用戶點(diǎn)擊。
作者的做法是:通過bid term來作為搜索query,進(jìn)行搜索,在搜索結(jié)果中作文本分類(偽相關(guān)反饋,不求精度,用NB就能夠),用各個(gè)類別組成的熵來反映這個(gè)廣告是僅僅針對(duì)某種特定的類別(熵非常小)還是面向非常多類別(熵比較大),將這個(gè)熵值作為特征加進(jìn)去。須要注意的是,這個(gè)過程能夠進(jìn)行離線計(jì)算,不必在線計(jì)算。
5.5 外部數(shù)據(jù)特征
bid term在搜索引擎中返回的頁面數(shù)量等等。由于這個(gè)數(shù)值差異比較大,作者沒有進(jìn)行通常意義上的歸一化,而是把它bin化,即分成幾個(gè)桶(20個(gè)),不同區(qū)間的數(shù)值映射到不同的桶中。
6. 試驗(yàn)和討論
哪些特征比較好?或者說起到的作用比較大? 作者單獨(dú)用某類特征,取得的提高例如以下: (1)廣告質(zhì)量特征,提升12%;當(dāng)中,廣告詞語的unigram特征就提升了10% (2)廣告specificity特性,提升9% (3)搜索數(shù)據(jù)體征(外部數(shù)據(jù)特征)提升3%
注意: 1. 不可以依據(jù)特征的權(quán)重大小來決定特征的好壞,由于各個(gè)特征事實(shí)上不是獨(dú)立的 2. 某些特征(如:某些詞)會(huì)對(duì)點(diǎn)擊率起到非常正面的作用,此時(shí)有兩個(gè)用處:(1)當(dāng)廣告上買bid term的時(shí)候,給廣告商推薦這些詞;(2)當(dāng)某些廣告商惡意的購買這些詞的時(shí)候,通過該廣告商廣告的ctr的劇烈變化,能夠偵測到這個(gè)情況,從而進(jìn)一步處理。
7. 未來工作
引入term的相關(guān)詞特征
總結(jié)
以上是生活随笔為你收集整理的【点击模型学习笔记】Predicting Clicks_Estimating the Click-Through Rate for New Ads_MS_www2007...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个性二维码开源专题液化/圆角/效果
- 下一篇: py爬取英文文档学习单词