自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

計(jì)算廣告關(guān)鍵技術(shù):他們?cè)趺词裁炊贾溃?/h1>

企業(yè)動(dòng)態(tài)
上一期我們一起探索了計(jì)算廣告的基本概念和四種形式(點(diǎn)擊查看《計(jì)算廣告小窺(上)》),本期文章是我們?yōu)樽x者帶來(lái)的【計(jì)算廣告小窺】專題的第二個(gè)部分。

[[178190]]

作者|面包包包包包包

修改|寒小陽(yáng) && 龍心塵

上一期我們一起探索了計(jì)算廣告的基本概念和四種形式(點(diǎn)擊查看《計(jì)算廣告小窺(上)》),本期文章是我們?yōu)樽x者帶來(lái)的【計(jì)算廣告小窺】專題的第二個(gè)部分。

(上)(中)(下)全文目錄

  1. 引言
  2. 廣告=>互聯(lián)網(wǎng)廣告:“您好,了解一下”
  3. 互聯(lián)網(wǎng)廣告=>計(jì)算廣告:指哪兒打哪兒!
  4. 計(jì)算廣告四君子:誰(shuí)在弄潮?
  5. 計(jì)算廣告關(guān)鍵技術(shù):這孫子怎么什么都知道?
  6. 廣告系統(tǒng)架構(gòu):要啥自行車,這里有寶馬。
  7. 手把手系列之教你搭建一個(gè)最小廣告系統(tǒng):mieSys

5. 計(jì)算廣告關(guān)鍵技術(shù):這孫子怎么什么都知道?

一句話解釋關(guān)鍵技術(shù):沒(méi)聲音,再好的戲也出不來(lái)。

廣告作為一項(xiàng)商業(yè)活動(dòng),是需要資本來(lái)滋養(yǎng)的。作為整個(gè)產(chǎn)業(yè)鏈的金主,只有廣告主花錢做廣告,使資金流動(dòng)起來(lái),整個(gè)廣告行業(yè)才能正常運(yùn)轉(zhuǎn)。所謂關(guān)鍵技術(shù),就是那些能讓廣告主覺得“這錢花的值”,讓媒體網(wǎng)站覺得“這錢掙的快”的技術(shù)。具體都有哪些呢?下面我們一一來(lái)表。

5.1 合約廣告關(guān)鍵技術(shù):受眾定向

計(jì)算廣告發(fā)展到合約廣告階段,媒體網(wǎng)站依靠受眾定向技術(shù)給用戶打標(biāo)簽,在實(shí)現(xiàn)了媒體網(wǎng)站廣告位的時(shí)分復(fù)用的同時(shí),還提高了廣告主的投入產(chǎn)出比,極大的激發(fā)了廣告主在互聯(lián)網(wǎng)上做廣告的積極性。因此,受眾定向是合約廣告中的關(guān)鍵技術(shù)。

我們知道,只要描述物體的維度足夠高,那么世間萬(wàn)物都是獨(dú)一無(wú)二的。在廣告系統(tǒng)中,標(biāo)簽就是描述用戶的維度。媒體網(wǎng)站為了精準(zhǔn)的刻畫用戶,標(biāo)簽的種類和數(shù)量自然也不會(huì)少。為了更加直觀地了解受眾定向技術(shù),我們從用戶、上下文和廣告三個(gè)方面討論打標(biāo)簽的思路和一般方法。

  • 用戶標(biāo)簽:主要用性別、年齡、收入、地理位置、教育程度和用戶行為等標(biāo)簽來(lái)刻畫用戶,從而回答“你是誰(shuí)”的問(wèn)題。
  • 上下文標(biāo)簽:主要用網(wǎng)頁(yè)的地域、主題和頻道等標(biāo)簽來(lái)刻畫用戶當(dāng)前所處的媒體網(wǎng)站環(huán)境,從而回答“你在看啥”的問(wèn)題。
  • 廣告標(biāo)簽:主要用廣告主、廣告創(chuàng)意、廣告計(jì)劃和廣告關(guān)鍵詞等標(biāo)簽來(lái)刻畫廣告的相關(guān)內(nèi)容,將廣告內(nèi)容與用戶和上下文進(jìn)行匹配后,從而回答“你該看啥”的問(wèn)題。

5.1.1 用戶標(biāo)簽關(guān)鍵技術(shù)

對(duì)一個(gè)用戶來(lái)說(shuō),性別是不會(huì)輕易變的,但是用戶的喜好和興趣卻是時(shí)刻都在變化的。根據(jù)標(biāo)簽屬性的變化頻率,我們這里私自將用戶標(biāo)簽分為靜態(tài)和動(dòng)態(tài)兩類。靜態(tài)標(biāo)簽主要指年齡、性別、地理位置、收入和教育程度等這種不變或者很長(zhǎng)時(shí)間之內(nèi)都不變的標(biāo)簽,行話叫“人口屬性”;動(dòng)態(tài)標(biāo)簽則是指用戶的瀏覽、搜索和點(diǎn)擊等能夠反映用戶短時(shí)喜好和興趣的行為標(biāo)簽,行話叫“行為定向(BT:Behaviroal Targeting)”。下面我們針對(duì)靜態(tài)和動(dòng)態(tài)這兩類標(biāo)簽分別討論。

一句話解釋靜態(tài)標(biāo)簽和動(dòng)態(tài)標(biāo)簽的關(guān)系:價(jià)格圍繞價(jià)值上下波動(dòng)。

靜態(tài)標(biāo)簽(人口屬性)

在《計(jì)算廣告小窺[上]》中,我們?cè)?jiǎn)要地提到過(guò)一種受眾定向的方法:

通過(guò)對(duì)點(diǎn)擊日志的分析,媒體網(wǎng)站發(fā)現(xiàn)點(diǎn)擊過(guò)女性護(hù)膚品的用戶又點(diǎn)擊過(guò)媒體網(wǎng)站上其他女性品牌。在“女性用戶對(duì)女性品牌可能更感興趣”的合理假設(shè)下,判斷這些用戶的性別為女,男性用戶同理。

現(xiàn)在我們可以更加清楚的認(rèn)識(shí)到,上述媒體網(wǎng)站所打的標(biāo)簽是靜態(tài)標(biāo)簽中的“性別”,使用的是基于規(guī)則的方法,即:滿足了某種條件,就是某種人。這種基于規(guī)則的方法簡(jiǎn)單并且易于實(shí)現(xiàn),但也存在著致命的缺點(diǎn):基于規(guī)則的方法對(duì)數(shù)據(jù)非常敏感,若數(shù)據(jù)本身存在噪音(如誤點(diǎn)擊),那么標(biāo)簽的品質(zhì)也將大打折扣。這可如何是好?簡(jiǎn)單的不行,那就來(lái)點(diǎn)復(fù)雜的嘛——用機(jī)器學(xué)習(xí)模型來(lái)實(shí)現(xiàn)(自帶音效:當(dāng)當(dāng)當(dāng)當(dāng),當(dāng)當(dāng)~~)。

假設(shè)我們已經(jīng)知道一部分用戶的真實(shí)性別,那么就可以用機(jī)器學(xué)習(xí)中有監(jiān)督的二分類模型來(lái)預(yù)測(cè)用戶性別。首先,我們需要對(duì)原始數(shù)據(jù)進(jìn)行清洗,合理地處理缺失值和奇異值,并劃分訓(xùn)練集、交叉驗(yàn)證集和測(cè)試集;其次,要在業(yè)務(wù)的指導(dǎo)下做特征工程,利用統(tǒng)計(jì)或模型的方法構(gòu)造特征,并進(jìn)行特征選擇和特征組合;然后,我們要選擇合適的模型(如SVM等),設(shè)置合適的評(píng)價(jià)標(biāo)準(zhǔn)并進(jìn)行模型的訓(xùn)練;最后,通過(guò)模型調(diào)參和模型融合,獲得性別預(yù)測(cè)模型。

動(dòng)態(tài)標(biāo)簽(行為定向)

一句話解釋行為定向:唐伯虎喜歡如花多一些,還是鳳姐多一些?

“如果一定要比較一下,那唐伯虎是喜歡如花多一些,還是鳳姐多一些?”這個(gè)看似荒謬的問(wèn)題,正是行為定向要解決的。如果唐伯虎是異性戀,那他應(yīng)該是喜歡鳳姐多一些的,否則是如花。這也就告訴我們,在行為定向中,判斷的標(biāo)準(zhǔn)至關(guān)重要。下面我們借助一個(gè)例子來(lái)分析該用戶的動(dòng)態(tài)標(biāo)簽究竟是什么。

有數(shù)據(jù)顯示,某用戶在過(guò)去的三個(gè)月時(shí)間中,點(diǎn)擊廣告的標(biāo)簽和次數(shù)如下表所示:

標(biāo)準(zhǔn)

單反愛好者

跑鞋愛好者

飲料愛好者

護(hù)膚品愛好者

以用戶點(diǎn)擊為標(biāo)準(zhǔn)的標(biāo)簽

對(duì)上述數(shù)據(jù)進(jìn)行分析,我們可以輕而易舉的得到答案:該用戶的標(biāo)簽應(yīng)該是“單反愛好者”,因?yàn)樗狞c(diǎn)擊行為集中在這個(gè)標(biāo)簽上。但是,這個(gè)答案是我們以用戶的點(diǎn)擊行為作為標(biāo)準(zhǔn)得來(lái)的,如果以用戶的瀏覽和搜索行為做標(biāo)準(zhǔn),答案也是“單反愛好者”嗎?我們?cè)賮?lái)看一下相關(guān)數(shù)據(jù)。

標(biāo)準(zhǔn)

單反愛好者

跑鞋愛好者

飲料愛好者

護(hù)膚品愛好者

以用戶瀏覽為標(biāo)準(zhǔn)的標(biāo)簽

標(biāo)準(zhǔn)

單反愛好者

跑鞋愛好者

飲料愛好者

護(hù)膚品愛好者

以用戶搜索為標(biāo)準(zhǔn)的標(biāo)簽

是不是出問(wèn)題了?以點(diǎn)擊和瀏覽為標(biāo)準(zhǔn),該用戶標(biāo)簽應(yīng)該是“單反愛好者”,但是以搜索為標(biāo)準(zhǔn),標(biāo)簽應(yīng)該是“跑鞋愛好者”。如果該用戶的標(biāo)簽只能有一個(gè),那該選哪一個(gè)呢?為了解決這個(gè)問(wèn)題,我們從數(shù)學(xué)角度分析一下好了。嘿嘿,數(shù)學(xué)噢,前方高能預(yù)警!我會(huì)盡量讓這個(gè)過(guò)程變得簡(jiǎn)單,大家跟上我的思路哈。

Step1. 泊松分布

一句話解釋泊松分布:猜猜我在哪兒~~~

我們先來(lái)介紹下泊松分布。啊啊啊啊!一上來(lái)就是數(shù)學(xué),我不聽我不聽我不聽,泊松分布是什么鬼?咳咳,那,那就先不丟公式了,咱們看圖解決問(wèn)題好了,下面是泊松分布繪出的曲線圖,實(shí)際工程中要解決的問(wèn)題就是找到圖中的最高點(diǎn),如下圖:

泊松分布繪出的曲線圖

這個(gè)肉眼找最高點(diǎn)的過(guò)程不要太簡(jiǎn)單了!!!我們可以看到:圖中最高點(diǎn)的縱坐標(biāo)大約為0.36,而對(duì)應(yīng)的橫坐標(biāo)是1。OK,你就算會(huì)用泊松分布了哦!那個(gè),感興趣的同學(xué)們,可以一起來(lái)看看對(duì)應(yīng)上圖的泊松分布的公式。

泊松分布的公式

公式相對(duì)于圖,是有那么點(diǎn)點(diǎn)復(fù)雜啦。不過(guò),我們只需知道λt影響泊松分布的形狀,一個(gè)λt對(duì)應(yīng)一個(gè)泊松分布就可以了。這個(gè)場(chǎng)景下要做的事情就是找到對(duì)應(yīng)泊松分布圖像的最高點(diǎn)。

Step2. 一個(gè)結(jié)論

一句話解釋這個(gè)結(jié)論:一個(gè)蘿卜一個(gè)坑。

我們先說(shuō)一個(gè)結(jié)論:在一個(gè)標(biāo)準(zhǔn)下,所有用戶占有的標(biāo)簽,在所有標(biāo)簽上的概率分布是滿足泊松分布的。對(duì)于這個(gè)結(jié)論,有興趣的同學(xué)可以參見Stanford 《Introduction to Computational Advertising》講義Page-81,我們?cè)谶@里就直接拿來(lái)用了。而所謂“標(biāo)準(zhǔn)”,就對(duì)應(yīng)泊松分布公式中的λt,在我們這里的場(chǎng)景下與用戶行為有關(guān)。

用戶擁有的標(biāo)簽數(shù)量

這張圖的橫軸代表用戶擁有的標(biāo)簽數(shù)目,縱軸代表興趣標(biāo)簽數(shù)目為x的用戶數(shù)目,比方說(shuō)有1個(gè)標(biāo)簽的用戶有500人,有3個(gè)標(biāo)簽的人有5000人。從這張圖中我們可以很清楚的看到,用戶在所有標(biāo)簽上的分布是滿足泊松分布的。但是這里有一個(gè)問(wèn)題,大量用戶所呈現(xiàn)出的這種泊松分布,和單獨(dú)用戶的興趣標(biāo)簽之間有關(guān)聯(lián)嗎?我們說(shuō),關(guān)聯(lián)不大,因?yàn)橐粋€(gè)是隨機(jī)過(guò)程,一個(gè)是隨機(jī)事件,想要得到每個(gè)用戶的興趣標(biāo)簽,其實(shí)是一個(gè)復(fù)雜的任務(wù)。下面我們從統(tǒng)計(jì)和投票的角度入手,來(lái)看一種用戶打標(biāo)簽的方法。

Step3. 最佳標(biāo)準(zhǔn)

一句話解釋最佳標(biāo)準(zhǔn):盲人摸象

“盲人摸象”比喻以偏概全,現(xiàn)在我們想要知道大象全貌,把每個(gè)人摸到的拼起來(lái)便是了。在廣告系統(tǒng)中,搜索、點(diǎn)擊和瀏覽三種行為數(shù)據(jù)都只能從一個(gè)側(cè)面反映用戶的行為,要想完整的刻畫一個(gè)用戶,我們需要將這三種行為融合起來(lái)之后找到一個(gè)最佳標(biāo)準(zhǔn)。提到融合,較為常用的方法是投票,我們可以寫出下列公式:

投票的公式

簡(jiǎn)單解釋一下:ti是標(biāo)準(zhǔn),分別代表了搜索、點(diǎn)擊和瀏覽行為;ωi是標(biāo)準(zhǔn)的權(quán)重,即該標(biāo)準(zhǔn)對(duì)于完整描述用戶行為的貢獻(xiàn)。我們用機(jī)器學(xué)習(xí)中的廣義線性模型對(duì)該問(wèn)題進(jìn)行建模,模型訓(xùn)練完成后可得各標(biāo)準(zhǔn)的權(quán)重ωi,從而預(yù)測(cè)出最佳標(biāo)準(zhǔn)λt。

Step4. 最終求解

通過(guò)廣義線性模型,我們找到了最佳標(biāo)準(zhǔn)λt?,F(xiàn)在,我們根據(jù)該λt畫出相應(yīng)泊松分布,如下圖:

根據(jù)該λt畫出相應(yīng)泊松分布

回顧Step2中的結(jié)論:在一個(gè)標(biāo)準(zhǔn)下,用戶在所有標(biāo)簽上的概率分布是滿足泊松分布的?,F(xiàn)在最佳標(biāo)準(zhǔn)下的泊松分布我們已經(jīng)畫了出來(lái),該用戶在所有標(biāo)簽中的概率分布也應(yīng)該符合這個(gè)分布的。還是老步驟,我們找最高點(diǎn)所對(duì)應(yīng)的標(biāo)簽,即標(biāo)簽5,所以該用戶的動(dòng)態(tài)標(biāo)簽是標(biāo)簽5,問(wèn)題完美解決。

在學(xué)習(xí)了泊松分布和機(jī)器學(xué)習(xí)之后,媒體網(wǎng)站終于完成了用戶標(biāo)簽的工作,看著那圓圓的餅圖,流下了激動(dòng)了淚水,哽咽著說(shuō)“嗯..終于..終于可以賣錢了..”沒(méi)錯(cuò),流量可以變現(xiàn)了,互聯(lián)網(wǎng)廣告一腳踏進(jìn)合約廣告時(shí)代。但是僅僅知道“你是誰(shuí)”,粒度還是太粗,賣不了好價(jià)錢。“要是知道你正在干嘛就好了”媒體網(wǎng)站嘴里嘟囔著,突然腦海中靈光一閃,大叫一聲:(圖片來(lái)自網(wǎng)絡(luò))

[[178196]]

5.1.2 上下文標(biāo)簽關(guān)鍵技術(shù)

一句話解釋上下文標(biāo)簽的做法:吃的是URL,擠的是標(biāo)簽。

“我當(dāng)然知道他在干嘛!我有日志啊!我有他正在訪問(wèn)頁(yè)面的URL!啊哈哈哈哈哈!”有了用戶標(biāo)簽的經(jīng)驗(yàn),媒體網(wǎng)站處理起上下文標(biāo)簽來(lái)就顯得輕車熟路了,總共分兩步:第一,根據(jù)用戶當(dāng)前頁(yè)面的URL,抓取用戶當(dāng)前瀏覽的頁(yè)面內(nèi)容;第二,提取頁(yè)面內(nèi)容的關(guān)鍵詞,作為當(dāng)前頁(yè)面的標(biāo)簽。

通過(guò)URL獲得頁(yè)面內(nèi)容是一個(gè)典型的爬蟲應(yīng)用,與搜索引擎的爬蟲不同的是,廣告系統(tǒng)的爬蟲只抓取用戶請(qǐng)求的頁(yè)面,而非全網(wǎng)頁(yè)面。鑒于上述原因,廣告系統(tǒng)使用“半在線抓取系統(tǒng)”,該系統(tǒng)有三個(gè)特點(diǎn)。第一,僅對(duì)用戶發(fā)起請(qǐng)求的頁(yè)面進(jìn)行抓取,節(jié)省了時(shí)間和成本;第二,將{URL:標(biāo)簽}存儲(chǔ)下來(lái),當(dāng)其他用戶發(fā)起相同頁(yè)面請(qǐng)求時(shí),直接返回標(biāo)簽結(jié)果,避免重復(fù)抓取。第三,考慮到某些頻道頁(yè)面內(nèi)容可能會(huì)更新(例如”舊浪體育”),還可設(shè)置合適時(shí)間,周期地更新已存頁(yè)面的標(biāo)簽。

在抓取到頁(yè)面之后,如何提取標(biāo)簽也有幾種常見方法。最簡(jiǎn)單的是利用規(guī)則,在URL層面上人為做映射,例如sports.oldna.com對(duì)應(yīng)的頁(yè)面標(biāo)簽就是”舊浪體育”。若用戶是通過(guò)搜索發(fā)起的頁(yè)面訪問(wèn),還可以根據(jù)搜索詞作為頁(yè)面標(biāo)簽。當(dāng)然,在廣告系統(tǒng)使用范圍較廣的方法還是機(jī)器學(xué)習(xí)中的主題模型,得到頁(yè)面內(nèi)容在幾個(gè)主題上的分布,從而判斷頁(yè)面標(biāo)簽。例如,sports.oldna.com頁(yè)面內(nèi)容在”體育”、”財(cái)經(jīng)”和”游戲”三個(gè)主題上的概率分布分別為:

體育

財(cái)經(jīng)

游戲

sports.oldna.com頁(yè)面內(nèi)容在”體育”、”財(cái)經(jīng)”和”游戲”三個(gè)主題上的概率分布

我們可以很容易的看出sports.oldna.com的標(biāo)簽是”體育”。這里值得注意的是,如果想要加工出”體育”、”財(cái)經(jīng)”和”游戲”這種可解釋的標(biāo)簽,通常需要采用有監(jiān)督的主題模型。

能用的數(shù)據(jù)都用了,能打的標(biāo)簽也都打了,知道了“你是誰(shuí)”和“你在看什么”之后,媒體網(wǎng)站這才感覺踏實(shí)了些。下面的工作就簡(jiǎn)單了許多,把標(biāo)簽賣給廣告主就可以了,也算是一勞永逸,深藏功與名。至于用戶會(huì)看到什么,那是廣告主的地界,就不管媒體網(wǎng)站什么事兒了。

5.1.3 廣告標(biāo)簽關(guān)鍵技術(shù)

普通的廣告標(biāo)簽就是廣告本身的屬性,如所屬?gòu)V告主、廣告大小、廣告類別和目標(biāo)人群等,當(dāng)廣告和用戶兩兩匹配時(shí),該廣告就會(huì)展示給用戶。但是,這里我們想說(shuō)的廣告標(biāo)簽是在程序化交易中的“個(gè)性化標(biāo)簽”。在《計(jì)算廣告小窺[上]》中我們提到:“程序化交易是廣告主為實(shí)現(xiàn)個(gè)性化營(yíng)銷舉行的海天盛筵。”品嘗過(guò)個(gè)性化營(yíng)銷的甜頭之后,廣告主就想:“既然這些人是回頭客,那各方面表現(xiàn)和這些回頭客很像的人,有沒(méi)有可能也是我的回頭客呢?世界那么大,我得去找找這種人。”

look-alike

一句話解釋look-alike:比葫蘆畫瓢。

這個(gè)技術(shù)的名字還挺洋氣呢,英文的,“看起來(lái)像”?說(shuō)白了就是比葫蘆畫瓢,找到那些看起來(lái)像回頭客的新用戶,行話叫“新客推薦”。這里一定要注意了,千萬(wàn)不能翻譯成“看起來(lái)像”,那樣顯得逼格不夠,就叫英文的,look-alike~

關(guān)于look-alike的具體實(shí)現(xiàn),市面上沒(méi)有統(tǒng)一的做法,畢竟我們正在經(jīng)歷。這樣一來(lái)我的心也放下了,因?yàn)榧幢阄蚁旅娑际呛兑膊灰欢ㄊ清e(cuò)的。

look-alike的核心是按著回頭客的樣子去找新用戶。那簡(jiǎn)單呀,看看回頭客的標(biāo)簽是什么樣子,對(duì)著去找相同的不就行了?沒(méi)錯(cuò),這算一種方法,并且是一種基于規(guī)則的方法。但是直覺告訴我們這樣做粒度太粗,沒(méi)有充分考慮到廣告主因素,同時(shí)經(jīng)驗(yàn)也告訴我們,基于規(guī)則的不如基于模型的效果好,所以我們還可以得出一個(gè)基于模型的做法:將某用戶是否是潛在用戶建模成一個(gè)機(jī)器學(xué)習(xí)中的二分類問(wèn)題,利用回頭客數(shù)據(jù)訓(xùn)練模型,并在新用戶上做預(yù)測(cè),是就是1不是就是0,也挺好理解的。

受眾定向關(guān)鍵技術(shù)我們就介紹到這里了,現(xiàn)在我們來(lái)回顧一下。為了更加精準(zhǔn)的刻畫用戶,我們從用戶標(biāo)簽、上下文標(biāo)簽和廣告標(biāo)簽三個(gè)方面來(lái)介紹受眾定向。雖說(shuō)角度不同,但總的說(shuō)來(lái),不外乎兩種方法:基于規(guī)則和基于模型。在受眾定向技術(shù)的支持下,互聯(lián)網(wǎng)廣告進(jìn)入合約廣告時(shí)代。在經(jīng)見了在線分配的大坑之后,媒體網(wǎng)站發(fā)現(xiàn)合約不可保,便使用競(jìng)價(jià)方式售賣流量,指定廣告主。那在競(jìng)價(jià)廣告中,又有什么關(guān)鍵技術(shù)呢?請(qǐng)看下一小節(jié):競(jìng)價(jià)廣告關(guān)鍵技術(shù):點(diǎn)擊率預(yù)估。

5.2 競(jìng)價(jià)廣告關(guān)鍵技術(shù):點(diǎn)擊率預(yù)估

郭德碗:聊(bi)了(bi)了這么久,想必衣食父母也都累了。

于 兼:是有點(diǎn)兒。

郭德碗:能堅(jiān)持看到這兒的人不多。

于 兼:東西太難。

郭德碗:那就歇了吧,《計(jì)算廣告小窺》到此結(jié)束!

于 兼:給我回來(lái)!像話嘛這個(gè)!

郭德碗:還想怎么著啊?

于 兼:說(shuō)好的點(diǎn)擊率預(yù)估呢?大伙都沖這個(gè)來(lái)的。

郭德碗:真有沖這個(gè)來(lái)的?

(有!)

郭德碗:怎么不提錢跟我說(shuō)呢?

(吁~)

郭德碗:好了,玩笑歸玩笑,驢鞭歸于兼,下面呀,我..

于 兼:您等會(huì)兒,那玩意兒歸我干嘛呀?

郭德碗:嘿嘿嘿。

(吁~)

郭德碗:你們都懂?

(吁~)

郭德碗:仁者見仁,污者見污喲。

(下去吧~)

我知道很多同學(xué)是沖著點(diǎn)擊率預(yù)估來(lái)的,所以不能讓你們白來(lái)不是,免費(fèi)送您一小段兒,別跟我提錢哈哈。等最后聊到最小廣告系統(tǒng),幫我貢獻(xiàn)幾次點(diǎn)擊就行,我也好收集一些高質(zhì)量數(shù)據(jù),訓(xùn)練模型自己玩兒。言歸正傳,下面我們將從“是什么”、“為什么”和“怎樣做”三方面來(lái)介紹點(diǎn)擊率預(yù)估。

5.2.1 點(diǎn)擊率預(yù)估是什么

點(diǎn)擊率

一句話解釋點(diǎn)擊率:0.1%

既然聊到點(diǎn)擊率預(yù)估,那我們先來(lái)看看什么叫點(diǎn)擊率。點(diǎn)擊率這個(gè)概念我們是第一次提起,但其實(shí)我們?cè)缇椭浪?。我們?cè)凇队?jì)算廣告小窺[上]》曾經(jīng)提到:

“自從廣告上了互聯(lián)網(wǎng),廣告的面貌就煥然一新。造成行業(yè)巨變的原因,是因?yàn)榛ヂ?lián)網(wǎng)廣告的效果可以被衡量。”

如果接著往下說(shuō),以什么標(biāo)準(zhǔn)來(lái)衡量呢?沒(méi)錯(cuò),最常用的衡量標(biāo)準(zhǔn)就是點(diǎn)擊率。點(diǎn)擊率(CTR:Click-Through Rate)是指的是媒體網(wǎng)站上某個(gè)廣告的點(diǎn)擊量/展示量。之所以使用點(diǎn)擊率來(lái)衡量廣告效果是有原因的,先來(lái)看分母:分母是某廣告的總展示量。在《計(jì)算廣告小窺[上]》中我們?cè)贿^(guò),廣告展示機(jī)會(huì)是廣告主通過(guò)競(jìng)價(jià)獲得的,展示機(jī)會(huì)越多,意味著廣告主的出價(jià)越高,所以總展示量可以用來(lái)表征廣告主的廣告投入。再來(lái)看分子:分子是總點(diǎn)擊量,而點(diǎn)擊行為代表了用戶的注意力,說(shuō)明用戶渴望進(jìn)一步了解廣告內(nèi)容。因此點(diǎn)擊率越高,意味著廣告主在相同投入的情況下,收獲了更多的用戶注意力,完美詮釋了廣告主做廣告的初衷,所以點(diǎn)擊率是廣告主和媒體網(wǎng)站常用來(lái)衡量廣告效果的標(biāo)準(zhǔn)。我聽過(guò)一個(gè)數(shù)字,廣告平均點(diǎn)擊率為千分之一,也就是每展示1000次廣告才會(huì)收獲1次點(diǎn)擊,所以點(diǎn)擊率預(yù)估中數(shù)據(jù)都是很稀疏的。

點(diǎn)擊率預(yù)估

一句話解釋點(diǎn)擊率預(yù)估:80%

了解了點(diǎn)擊率,我們?cè)賮?lái)看看什么叫點(diǎn)擊率預(yù)估。從字面上理解,點(diǎn)擊率預(yù)估是預(yù)測(cè)媒體網(wǎng)站上某個(gè)廣告的點(diǎn)擊量/展示量,然而這樣理解并不是很準(zhǔn)確,我先給出我的理解:點(diǎn)擊率預(yù)估,是指預(yù)測(cè)特定用戶點(diǎn)擊特定廣告的概率,例如小明點(diǎn)擊某信二手車廣告的概率是80%。

為什么對(duì)媒體網(wǎng)站廣告點(diǎn)擊率(0.1%)的預(yù)測(cè),會(huì)變成了對(duì)用戶點(diǎn)擊某廣告概率(80%)的預(yù)測(cè)呢,接著往下看啦。

5.2.2 為什么要做點(diǎn)擊率預(yù)估

一句話解釋為什么要做點(diǎn)擊率預(yù)估:錢。

在競(jìng)價(jià)廣告階段,廣告主與媒體網(wǎng)站之間以按點(diǎn)擊付費(fèi)(CPC)的方式結(jié)算,因此我們可以用下列公式來(lái)表征媒體網(wǎng)站在某次廣告活動(dòng)中的收入:

媒體網(wǎng)站收入 = (點(diǎn)擊率 * 展示量) * 單次點(diǎn)擊價(jià)格 = 點(diǎn)擊量 * 單次點(diǎn)擊價(jià)格

我們知道,展示量和單次點(diǎn)擊價(jià)格這兩部分都是廣告主參與競(jìng)價(jià)后才能決定的,與媒體網(wǎng)站無(wú)關(guān),所以媒體網(wǎng)站的收入就與點(diǎn)擊率直接掛鉤。在收益最大化的驅(qū)使下,媒體網(wǎng)站有提高點(diǎn)擊率的動(dòng)力。點(diǎn)擊率的定義是點(diǎn)擊量/展示量,展示量又是廣告主通過(guò)競(jìng)價(jià)決定的,因此媒體網(wǎng)站只能想方設(shè)法提高點(diǎn)擊量。

對(duì)于媒體網(wǎng)站而言,他所擁有的資源就是頁(yè)面上幾個(gè)固定的廣告位和海量的用戶。為了提高點(diǎn)擊量,一種簡(jiǎn)單明了的想法就是讓展示的廣告盡可能多的被點(diǎn)擊,即“指哪兒打哪兒”。為了實(shí)現(xiàn)這個(gè)理想,亟需解決兩個(gè)問(wèn)題:首先需要知道用戶感興趣的廣告有哪些,其次需要讓用戶盡可能多的點(diǎn)擊這些廣告。

第一個(gè)問(wèn)題叫做“廣告檢索”,是指媒體網(wǎng)站根據(jù)用戶的定向標(biāo)簽或其他方式檢索出符合用戶口味的廣告候選集合。這部分內(nèi)容是搜索引擎的核心,在這里我們就不展開討論了。我們來(lái)看第二個(gè)問(wèn)題,假設(shè)我們已經(jīng)得到了一個(gè)符合用戶口味的廣告候選集合,如何能讓用戶更多的點(diǎn)擊呢?很簡(jiǎn)單,把用戶最可能點(diǎn)擊的廣告放在最顯眼的地方,為了定量描述用戶最可能點(diǎn)擊的廣告,這便引出了點(diǎn)擊率預(yù)估的問(wèn)題。因此我們說(shuō),點(diǎn)擊率預(yù)估并不是來(lái)預(yù)估媒體網(wǎng)站上點(diǎn)擊量/展示量,而是預(yù)測(cè)某個(gè)特定用戶點(diǎn)擊某個(gè)特定廣告的概率。OK,那預(yù)估完干什么呢?剛才不是說(shuō)了嘛,把最可能點(diǎn)擊的廣告放在最顯眼的地方呀!

最顯眼的地方

一句話解釋最顯眼的地方:你也是柳巖的球迷?

為了較為直觀地描述用戶的注意力分布,我找了一張LinkdIn的用戶注意力熱力分布圖。(圖片來(lái)自網(wǎng)絡(luò))

LinkdIn的用戶注意力熱力分布圖

圖中,顏色越紅代表用戶注意力越集中??梢钥吹剑脩糇铌P(guān)注的是頁(yè)面的上半部分,其次是右半部分,最后是下半部分。這種注意力分布基本我們?nèi)粘5臑g覽習(xí)慣,即如果能在頁(yè)面靠前位置找到我們所需的信息,一般就不會(huì)再關(guān)注頁(yè)面其他地方。了解了注意力分布,我們來(lái)看一下某度搜索頁(yè)面上的廣告位分布。

某度搜索頁(yè)面上的廣告位分布

某度廣告位主要分布在北區(qū)、東區(qū)和南區(qū)三部分,以LinkedIn頁(yè)面中的用戶注意力分布來(lái)推測(cè),用戶在某度頁(yè)面上注意力分布從高到底分別是北區(qū)、東區(qū)和南區(qū)。假設(shè)某度共有10個(gè)廣告位,那么將用戶最可能點(diǎn)擊的10個(gè)廣告按照點(diǎn)擊概率由高到低順序分別排在北區(qū)、東區(qū)和南區(qū)。然后還干嘛?沒(méi)有了,萬(wàn)事俱備,只欠點(diǎn)擊。

不知道您聽明白了沒(méi),我來(lái)幫您捋捋。為了提高媒體網(wǎng)站的收益,我們結(jié)合業(yè)務(wù)場(chǎng)景不斷簡(jiǎn)化問(wèn)題,從提高媒體網(wǎng)站點(diǎn)擊率入手,到提高總點(diǎn)擊量,再到獲得廣告候選集合,預(yù)測(cè)出了用戶點(diǎn)擊廣告的概率。僅僅預(yù)測(cè)點(diǎn)擊概率媒體網(wǎng)站還賺不著錢,因此媒體網(wǎng)站根據(jù)點(diǎn)擊概率在頁(yè)面廣告位上對(duì)廣告進(jìn)行排序。所以為什么要做點(diǎn)擊率預(yù)估呢?都是為了錢!都是為了錢!都是為了錢!

5.2.3 點(diǎn)擊率預(yù)估怎么做

一句話解釋點(diǎn)擊率預(yù)估怎么做:使盡渾身解數(shù),只為更懂你。

自計(jì)算廣告學(xué)誕生以來(lái),點(diǎn)擊率預(yù)估就是一個(gè)在學(xué)術(shù)界和工業(yè)界被廣泛研究和實(shí)踐的課題。剝?nèi)シN種具體場(chǎng)景,點(diǎn)擊率預(yù)估的本質(zhì)其實(shí)還是一個(gè)機(jī)器學(xué)習(xí)中的二分類問(wèn)題。一般來(lái)講,媒體網(wǎng)站點(diǎn)擊數(shù)據(jù)的數(shù)學(xué)分布是非線性的。為了擬合這種非線性關(guān)系,學(xué)術(shù)界側(cè)重于模型的研究,工業(yè)界側(cè)重于特征的構(gòu)造,雙方優(yōu)勢(shì)互補(bǔ),已取得了相當(dāng)豐碩的成果。下面我們將先介紹展示廣告和搜索廣告這兩種互聯(lián)網(wǎng)廣告的主要形式,然后闡述二者在點(diǎn)擊率預(yù)估問(wèn)題上的不同之處,最后介紹一些點(diǎn)擊率預(yù)估的方法。

展示廣告

展示廣告(Display Advertising)是一種以“圖片+文字”的方式進(jìn)行廣告宣傳的互聯(lián)網(wǎng)廣告形式。從廣告觸發(fā)方式來(lái)看,展示廣告是媒體網(wǎng)站根據(jù)用戶歷史行為所做的推薦,對(duì)用戶而言廣告是被動(dòng)接收的,如下圖。

展示廣告

搜索廣告

搜索廣告(Sponsored Search)是一種以“標(biāo)題+超鏈接”的方式進(jìn)行廣告宣傳的互聯(lián)網(wǎng)廣告形式。從廣告觸發(fā)方式來(lái)看,搜索廣告是媒體網(wǎng)站針對(duì)用戶當(dāng)前檢索所做的廣告匹配,廣告是用戶主動(dòng)發(fā)起的,如下圖。

搜索廣告

根據(jù)上面我們對(duì)展示和搜索廣告的描述,我們可以對(duì)兩種廣告形式的點(diǎn)擊率預(yù)估有一個(gè)淺顯并直觀的認(rèn)識(shí):展示廣告的點(diǎn)擊率預(yù)估可以看作是一個(gè)推薦問(wèn)題,根據(jù)歷史記錄推測(cè)用戶對(duì)哪些廣告更感興趣;搜索廣告的點(diǎn)擊率預(yù)估可以看作是一個(gè)檢索問(wèn)題,根據(jù)用戶當(dāng)前的查詢來(lái)做廣告匹配。前者推薦后者檢索,問(wèn)題性質(zhì)的不同也決定了點(diǎn)擊率預(yù)估所采用方式的不同。

點(diǎn)擊率預(yù)估方法

有關(guān)展示廣告和搜索廣告的實(shí)現(xiàn)算法和應(yīng)用細(xì)節(jié)都是各家互聯(lián)網(wǎng)公司的商業(yè)機(jī)密,由于場(chǎng)景的不同,各家對(duì)點(diǎn)擊率的預(yù)估也是八仙過(guò)海各顯神通。作為一個(gè)沒(méi)有實(shí)戰(zhàn)經(jīng)驗(yàn)的小屁孩兒,想要較為流暢地闡述這個(gè)話題,還是力不從心,畢竟眼界太窄太年輕。為了保證文章結(jié)構(gòu)的完整,這部分還必須要寫,那么我就拋開業(yè)務(wù)場(chǎng)景,僅從機(jī)器學(xué)習(xí)角度來(lái)和大家聊一聊我所知道的內(nèi)容。寫的不好,還請(qǐng)各路大神多多指教,如有不當(dāng)指出,請(qǐng)嚴(yán)厲指出,我定感激不盡!

上面我們提到過(guò),從用戶瀏覽網(wǎng)頁(yè)到廣告獲得展示,要經(jīng)過(guò)三個(gè)階段:用戶定向、廣告檢索和廣告排序。用戶定向和廣告檢索就不多說(shuō)了,最終在廣告庫(kù)中可以找到符合你口味的廣告,即“萬(wàn)里挑十”。在廣告排序階段,需要將這十個(gè)廣告位放置在頁(yè)面上,通常做法有兩種,一個(gè)是基于規(guī)則,一個(gè)是基于機(jī)器學(xué)習(xí)。我們這里從機(jī)器學(xué)習(xí)的角度入手,但是各位千萬(wàn)不要忽視了規(guī)則的能力。聊到機(jī)器學(xué)習(xí),主要就是兩方面,特征和模型。下面我就根據(jù)我所了解的內(nèi)容,重點(diǎn)介紹一下線性模型+海量特征的方法,然后簡(jiǎn)單介紹一下點(diǎn)擊率預(yù)估的發(fā)展。

<1>線性模型 + 海量特征

用于點(diǎn)擊率預(yù)估的數(shù)據(jù)主要是日志數(shù)據(jù),一般會(huì)有點(diǎn)擊行為(點(diǎn)擊為1,沒(méi)點(diǎn)為0)、廣告信息(廣告位、廣告主id、廣告標(biāo)簽和廣告描述等)、用戶信息(用戶id和用戶標(biāo)簽等)、上下文信息和時(shí)間戳等。有了這些原始數(shù)據(jù)之后,需要對(duì)數(shù)據(jù)進(jìn)行清洗,然后利用統(tǒng)計(jì)或模型的方法構(gòu)造特征,進(jìn)而做特征選擇和特征組合,最終特征的數(shù)量級(jí)大約在10億-100億維。完成了特征工作之后,在模型方面,較為經(jīng)典的點(diǎn)擊率預(yù)估模型是線性模型Logistic Regression,由于LR在通過(guò)sigmoid之前是一個(gè)[0,1]之間的浮點(diǎn)數(shù),利用LR的特點(diǎn),我們可以將這個(gè)浮點(diǎn)數(shù)作為用戶點(diǎn)擊該廣告的概率,把廣告按照這個(gè)概率從高到低放置在相應(yīng)廣告位上,就完成了廣告排序。

為什么要造出維度這么高的特征向量呢?我的理解是這樣的。對(duì)于點(diǎn)擊數(shù)據(jù)來(lái)說(shuō),點(diǎn)擊行為與其他特征之間的關(guān)系是非線性的,為了擬合這種非線性關(guān)系,我們依然可以從特征和模型兩方面入手。通常來(lái)說(shuō),非線性模型的效果要更好一些,但是效率太低,不適合工業(yè)界的現(xiàn)實(shí)場(chǎng)景,所以快速簡(jiǎn)單的線性模型就成為了模型的首選。那線性模型如何擬合非線性關(guān)系呢?這就需要在特征層面做文章,利用特征工程的方法來(lái)構(gòu)造出高階特征,同樣可以實(shí)現(xiàn)非線性。這個(gè)思路理解起來(lái)還是不難的,如下面兩式對(duì)比:

線性模型 + 海量特征兩式對(duì)比

<2>點(diǎn)擊率預(yù)估的發(fā)展

為了構(gòu)造出維度如此巨大的特征向量,特征工程幾乎占據(jù)了70%的項(xiàng)目時(shí)間,并且主要是靠努力的程序員人工來(lái)實(shí)現(xiàn)的。那有沒(méi)有自動(dòng)選擇特征的方式呢?ADKDD’14有一篇Facebook的paper《Practical Lessons from Predicting Clicks on Ads at Facebook》提出了一種使用GBDT自動(dòng)選擇特征的方法,用每棵樹上的葉子節(jié)點(diǎn)來(lái)表達(dá)特征,比如{1:2, 2:3}指的是第一棵樹上第2個(gè)節(jié)點(diǎn)和第2棵樹上第五個(gè)節(jié)點(diǎn),根據(jù)每棵樹的節(jié)點(diǎn)個(gè)數(shù)用one-hot表示即可。多說(shuō)一句,GBDT選特征的方法已經(jīng)經(jīng)過(guò)實(shí)踐驗(yàn)證,在Kaggle-Criteo點(diǎn)擊率預(yù)估大賽中,冠軍的解決方案便是GBDT+FFM的方法獲得的。

說(shuō)到FFM,它是FM的一個(gè)變種。FM(Factorization Machine):因式分解機(jī)是最近比較火的一個(gè)模型,這個(gè)模型可以挖掘出特征間的非線性關(guān)系,并且可以在O(n)的時(shí)間內(nèi)完成計(jì)算,非常吸引人。

最后就是深度學(xué)習(xí)了,在視頻、圖像和語(yǔ)音領(lǐng)域有較為突出的成果。最新的聽說(shuō)MSRA出了一個(gè)152層的網(wǎng)絡(luò),OMG…國(guó)內(nèi)在廣告領(lǐng)域應(yīng)用深度學(xué)習(xí)最早的應(yīng)該是百度鳳巢,低于10層,經(jīng)過(guò)多輪迭代之后效果初顯。我自己也在探索階段,期待能有好的結(jié)果,這里就不多說(shuō)了。

點(diǎn)擊率預(yù)估環(huán)節(jié)到這里就結(jié)束了,以上內(nèi)容不知是否和您心意。部分內(nèi)容可能需要一些機(jī)器學(xué)習(xí)背景,對(duì)此感興趣的同學(xué)可以加入我們的QQ群(初學(xué)者373038809,行業(yè)同學(xué)和研究者472059892),我們共同討論。

5.3 程序化交易關(guān)鍵技術(shù):出價(jià)策略

在上半部分中,我們?cè)?jīng)介紹過(guò)程序化交易中的參與者,除了用戶外,主要還有代表媒體網(wǎng)站利益的SSP、代表廣告主利益的DSP和小三ADX。通俗來(lái)講,SSP是管倉(cāng)庫(kù)的,ADX是管傳話的,DSP是管花錢的,現(xiàn)在我們要開始聊程序化交易中的關(guān)鍵技術(shù),您覺得我們應(yīng)該把目光放在誰(shuí)上面呢?已經(jīng)講到現(xiàn)在了,我們要收起情懷,統(tǒng)一思想,當(dāng)然是要重點(diǎn)關(guān)注DSP啦!你可能會(huì)想,花錢誰(shuí)不會(huì)啊,這要啥技術(shù)?沒(méi)錯(cuò),花錢是沒(méi)什么難的,但對(duì)于廣告主而言,花錢做廣告是一種投資,本質(zhì)和風(fēng)投股票文玩樓盤高利貸沒(méi)什么區(qū)別,追求的就是高的投入產(chǎn)出比,真刀真槍的動(dòng)起錢來(lái),弄不好會(huì)走火入魔的。這錢,您還敢花嗎?

敢啊!

要是不敢我還怎么寫博客嘛,哈哈哈哈哈~~~花錢不要緊,只要能掙就行了呀!那我們就來(lái)聊聊如何才能掙的比花的多吧。

5.3.1 出價(jià)原則

上面我們提到,廣告主花錢做廣告實(shí)際上是一種投資行為,既然是投資,就要對(duì)風(fēng)險(xiǎn)進(jìn)行評(píng)估。具體到DSP來(lái)說(shuō),“投資”是指廣告主投錢給DSP,讓其參與實(shí)時(shí)競(jìng)價(jià),期望獲得良好的廣告效果(點(diǎn)擊/購(gòu)買/注冊(cè)/下載等);“風(fēng)險(xiǎn)”是指錢花了,但由于效果太差,沒(méi)見著收益。為了規(guī)避風(fēng)險(xiǎn),獲取較高的投入產(chǎn)出比,DSP在出價(jià)時(shí)需要進(jìn)行“風(fēng)險(xiǎn)評(píng)估”,即預(yù)估本次廣告展示機(jī)會(huì)所能帶來(lái)的收益,以此作為出價(jià)的參考。在出價(jià)時(shí),要注意以下幾點(diǎn)原則,可能并不全面,還請(qǐng)行業(yè)內(nèi)的同學(xué)補(bǔ)充。

  • 預(yù)算限制:廣告主一次就給這么多,超了算你的。
  • 時(shí)間限制:到時(shí)間花不完就收回去了。
  • 花錢為主:都說(shuō)了是投資,能花了就別留著。
  • 見好就上:出價(jià)與流量品質(zhì)成正相關(guān)。

這些出價(jià)原則理解起來(lái)沒(méi)什么難的,但我想要著重說(shuō)一下第四條見好就上,這才是最關(guān)鍵的部分。如何定義流量品質(zhì),又如何出價(jià)呢,好戲馬上開始。

5.3.2 如何定義流量品質(zhì)?

所謂流量品質(zhì),就是在此時(shí)此刻此情此景,用戶點(diǎn)擊廣告能為廣告主帶來(lái)的收益,主要分為兩部分:一是點(diǎn)擊率,二是點(diǎn)擊價(jià)值。點(diǎn)擊率的預(yù)估就不多說(shuō)了,和媒體網(wǎng)站上點(diǎn)擊率預(yù)估是類似的,只不過(guò)在實(shí)時(shí)的場(chǎng)景下要求會(huì)更高一些。點(diǎn)擊價(jià)值是什么意思?劉鵬老師在《計(jì)算廣告》中這樣解釋道:(有部分修改,括號(hào)內(nèi)容為我的解釋)

點(diǎn)擊價(jià)值可以分解為到達(dá)率、轉(zhuǎn)化率和轉(zhuǎn)化單價(jià)三個(gè)量的乘積。到達(dá)率是指實(shí)際打開廣告次數(shù)與點(diǎn)擊次數(shù)的比例,這與廣告主網(wǎng)站的頁(yè)面你打開延遲關(guān)系最大,與媒體的屬性、特別是誤點(diǎn)情況也有一定關(guān)系;轉(zhuǎn)化率指的是到達(dá)廣告主頁(yè)以后,有多少比例產(chǎn)生了廣告主定義的轉(zhuǎn)化行為(購(gòu)買/注冊(cè)/下載等);轉(zhuǎn)化單價(jià)是指廣告主指定的轉(zhuǎn)化費(fèi)用(即DSP做一單能掙多少)。

上述三個(gè)變量中,到達(dá)率和轉(zhuǎn)化單價(jià)都是很好統(tǒng)計(jì)的,只有轉(zhuǎn)化率的預(yù)估是比較困難的。轉(zhuǎn)化率預(yù)估的方法可以參照點(diǎn)擊率預(yù)估,但是由于轉(zhuǎn)化數(shù)據(jù)要比點(diǎn)擊數(shù)據(jù)少得多,除非是在有充足行業(yè)數(shù)據(jù)支持的情況下,否則用機(jī)器學(xué)習(xí)方法建模有較大困難。實(shí)踐中比較可行的辦法基本上都是簡(jiǎn)單統(tǒng)計(jì)與運(yùn)營(yíng)經(jīng)驗(yàn)相結(jié)合來(lái)估算轉(zhuǎn)化率。

5.3.3 如何出價(jià)?

終于進(jìn)入到了最核心的出價(jià)環(huán)節(jié)。按照“見好就上”的原則,出價(jià)與流量品質(zhì)成正相關(guān)。那到底是采用線性策略好,還是非線性策略好呢?我們來(lái)仔細(xì)分析一下。

(1)線性出價(jià)策略

我們?cè)贑TR預(yù)估階段提到過(guò)用戶注意力,廣告位這個(gè)物理因素對(duì)點(diǎn)擊率的影響是十分顯著的。我曾看到過(guò)一個(gè)數(shù)字,同樣一個(gè)廣告,把它放在第一位所獲得點(diǎn)擊率是放在第二位時(shí)的兩倍。若采用線性出價(jià)策略,DSP在出價(jià)時(shí)就有必要出兩倍于第二位的價(jià)格去參與競(jìng)價(jià)。這個(gè)思路很好理解,感興趣的同學(xué)可以參照KDD’12的paper《Bid Optimizing and Inventory Scoring in Targeted Online Advertising》。

(2)非線性出價(jià)策略

非線性策略是我想說(shuō)的重點(diǎn),主要是想借著這個(gè)機(jī)會(huì)介紹一下限制條件下的優(yōu)化問(wèn)題以及其解法,這對(duì)于我們做科研或者工程項(xiàng)目都是很有幫助的,下面我們通過(guò)KDD’14《Optimal Real-Time Bidding for Display Advertising》一文來(lái)了解一下非線性出價(jià)策略的來(lái)龍去脈。以下內(nèi)容是我對(duì)這篇paper的個(gè)人理解,可能并不到位,既然寫出來(lái)就不怕大家笑話啦,有錯(cuò)就改嘛嘿嘿。

<1>. 文章大意

實(shí)時(shí)競(jìng)價(jià)的場(chǎng)景中,在預(yù)算限制條件下如何設(shè)計(jì)出價(jià)策略是我們關(guān)注的焦點(diǎn)。為了實(shí)現(xiàn)這一目標(biāo),分為三步。第一,將現(xiàn)實(shí)問(wèn)題用數(shù)學(xué)方法建模為限制條件下的優(yōu)化問(wèn)題,并通過(guò)拉格朗日乘子法,求得出價(jià)策略的數(shù)學(xué)表達(dá)式;第二,利用品友RTB出價(jià)算法大賽的數(shù)據(jù)擬合出價(jià)策略中的參數(shù);第三,驗(yàn)證結(jié)果,發(fā)現(xiàn)了一個(gè)有意思的結(jié)論:相比少量高品質(zhì)的展示機(jī)會(huì),那些大量低品質(zhì)的展示機(jī)會(huì)同樣可以具有較好的廣告效果,值得出價(jià)。這個(gè)發(fā)現(xiàn)對(duì)于那些預(yù)算不夠,同時(shí)又想做廣告的小廣告主來(lái)說(shuō),簡(jiǎn)直就是福音。

<2>. 建立模型

在一切開始之前,讓我們先考慮清楚要解決的問(wèn)題是什么,簡(jiǎn)單來(lái)說(shuō)就一句話:選擇合適的出價(jià)策略,在預(yù)算的限制下實(shí)現(xiàn)廣告效果最大化,用數(shù)學(xué)語(yǔ)言描述就是下面這樣:

數(shù)學(xué)語(yǔ)言描述合適的出價(jià)策略

我靠!這一堆是什么玩意兒!你TM在逗我?淡定。??床欢蛯?duì)了啊哈哈哈哈!下面我來(lái)做一下簡(jiǎn)化,告訴你這個(gè)模型在我眼中長(zhǎng)什么樣。

b()ORTB=argmaxb()一大坨 !

subject to  又一大坨 !

這下是不是好多了?反正我第一次看到這個(gè)模型就長(zhǎng)這樣,把積分部分當(dāng)作一大坨,就很容易看懂了。這個(gè)模型一共有兩個(gè)公式,我們一一來(lái)看。

b()ORTB=argmaxb()一大坨 !

第一個(gè)公式是一個(gè)等式,等號(hào)左邊是我們想得到的出價(jià)策略函數(shù)b()ORTB,等號(hào)右邊是argmaxb() 跟上一大坨,這里argmaxb()的意思是:當(dāng)后面一大坨取最大值時(shí),返回在最大值情況下的那個(gè)b()。將等號(hào)左右兩邊連起來(lái),這個(gè)等式所表達(dá)的意思就是:當(dāng)后面一大坨取最大值時(shí),返回在最大值情況下的那個(gè)b()作為我們要求的出價(jià)策略b()ORTB。這個(gè)思路是不是有點(diǎn)眼熟?沒(méi)錯(cuò),在前面合約廣告關(guān)鍵技術(shù)——受眾定向中,講到用戶動(dòng)態(tài)特征時(shí)我們對(duì)泊松分布的處理方式有些類似。綜上所述,對(duì)于這個(gè)等式而言,我們要做的工作就一個(gè):求最大值。

subject to  又一大坨 !

第二個(gè)公式是一個(gè)不等式,subject to是“受限于”的意思。在這里,又一大坨 !

現(xiàn)在我們的任務(wù)已經(jīng)明確了:在限制條件下求等式最大值。那么這個(gè)數(shù)學(xué)任務(wù)和我們的實(shí)際問(wèn)題:選擇合適的出價(jià)策略,在預(yù)算的限制下實(shí)現(xiàn)廣告效果最大化是怎么匹配上的呢?這就需要去看那兩大坨了。那一大坨全都是各種符號(hào),我們看不懂,所以需要一張符號(hào)對(duì)照表,如下圖。為了方便,我再把模型公式再貼一次。

模型公式

有了符號(hào)定義和模型,我們開始聊(啃)一聊(啃)這兩大坨吧。先看第一坨,我們從右往左看。

  • dx:x代表一次bid request,是ADX發(fā)給DSP的競(jìng)價(jià)請(qǐng)求“標(biāo)識(shí)XXX,男性,20-25歲,跑鞋愛好者,廣告位為首頁(yè)”,即一次廣告展示機(jī)會(huì)。之所以是dx而不是x,是因?yàn)槲覀冴P(guān)注的是整個(gè)廣告推廣計(jì)劃中所有的競(jìng)價(jià)過(guò)程,而非某一次競(jìng)價(jià)。
  • px(x):廣告展示機(jī)會(huì)的概率密度分布,我的理解是在全網(wǎng)所有的競(jìng)價(jià)中,滿足我DSP要求的、或者是我能收到的bid request所占的比例。因此,px(x)∗dx的物理意義是“我能收到的展示機(jī)會(huì)”。
  • θ(x):θ是贏得此次競(jìng)價(jià)所能帶來(lái)的收益(KPI),本文用CTR來(lái)衡量,CTR越高,收益就越高。
  • b(θ(x),x):對(duì)于此次展示機(jī)會(huì),在能帶來(lái)收益為θ(x)的情況下,我所出的價(jià)格bid。
  • ω(b(θ(x),x),x):對(duì)于此次展示機(jī)會(huì),在能帶來(lái)收益為θ(x)的情況下,我的出價(jià)bid能獲勝的概率是多少。因此,

ω(b(θ(x),x),x)

的物理意義是“對(duì)于本次我所收到的這個(gè)展示機(jī)會(huì)來(lái)說(shuō),在該機(jī)會(huì)能帶來(lái)收益為θ(x),我出價(jià)為bid的情況下,我能打敗對(duì)手獲得此次展示機(jī)會(huì)的概率”。

ω(b(θ(x),x),x)

的物理含義是“我出價(jià)為bid,贏得這次展示機(jī)會(huì)后,所能獲得的收益”。

  • NT:一次廣告推廣活動(dòng)中所有的bid request。

有了上面的解釋,我們可以很容易的得出第一坨的物理意義:對(duì)于一次廣告推廣活動(dòng)中的所有競(jìng)價(jià),我使用b()的出價(jià)策略所能獲得的收益。和等式連起來(lái),即:對(duì)于一次廣告推廣活動(dòng)中的所有競(jìng)價(jià),我使用b()的出價(jià)策略所能獲得最大收益時(shí)所對(duì)應(yīng)的b(),就是我們想要的出價(jià)策略。

有了第一坨的經(jīng)驗(yàn),第二坨啃起來(lái)就容易多了。前面都不變,只有到最后把

ω(b(θ(x),x),x)

其物理意義為:對(duì)于這次廣告展示機(jī)會(huì),我出價(jià)為bid且贏得這次展示機(jī)會(huì)所花費(fèi)的預(yù)算。所以對(duì)于整個(gè)廣告推廣活動(dòng)而言,所有的出價(jià)要小于預(yù)算。就這樣,我們順利的將預(yù)算限制寫進(jìn)了數(shù)學(xué)模型里。

好了,分析完兩大坨積分的含義之后,我們合起來(lái)解釋一下該模型(ORTB)所表達(dá)的物理意義:在整個(gè)廣告推廣活動(dòng)中,在出價(jià)總和小于預(yù)算的限制條件下,當(dāng)廣告收益取得最大值時(shí)所對(duì)應(yīng)的那個(gè)出價(jià)策略,就是我們夢(mèng)寐以求的出價(jià)策略b()ORTB。再來(lái)對(duì)照一下我們的任務(wù):選擇合適的出價(jià)策略,在預(yù)算的限制下實(shí)現(xiàn)廣告效果最大化。這下匹配了吧!

 

<3>. 模型求解

截止到目前,我們已經(jīng)得到了模型表達(dá)式,由一個(gè)等式和一個(gè)不等式組成。接下來(lái)我們就要開始求解了:求最大值。最大值有什么好求的?讓導(dǎo)數(shù)等于0之后帶入極值點(diǎn)不就完了?你說(shuō)的對(duì),如果只有一個(gè)等式我們是這么求的,但問(wèn)題是我們現(xiàn)在除了一個(gè)等式,還有一個(gè)不等式,這種情況下怎么來(lái)求最大值呢?用拉格朗日乘子法。

通過(guò)拉格朗日乘子法,我們可以將不等式乘一個(gè)參數(shù)λ后和等式寫進(jìn)一個(gè)公式里(化簡(jiǎn)過(guò)程已省略),得到如下結(jié)果。

拉格朗日乘子法

有了這個(gè)公式,我們就可以對(duì)它進(jìn)行求導(dǎo)等于0了,可得如下結(jié)果:

拉格朗日乘子法

通過(guò)化簡(jiǎn),可得出價(jià)函數(shù)b()與勝率函數(shù)w()的關(guān)系:

拉格朗日乘子法

也就是說(shuō),我們想要的出價(jià)函數(shù)b()與勝率函數(shù)w()有關(guān),那我們就來(lái)看看他們之間到底有什么關(guān)系。通過(guò)對(duì)數(shù)據(jù)的統(tǒng)計(jì),可以畫出出價(jià)函數(shù)b()與勝率函數(shù)w()的關(guān)系圖像:

出價(jià)函數(shù)b()與勝率函數(shù)w()的關(guān)系圖像

從圖像中我們可以看出,出價(jià)函數(shù)b()與勝率函數(shù)w()的關(guān)系是非線性的,并且這個(gè)曲線的走勢(shì)和y=xc+x很像,我們來(lái)對(duì)比一下,這里c=3。

出價(jià)函數(shù)b()與勝率函數(shù)w()的關(guān)系圖像

沒(méi)錯(cuò),的確很像?;诖?,為了達(dá)到消元的目的,作者做了一個(gè)出價(jià)函數(shù)b()與勝率函數(shù)w()之間的假設(shè),仿照著y=xc+x得到下面公式:

出價(jià)函數(shù)b()與勝率函數(shù)w()之間的假設(shè),仿照著y=xc+x得到下面公式

將出價(jià)函數(shù)b()與勝率函數(shù)w()的9式關(guān)系帶入到倒數(shù)為0的7式中,化簡(jiǎn)可得:

將出價(jià)函數(shù)b()與勝率函數(shù)w()的9式關(guān)系帶入到倒數(shù)為0的7式中

就這樣,我們得到了我們的出價(jià)策略bORTB()的表達(dá)式(公式13)。我們來(lái)看看這個(gè)公式里有什么。這個(gè)公式是由θ, c和λ組成的,其中c和λ都是常量,只有θ一個(gè)變量。c是出價(jià)函數(shù)b()與勝率函數(shù)w()之間的系數(shù),λ是拉格朗日乘子,而θ是每次廣告展示的收益,按CTR高低來(lái)評(píng)判。我們來(lái)驗(yàn)證一下:CTR越高,由該策略算出的出價(jià)也就越高,符合我們的預(yù)期,大功告成。

我們來(lái)梳理一下思路。在建模環(huán)節(jié),我們已經(jīng)得到了我們所需的模型:一個(gè)等式+一個(gè)不等式。我們的任務(wù)是要求等式的最大值,通常方法直接對(duì)等式求導(dǎo)等于0即可,由于我們這里是一個(gè)限制條件下的優(yōu)化問(wèn)題,所以需要用到拉格朗日乘子法,將限制條件寫進(jìn)等式中,構(gòu)造出一個(gè)新的公式(公式6)。對(duì)于新的公式,我們就可以用求導(dǎo)等于0了(公式7)。在化簡(jiǎn)過(guò)程中,我們發(fā)現(xiàn)了出價(jià)函數(shù)b()與勝率函數(shù)w()存在著數(shù)學(xué)關(guān)系(公式8),為了消元,我們按照實(shí)際數(shù)據(jù)的分布構(gòu)造出出價(jià)函數(shù)b()與勝率函數(shù)w()的表達(dá)式(公式9),將公式9帶入公式7,繼續(xù)化簡(jiǎn)就得到了我們的出價(jià)策略:bORTB(),剩下的工作就是根據(jù)數(shù)據(jù)去擬合λ和c即可,這里就不多說(shuō)了。這里需要強(qiáng)調(diào)的是,這種限制條件下的優(yōu)化方法在統(tǒng)計(jì)與機(jī)器學(xué)習(xí)中是很常見的,例如SVM的推導(dǎo)過(guò)程,感興趣的同學(xué)可以試一試,其實(shí)并不難。

<4>. 結(jié)果分析

既然有了公式,那我們就來(lái)看看ORTB的出價(jià)有什么特點(diǎn)吧。

ORTB的出價(jià)

我們可以很直觀的看出,我們所得到的出價(jià)策略是一個(gè)非線性的。橫坐標(biāo)θ代表了廣告展示計(jì)劃的品質(zhì),ORTB會(huì)對(duì)低價(jià)值的展示機(jī)會(huì)出高價(jià),這樣的結(jié)果能為我們帶來(lái)什么,誰(shuí)會(huì)去要那些低價(jià)值的展示機(jī)會(huì)呢?我們來(lái)看下面這張圖。

在此圖中,我們盯著一條曲線看,比如藍(lán)色的(1/32)。隨著λ增加,收獲的點(diǎn)擊量是增加的,意味著λ越高,我們的收益越高。對(duì)于我們獲得的出價(jià)策略而言,λ越高,我們的出價(jià)是越低的,也就意味著這次展示機(jī)會(huì)的價(jià)值是很低的。這樣的結(jié)果值得我們深思,我們以為低價(jià)值的展示機(jī)會(huì)是不值錢的,但數(shù)據(jù)說(shuō)明,這些看似不值錢的展示所能帶來(lái)的回報(bào)還算不錯(cuò)。特別地,在λ=1e-05時(shí)三條曲線的幾乎重合,而紅色代表有錢的廣告主,藍(lán)色代表窮廣告主,雖然預(yù)算差了16倍,但是獲得的收益是相同的,這個(gè)結(jié)論對(duì)于預(yù)算有限的小廣告主而言,是個(gè)天大的好消息:雖然我們錢不多,但只要我們出價(jià)合適,依然可以收獲很好的廣告效果,四兩撥千斤,極大的調(diào)動(dòng)了小廣告主參加程序化交易的積極性。

我們知道,“二八原則”是客觀存在的,在廣告主中也不例外,如果能吸引這80%的小廣告主參與程序化交易,玩家一多,需求自然更多。為了滿足金主的需求,勢(shì)必會(huì)推動(dòng)相關(guān)計(jì)算技術(shù)的發(fā)展,這對(duì)于計(jì)算廣告的未來(lái)而言,是一件好事。

講完了非線性出價(jià)策略,程序化交易中的關(guān)鍵技術(shù)也接近尾聲了。出價(jià)策略之所以重要,是因?yàn)榫褪荄SP賴以生存的看家本領(lǐng),沒(méi)有這些真本事,DSP是走不了多遠(yuǎn)的。

到此,計(jì)算廣告關(guān)鍵技術(shù)就講完了,啥也不說(shuō)了,給自己鼓個(gè)掌吧。

 

歷時(shí)大半個(gè)月,中間又加上過(guò)年,終于把這章給寫完了,沒(méi)想到這一章的內(nèi)容要比上半部分全文都要多。在本篇《計(jì)算廣告小窺[中]這孫子怎么什么都知道》中,我們從理論的角度探討了計(jì)算廣告各階段的關(guān)鍵技術(shù):在合約廣告中,我們討論了受眾定向技術(shù),從用戶、上下文和廣告主三個(gè)方面簡(jiǎn)單介紹了打標(biāo)簽的常用思路和方法,為計(jì)算廣告實(shí)現(xiàn)精準(zhǔn)營(yíng)銷打下了堅(jiān)實(shí)的基礎(chǔ);在競(jìng)價(jià)廣告中,我們討論了點(diǎn)擊率預(yù)估的來(lái)龍去脈,感受到了互聯(lián)網(wǎng)人的智慧,為媒體網(wǎng)站流量變現(xiàn)提供了直接保障;在程序化交易廣告中,我們通過(guò)學(xué)術(shù)論文了解了當(dāng)下學(xué)術(shù)界領(lǐng)先的DSP出價(jià)策略,近距離地感受了一下科研的魅力。

曾有人嘆息到“我們這一代最聰明的人竟然都在這里思考著怎樣讓人們?nèi)ゴ罅康狞c(diǎn)擊廣告,真衰。”我個(gè)人不認(rèn)同這種說(shuō)法,因?yàn)樵谟?jì)算廣告這樣復(fù)雜的場(chǎng)景下,相關(guān)技術(shù)和解決方案的水準(zhǔn)必然是頂尖的,稍加修改即可解決其他場(chǎng)景下的疑難雜癥,這恰似軍工技術(shù)反哺民用,又恰似女生隨手甩一個(gè)不要了的護(hù)膚品給男生,那可都是寶。

受篇幅所限,原定于本篇要完成的第五章和第六章只好放在《計(jì)算廣告小窺[下]廣告系統(tǒng)架構(gòu):要啥自行車,這里有寶馬?!分衼?lái)寫了。在下篇中,我們將介紹一個(gè)通用的廣告系統(tǒng)架構(gòu),在領(lǐng)略在線和離線過(guò)程的同時(shí),還將見到時(shí)下工業(yè)界最火熱的技術(shù),譬如Nginx,Hadoop,Spark等在計(jì)算廣告領(lǐng)域的位置與應(yīng)用。

除了廣告系統(tǒng)架構(gòu),我還將介紹一個(gè)我自己搭的最小廣告系統(tǒng)mieSys,可以先放出來(lái)給大家玩一玩,鏈接是http://115.159.33.50/。使用方法:用戶點(diǎn)擊頁(yè)面中廣告,等一段時(shí)間后刷新頁(yè)面,在頁(yè)腳處會(huì)顯示用戶的興趣標(biāo)簽和性別,在第一行五個(gè)廣告位中會(huì)展示符合用戶口味的廣告。需要注意的是,由于目前缺少點(diǎn)擊數(shù)據(jù),CTR模型并不準(zhǔn),為了保證演示效果,暫時(shí)只能用離線代替在線,所以您在點(diǎn)擊過(guò)后預(yù)計(jì)要10分鐘(用戶多的話甚至更長(zhǎng))才能看到頁(yè)面效果,我后期會(huì)進(jìn)行優(yōu)化,還望輕拍,效果圖如下,第一張為默認(rèn)頁(yè)面,第二張為結(jié)果頁(yè)面。

最小廣告系統(tǒng)mieSys

這個(gè)系統(tǒng)是我用大概20天的時(shí)間搭成的,目前來(lái)說(shuō)基本的功能都有,但還是太簡(jiǎn)單,并且算法沒(méi)有優(yōu)化,我會(huì)逐步的往上面添加模塊和算法,目前思路已有,就差各位為我提供點(diǎn)擊數(shù)據(jù)了[嘿嘿嘿嘿···]。如果您發(fā)現(xiàn)mieSys掛了,不是用戶太多就是我在調(diào)程序,在系統(tǒng)成熟的時(shí)候我會(huì)選擇開源,愿意與有興趣的同學(xué)多交流。哦對(duì)了,至于為什么起名為mieSys,因?yàn)槲遗笥褜龠?,呵呵噠~

【本文是51CTO專欄機(jī)構(gòu)大數(shù)據(jù)文摘的原創(chuàng)文章,微信公眾號(hào):大數(shù)據(jù)文摘 id: BigDataDigest】

 大數(shù)據(jù)文摘二維碼

責(zé)任編輯:趙寧寧 來(lái)源: 大數(shù)據(jù)文摘
相關(guān)推薦

2022-04-15 15:03:42

云計(jì)算容器Linux

2018-07-09 22:37:19

2019-10-30 15:35:08

虛擬化云計(jì)算封裝

2019-01-09 13:20:51

2021-06-17 13:28:20

NFV虛擬化服務(wù)器

2025-02-17 09:00:00

DeepSeek人工智能AI

2023-09-20 20:11:07

Java

2010-03-16 16:56:45

云計(jì)算

2011-03-21 15:29:46

2010-03-30 16:58:55

云計(jì)算

2022-01-25 00:06:05

云計(jì)算安全技術(shù)

2021-04-21 09:32:38

智慧城市技術(shù)智能

2018-01-03 00:38:20

大數(shù)據(jù)Hadoop分布式文件系統(tǒng)

2015-09-11 13:54:51

大數(shù)據(jù)關(guān)鍵技術(shù)

2021-05-17 14:57:22

NFV虛擬化數(shù)據(jù)

2021-12-21 15:46:16

NFV內(nèi)存虛擬化計(jì)算虛擬化

2020-12-28 15:51:48

云計(jì)算

2021-07-28 21:00:33

邊緣計(jì)算數(shù)據(jù)存儲(chǔ)

2021-12-21 15:37:46

NFV虛擬化IO虛擬化
點(diǎn)贊
收藏

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