日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cmos全局曝光算法_2019腾讯广告算法大赛方案分享(冠军)

發(fā)布時(shí)間:2024/1/23 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cmos全局曝光算法_2019腾讯广告算法大赛方案分享(冠军) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

來自公眾號(hào):機(jī)器學(xué)習(xí)初學(xué)者

本文提供2019年騰訊廣告算法大賽冠軍的代碼分享。

俞士綸(Philip S. Yu)教授的評(píng)價(jià)“冠軍隊(duì)伍已經(jīng)在有意無意使用“廣度學(xué)習(xí)”的方法”,評(píng)委講到“這是最接近騰訊真實(shí)業(yè)務(wù)的方案”。(本文作者:王賀)

寫在前面

隊(duì)伍介紹:哈爾濱工業(yè)大學(xué)二年級(jí)碩士生劉育源、中山大學(xué)微軟亞洲研究院聯(lián)合培養(yǎng)博士生郭達(dá)雅和京東算法工程師王賀。

本文將給出冠軍完整方案,全文內(nèi)容架構(gòu)將依托于答辯PPT,具體細(xì)節(jié)也會(huì)結(jié)合代碼進(jìn)行講解。當(dāng)然,思路為主,代碼為輔,希望這篇分享能夠給予你更多的啟發(fā)。

下面就讓跟隨我一起探索這榮獲最高嘉獎(jiǎng)的方案 !

賽題理解

賽題鏈接:

https://algo.qq.com

  • 數(shù)據(jù)

  • 歷史日志數(shù)據(jù):廣告請(qǐng)求時(shí)間、用戶id、廣告位id、競價(jià)廣告信息等

    用戶信息數(shù)據(jù):包含用戶id、年齡、性別、地域、行為興趣等

    廣 告 數(shù) 據(jù):廣告操作信息、廣告靜態(tài)信息

    2. 目標(biāo)

    預(yù)測(cè)廣告的日曝光量

    3. 評(píng)價(jià)指標(biāo)

    評(píng)價(jià)指標(biāo)由兩部分組成,準(zhǔn)確性指標(biāo)和出價(jià)單調(diào)性指標(biāo)。

    最終得分是將兩個(gè)指標(biāo)組合一起,前者控制準(zhǔn)確性,后者控制單調(diào)性。

    4. 訓(xùn)練目標(biāo)

    這里我們對(duì)訓(xùn)練目標(biāo)進(jìn)行了不斷優(yōu)化,首先是最基本的訓(xùn)練目標(biāo),即廣告日曝光量。然后考慮到0會(huì)導(dǎo)致梯度不平滑,所以對(duì)訓(xùn)練目標(biāo)做了log變換,保證梯度平滑。

    為了符合業(yè)務(wù)直覺,我們?cè)谟?xùn)練時(shí)進(jìn)行了單調(diào)性的考慮,而不是在訓(xùn)練后進(jìn)行單調(diào)性修正。即考慮了出價(jià)變量,保證訓(xùn)練出來的結(jié)果符合單調(diào)性。

    最后將基礎(chǔ)曝光的訓(xùn)練目標(biāo)和考慮單調(diào)性的訓(xùn)練目標(biāo)進(jìn)行結(jié)合,也就得到了最后一個(gè)公式,即一個(gè)模型預(yù)測(cè)基本訓(xùn)練目標(biāo),一個(gè)模型預(yù)測(cè)考慮單調(diào)性的訓(xùn)練目標(biāo)。

    5. 數(shù)據(jù)集劃分

    這部分也是我們隊(duì)伍的一個(gè)關(guān)鍵提分點(diǎn),能從87.6提升到87.8,當(dāng)然在我剛87.x分段時(shí),能提升4個(gè)千分點(diǎn)。

    我們知道復(fù)賽A榜訓(xùn)練集和測(cè)試集是連續(xù)的,即10號(hào)-22號(hào)訓(xùn)練集,23號(hào)為測(cè)試集。復(fù)賽B榜則是不連續(xù)的,沒有給出23號(hào)的標(biāo)簽,直接預(yù)測(cè)24號(hào)。

    面對(duì)這種“跨天”預(yù)測(cè),難度是非常大的,因?yàn)槿掌谠浇男畔⑹窃脚c當(dāng)天相近的,因此前一天的信息是非常重要的。

    所以我們利用“遠(yuǎn)程監(jiān)督”的方式,就是利用現(xiàn)有的標(biāo)注數(shù)據(jù),即10-22號(hào)數(shù)據(jù),訓(xùn)練一個(gè)模型,給未標(biāo)注數(shù)據(jù)(23號(hào)數(shù)據(jù))進(jìn)行標(biāo)注,然后再將10-22與23號(hào)合并成訓(xùn)練集進(jìn)行訓(xùn)練,預(yù)測(cè)最終的結(jié)果。

    特征工程

    1. 特征提取思路

    提取思路主要從兩部分考慮,歷史信息和整體信息,更細(xì)致些就是前一天、最近五天、五折交叉統(tǒng)計(jì)和除當(dāng)天外所有天的統(tǒng)計(jì)特征。

    接下來我們構(gòu)造了四個(gè)基礎(chǔ)特征,大部分的統(tǒng)計(jì)特征都是圍繞著這四個(gè)來構(gòu)造的。當(dāng)然我這里還考慮了商品ID和賬戶ID的構(gòu)造,代碼如下:

    # 構(gòu)造基本特征
    for col in ['aid','goods_id','account_id']:
    result = logs.groupby([col,'day'], as_index=False)['isExp'].agg({
    col+'_cnts' : 'count',
    col+'_sums' : 'sum',
    col+'_rate' : 'mean'
    })
    result[col+'_negs'] = result[col+'_cnts'] - result[col+'_sums']
    data = data.merge(result, how='left', on=[col,'day'])

    2. 如何構(gòu)造新廣告的特征

    初賽A 總廣告:1954?舊廣告:?1361?新廣告:593?新廣告占比:30.348%

    初賽B 總廣告:3750?舊廣告:?1382?新廣告:2368?新廣告占比:63.147%

    上面是對(duì)初賽新舊廣告的統(tǒng)計(jì),當(dāng)然復(fù)賽也存在大量的新廣告,復(fù)賽B榜新舊廣告基本55開。新廣告是沒有歷史信息的,所以如何構(gòu)造新廣告的特征,對(duì)新廣告進(jìn)行歷史和整體性的描述成了提分的關(guān)鍵。

    這里我進(jìn)行了模糊構(gòu)造,雖然我們不知道新廣告的歷史信息,但是我們知道廣告賬戶ID下面所包含舊廣告的歷史信息。因此,將廣告賬戶ID與舊廣告的廣告竟勝率進(jìn)行組合,可以構(gòu)造出廣告賬戶ID下廣告竟勝率的均值/中位數(shù)等。這樣我們就可以得到了新廣告在廣告賬戶ID下廣告竟勝率的統(tǒng)計(jì)值。

    這里可以構(gòu)造前一天、最近五天、五折交叉統(tǒng)計(jì)和除當(dāng)天外所有天等統(tǒng)計(jì)特征。

    3. 進(jìn)一步擴(kuò)展

    經(jīng)過上面的構(gòu)造,可以得到很多新構(gòu)造的統(tǒng)計(jì)特征,可以是前一天的、最近五天的,或者五折交叉統(tǒng)計(jì)的。我把這些值成為“假數(shù)值”,相對(duì)的就是“真數(shù)值”,即每天我們都知道廣告的競爭總次數(shù)(從10-24號(hào)數(shù)據(jù),包括測(cè)試集)。將假數(shù)值和真數(shù)值進(jìn)行交叉,如廣告競爭勝率(假)*廣告競爭總數(shù)(真),這樣就能得到的更接近真實(shí)值的特征。

    4. word2vec和deepwalk

    word2vec

    這里我們提取了用戶的曝光記錄,并將其轉(zhuǎn)化為文本序列,然后使用word2vec算法對(duì)廣告進(jìn)行嵌入,就可以得到關(guān)于廣告ID的embedding,或者商品ID的embedding。

    具體構(gòu)建文本序列方式,首先是對(duì)日志數(shù)據(jù)按天進(jìn)行排序,然后是按天構(gòu)建uid的行為序列并轉(zhuǎn)化為文本。代碼如下:

    #log日志數(shù)據(jù),pivot主鍵(uid),f(aid)
    sentence=[]
    dic={}
    day=0
    log=log.sort_values(by='request_day')
    log['day']=log['request_day']

    for item in log[['day',pivot,f]].values:
    if day!=item[0]:
    for key in dic:
    sentence.append(dic[key])
    dic={}
    day=item[0]
    try:
    dic[item[1]].append(str(int(item[2])))
    except:
    dic[item[1]]=[str(int(item[2]))]
    for key in dic:
    sentence.append(dic[key])

    接下來就是構(gòu)建廣告ID的embedding向量,代碼如下:

    model = Word2Vec(sentence, size=L, window=10, min_count=1, workers=10,iter=10)

    這里不僅可以構(gòu)造uid到廣告id,還可以是uid到商品id,uid到賬戶id。

    DeepWalk

    在推薦場(chǎng)景下,數(shù)據(jù)對(duì)象之間更多呈現(xiàn)的是圖結(jié)構(gòu)。典型的場(chǎng)景是由用戶行為數(shù)據(jù)生成的和廣告的全局關(guān)系圖。這個(gè)時(shí)候word2vec就不能很好的展現(xiàn)這層關(guān)系,所以我們選擇了Graph Embeding的方式,具體的使用了DeepWalk,可以將用戶的曝光記錄轉(zhuǎn)化為關(guān)系圖。這里引用阿里論文中的一張圖,來展現(xiàn)DeepWalk的算法流程:

    DeepWalk的算法流程(引自阿里論文)

    第一步:構(gòu)建用戶的行為序列

    第二步:我們基于這些行為序列構(gòu)建了物品關(guān)系圖,可以看出,物品A,B之間的邊產(chǎn)生的原因就是因?yàn)橛脩鬠1先后購買了物品A和物品B,所以產(chǎn)生了一條由A到B的有向邊。如果后續(xù)產(chǎn)生了多條相同的有向邊,則有向邊的權(quán)重被加強(qiáng)。在將所有用戶行為序列都轉(zhuǎn)換成物品相關(guān)圖中的邊之后,全局的物品相關(guān)圖就建立起來了。

    第三步:采用隨機(jī)游走的方式隨機(jī)選擇起始點(diǎn),重新產(chǎn)生物品序列。

    第四步:最終將這些物品序列輸入word2vec模型,生成最終的物品Embedding向量

    具體對(duì)應(yīng)代碼如下:

    https://github.com/guoday/Tencent2019_Preliminary_Rank1st

    這里有兩個(gè)問題:

    1. 只有在日志中曝光過的廣告才會(huì)有相應(yīng)的嵌入向量,通過廣告有無嵌入向量,會(huì)泄露了無曝光廣告的標(biāo)簽

    2. 測(cè)試數(shù)據(jù)中存在曝光非0但無嵌入向量的廣告,這在訓(xùn)練集中是不存在的,導(dǎo)致訓(xùn)練測(cè)試不一致

    這里我們給出了解決方法,即隨機(jī)掩蓋掉5%廣告的嵌入向量,保證訓(xùn)練集中也能出現(xiàn)無曝光的廣告。

    模型介紹

    輸入部分分為四組,分別是類別特征、經(jīng)過Key-Value Memory處理的稠密特征、Word2Vec和DeepWalk得到了embedding向量。然后進(jìn)入Batch Norm Layer,最后是MLP層。

    壓縮交互網(wǎng)絡(luò)CIN

    我們使用了壓縮交互網(wǎng)絡(luò)(CIN),它考慮了以下因素:

    (1)交互是在向量層次上應(yīng)用的,而不是在位層次上;

    (2)高階特征交互是明確測(cè)量的;

    (3)網(wǎng)絡(luò)的復(fù)雜度不會(huì)隨著相互作用的程度。

    每個(gè)維度上的外積用于特征交互。張量??是進(jìn)一步學(xué)習(xí)的中間結(jié)果。

    具體的可以看論文xDeepFM:

    xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems

    鏈接:

    http://xueshu.baidu.com/usercenter/paper/show?paperid=6cd34089953a68a3f89066228cb2bdd5&site=xueshu_se

    Key-Value Memory

    這里將介紹鍵值存儲(chǔ)(Key-Value Memory)的神經(jīng)模型實(shí)現(xiàn)浮點(diǎn)數(shù)到向量的映射。

    具體步驟:

    (1)Key addressing部分,尋址過程,此處用到softmax函數(shù)。計(jì)算上述選出的每個(gè)memory的概率值。?

    (2)Attention部分,對(duì)于不同的Key addression部分的重要性不同,所以使用attention給予不同的權(quán)重概率。

    (3)Value reading部分,對(duì)上一個(gè)步驟的概率下進(jìn)行加權(quán)求和得到答案信息。?

    規(guī)則統(tǒng)計(jì)

    先讓我們進(jìn)行一些基本的數(shù)據(jù)分析,這里看的是歷史曝光數(shù)據(jù)。

    一個(gè)廣告在不同的廣告位上有不同的勝率同廣告的請(qǐng)求數(shù)在不同的日期存在差異

    可以看出對(duì)于同一個(gè)廣告在不同廣告位上有著不同的勝率,并且在不同的日期,它的請(qǐng)求數(shù)也存在很大的差異。針對(duì)這兩點(diǎn)因素,也就能構(gòu)造出統(tǒng)計(jì)方式來計(jì)算廣告日曝光量。

    其中,??表示廣告在廣告位??上的歷史勝率。??表示廣告在廣告位?上發(fā)出的請(qǐng)求總數(shù)。

    這里我們對(duì)比了三種計(jì)算方法,可以看出,直接用歷史曝光填充效果最差。接下來就是用競爭勝率*請(qǐng)求數(shù),分?jǐn)?shù)會(huì)高很多,更近一步就是按廣告位分開計(jì)算,達(dá)到最好的效果。這里是在驗(yàn)證集上進(jìn)行的計(jì)算。

    歷史勝率??的具體計(jì)算方式

    先來看一張圖

    不同天數(shù)填充在驗(yàn)證集上的得分

    最直觀的感受就是,離預(yù)測(cè)當(dāng)天越近的數(shù)據(jù)準(zhǔn)確度越高,所以相應(yīng)的權(quán)重也應(yīng)該越大。這樣我們就可以給歷史每天不同的權(quán)重,然后進(jìn)行加權(quán)。就可以得到歷史勝率的計(jì)算公式,如下:

    權(quán)重??計(jì)算方式

    我們提出了三種計(jì)算方法:

    方式1:

    方式2:?

    方式3:?

    這里使用線性搜索尋找最優(yōu)參數(shù)(??),依據(jù)驗(yàn)證集分?jǐn)?shù)來確定最優(yōu)參數(shù)的選擇。

    在最優(yōu)參數(shù)下三總方式在驗(yàn)證集上的得分對(duì)比

    這里我們對(duì)三種權(quán)重計(jì)算方式進(jìn)行對(duì)比,并添加最后一直接填充作為對(duì)照實(shí)驗(yàn)。可以明顯看出方法三在驗(yàn)證集上的效果最好。

    最終融合

    這里使用兩種融合方式,分別是算術(shù)平均和幾何平均。

    算術(shù)平均:

    幾何平均:?

    由于??的評(píng)分規(guī)則,算術(shù)平均會(huì)使融合的結(jié)果偏大,如:

    顯然不符合??的直覺,越小的值對(duì)評(píng)分影響越大,算術(shù)平均會(huì)導(dǎo)致更大的誤差。所以選擇幾何平均,能夠使結(jié)果偏向小值,如下:

    模型、規(guī)則以及不同融合方式驗(yàn)證集得分對(duì)比:

    更細(xì)致的融合方式:

    模型和規(guī)則在不同的轉(zhuǎn)化類型上的得分
    • 無論是模型還是規(guī)則,預(yù)測(cè)結(jié)果在不同的轉(zhuǎn)化類型上得分差異都很大

    • 模型和規(guī)則在不同的轉(zhuǎn)化類型上得分也存在差 異,上圖表示了模型和規(guī)則在不同轉(zhuǎn)化類型上的表現(xiàn)。

    根據(jù)模型和規(guī)則在不同轉(zhuǎn)化類型上的得分表現(xiàn),調(diào)整權(quán)重值,線上可以獲得0.5個(gè)千的提升 。

    結(jié)果分析

    可以看出LightGBM單模既可以得到第一名的成績,不過,為了追求更高的分?jǐn)?shù),我們團(tuán)隊(duì)也做了更多的嘗試。

    主要?jiǎng)?chuàng)新

    提出了一種基于Key-Value Memory的浮點(diǎn)數(shù)映射成向量的方法

    • 相較于直接使用浮點(diǎn)數(shù),該方法保留更多的語義信息

    • 相較于分桶并作為類別特征的方法,該方法的相鄰向量具有相關(guān)性

    • 相較于數(shù)值×向量的方法,該方法具有非線性的特點(diǎn)

    解決Word2Vec和DeepWalk等無監(jiān)督學(xué)習(xí)造成的數(shù)據(jù)泄露問題

    • 充分利用了曝光日志記錄,基于用戶行為對(duì)廣告進(jìn)行聚類

    問題思考

    本次比賽雖然使用到出價(jià),但并沒有將出價(jià)作為特征輸入模型中。不同的出價(jià)其廣告的競爭力會(huì)有所不同,將直接影響了曝光量,因此出價(jià)是非常重要的特征。

    • 加入約束條件保證模型的單調(diào)性

    • 設(shè)計(jì)出價(jià)單調(diào)遞增的模型,如輸出為?

    本次比賽并沒有用到用戶屬性相關(guān)數(shù)據(jù),根據(jù)廣告投放人群信息,或許可以獲得更多有用的內(nèi)容。

    總結(jié)

    本文提供2019年騰訊廣告算法大賽冠軍的代碼分享。

    github:

    https://github.com/guoday/Tencent2019_Preliminary_Rank1st

    作者公眾號(hào):kaggle競賽寶典,一個(gè)用心分享算法的地方!


    ●編號(hào)880,輸入編號(hào)直達(dá)本文

    ●輸入m獲取文章目錄

    推薦↓↓↓

    Python編程

    更多推薦25個(gè)技術(shù)類公眾微信

    涵蓋:程序人生、算法與數(shù)據(jù)結(jié)構(gòu)、黑客技術(shù)與網(wǎng)絡(luò)安全、大數(shù)據(jù)技術(shù)、前端開發(fā)、Java、Python、Web開發(fā)、安卓開發(fā)、iOS開發(fā)、C/C++、.NET、Linux、數(shù)據(jù)庫、運(yùn)維等。

    總結(jié)

    以上是生活随笔為你收集整理的cmos全局曝光算法_2019腾讯广告算法大赛方案分享(冠军)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 伦伦影院午夜理伦片 | 欧美精品黄色片 | 成人福利视频网 | 日本不卡一区二区在线观看 | 亚洲中文在线一区 | 18欧美性xxxx极品hd | 999视频| 波多野结衣在线免费视频 | 精品一区二区三区欧美 | 国产精品爽爽久久 | 国产欧美一区二区三区精华液好吗 | 国产污污网站 | 18岁免费观看电视连续剧 | 香蕉视频18| 91精品国产色综合久久不卡98 | 一本色道久久88亚洲精品综合 | 奇米四色影视 | a天堂v | 中文字幕人妻一区二区在线视频 | 欧美色噜噜 | 久久r精品 | 亚洲三级国产 | 精品久久久久久中文字幕人妻最新 | 播金莲一级淫片aaaaaaa | 精品免费国产 | 亚洲理论中文字幕 | 涩涩成人| 亚洲精品成a人 | www.xxx.日本| 亚洲av片一区二区三区 | 亚洲人成免费电影 | 免费污片网站 | 久久在线免费观看 | 国产在线拍揄自揄拍无码视频 | 天堂伊人网 | 欧产日产国产精品98 | 国产在线999 | 香蕉视频在线观看黄 | 三级视频在线 | 黄色一级大片免费看 | caobi视频| 国产欧美在线播放 | 欧美日韩视频 | 久久久.com| 久久久亚洲欧美 | av色图| 四虎com| www.色午夜 | 久久久少妇| 成人性生交大片 | 91亚洲精品国偷拍自产在线观看 | 国产精品美女毛片真酒店 | 看全色黄大色黄大片大学生 | 欧美成人手机在线视频 | 久久久18禁一区二区三区精品 | 国产精品久久久久久久久绿色 | 精品一区二区三区蜜臀 | 韩国精品一区 | 福利久久久 | 综合精品视频 | 国产精品电影一区二区 | 另类专区亚洲 | 色悠悠在线视频 | 国产人与禽zoz0性伦 | 99成人在线观看 | 91午夜剧场 | 美女扒开内裤让男人桶 | 丝袜制服中文字幕 | 精品三级av | 自拍亚洲综合 | 亚洲伦理影院 | 成人h动漫精品一区二区 | 狠狠伊人 | av黄色成人 | 久久久久久久久久久免费 | 亚洲一区二区三区视频 | 欧美一区二区三区精品 | 精品久久久久久无码人妻 | 国产福利视频一区二区 | 欧美亚洲另类图片 | 欧美一区二区三区精品 | 不卡中文字幕 | 国产一区二区视频在线观看免费 | 伊人久久久久久久久久久久久 | 一级理论片 | 久久久久亚洲av成人网人人网站 | 亚洲精品理论片 | 欧美性xxxxx 亚洲特黄一级片 | 久久综合久久网 | 色激情五月 | 欧美三级久久 | 香蕉网站视频 | 好色999| 精品人妻午夜一区二区三区四区 | 午夜视频免费看 | 国产激情一区二区三区在线观看 | 美国美女群体交乱 | 国产一区二区在线看 | 人操人人 |