在Kaggle上赢得大数据竞赛的技巧和窍门
在Kaggle上贏(yíng)得大數(shù)據(jù)競(jìng)賽的技巧和竅門(mén)
解決方案?平臺(tái)?數(shù)據(jù)?應(yīng)用?方法 閱讀1906?原文:The tips and tricks I used to succeed on Kaggle?
作者:Vik Paruchuri?
翻譯:雁驚寒
譯者注:Kaggle是一個(gè)為開(kāi)發(fā)商和數(shù)據(jù)科學(xué)家提供舉辦機(jī)器學(xué)習(xí)競(jìng)賽、托管數(shù)據(jù)庫(kù)、編寫(xiě)和分享代碼的平臺(tái)。本文作者講述了自己在該平臺(tái)上多次贏(yíng)得競(jìng)賽的成功經(jīng)驗(yàn)。以下是譯文。
我曾經(jīng)通過(guò)參加Kaggle的競(jìng)賽來(lái)學(xué)習(xí)機(jī)器學(xué)習(xí)。在2011年,在幾乎不懂?dāng)?shù)據(jù)科學(xué)的情況下,我參加了第一場(chǎng)競(jìng)賽。很快,我就在一場(chǎng)股票交易大賽中獲得了大約一百個(gè)人中的第五名。在接下來(lái)的一年里,我贏(yíng)得了自動(dòng)化論文評(píng)分和債券價(jià)格預(yù)測(cè)的幾場(chǎng)競(jìng)賽,并在其他方面也取得了不錯(cuò)的成績(jī)。
Kaggle競(jìng)賽需要獨(dú)特的技能、運(yùn)氣和團(tuán)隊(duì)合作才能獲勝。各類(lèi)知識(shí)摻雜在一起,因競(jìng)賽類(lèi)型的不同而不同,而且經(jīng)常會(huì)令人感到驚訝。
例如,在人格預(yù)測(cè)競(jìng)賽過(guò)程中,我大部分時(shí)候都是第一或者第二名,但是,由于在特征選擇階段過(guò)度擬合而最終獲得了第十八名。在Kaggle的博客上可以找到在競(jìng)賽結(jié)束時(shí)發(fā)生的那些看似是半隨機(jī)變化的好帖子。
在這篇文章中,我將分享自己在Kaggle競(jìng)賽中獲得成功的訣竅。
堅(jiān)持不懈,持之以恒
要在Kaggle競(jìng)賽中取得成功,首要條件就是堅(jiān)持不懈。當(dāng)你看到第一次提交的排名時(shí),很容易會(huì)產(chǎn)生氣餒的情緒,但你絕對(duì)應(yīng)該繼續(xù)嘗試下去。在一場(chǎng)競(jìng)賽中,我在一個(gè)主題上差不多嘗試了所有的方法。
在我的第一次Kaggle競(jìng)賽,“照片質(zhì)量預(yù)測(cè)”競(jìng)賽中,我最終排在了第50名,我不知道那些頂級(jí)對(duì)手所做的與我做的有什么不同。
然后,我開(kāi)始從競(jìng)賽中總結(jié)經(jīng)驗(yàn)。在我的第二場(chǎng)競(jìng)賽,“算法交易挑戰(zhàn)賽”中,成績(jī)比原先好了一點(diǎn)。
從照片質(zhì)量預(yù)測(cè)到算法交易,影響競(jìng)賽結(jié)果發(fā)生變化的因素正是學(xué)習(xí)和堅(jiān)持不懈。在第一場(chǎng)競(jìng)賽中,我并沒(méi)有花太多的時(shí)間,所以結(jié)果就體現(xiàn)出來(lái)了。
提交錯(cuò)誤答案較多,最終的分?jǐn)?shù)當(dāng)然不會(huì)好。你應(yīng)該在競(jìng)賽的過(guò)程中閱讀盡可能多的文獻(xiàn)(和博客文章等等)。只要你學(xué)到的新東西可以應(yīng)用在競(jìng)賽中,或者從失敗的提交中學(xué)到東西(也許某個(gè)特定的算法或解法并不合適于這個(gè)數(shù)據(jù)),那么,說(shuō)明你已經(jīng)走上正軌。
堅(jiān)持不懈的動(dòng)力來(lái)自于自身內(nèi)部。為了讓自己愿意去學(xué),你必須要問(wèn)自己為什么要參加這么一個(gè)特定的競(jìng)賽。你想要學(xué)習(xí)嗎?你想要通過(guò)一個(gè)較高的名次來(lái)獲得某些機(jī)會(huì)嗎?或者你只是想要證明你自己?jiǎn)?#xff1f;大多數(shù)Kaggle競(jìng)賽的金錢(qián)獎(jiǎng)勵(lì)并不值得消耗大量的時(shí)間,所以,除非你清楚地知道你自己想要什么,如何激勵(lì)自己。對(duì)你來(lái)說(shuō)名次重要嗎?如果不重要,你可以很輕松的學(xué)到一些有趣的東西,這些可能會(huì)也可能不會(huì)影響成績(jī),但是如果你想要得第一名,你就不會(huì)這樣了。
把時(shí)間花在數(shù)據(jù)準(zhǔn)備和特征構(gòu)建上
要取得好的名次,最重要的與數(shù)據(jù)相關(guān)的因素是如何準(zhǔn)備數(shù)據(jù),以及如何構(gòu)建特征。算法的選擇很重要,無(wú)需多言。
你只需要使用直覺(jué)和常識(shí),弄清楚什么是有效的,什么是無(wú)效的。對(duì)競(jìng)賽真正有幫助的是創(chuàng)建一個(gè)好的交叉驗(yàn)證框架,以便得到可靠的誤差估計(jì)。
特征構(gòu)建是數(shù)據(jù)科學(xué)為什么如此有趣、如此有創(chuàng)意,并且與其他一些類(lèi)型的編程有所不同的原因。
不要忽視特定領(lǐng)域的知識(shí)
因?yàn)樘卣鳂?gòu)建是一個(gè)非常特殊的領(lǐng)域,所以,擁有相關(guān)領(lǐng)域的知識(shí)對(duì)競(jìng)賽的幫助很大。
我發(fā)現(xiàn),在競(jìng)賽中,你可以通過(guò)學(xué)習(xí)很快地掌握該特定領(lǐng)域的知識(shí)。例如,當(dāng)我在參加Hewlett基金會(huì)的ASAP大賽時(shí),我學(xué)會(huì)了NLP方法。也就是說(shuō),你需要快速地掌握你原先不了解的相關(guān)領(lǐng)域的特定知識(shí),不然,你就無(wú)法在競(jìng)賽中與別人競(jìng)爭(zhēng)。
明智地挑選你的競(jìng)賽
你應(yīng)該在最開(kāi)始的時(shí)候選擇競(jìng)爭(zhēng)比較弱的競(jìng)賽。研究性競(jìng)賽的競(jìng)爭(zhēng)選手往往要比大獎(jiǎng)賽的少。后來(lái),我發(fā)現(xiàn),經(jīng)常參加更有挑戰(zhàn)性的競(jìng)賽對(duì)我?guī)椭艽?#xff0c;因?yàn)樗仁鼓銓W(xué)習(xí)更多的知識(shí),讓你走出舒適圈。
找一個(gè)好的團(tuán)隊(duì)
形成一個(gè)好團(tuán)隊(duì)至關(guān)重要。在兩個(gè)不同的競(jìng)賽(ASAP和Bond)中,我很幸運(yùn)地能夠與優(yōu)秀的人士合作,我從他們身上學(xué)到了很多。大家往往認(rèn)為存在這兩種人:一種是幾乎總是單獨(dú)工作的人,另一種是幾乎總是在團(tuán)隊(duì)中和其他人一起工作的人。但如果嘗試著把這兩種情況結(jié)合起來(lái),你將收益更多。你可以從團(tuán)隊(duì)工作中學(xué)到很多的東西,但是如果你獨(dú)立工作的話(huà),你可以學(xué)到原本需要依賴(lài)隊(duì)友才能完成的東西。
其他的哲學(xué)
還有一些不是特別重要,但是在競(jìng)賽的時(shí)候需要始終牢記在腦子里的事情。
運(yùn)氣會(huì)起到作用
我以前曾經(jīng)提到過(guò),運(yùn)氣也很重要。例如,在一些競(jìng)賽中,第三和第四名就差了0.001%。在這一點(diǎn)上,很難說(shuō)他們誰(shuí)的方法是更好,但是卻只有其中一個(gè)被認(rèn)為是贏(yíng)家。 我想,這就是Kaggle上的一個(gè)事實(shí)。
不要因?yàn)橐粋€(gè)不了解的主題而放棄競(jìng)賽
機(jī)器學(xué)習(xí)的偉大之處在于,你可以將類(lèi)似的技術(shù)應(yīng)用于幾乎任何問(wèn)題上。你無(wú)需挑選那些熟悉的或者有特別見(jiàn)解的那個(gè)領(lǐng)域問(wèn)題,坦白地說(shuō),獨(dú)立學(xué)一些新知識(shí),做一些新的事情更有意思。當(dāng)你在某一天突然有了一個(gè)好的想法,其他人也許也會(huì)想到,但是他們可能要在到第20天或第60天才會(huì)去實(shí)施。
不要擔(dān)心Kaggle個(gè)人資料
不要因?yàn)槊蔚投鴵?dān)心。有時(shí),你會(huì)看到某個(gè)有趣的競(jìng)賽,但是你可能沒(méi)辦法花太多的時(shí)間在這上面,從而無(wú)法得到一個(gè)好的名次。請(qǐng)不要擔(dān)心這個(gè)。沒(méi)有人會(huì)以名次取人!
對(duì)你來(lái)說(shuō),更重要的是從準(zhǔn)備答案的過(guò)程中獲得經(jīng)驗(yàn)學(xué)到知識(shí),而不是擔(dān)心你個(gè)人資料中的名次會(huì)怎么樣。
獲勝的條目是由許多小步驟組成的
每個(gè)獲勝的Kaggle條目都是由數(shù)十個(gè)小的見(jiàn)解組成。如果你做到了上面所有這些,不斷地學(xué)習(xí),并且不斷地迭代你的解決方案,你就會(huì)做得更好。
不要停止學(xué)習(xí)
有數(shù)百篇Kaggle教程和文章,還有數(shù)千篇有關(guān)機(jī)器學(xué)習(xí)的文章、書(shū)籍和資源。不要停止學(xué)習(xí),不要害怕使用Google來(lái)回答你的問(wèn)題。
此外,Kaggle論壇是一個(gè)很好的資源,KaggleNoobs社區(qū)也不錯(cuò)。
最后,令人驚嘆的Eliot Andres維護(hù)了一個(gè)可搜索和可排序的Kaggle過(guò)去所有解決方案的匯總。一旦你要準(zhǔn)備參加競(jìng)賽,你可以從中了解到獲勝者們是如何做的:Kaggle過(guò)去的解決方案。
總結(jié):堅(jiān)持和學(xué)習(xí)
強(qiáng)調(diào)的兩個(gè)主要觀(guān)點(diǎn)是堅(jiān)持和學(xué)習(xí)。這兩個(gè)概念可以很好的體現(xiàn)出我在Kaggle的經(jīng)歷,即使沒(méi)有贏(yíng)得競(jìng)賽,只要你學(xué)到了一些東西,你所花的時(shí)間就是值得的。
如果你有興趣開(kāi)始使用Kaggle,那么我強(qiáng)烈建議你閱讀Kaggle教程。
在Kaggle上贏(yíng)得大數(shù)據(jù)競(jìng)賽的技巧和竅門(mén)
解決方案?平臺(tái)?數(shù)據(jù)?應(yīng)用?方法 閱讀1906?原文:The tips and tricks I used to succeed on Kaggle?
作者:Vik Paruchuri?
翻譯:雁驚寒
譯者注:Kaggle是一個(gè)為開(kāi)發(fā)商和數(shù)據(jù)科學(xué)家提供舉辦機(jī)器學(xué)習(xí)競(jìng)賽、托管數(shù)據(jù)庫(kù)、編寫(xiě)和分享代碼的平臺(tái)。本文作者講述了自己在該平臺(tái)上多次贏(yíng)得競(jìng)賽的成功經(jīng)驗(yàn)。以下是譯文。
我曾經(jīng)通過(guò)參加Kaggle的競(jìng)賽來(lái)學(xué)習(xí)機(jī)器學(xué)習(xí)。在2011年,在幾乎不懂?dāng)?shù)據(jù)科學(xué)的情況下,我參加了第一場(chǎng)競(jìng)賽。很快,我就在一場(chǎng)股票交易大賽中獲得了大約一百個(gè)人中的第五名。在接下來(lái)的一年里,我贏(yíng)得了自動(dòng)化論文評(píng)分和債券價(jià)格預(yù)測(cè)的幾場(chǎng)競(jìng)賽,并在其他方面也取得了不錯(cuò)的成績(jī)。
Kaggle競(jìng)賽需要獨(dú)特的技能、運(yùn)氣和團(tuán)隊(duì)合作才能獲勝。各類(lèi)知識(shí)摻雜在一起,因競(jìng)賽類(lèi)型的不同而不同,而且經(jīng)常會(huì)令人感到驚訝。
例如,在人格預(yù)測(cè)競(jìng)賽過(guò)程中,我大部分時(shí)候都是第一或者第二名,但是,由于在特征選擇階段過(guò)度擬合而最終獲得了第十八名。在Kaggle的博客上可以找到在競(jìng)賽結(jié)束時(shí)發(fā)生的那些看似是半隨機(jī)變化的好帖子。
在這篇文章中,我將分享自己在Kaggle競(jìng)賽中獲得成功的訣竅。
堅(jiān)持不懈,持之以恒
要在Kaggle競(jìng)賽中取得成功,首要條件就是堅(jiān)持不懈。當(dāng)你看到第一次提交的排名時(shí),很容易會(huì)產(chǎn)生氣餒的情緒,但你絕對(duì)應(yīng)該繼續(xù)嘗試下去。在一場(chǎng)競(jìng)賽中,我在一個(gè)主題上差不多嘗試了所有的方法。
在我的第一次Kaggle競(jìng)賽,“照片質(zhì)量預(yù)測(cè)”競(jìng)賽中,我最終排在了第50名,我不知道那些頂級(jí)對(duì)手所做的與我做的有什么不同。
然后,我開(kāi)始從競(jìng)賽中總結(jié)經(jīng)驗(yàn)。在我的第二場(chǎng)競(jìng)賽,“算法交易挑戰(zhàn)賽”中,成績(jī)比原先好了一點(diǎn)。
從照片質(zhì)量預(yù)測(cè)到算法交易,影響競(jìng)賽結(jié)果發(fā)生變化的因素正是學(xué)習(xí)和堅(jiān)持不懈。在第一場(chǎng)競(jìng)賽中,我并沒(méi)有花太多的時(shí)間,所以結(jié)果就體現(xiàn)出來(lái)了。
提交錯(cuò)誤答案較多,最終的分?jǐn)?shù)當(dāng)然不會(huì)好。你應(yīng)該在競(jìng)賽的過(guò)程中閱讀盡可能多的文獻(xiàn)(和博客文章等等)。只要你學(xué)到的新東西可以應(yīng)用在競(jìng)賽中,或者從失敗的提交中學(xué)到東西(也許某個(gè)特定的算法或解法并不合適于這個(gè)數(shù)據(jù)),那么,說(shuō)明你已經(jīng)走上正軌。
堅(jiān)持不懈的動(dòng)力來(lái)自于自身內(nèi)部。為了讓自己愿意去學(xué),你必須要問(wèn)自己為什么要參加這么一個(gè)特定的競(jìng)賽。你想要學(xué)習(xí)嗎?你想要通過(guò)一個(gè)較高的名次來(lái)獲得某些機(jī)會(huì)嗎?或者你只是想要證明你自己?jiǎn)?#xff1f;大多數(shù)Kaggle競(jìng)賽的金錢(qián)獎(jiǎng)勵(lì)并不值得消耗大量的時(shí)間,所以,除非你清楚地知道你自己想要什么,如何激勵(lì)自己。對(duì)你來(lái)說(shuō)名次重要嗎?如果不重要,你可以很輕松的學(xué)到一些有趣的東西,這些可能會(huì)也可能不會(huì)影響成績(jī),但是如果你想要得第一名,你就不會(huì)這樣了。
把時(shí)間花在數(shù)據(jù)準(zhǔn)備和特征構(gòu)建上
要取得好的名次,最重要的與數(shù)據(jù)相關(guān)的因素是如何準(zhǔn)備數(shù)據(jù),以及如何構(gòu)建特征。算法的選擇很重要,無(wú)需多言。
你只需要使用直覺(jué)和常識(shí),弄清楚什么是有效的,什么是無(wú)效的。對(duì)競(jìng)賽真正有幫助的是創(chuàng)建一個(gè)好的交叉驗(yàn)證框架,以便得到可靠的誤差估計(jì)。
特征構(gòu)建是數(shù)據(jù)科學(xué)為什么如此有趣、如此有創(chuàng)意,并且與其他一些類(lèi)型的編程有所不同的原因。
不要忽視特定領(lǐng)域的知識(shí)
因?yàn)樘卣鳂?gòu)建是一個(gè)非常特殊的領(lǐng)域,所以,擁有相關(guān)領(lǐng)域的知識(shí)對(duì)競(jìng)賽的幫助很大。
我發(fā)現(xiàn),在競(jìng)賽中,你可以通過(guò)學(xué)習(xí)很快地掌握該特定領(lǐng)域的知識(shí)。例如,當(dāng)我在參加Hewlett基金會(huì)的ASAP大賽時(shí),我學(xué)會(huì)了NLP方法。也就是說(shuō),你需要快速地掌握你原先不了解的相關(guān)領(lǐng)域的特定知識(shí),不然,你就無(wú)法在競(jìng)賽中與別人競(jìng)爭(zhēng)。
明智地挑選你的競(jìng)賽
你應(yīng)該在最開(kāi)始的時(shí)候選擇競(jìng)爭(zhēng)比較弱的競(jìng)賽。研究性競(jìng)賽的競(jìng)爭(zhēng)選手往往要比大獎(jiǎng)賽的少。后來(lái),我發(fā)現(xiàn),經(jīng)常參加更有挑戰(zhàn)性的競(jìng)賽對(duì)我?guī)椭艽?#xff0c;因?yàn)樗仁鼓銓W(xué)習(xí)更多的知識(shí),讓你走出舒適圈。
找一個(gè)好的團(tuán)隊(duì)
形成一個(gè)好團(tuán)隊(duì)至關(guān)重要。在兩個(gè)不同的競(jìng)賽(ASAP和Bond)中,我很幸運(yùn)地能夠與優(yōu)秀的人士合作,我從他們身上學(xué)到了很多。大家往往認(rèn)為存在這兩種人:一種是幾乎總是單獨(dú)工作的人,另一種是幾乎總是在團(tuán)隊(duì)中和其他人一起工作的人。但如果嘗試著把這兩種情況結(jié)合起來(lái),你將收益更多。你可以從團(tuán)隊(duì)工作中學(xué)到很多的東西,但是如果你獨(dú)立工作的話(huà),你可以學(xué)到原本需要依賴(lài)隊(duì)友才能完成的東西。
其他的哲學(xué)
還有一些不是特別重要,但是在競(jìng)賽的時(shí)候需要始終牢記在腦子里的事情。
運(yùn)氣會(huì)起到作用
我以前曾經(jīng)提到過(guò),運(yùn)氣也很重要。例如,在一些競(jìng)賽中,第三和第四名就差了0.001%。在這一點(diǎn)上,很難說(shuō)他們誰(shuí)的方法是更好,但是卻只有其中一個(gè)被認(rèn)為是贏(yíng)家。 我想,這就是Kaggle上的一個(gè)事實(shí)。
不要因?yàn)橐粋€(gè)不了解的主題而放棄競(jìng)賽
機(jī)器學(xué)習(xí)的偉大之處在于,你可以將類(lèi)似的技術(shù)應(yīng)用于幾乎任何問(wèn)題上。你無(wú)需挑選那些熟悉的或者有特別見(jiàn)解的那個(gè)領(lǐng)域問(wèn)題,坦白地說(shuō),獨(dú)立學(xué)一些新知識(shí),做一些新的事情更有意思。當(dāng)你在某一天突然有了一個(gè)好的想法,其他人也許也會(huì)想到,但是他們可能要在到第20天或第60天才會(huì)去實(shí)施。
不要擔(dān)心Kaggle個(gè)人資料
不要因?yàn)槊蔚投鴵?dān)心。有時(shí),你會(huì)看到某個(gè)有趣的競(jìng)賽,但是你可能沒(méi)辦法花太多的時(shí)間在這上面,從而無(wú)法得到一個(gè)好的名次。請(qǐng)不要擔(dān)心這個(gè)。沒(méi)有人會(huì)以名次取人!
對(duì)你來(lái)說(shuō),更重要的是從準(zhǔn)備答案的過(guò)程中獲得經(jīng)驗(yàn)學(xué)到知識(shí),而不是擔(dān)心你個(gè)人資料中的名次會(huì)怎么樣。
獲勝的條目是由許多小步驟組成的
每個(gè)獲勝的Kaggle條目都是由數(shù)十個(gè)小的見(jiàn)解組成。如果你做到了上面所有這些,不斷地學(xué)習(xí),并且不斷地迭代你的解決方案,你就會(huì)做得更好。
不要停止學(xué)習(xí)
有數(shù)百篇Kaggle教程和文章,還有數(shù)千篇有關(guān)機(jī)器學(xué)習(xí)的文章、書(shū)籍和資源。不要停止學(xué)習(xí),不要害怕使用Google來(lái)回答你的問(wèn)題。
此外,Kaggle論壇是一個(gè)很好的資源,KaggleNoobs社區(qū)也不錯(cuò)。
最后,令人驚嘆的Eliot Andres維護(hù)了一個(gè)可搜索和可排序的Kaggle過(guò)去所有解決方案的匯總。一旦你要準(zhǔn)備參加競(jìng)賽,你可以從中了解到獲勝者們是如何做的:Kaggle過(guò)去的解決方案。
總結(jié):堅(jiān)持和學(xué)習(xí)
強(qiáng)調(diào)的兩個(gè)主要觀(guān)點(diǎn)是堅(jiān)持和學(xué)習(xí)。這兩個(gè)概念可以很好的體現(xiàn)出我在Kaggle的經(jīng)歷,即使沒(méi)有贏(yíng)得競(jìng)賽,只要你學(xué)到了一些東西,你所花的時(shí)間就是值得的。
如果你有興趣開(kāi)始使用Kaggle,那么我強(qiáng)烈建議你閱讀Kaggle教程。
總結(jié)
以上是生活随笔為你收集整理的在Kaggle上赢得大数据竞赛的技巧和窍门的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深度学习开发环境调查结果公布,你的配置是
- 下一篇: 语音识别真的比肩人类了?听听阿里iDST