大神乾貨:冠軍選手分享解題思路,助你輕鬆突圍初賽
- 2020 年 5 月 14 日
- AI
2020年騰訊廣告演算法大賽的初賽的帷幕已然拉開,新老選手們正面臨著全新數據集的挑戰。在大家努力刷分的緊張時刻,我們為大家邀請到2019年騰訊廣告演算法大賽冠軍、數據競賽愛好者,也是本次大賽的參賽選手——魚遇雨欲語與余,請他分享對本次賽題的一些解讀,幫助大家拓寬思路,快速提高成績,順利突圍初賽!
大家好,我是魚遇雨欲語與余,畢業於武漢大學,人民郵電出版社簽約作者,2019年騰訊廣告演算法大賽冠軍。很高興再次參加今年的騰訊廣告演算法大賽。
本屆演算法大賽的題目為「廣告受眾基礎屬性預估」,賽題提供了90天用戶點擊廣告行為日誌及廣告的基本屬性,讓大家預測用戶性別和年齡。為了幫助大家快速理解本次賽事的題目,我和大家簡單分享一下我對於本次賽題數據的理解和一些解題思路。
- 賽題數據
賽題數據其實還是比較乾淨清爽的,用戶基本屬性資訊只需要我們預測性別和年齡,其餘的都是用戶點擊日誌和廣告相關資訊。初期需要去理解每個變數的含義,比如creative_id廣告素材可能由文案、圖片和影片組成,一個廣告包含多個廣告素材,因此廣告素材生成的流程也需要加以了解。「比較」是影響廣告投放的重要環節之一,首先結合用戶畫像和賣點提煉,然後確定使用場景,最後進行素材的篩選和加工。
對數據和業務的基本認識可以幫助我們深入理解賽題,挖掘更多有用資訊。
2. 解題思路
用戶的歷史點擊行為可以反映其屬性特點,比如男性偏愛電子產品、遊戲等,女性則更偏愛服飾、化妝品等,所以從點擊序列中挖掘資訊更為重要。那麼如何挖掘序列資訊呢,這裡的方法就比較多了,下面逐個介紹。
(1)one-hot
直接展開,保留所有資訊,300多萬維,可以直接放棄了。
(2)Tfidf
NLP中常用的做法,將用戶點擊序列中的creative_id或者ad_id集合看作一篇文檔,將每個creative_id或者ad_id視為文檔中的文字,然後使用tfidf。當然這也下來維度也非常高,可以通過參數調整來降低維度,比如sklearn中的TfidfVectorizer,可以使用max_df和min_df進行調整。
(3)Word2vec
把每個點擊的creative_id或者ad_id當作一個詞,把一個人90天內點擊的creative_id或者ad_id列表當作一個句子,使用word2vec來構造creative_id或者ad_id嵌入表示。最後進行簡單的統計操作得到用戶的向量表示。這種序列簡單聚合導致資訊損失,顯得是非常的粗糙,需要進一步引入attention等方法。
上述方法可以直接使用傳統的GBDT相關模型進行,1.3應該沒問題。下面可以考慮序列建模方式。例如RNN/LSTM/GRU,這類方法將用戶行為看做一個序列,套用NLP領域常用的RNN/LSTM/GRU方法來進行建模。
最後祝各位取得優異成績。
收穫了大神選手的心得分享後,你的解題思路有沒有更加清晰呢?希望各位選手放平心態,繼續加油。祝願各位突圍成功!
了解更多賽事相關資訊
掃碼加入大賽官方QQ群
或搜索群號:1094257162
和小夥伴一起解鎖更多內容
5月18日晚19:30,演算法大賽評委大咖將齊聚直播間分享《後疫情時代的「智」者未來》,大咖面對面傳授的機會不可多得!
感受大咖們的思想碰撞,點擊下方鏈接,一鍵預約加入直播!
點擊下方鏈接,報名參賽贏取現金大獎
官方報名入口: