1
本文作者: 李勤 | 2016-09-15 14:15 |
如果你走在咖啡館外面,服務(wù)員就知道你每周三早上8點(diǎn)15分一定會(huì)準(zhǔn)時(shí)來(lái)這兒,并提前準(zhǔn)備好你最喜歡的瑪奇朵,這種感覺(jué)一定很棒。
這段話寫在全球知名預(yù)測(cè)建模與分析平臺(tái) kaggle 的 TalkingData 全球算法大賽介紹頁(yè)面上。
Kaggle 平臺(tái)的注冊(cè)用戶現(xiàn)在已經(jīng)超過(guò)60萬(wàn),來(lái)自于全球194個(gè)國(guó)家,具有各行各業(yè)的背景,Kaggle 平臺(tái)因?yàn)橘愔频目茖W(xué)和開放的態(tài)度,也成為了很多重要數(shù)據(jù)科學(xué)競(jìng)賽的支持平臺(tái)。目前,在 Kaggle 算法眾包平臺(tái)上一共舉辦了超過(guò)1200場(chǎng)比賽,多數(shù)比賽來(lái)自于工業(yè)界,提供了很多數(shù)據(jù)科學(xué)的解決方案。
從另外一個(gè)角度而言,這個(gè)平臺(tái)類似于一個(gè)江湖武林排行榜,有一些人會(huì)借此一戰(zhàn)成名。
2012年,美國(guó)制藥公司默克(Merck)在 Kaggle 上發(fā)布了一項(xiàng)為期60天的挑戰(zhàn)賽,由參賽者通過(guò)15種藥物的各種數(shù)據(jù)預(yù)測(cè)它們的生物活性,如藥物的靶點(diǎn)和非預(yù)期靶點(diǎn)(off-target)等等。結(jié)果,一個(gè)來(lái)自加拿大多倫多大學(xué)的5人團(tuán)隊(duì) gggg 獲得了第一。
如果直接介紹這支隊(duì)伍,大家可能要翻一個(gè)白眼——這是誰(shuí)?,但是他們背后的人卻來(lái)頭不小。相信很多從事數(shù)據(jù)科學(xué)的人都不陌生,他就是 Geoffrey hinton 。
三大牛 Yann LeCun、Yoshua Bengio 和 Geoffrey Hinton 在深度學(xué)習(xí)領(lǐng)域的地位無(wú)人不知,吃瓜群眾可以看看,他長(zhǎng)這樣。
說(shuō)了這么多,意思就是,kaggle 很牛X,不服就來(lái)參加個(gè)比賽試試。
在 kaggle 這個(gè)牛氣的平臺(tái)上,中國(guó)第三方移動(dòng)數(shù)據(jù)平臺(tái) TalkingData 和機(jī)器學(xué)習(xí)公司 Turi 聯(lián)合舉辦了一場(chǎng)全球算法大賽。這場(chǎng)比賽在7月11日開始,9月5日結(jié)束。
按照 TalkingData 數(shù)據(jù)科學(xué)部直接負(fù)責(zé)大賽的科學(xué)家路瑤告訴雷鋒網(wǎng)的信息,原本在國(guó)內(nèi)看上去稀松平常的一個(gè)算法大賽,應(yīng)該是搞不出一個(gè)什么大新聞的,但是, 最終的比賽經(jīng)過(guò)賬號(hào)排重之后,居然有1689支隊(duì)伍參加,囊括了1961個(gè)選手,一共有24000多次提交。
而且,路瑤還盤點(diǎn)了這次大賽上有意思的一些事兒,在勾起大家的興趣前,先說(shuō)說(shuō)這是個(gè)什么樣的比賽。
本次大賽的挑戰(zhàn)題目是通過(guò)移動(dòng)設(shè)備行為數(shù)據(jù)來(lái)預(yù)測(cè)設(shè)備使用者的性別和年齡分組。
大賽提供了約20萬(wàn)用戶的脫敏數(shù)據(jù),分成了12組,比如,男性,22到25歲,女性,30到35歲等。同時(shí)也提供了用戶行為屬性,比如,時(shí)間點(diǎn)、地理位置、手機(jī)品牌、機(jī)型等,選手要通過(guò)這些信息推測(cè)用戶屬于哪一個(gè)組。
嗯,看上去有點(diǎn)難。
大賽的評(píng)估方式是——選手需算出用戶在不同分組上的概率,一個(gè)用戶只能在一個(gè)分組,理想狀態(tài)下,如果能算出概率是1,其他為0的話,那么就是沒(méi)有任何概率損失,但他們的答案一般是在不同的分組上,這個(gè)用戶以不同的概率屬于這個(gè)組別,這時(shí)就有概率損失,大賽的評(píng)估指標(biāo)就是概率損失。
再看一次,很復(fù)雜對(duì)不對(duì)?好吧,我們可以再?gòu)?fù)雜一些。
表格里的數(shù)據(jù)首先是年齡性別分組,每個(gè)用戶用是一個(gè)ID表示。一個(gè)用戶的行為是在一系列的事件里,每一個(gè)事件里的信息包括:ID在什么時(shí)間點(diǎn)出現(xiàn)在哪個(gè)經(jīng)緯度上,安裝了哪些APP、使用了哪些APP,手機(jī)品牌和機(jī)型。
當(dāng)然,APP 的 ID,包括經(jīng)緯度等都進(jìn)行了嚴(yán)格和科學(xué)的脫敏。
然而,APP 上呈現(xiàn)的只是脫敏后的 ID,選手對(duì) APP 本身沒(méi)有什么概念,為了讓選手更好地解讀數(shù)據(jù),主辦方給 APP 貼了一些標(biāo)簽,比如社交、游戲等,一共有1000多個(gè)標(biāo)簽。
圍觀群眾表示,看樣子像大海撈針對(duì)不對(duì)?
可對(duì)這些數(shù)據(jù)的解讀僅僅是成功的第一步,下一步是特征工程。
選手提取了哪些特征?比如,用戶是在什么時(shí)間活躍?休息日還是工作日?白天還是晚上?
數(shù)據(jù)還包括海外數(shù)據(jù),有時(shí)差的問(wèn)題。用戶有了軌跡,軌跡分布是怎樣?是聚集在某一塊?還是聚集在幾個(gè)點(diǎn)?之間距離有多遠(yuǎn)?常出現(xiàn)的位置是在中國(guó)的東南沿海還是在西北地區(qū)?這些地點(diǎn)又有什么樣的特性。
另外,安裝的APP哪些是安裝了但是好長(zhǎng)時(shí)間沒(méi)有用?這又能提供什么樣的信息。
天了嚕,十萬(wàn)個(gè)為什么?不可否認(rèn)的是,這些特征取值很有學(xué)問(wèn),是取01值還是更具體的權(quán)重,完全是個(gè)技術(shù)活。
路瑤一邊介紹,一邊冒出“星星眼”。因?yàn)樵诒荣愔谐霈F(xiàn)了非常有想象力的做法,而她在做項(xiàng)目過(guò)程中根本沒(méi)有想到!
當(dāng)你預(yù)測(cè)出結(jié)果之后,結(jié)果是不是可以作為特征反饋到模型?比如,預(yù)測(cè)年齡和性別的分組,性別相對(duì)是好預(yù)測(cè)的,準(zhǔn)確率高一些,預(yù)測(cè)后把性別特征返回來(lái)是不是可以提高年齡的預(yù)測(cè)?年齡準(zhǔn)確率會(huì)低一些,但是一些特殊的年齡段特征比較明顯。如果把這些找出來(lái)之后再返回到模型里面,是不是也能提高整體的結(jié)果?
做完特征工程之后,進(jìn)入到調(diào)模型的環(huán)節(jié),這也是考驗(yàn)數(shù)據(jù)科學(xué)家經(jīng)驗(yàn)和技巧的活。單一模型下調(diào)參數(shù)的時(shí)候,最簡(jiǎn)單的初始參數(shù)怎么選?是給一個(gè)隨機(jī)值,還是給一個(gè)特別值?對(duì)于收斂速度可能會(huì)有很大的影響。
在模型集成上,學(xué)問(wèn)就更多了。以神經(jīng)網(wǎng)絡(luò)為例,在神經(jīng)網(wǎng)絡(luò)里設(shè)計(jì)神經(jīng)元,要知道每一層有多少個(gè)、有多少層,在模型集成里面也要有類似的思想。這些模型分成幾層,誰(shuí)和誰(shuí)是并聯(lián)、誰(shuí)和誰(shuí)是串聯(lián)關(guān)系,如果是串聯(lián)關(guān)系,下一層要處理上一層什么樣的信息,是直接處理結(jié)果,還是誤差或是什么。
有了好模型、好特征,提交了結(jié)果,在排名上很靠前,是不是這個(gè)事就搞定了,就可以拿到獎(jiǎng)金了?
呵呵噠,真不一定。
還有一個(gè)大敵叫過(guò)擬合。
過(guò)擬合的方法在特定數(shù)據(jù)集里會(huì)表現(xiàn)非常好,但是這個(gè)數(shù)據(jù)集稍微一變,模型性能就迅速下降。
此次比賽分測(cè)試集和訓(xùn)練集,訓(xùn)練集是把所有的信息都告訴了選手,然后在測(cè)試集里要推測(cè)分組。
選手可以看到的是提交結(jié)果后的公開榜單,但私密榜單卻只有管理員能看到,但比賽結(jié)果卻是由私密榜單決定的,公開榜單僅供參考。
公開榜單的測(cè)試集只包括了1/4~1/3的數(shù)據(jù),而 Kaggle 又不限制提交次數(shù),如果你在公開榜單排名靠前,那么呵呵,有可能在私密榜單排名很慘。
如何解決這個(gè)問(wèn)題,Kaggle 的老司機(jī)告訴你,永遠(yuǎn)要做交叉驗(yàn)證?。。。∧眯”颈居浵聛?lái)??!
迄今為止,雖然大賽還未正式公布獲獎(jiǎng)名單,但是在kaggle該大賽主頁(yè)上,私密榜單已經(jīng)出爐!我們來(lái)看一下——
1.TalkingData 首席數(shù)據(jù)科學(xué)家張夏天告訴雷鋒網(wǎng),雖然數(shù)據(jù)量比較小,只有約20萬(wàn)組,但是卻是“稀疏”數(shù)據(jù),即拿來(lái)真實(shí)數(shù)據(jù)進(jìn)行脫敏后,有些數(shù)據(jù)可能維度不齊全,相比于一些比賽提供的標(biāo)簽齊全的數(shù)據(jù),意思是,難度加大,你開心就好。
2.在 Kaggle 社區(qū),第一次出現(xiàn) TalkingData 中國(guó)的數(shù)據(jù),上面的大神對(duì)此很感興趣,甚至把kaggle 排行榜上所謂的“上古神獸”炸出來(lái)不少,Kaggle 比較牛的那些人玩的時(shí)間長(zhǎng)了,興趣不大,已經(jīng)不太愛在平臺(tái)上出現(xiàn)。Kaggle榜單前10名里有7名參加TalkingData 的比賽,前20名中有14名。是的,中國(guó)就是個(gè)神秘的國(guó)度……
3.最后有70多個(gè)國(guó)家的參賽選手提交了結(jié)果,選手最多的不是中國(guó)……是美國(guó)。那第二呢?第二依然不是中國(guó),是印度,第三才是中國(guó),含臺(tái)灣、香港地區(qū),第四是俄羅斯,第五是英國(guó)。
4.在 kaggle 的 TalkingData 大賽社區(qū)里,由于數(shù)據(jù)來(lái)自中國(guó),很多選手需要討論中國(guó)國(guó)情,最熱衷給大家科普中國(guó)國(guó)情特征的是一個(gè)法國(guó)兄弟……
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。