1. 程式人生 > >CTR點選率預估乾貨分享

CTR點選率預估乾貨分享

1.指標

廣告點選率預估是程式化廣告交易框架的非常重要的元件,點選率預估主要有兩個層次的指標: 
1.排序指標。排序指標是最基本的指標,它決定了我們有沒有能力把最合適的廣告找出來去呈現給最合適的使用者。這個是變現的基礎,從技術上,我們用AUC來度量。

2.數值指標。數值指標是進一步的指標,是競價環節進一步優化的基礎,一般DSP比較看中這個指標。如果我們對CTR普遍低估,我們出價會相對保守,從而使得預算花不出去或是花得太慢;如果我們對CTR普遍高估,我們的出價會相對激進,從而導致CPC太高。從技術上,我們有Facebook的NE(Normalized Entropy)還可以用OE(Observation Over Expectation)。

OE=i=Ni=1I(user_click_ad_i)i=Ni=1(pctr)

2.框架

工業界用得比較多的是基於LR的點選率預估策略,我覺得這其中一個重要的原因是可解釋性,當出現bad case時越簡單的模型越好debug,越可解釋,也就越可以有針對性地對這種bad case做改善。但雖然如此,我見到的做廣告的演算法工程師,很少有利用LR的這種好處做模型改善的,遺憾….. 最近DNN很熱,百度宣佈DNN做CTR預估相比LR產生了20%的benefit,我不知道比較的benchmark,但就機理上來講如果說DNN比原本傳統的人工feature engineering的LR高20%,我一點也不奇怪。但如果跟現在增加了FM和GBDT的自動高階特徵生成的LR相比,我覺得DNN未必有什麼優勢。畢竟看透了,DNN用線性組合+非線性函式(tanh/sigmoid etc.)來做高階特徵生成,GBDT + FM用樹和FM來做高階特徵生成,最後一層都是非線性變換。從場景上來講,可能在擬生物的應用上(如視、聽覺)上DNN這種高階特徵生成更好,在廣告這種情境下,我更傾向於GBDT + FM的方法。

整個CTR預估模組的框架,包含了exploit/explore的邏輯。 
這裡寫圖片描述 
單純點選率預估演算法的框圖如下: 
這裡寫圖片描述

3.資料探索(data exploration)

主要是基礎特徵(raw feature/fundamental feature)的粗篩和規整。

展示廣告的場景可以表述為”在某場景下,通過某媒體向某使用者展示某廣告”,因此基礎特徵就在這四個範圍內尋找:

場景 – 當時場景,如何時何地,使用何種裝置,使用什麼瀏覽器等

廣告 – 包括廣告主特徵,廣告自身的特徵如campaign、創意、型別,是否重定向等

媒體 – 包括媒體(網頁、app等)的特徵、廣告位的特徵等

使用者 – 包括使用者畫像,使用者瀏覽歷史等

單特徵選擇的方法有下面幾種:

1.簡單統計方法,統計特徵取值的覆蓋面和平衡度,對dominant取值現象很顯著的特徵,要選擇性地捨棄該特徵或者是歸併某些取值集到一個新的值,從而達到平衡的目的。

2.特徵選擇指標,特徵選擇主要有兩個目的,一是去除冗餘的特徵,也就是特徵之間可能是互相冗餘的;二是去無用,有些特徵對CTR預估這個任務貢獻度很小或沒有,對於這類特徵選擇,要小小地做,寧不足而不過分,因為單特徵對任務貢獻度小,很有可能後面再組合特徵生成時與其他特徵組合生成很有效的組合特徵,所以做得不能太過。

a) 去冗餘。主要是特徵間的相關性,如Pearson相關性,或者指數迴歸(從泰勒定理的角度它可以模擬高階的多項式特徵)。

b) 去無用。主要是資訊增益比。

4.特徵組合

兩派方法:

FM系列 – 對於categorical feature,一般把他們encode成one hot的形式,特徵組合適合用FM。

Tree系列 – 對於numerical feature和ordinal feature, 特徵組合可以使用決策樹類的,一般用random forest或GBDT。其中GBDT的效果應該更好,因為boosting方法會不斷增強對錯判樣本的區分能力。

對於廣告點選率預估,同時擁有這三類特徵。所以一個簡單的方法就是級聯地使用這兩個方法,更好地進行特徵組合。 
這裡寫圖片描述

5.LR

a. OWL-QN

這個是batch訓練的方法,主要用於處理L1正則下的LR最優化。

b. Online learning(FTRL and Facebook enhancement)

線上學習,及時反饋點選資訊,不斷演化LR模型,從而為新廣告更快收斂。

6.預測CTR可信嗎?

任何一個特徵向量輸入到這個CTR預測演算法,演算法都會像模像樣地給你輸出一個預測CTR。但這個CTR真的可信嗎?我們知道機器學習是典型data driven的,當訓練資料中某種情況的資料不足時,這種情況下的預測值很有可能被其他資料拉偏。所以,肯定會有預測值不可信的情況,那我們怎麼判斷當前的預測CTR的可信度呢?

Google在提出FTRL演算法的同時伴隨提出了一個預測CTR可信度的方法,想法很簡單:訓練資料越多則可信度越高。下圖公式中指訓練集中第i維feature非零的訓練向量的個數。normalization到[0, 1]的方法很多,需要根據總業務資料量以及先驗CTR來最終確定。

7.修修補補

後面的事情就是在前述的框架的基礎上,根據bad case修修補補了。比如說,現在認為在不同的點選率區段,影響點選率的特徵的權重是一致的,但實際發現是不一樣的,就可以按照點選率的區間劃分,做分割槽間模型(據說阿里用的MLR就是這個東東)。這些都不出上面的框架,是在分析資料之後做的細化,逃不脫“分段逼近”這個大圈。

注:找不到原文的出處。如果原文作者有看到,請與我聯絡。謝謝!

相關推薦

CTR乾貨分享

1.指標 廣告點選率預估是程式化廣告交易框架的非常重要的元件,點選率預估主要有兩個層次的指標:  1.排序指標。排序指標是最基本的指標,它決定了我們有沒有能力把最合適的廣告找出來去呈現給最合適的使用者。這個是變現的基礎,從技術上,我們用AUC來度量。 2.數值指標。數

程式化CTR

指標 廣告點選率預估是程式化廣告交易框架的非常重要的元件,點選率預估主要有兩個層次的指標: 1. 排序指標。排序指標是最基本的指標,它決定了我們有沒有能力把最合適的廣告找出來去呈現給最合適的使用者。這個是變現的基礎,從技術上,我們用AUC來度量。 2. 數值指標。數值指標是

界的“神運算元”是如何煉成的?

阿里妹導讀:響應時間直接決定線上響應系統的效果和使用者體驗。比如線上展示廣告系統中,針對一個使用者,需要在幾ms內,對上百個候選廣告的點選率進行預估。因此,如何在嚴苛的響應時間內,提高模型的線上預測效果,是工業介面臨的一個巨大問題。今天我們一起來看看,阿里工程師怎麼做。 作者

kaggle-2014-criteo-3 Idiots 資料集有13維數值型特徵和26維hash編碼的類別型特徵。評價指標是logloss,取得了0.444的成績。主要使用了GBDT和FFM。 步驟: 為GBDT準備特徵。包括13維數值型特徵,以及對26維類別型特徵做特徵

【阿里2017】利用分片線性模型實現大規模資料

==定期更新,獲取更多,歡迎star。另外歡迎關注計算廣告實驗,我會總結一些實現。== 一、論文基本描述。 CTR預估由於是針對大規模非線性資料的機器學習存在很多的困難。 本論文提出了一個新型的模型(LS-PLM)。 利用$L_1$和$L_{2,1}$正則來解決學習問題,將會導致非凸和非光滑的優化問題。因

程式化廣告交易中的

指標   廣告點選率預估是程式化廣告交易框架的非常重要的元件,點選率預估主要有兩個層次的指標:      1. 排序指標。排序指標是最基本的指標,它決定了我們有沒有能力把最合適的廣告找出來去呈現給最合適的使用者。這個是變現的基礎,從技術上,我們用AUC來度量。    

中的FM演算法&FFM演算法

轉載請註明出處:https://blog.csdn.net/gamer_gyt/article/details/81038913Github:https://github.com/thinkgamer特徵決定了所有演算法效果的上限,而不同的演算法只是離這個上限的距離不同而已C

GBDT原理及利用GBDT構造新的特徵GBDT-FFM 方案的Python實現

本帖轉發源自:https://blog.csdn.net/shine19930820/article/details/71713680看了許多GBDT構建特徵的資料整理而成,具體資料見Reference。1. 背景1.1 Gradient BoostingGradient B

演算法:FM與FFM

點選率預估演算法:FFM @(計算廣告)[計算廣告] 1、FM 1.1 背景 1.1.1 線性模型 常見的線性模型,比如線性迴歸、邏輯迴歸等,它只考慮了每個特徵對結果的單獨影響,而沒有考慮特徵間的組合對結果的影響。 對於一個有n

GBDT與LR融合提升廣告模型

所有 預測 其中 參考 ans 工作 方案 隨機 適合 1GBDT和LR融合 LR模型是線性的,處理能力有限,所以要想處理大規模問題,需要大量人力進行特征工程,組合相似的特征,例如user和Ad維度的特征進行組合。 GDBT天然適合做特征提取,因為GBD

分享Spark MLlib訓練的廣告預測模型

2015年,全球網際網路廣告營收接近600億美元,比2014年增長了近20%。多家網際網路巨頭都依賴於廣告營收,如谷歌,百度,Facebook,網際網路新貴們也都開始試水廣告業,如Snapchat, Pinterest, Spotify. 作為網際網路廣告的老大哥,谷歌花

讓你的部落格迅速提高(轉)

一、 推薦部落格到各大搜索引擎。 1、把自己的部落格推薦到百度、Google等主要搜尋引擎。     如果不把你的部落格提交到各大搜索引擎中,它們一般是不會收錄你的部落格的,你可以先嚐試一下看看能不能在百度搜到你的部落格吧。   如果搜不到的話說明

幾篇總過10萬的帖子,以及最近的幾思考

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

阻止微信圖片

1.問題:微信點選圖片會預覽 2.思路 (1)不讓其點選 (2)阻止預設事件 3.解決方案 (1)不讓其點選: 為圖片新增以下屬性 pointer-events: none; 或者: 為該img加一個div,只不過div的層在img的上面所以採用z-index進行層的浮動 (

經驗

FFM參考文件: https://tech.meituan.com/deep-understanding-of-ffm-principles-and-practices.html 資料不均衡即是正負樣本的比例相差很大,對於資料不均衡有一些解決方法和經驗: 1.決策樹在樣本不均衡的問題上會表

百度推廣技巧:如何提高網站

對於任何的百度推廣技巧,理論上都有一個共同的目標,那就是吸引使用者點選你的推廣內容,當然,我們可以通過各種渠道,吸引使用者的點選,比如:社交媒體營銷、SEM付費推廣、新聞軟文傳播等。 但對於SEO人員而言,通常採用的策略仍然是利用搜索引擎自然排名。 那麼,如何利用SE

廣告常用模型的優點和缺點

LR 優點: 1. 是一個很好的baseline,效果不錯,當然因為效果不錯,所以後續的版本想超過它,真的還是很難的。 2. 實現簡單,有開源的工具可以直接用來訓練,線上的程式碼也寫起來也比較容易 缺點: 1. 因為是線性模型,所以有選擇交叉特徵的工作,這部

預測綜述

  對於計算廣告系統,一個可以攜帶廣告請求的使用者流量到達後臺時,系統需要在較短時間(一般要求不超過 100ms)內返回一個或多個排序好的廣告列表;在廣告系統中,一般最後一步的排序 score=bid*pctralpha;其中 alpha 引數控制排序傾向,如果 alpha<1,則傾向於 pctr,否則

【電商運營導師】教你“不擇手段”地提高店鋪

現在我寫文章,都是結合自己最近的案例或者感觸來寫的,今天我想跟大家深度討論下解決點選率的問題,點選率前面也說過很多次了,今天我將結合我更多案例後的經驗來做個更加深度的解析,希望可以幫到大家! 1.權重=率指標+量指標(的優秀資料) 首先,我先給大家提出一個觀點:

微信小程式:圖片

做微信小程式的時候使用的圖片大小不盡相同,為了讓使用者能夠瀏覽原圖,就需要給圖片新增點選預覽的功能,下面我詳細介紹一下實現步驟, 首先介紹微信小程式文件中的使用教程: 微信小程式官方文件:https://developers.weixin.qq.com/miniprogram/dev/