0
雷鋒網(wǎng) AI 研習(xí)社按:作為全球首屈一指的數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)競(jìng)賽和分享平臺(tái),Kaggle 以其比賽多樣、數(shù)據(jù)集全面、社群活躍的優(yōu)勢(shì)而備受推崇。從學(xué)生到上班族,Kaggle 的用戶(hù)群體范圍極廣。目前,Kaggle 上大量的比賽吸引無(wú)數(shù)人參與,一方面,既能拿到獎(jiǎng)勵(lì),另一方面,也能獲得實(shí)戰(zhàn)經(jīng)驗(yàn)。但由于競(jìng)爭(zhēng)的激烈性,對(duì)于國(guó)內(nèi)選手來(lái)說(shuō),想在榜單上拿到較高名次并不容易。
而在 Kaggle 排行榜上,有一位中國(guó)選手,面對(duì)如此激烈的競(jìng)爭(zhēng),一舉殺入前五,最高排名第三。他就是目前在排行榜上位列第四的 Eureka(Eureka Kaggle 主頁(yè):https://www.kaggle.com/pengyan)。
Eureka 真名燕鵬,目前任職于美團(tuán)點(diǎn)評(píng)。據(jù)雷鋒網(wǎng) AI 研習(xí)社了解,燕鵬 2005 年畢業(yè)于清華大學(xué),當(dāng)時(shí)的研究方向?yàn)橛?jì)算機(jī)視覺(jué)。畢業(yè)十多年的他,最早接觸 Kaggle 卻已經(jīng)到 2014 年了。此前,他毫無(wú)數(shù)據(jù)挖掘類(lèi)比賽的經(jīng)驗(yàn),在加入 Kaggle 后這三年多的時(shí)間內(nèi),他參加四十多場(chǎng)比賽,完成了從一名初級(jí)選手進(jìn)階為高手之路。而作為一名經(jīng)驗(yàn)豐富的做題者,他在美團(tuán)點(diǎn)評(píng)工作期間也經(jīng)歷了角色的轉(zhuǎn)變——由做題人再到出題人。
燕鵬為什么會(huì)在畢業(yè)多年之后選擇 Kaggle 平臺(tái)參加比賽?經(jīng)過(guò)這三年多的比賽,他看到賽事發(fā)生了什么改變,有什么經(jīng)驗(yàn)分享給大家,而他的心態(tài)又發(fā)生了什么改變?對(duì)于出題,他的看法又如何?
下面的幾個(gè)問(wèn)題或許能解答你心中的疑惑。
以下為雷鋒網(wǎng) AI 研習(xí)社對(duì)燕鵬的采訪實(shí)錄,做了不改變?cè)獾木庉嬚怼?/p>
1. 你于 2014 年加入 Kaggle,已經(jīng)參加了上面的四十多場(chǎng)比賽,第一次參加 Kaggle 比賽的原因是什么?是什么吸引著你不斷參加各類(lèi)比賽?
每個(gè)人在做具體工作的時(shí)候,雖然能夠做出一些成績(jī),但是這個(gè)成績(jī)可能無(wú)法全面衡量你在這件事情上的能力。在工作上,可能你還是自己跟自己比,或者是跟之前做這件事的人比,你現(xiàn)在做出來(lái)的東西可能只是比之前做的人好一點(diǎn),或者比自己之前做的好一點(diǎn)。究竟你的數(shù)據(jù)挖掘能力怎么樣,其實(shí)并不能很好地體現(xiàn)出來(lái)。
出于這種考慮,恰好聽(tīng)到這么一個(gè)平臺(tái),我就去 Kaggle 上看了看。在那里,有很多公共數(shù)據(jù),也有一些比較牛的人,通過(guò)與他們不斷交流和競(jìng)賽,就能較好地評(píng)估自己的能力。
在 Kaggle 平臺(tái)上,能夠接觸到各行各業(yè)的問(wèn)題,開(kāi)闊視野。在公共數(shù)據(jù)集上和國(guó)際高手切磋,也能夠?qū)W習(xí)到一些比較實(shí)用的招數(shù)。比賽和研究的區(qū)別,是比賽中的方法一般都是比較有效的,在這個(gè)過(guò)程中也可以不斷優(yōu)化自己對(duì)新問(wèn)題的解決思路。
2. 你參加過(guò)的比賽中,有廣告、交通、金融、教育、醫(yī)療等各式各樣的問(wèn)題,在解決這些問(wèn)題的方法上,是否總結(jié)過(guò)有哪些共性?
就我個(gè)人對(duì)這些比賽的分類(lèi),主要分為挖掘、圖像、語(yǔ)音、NLP 四類(lèi)。
你可以這么理解數(shù)據(jù)挖掘類(lèi)問(wèn)題,除了語(yǔ)音、圖像和 NLP,剩下的所有問(wèn)題,都可以歸結(jié)為此類(lèi)問(wèn)題。例如根據(jù)實(shí)際業(yè)務(wù),做各種各樣預(yù)測(cè)的問(wèn)題(預(yù)測(cè)銷(xiāo)量、點(diǎn)擊率、推薦排序等),都可以定義為數(shù)據(jù)挖掘問(wèn)題?;蛟S我的定義并不準(zhǔn)確,不過(guò)我沒(méi)有想到一個(gè)更好的表達(dá)詞。
這四類(lèi)問(wèn)題需要用到的一些技術(shù)或者技巧,彼此之間可以相對(duì)獨(dú)立,每類(lèi)問(wèn)題都有各自的套路。
對(duì)于數(shù)據(jù)挖掘類(lèi)問(wèn)題來(lái)說(shuō)的話,具體是廣告、交通、金融還是教育,其實(shí)影響不大。主要的共性就是理解數(shù)據(jù),理解問(wèn)題,從數(shù)據(jù)中找到有用的信息用來(lái)預(yù)測(cè),這類(lèi)問(wèn)題勝負(fù)更多的是在特征上。
對(duì)于圖像問(wèn)題,可能就較少涉及到特征了。圖像問(wèn)題現(xiàn)在主要用到深度學(xué)習(xí)的相關(guān)技術(shù),基于深度學(xué)習(xí)做了很多改進(jìn)或者演繹,已經(jīng)完全不需要在特征層面上去做什么了。
像圖像、語(yǔ)音類(lèi)比賽,其實(shí)我目前接觸的還比較少,這種比賽這兩年才開(kāi)始興起。
3. 你提到在數(shù)據(jù)挖掘比賽上面,勝負(fù)更多在特征上,為什么這么說(shuō)呢?在特征上有什么套路?
基本上大家都會(huì)用同樣的一些工具去訓(xùn)練同樣的模型,在模型方面差別很小。所以,模型沒(méi)那么重要。
融合是基于單模型來(lái)的,要是單模型不好,那么很大概率上融合也好不了。此外,融合的套路應(yīng)該也基本上都固定了,但凡常玩的人也都知道。所以,融合基本上達(dá)不到創(chuàng)新,很難出現(xiàn)別人不知道的招。
因此,機(jī)會(huì)還是在特征上,現(xiàn)在只有特征還沒(méi)有一個(gè)通用的標(biāo)準(zhǔn),大家自己做自己的,有可能做出點(diǎn)不一樣的東西。
其實(shí)特征工程主要分兩點(diǎn)。第一點(diǎn):你可能需要了解業(yè)務(wù),從業(yè)務(wù)本身出發(fā),找到一些對(duì)預(yù)測(cè)有幫助的信息和線索。這是基于你對(duì)業(yè)務(wù)的熟悉,對(duì)業(yè)務(wù)的理解出發(fā)的。
第二點(diǎn)就是需要想辦法把這種信息轉(zhuǎn)化成適用于模型的特征。
4. 除了前面在特征工程方面的經(jīng)驗(yàn),有些比賽上,比賽主辦方會(huì)提供原始數(shù)據(jù),在數(shù)據(jù)預(yù)處理階段,你有什么經(jīng)驗(yàn)分享呢?
在比賽中會(huì)遇到這樣的情況,這時(shí)候可能也需要一些方法:
基于對(duì)業(yè)務(wù)的理解,這種相對(duì)比較少一點(diǎn),更多的還是基于數(shù)據(jù)本身。你可以用一些數(shù)據(jù)挖掘中常用的數(shù)據(jù)清理的方法,過(guò)濾異常值,過(guò)濾缺失嚴(yán)重的特征等等。
有時(shí)候做預(yù)處理,最終還是需要一些反饋。比如從數(shù)據(jù)上看,可能需要扔掉某些東西。我們需要去試一試,扔掉這些東西之后,在最終的比賽中,提交的預(yù)測(cè)結(jié)果會(huì)不會(huì)變好?;蛘卟捎靡越Y(jié)果導(dǎo)向的反饋,這樣迭代去往下走。
另外,每個(gè)比賽其實(shí)都有一些自己獨(dú)特的數(shù)據(jù),即使是同樣領(lǐng)域的問(wèn)題,數(shù)據(jù)的分布也可能差別很大。這時(shí)候之前的經(jīng)驗(yàn)可能就不適用當(dāng)前的問(wèn)題,我們必須接受這樣一個(gè)事實(shí),需要針對(duì)數(shù)據(jù)重新去建立問(wèn)題的解決方案。其實(shí)這還是一個(gè)偏實(shí)踐的問(wèn)題,實(shí)踐推動(dòng)著你往前走。
5. 從最開(kāi)始接觸數(shù)據(jù)挖掘類(lèi)比賽到現(xiàn)在,試題主要發(fā)生了哪些改變?
一年前的比賽里面,十個(gè)有八個(gè)都跟數(shù)據(jù)挖掘相關(guān)。不過(guò)目前有一個(gè)趨勢(shì),圖像類(lèi)型的比賽變多,NLP 以及語(yǔ)音相關(guān)的題目也開(kāi)始慢慢出現(xiàn)。
6. 如今選擇比賽的時(shí)候有什么個(gè)人喜好或選擇標(biāo)準(zhǔn)嗎,和最初參賽時(shí)相比,心態(tài)上有哪些變化?
之前更多選擇自己熟悉的領(lǐng)域,比如廣告,主要也是想從中獲取到一些知識(shí),直接用于工作中。目前,我最感興趣的都是我不太熟悉的領(lǐng)域,例如圖像類(lèi)、NLP 類(lèi),這對(duì)我來(lái)說(shuō)也是最難解決,最有挑戰(zhàn)性的。
目前看來(lái),這些比賽其實(shí)殊途同歸,除了廣告類(lèi)的比賽,參加其他方面的比賽也能獲得很多寶貴的經(jīng)驗(yàn),應(yīng)用于實(shí)際工作中。
其實(shí)玩比賽,最主要的目的不是去贏,而是去學(xué),那里面有很好的學(xué)習(xí)資源。比如,你的解決方案最后可能與別人的差距很大,可以看看最后贏的人是怎么解決這個(gè)問(wèn)題的,他的經(jīng)驗(yàn)肯定對(duì)你有幫助。當(dāng)一場(chǎng)比賽結(jié)束之后,前幾名一般都會(huì)分享經(jīng)驗(yàn),你可以結(jié)合自己的經(jīng)驗(yàn),把前幾名的方案融匯到你的知識(shí)框架里去,這樣的話,再玩可能就會(huì)好很多。(目前AI研習(xí)社正在做系列賽事冠軍經(jīng)驗(yàn)分享報(bào)道,感興趣的同學(xué)可以持續(xù)關(guān)注)
7. 看到你有關(guān)注 Kaggle 上的強(qiáng)勁對(duì)手 bestfitting、Giba、KazAnova 等人,對(duì)他們?cè)趺纯??私下有和他們進(jìn)行過(guò)交流嗎?是否有探討過(guò)比賽經(jīng)驗(yàn)等?
Giba 和 KazAnova 常年霸榜,他們幾乎參加過(guò)所有的比賽,經(jīng)驗(yàn)豐富;bestfitting 是最近剛玩 Kaggle 的,一年多就迅速登頂,這也非常驚人。私下里我和他們其實(shí)沒(méi)怎么聯(lián)系過(guò)。之前我有與一些國(guó)際上的大牛合作,也學(xué)到了很多東西,不過(guò)現(xiàn)在他們都玩的比較少了,所以排名不是特別高。
8. 與那些國(guó)際大牛合作,你覺(jué)得他們身上有哪些特質(zhì)值得我們學(xué)習(xí)一下?
那時(shí)候我沒(méi)什么經(jīng)驗(yàn),可以跟著他們學(xué)到很多。后來(lái),經(jīng)驗(yàn)可能就沒(méi)那么重要了。
我有個(gè)比較明顯的感覺(jué),跟國(guó)外大多數(shù)人合作的時(shí)候,大家很愿意分享,比如他做了一個(gè)實(shí)驗(yàn)或者做了一次嘗試,不管成功還是失敗,他都愿意告訴大家。例如我拉一個(gè)群,他會(huì)告訴群里所有的人他的經(jīng)驗(yàn),這樣就會(huì)幫助其他人盡快找到好的方向,避免做些重復(fù)的事情。這是我覺(jué)得他們做的比較好的一點(diǎn)。
國(guó)內(nèi)的問(wèn)題是,大家都喜歡分享成功經(jīng)驗(yàn),有時(shí)候做了一次失敗的實(shí)驗(yàn),他就不會(huì)說(shuō)了,其他人有可能還會(huì)做一個(gè)同樣的失敗實(shí)驗(yàn)——這會(huì)導(dǎo)致成本變高,效率變低。
9. 你現(xiàn)在還會(huì)在 Kaggle 上追求排名嗎?
我玩 Kaggle,一方面是因?yàn)榕d趣,另一方面,kaggle 上有一些我工作中需要的很實(shí)用的東西,它是我的學(xué)習(xí)路徑。
我現(xiàn)在時(shí)間沒(méi)有那么多,也越來(lái)越忙,好成績(jī)基本上是用時(shí)間堆出來(lái)的。Kaggle 上的比賽得分是非線性的,第一名得分特別多,從現(xiàn)在的分差來(lái)說(shuō),我要是拿個(gè)第一,可能我就是總排行第一了,但是需要運(yùn)氣。大家的實(shí)力相差不是那么大,而且很多比賽最后都是小數(shù)點(diǎn)后幾位的競(jìng)爭(zhēng)。
我也沒(méi)有刻意追求排名,我覺(jué)得現(xiàn)在這個(gè)名次也挺好。其實(shí)還有很多在 Kaggle 上的人,他們的能力比我要好,只不過(guò)他們玩的少,所以名次不如我。
10. 在參加這么多場(chǎng)比賽之后,關(guān)于從一個(gè)新手進(jìn)階成高手,有何經(jīng)驗(yàn)分享?
第一,對(duì)比各種比賽平臺(tái),玩 Kaggle 一定是最好的學(xué)習(xí)路徑,因?yàn)?Kaggle 上有很好的分享機(jī)制和氛圍,你能夠跟著其他人的分享一步一步去學(xué)到很多東西,這一定是一個(gè)最好的學(xué)習(xí)路徑和資源。
第二,需要堅(jiān)持。實(shí)際上這些比賽也沒(méi)有多難,很多都是靠經(jīng)驗(yàn)。你多學(xué)、多看、多實(shí)踐,這樣應(yīng)該就會(huì)比較好了。
第三,投入。對(duì)于一場(chǎng)比賽,我現(xiàn)在花的時(shí)間可能比較少,但如果一個(gè)人可以每天堅(jiān)持花 10 個(gè)小時(shí)、8 個(gè)小時(shí),全力以赴去做,到最后應(yīng)該也不會(huì)太差。很多人最后成績(jī)上不去,是因?yàn)橥嬉粌蓤?chǎng)比賽之后,發(fā)現(xiàn)成績(jī)不太好,就不去努力了,但實(shí)際上,你要真想玩,那你就得堅(jiān)持,不斷地去看論壇上的帖子,想想人家是怎么做的,再去改進(jìn)自己的方案,那樣總會(huì)迎來(lái)收獲。
11. 你曾經(jīng)說(shuō)過(guò),想要在 KDD 等比賽上取得高分,數(shù)學(xué)很重要,實(shí)踐也很重要,對(duì)數(shù)據(jù)得敏感。具體來(lái)說(shuō),你是如何提升這些方面的能力的呢?除了參加比賽實(shí)踐,還會(huì)定期看一些相關(guān)論文嗎?如何鍛煉出對(duì)數(shù)據(jù)的敏感度?
我一直比較喜歡 ESL(The Elements of Statistical Learning)那本書(shū),它在業(yè)界也很有名。
這本書(shū)很難看懂,幾個(gè)很牛的大師把他們的經(jīng)驗(yàn)、理解寫(xiě)進(jìn)去了,它跟那種傳授知識(shí)的書(shū)不太一樣的地方是,這里有好多作者本人的見(jiàn)解,我覺(jué)得這是挺不容易的。但這本書(shū)肯定不適合入門(mén),一般來(lái)說(shuō)入門(mén)的話,我比較推薦臺(tái)灣大學(xué)林軒田老師的視頻。 不管是書(shū)還是視頻,都是介紹機(jī)器學(xué)習(xí)基礎(chǔ)原理的,但是現(xiàn)在這個(gè)方向發(fā)展太快,所以要是想能夠快速跟進(jìn)的話,還是需要讀論文。
我現(xiàn)在做的工作大多偏業(yè)務(wù),或者說(shuō)我更多的精力是放在更好地幫助業(yè)務(wù)上,因此對(duì)論文看得也不系統(tǒng),可能在出現(xiàn)一些 case 的時(shí)候去查一查,但從長(zhǎng)遠(yuǎn)來(lái)看,因?yàn)樾袠I(yè)變化特別快,所以還是應(yīng)該去關(guān)注一些最新的東西,系統(tǒng)地看一些論文。
另外對(duì)于數(shù)據(jù)的敏感度,這個(gè)不好說(shuō)。我現(xiàn)在能給的建議是多去 Kaggle 上學(xué)習(xí)。在每個(gè)比賽剛開(kāi)始的時(shí)候,都會(huì)有人做大量的數(shù)據(jù)分析工作,并且分享出來(lái),你可以去看看那些人的思路,這樣也許會(huì)有一點(diǎn)點(diǎn)幫助。
12. 美團(tuán)點(diǎn)評(píng)于 2017 年舉辦了首屆 MDD Cup 算法大賽,要求選手預(yù)估測(cè)試樣本集中訂單的送達(dá)時(shí)長(zhǎng)。你作為命題人,從參賽到命題,思路需要經(jīng)過(guò)那些轉(zhuǎn)換?
這次美團(tuán)點(diǎn)評(píng)的比賽我們有一個(gè)命題組,我只是其中一員,最終的題目以及規(guī)則是大家集體決定的。
本次試題很有特點(diǎn),素材來(lái)自我們外賣(mài)配送的真實(shí)業(yè)務(wù)場(chǎng)景。送達(dá)時(shí)間的預(yù)估問(wèn)題(ETA)環(huán)節(jié)多、影響因素復(fù)雜,是整個(gè)外賣(mài)行業(yè)的難題。首先,這個(gè)問(wèn)題比較重要,有實(shí)際意義,另外,大家能比較容易地了解到這個(gè)問(wèn)題背后的業(yè)務(wù),因?yàn)榇蠖鄶?shù)人都訂過(guò)外賣(mài)。我們提供的數(shù)據(jù)集在特征維度上沒(méi)有做特別的預(yù)處理,這也比較接近于真實(shí)情況。
從命題的角度看,主要就是樣本和評(píng)價(jià)指標(biāo)的選擇,盡可能保證最終比賽的解決方案對(duì)實(shí)際的工作有幫助?;旧纤斜荣惗际莵?lái)自于真實(shí)的業(yè)務(wù)場(chǎng)景和問(wèn)題,但差別在于比賽組織者是否有足夠的經(jīng)驗(yàn),能夠把業(yè)務(wù)問(wèn)題轉(zhuǎn)化成機(jī)器學(xué)習(xí)比賽的問(wèn)題。在這里,如果數(shù)據(jù)處理不合適,或者是有地方?jīng)]注意到,最后拿到的解決方案有可能是完全沒(méi)用的。
因?yàn)槲彝娴谋容^多,可能會(huì)在選題和數(shù)據(jù)選擇上,盡可能規(guī)避掉一些將來(lái)可能會(huì)讓比賽變得沒(méi)用的因素。
在美團(tuán)點(diǎn)評(píng),類(lèi)似的有挑戰(zhàn)的技術(shù)場(chǎng)景很多,歡迎熱愛(ài)技術(shù)的同學(xué)加盟。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。