丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給汪思穎
發(fā)送

0

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

本文作者: 汪思穎 2018-06-22 14:51
導語:從賽題分析到思路和代碼,超級全的解讀!
活動
企業(yè):阿里巴巴
操作:舉辦比賽
事項:舉辦 IJCAI-18 比賽

雷鋒網(wǎng) AI 研習社按,本文為 IJCAI-18 阿里媽媽搜索廣告算法大賽亞軍解決方案。本文由作者發(fā)在其 GitHub 主頁,雷鋒網(wǎng) AI 研習社獲其授權轉(zhuǎn)載。(阿里媽媽憑借舉辦 IJCAI-18 比賽,在雷鋒網(wǎng)學術頻道 AI 科技評論旗下數(shù)據(jù)庫項目「AI 影響因子」中增加 8 分。)

一、 隊員介紹

隊長:BRYAN

數(shù)據(jù)挖掘從業(yè)者,國內(nèi)數(shù)據(jù)挖掘競賽名將,天池數(shù)據(jù)科學家,IJCAI-17 冠軍獲得者。曾多次在國內(nèi)外著名賽事中取得名次。

隊員:桑楡

數(shù)據(jù)挖掘從業(yè)者,國內(nèi)數(shù)據(jù)挖掘競賽名將,天池數(shù)據(jù)大師,IJCAI-17 冠軍獲得者。曾多次在國內(nèi)外著名賽事中取得名次。

隊員:李困困

數(shù)據(jù)挖掘從業(yè)者,國內(nèi)數(shù)據(jù)挖掘競賽名將。曾取得 CCF-螞蟻金服-商場定位賽冠軍等多項國內(nèi)外著名賽事的名次。

二、 賽題背景分析及理解

本賽題為搜索廣告轉(zhuǎn)化預估問題,一條樣本包含廣告點擊相關的用戶(user)、廣告商品(ad)、檢索詞(query)、上下文內(nèi)容(context)、商店(shop)等信息的條件下預測廣告產(chǎn)生購買行為的概率(pCVR),形式化定義為:pCVR=P(conversion=1 | query, user, ad, context, shop)??梢詫栴}抽象為二分類問題,重點對用戶,商品,檢索詞,上下文,商店進行特征刻畫,來訓練模型。

三、 核心思路

(1) 數(shù)據(jù)分析

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

通過數(shù)據(jù)分析我們發(fā)現(xiàn),訓練數(shù)據(jù)的前 7 天轉(zhuǎn)化率維持在 1% 左右,但是在 6 號轉(zhuǎn)化率偏低,在預測當天 7 號的上午轉(zhuǎn)化率超過 4%,所以這是一個對特定促銷日進行預測的問題。重點需要刻畫用戶,商品,店鋪,檢索詞等關鍵信息在預測日前面 7 天的行為,預測日前一天的行為,預測日當天的行為。

另外 7 號的樣本量遠遠超過前面每天的樣本量均值,是我們重點需要關注的時間區(qū)間。主模型是基于 7 號上午的樣本進行訓練,前面 7 天的數(shù)據(jù)輔助訓練。由于預估時間為 7 號下午,時間相關的特征沒法在上午訓練,為了彌補 7 號上午訓練帶來是數(shù)據(jù)和信息損失,我們隊伍采用了兩種方式:,一種采用前面 7 天訓練模型預估 7 號得到概率作為新的特征,一種是訓練 7 號之前以及 7 號上午訓練全量模型進行加權。

(2) 用戶分析

從下圖可以看到大部分用戶的點擊次數(shù)集中在 5 次以下,8 天的時間內(nèi)點擊 5 次,說明這是一個低頻訴求的場景。

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

在下圖中可以看到,大部分用戶都沒有購買行為,少量用戶購買了一次,本次競賽的目標預測用戶是否購買,少量的購買行為構成了數(shù)據(jù)的長尾分布形勢。

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

下圖是用戶點擊次數(shù)和購買次數(shù)的關系,橫軸點擊數(shù),縱軸購買數(shù)??梢钥吹綌?shù)據(jù)是呈左下角分布的趨勢,也就是說購買行為發(fā)生在少量點擊次數(shù)的情況下,說明這是一個即時興趣,目標明確的場景。我們需要重點刻畫用戶當前狀態(tài)。

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

從用戶分析中,我們發(fā)現(xiàn),點擊一次的用戶占據(jù)較大的比例,這部分無法通過歷史行為的特征刻畫表征,因此提供的 query 信息是表征這部分用戶的關鍵;同時,絕大部分用戶沒有發(fā)生購買行為,因此,負樣本中包含了大量的信息,另外評估指標是 logloss,需要精確預測購買概率,所以并未對負樣本進行采樣,避免破壞正負樣本分布。

(3) 預處理

缺失值填充:id 類特征使用眾值填充,數(shù)值特征均值填充

挖掘隱藏信息:針對 item_property_list 列,統(tǒng)計 property 出現(xiàn)次數(shù),保留出現(xiàn)次數(shù)的 top1~top10 作為新的 id 特征;針對predict_category_property 列,直接按順序保留 top1~top10 的類別作為新的 id 特征。針對 item_category_list 列,因為第一個大類都相同,取第二個類別作為新的 id 類特征。

(4) 線下劃分

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

由于線上提交的次數(shù)有限,因此,建立穩(wěn)定的線下是取勝的關鍵。為提升我們優(yōu)化算法的效率,減少線上成績的運氣性成分,同時避免我們的算法過度依賴于線上數(shù)據(jù)集,我們認真地進行了線下測試,分別采取 7 日上午最后兩個小時,7 日上午隨機 15%的數(shù)據(jù)進行驗證,只有兩者在線下均有提升,我們才進行線上提交。因此,我們始終確保我們在線上驗證的優(yōu)化在線下均有顯著的提升。

(5) 模型設計

我們采用了 3 種數(shù)據(jù)劃分方式訓練模型,主模型使用 7 號上午的數(shù)據(jù)作為訓練樣本,對 31-5 號,6 號,7 號的數(shù)據(jù)提取特征。全局數(shù)據(jù)模型使用全部帶標簽的樣本作為訓練樣本,使用全部數(shù)據(jù)提取特征。時間信息模型使用 31-6 號的數(shù)據(jù)作為訓練樣本,對 31-6 數(shù)據(jù)提取特征。訓練的時間信息模型對 7 號全天的樣本進行預測,將預測結果(攜帶了時間信息)作為新的特征添加到前面的模型中,來彌補前面模型對時間刻畫的缺失。

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

(6) 特征工程

特征工程是模型提分的關鍵,我們從簡單到復雜建立了基礎特征群,轉(zhuǎn)化率特征群,排名特征群,比例特征群,類特征群,競爭特征群,業(yè)務特征群等多種特征群,對用戶及行為進行了細致的刻畫。

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

在原始特征的基礎上的一些簡單擴充與統(tǒng)計,由于用戶的行為過于稀疏,提取用戶轉(zhuǎn)化率的時候做了平滑,另外對用戶購買點擊行為做編碼。在 query 交互,用戶交互,競爭特征群中,計算量較大,采用并行的方式提取,提升效率。

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

為了提高效率,我們采用分批測試特征群的方式進行線下驗證。其中紫色特征群是過擬合的特征群,線下表現(xiàn)突出,在線上表現(xiàn)平平。究其原因是因為,這些特征都是對當天上午的數(shù)據(jù)進行統(tǒng)計,即使我們使用交叉的方式提取,盡量避免數(shù)據(jù)穿越,由于上午下午數(shù)據(jù)分布有差異,所以依然沒能很好的克服過擬合。

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

(7) 模型融合

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

不同模型好而不同是融合提升的關鍵,我們隊伍隊員分別做了三個高分模型,每個模型在樣本與特征上均有差異,因此,通過融合進一步提升了成績。最好的單模型依然能保持 top2 的成績。

四、 工程優(yōu)化

為了使模型更具業(yè)務實用性,我們對代碼進行了優(yōu)化,主要包括下面四個方面:

1)id 類特征重編碼,直接當作特征,樹模型深度設置-1,避免了onehot 大量占用內(nèi)存空間,實際效果和 onehot 相當。

2)數(shù)據(jù)并行,主模型 2 小時提取完全部特征。由于 python 的多進程中,子進程會拷貝父進程狀態(tài),如果直接把數(shù)據(jù)分塊然后使用多進程會導致內(nèi)存暴漲,所以我們的解決方案是先將數(shù)據(jù)分塊存為磁盤文件,然后在多進程任務中分別讀取各自數(shù)據(jù)提取特征,最后合并特征,有效的減少了內(nèi)存占用。

3)數(shù)據(jù)合并,訓練預測數(shù)據(jù)一起提取特征。直接使用 day,hour 等字段在提取特征完畢之后劃分訓練,驗證,測試集。提高了特征提取,線下測試,線上預測的流程效率。

4)特征分批測試,提高效率。由于復賽數(shù)據(jù)量比較大,如果使用warper類的特征選擇方法會浪費大量時間,所以我們直接按特征群分批測試,使用原始特征+測試特征群的方式進行線下驗證,少量的特征得以快速迭代驗證。

5)并行特征提取的關鍵代碼

數(shù)據(jù)分塊存儲

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

特征提取

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

特征合并

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!


五、 比賽經(jīng)驗總結

(1)深刻的賽題理解

對賽題進行認真而理性的分析和全面而深入的思考,對不了解之處做相應的調(diào)研。

(2)細致的數(shù)據(jù)分析

從各個維度對數(shù)據(jù)進行細致的觀察和分析,從中挖掘出重要的規(guī)律。

(3)海量的特征

多角度地提取有效特征,構造廣闊而高質(zhì)量的特征海洋,確保沒有遺漏有用的信息。

(4)強力的模型

訓練多組不同采樣方式、不同特征的強力模型,并將它們?nèi)诤铣赏薮蟮慕K極模型。

(5)未完成的思考

賽題背景是搜索轉(zhuǎn)化預估,可以直接使用的數(shù)據(jù)是用戶已經(jīng)點擊過的數(shù)據(jù),實際上我們還可以拿到用戶看到過,但是沒點擊的數(shù)據(jù)來輔助訓練。一個 query 會出多個商品,用戶可能只點擊了其中一個,如何獲取用戶看到的其他商品呢?關鍵還是在 query 上,如果有其他用戶用同樣的 query 進行了搜索并且點擊了不同的商品,那么這個商品可能就是被其他沒有點擊的用戶看到過的。

(6)比賽與實際業(yè)務的差距

在本次比賽中,我們使用了大量的特征以及模型融合,其中存在兩個需要討論的問題。首先是特征,我們使用了部分用戶當前狀態(tài)的特征,比如距離上一次點擊時間間隔,距離下一次點擊時間間隔。第一個特征在實際業(yè)務中,需要實時提取,如何設計實時特征的計算框架,性能能否跟上都是需要考慮的問題。第二個特征距離下一次點擊時間間隔,這個特征甚至在實際業(yè)務中根本提取不到,屬于未來的信息,但是在比賽中卻可以利用到。如果把預測時間段的用戶數(shù)據(jù)調(diào)整為一個用戶只出現(xiàn)一次,那么這個問題就可以得到很好的解決。

隨之而來的另一個問題是,用戶只出現(xiàn)一次,就無法統(tǒng)計到用戶當前狀態(tài)的其他未利用到未來信息的特征,像商品店鋪的統(tǒng)計信息也不完全,會引起一個信息缺失的問題。所以如何在比賽與實際業(yè)務中平衡數(shù)據(jù)的利用程度是一個需要考慮到的問題。另外一個是模型設計的問題,實際業(yè)務中幾乎不太可能會用到 stack 之類的模型融合方案,模型復雜度帶來的計算代價和線上預估時間的代價可能會超過模型融合性能提升帶來的收益,實際業(yè)務簡單加權融合可能會成為多數(shù)時候的選擇。

本次比賽我們選擇了 LightGBM 模型,因為數(shù)據(jù)量少,訓練快,可以在線下快速迭代。在實際業(yè)務中,使用的更多的模型可能是 LR,F(xiàn)FM,DNN 之類的模型,實際業(yè)務的數(shù)據(jù)是海量的,這些模型更能學習到穩(wěn)定魯棒的參數(shù),并且預估速度更快。由于正負樣本比例懸殊,如果考慮訓練效率的話,其實也可以對負樣本進行采樣后訓練,比如 LR 模型訓練之后通過對截距項的修正,依然可以保持預估的數(shù)據(jù)符合實際分布。

六、 團隊亮點

(1)強大的陣容

聚集三位優(yōu)秀的數(shù)據(jù)挖掘競賽選手。

(2)一致的目標

隊員們對本次比賽的目標一致而明確(雖然最終并未達成)。

(3)良好的溝通

隊員們頻繁地對賽題進行討論,及時地同步各自的進展。

(4)完美的配合

隊員們分別訓練不同的模型,彼此的模型差異極大,特別適合進行

融合。

(完)

GitHub 地址:https://github.com/YouChouNoBB/ijcai-18-top2-single-mole-solution

雷峰網(wǎng)版權文章,未經(jīng)授權禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

如何從數(shù)據(jù)挖掘比賽中脫穎而出?快來get阿里媽媽廣告算法賽亞軍套路吧!

分享:
相關文章

編輯

關注AI學術,例如論文
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說