最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

14歲的kaggle Master有哪些比賽經(jīng)驗(yàn)值得借鑒

2021-09-15 18:23 作者:深度之眼官方賬號(hào)  | 我要投稿

其實(shí)寫這篇文章學(xué)姐糾結(jié)了許久,為什么呢?因?yàn)槿斯ぶ悄艿哪承┓较蚨家呀?jīng)很卷了,寫這個(gè)出來(lái)會(huì)不會(huì)讓一部分人覺(jué)得更焦慮。但是轉(zhuǎn)念一想,這篇分享里面主要傳達(dá)的內(nèi)容是,學(xué)習(xí)經(jīng)驗(yàn),學(xué)習(xí)思路。大部分打比賽的人都值得借鑒一下,特別是剛開始學(xué)習(xí)機(jī)器學(xué)習(xí)的同學(xué)們。


現(xiàn)在就讓我們一起來(lái)認(rèn)識(shí)一下這個(gè)少年,學(xué)習(xí)一下他的經(jīng)驗(yàn)。


介紹下Andy


這位在kaggle比賽上拿了2枚銀牌1枚金牌的Andy是一名高中新生,他對(duì)數(shù)學(xué),人工智能和計(jì)算機(jī)科學(xué)有非常大的興趣。他在kaggle上學(xué)習(xí)并利用比賽提高自己的技能。

?


?“數(shù)據(jù)科學(xué)”和“機(jī)器學(xué)習(xí)”這兩個(gè)專業(yè)詞匯給人的感覺(jué)就是需要專業(yè)的技能才能掌握,開始進(jìn)入這兩個(gè)領(lǐng)域會(huì)讓人不知所措,看了代碼,讀了論文,卻不知從何下手。Andy認(rèn)為——Kaggle比賽無(wú)疑是進(jìn)行理論實(shí)踐,提高動(dòng)手能力和進(jìn)一步深入運(yùn)用機(jī)器學(xué)習(xí)領(lǐng)域的好“工具”。



興趣萌芽

最開始Andy是對(duì)數(shù)學(xué)有著非常大的興趣,并且自學(xué)比學(xué)校教授的更高一級(jí)的數(shù)學(xué)知識(shí)。因?yàn)閺男【蛯?duì)計(jì)算機(jī)感興趣,接下來(lái)就他開始研究編程。利用在線課程學(xué)習(xí)了Python和基本編碼概念的課程,然后就開始自己使用回溯算法制作了“數(shù)獨(dú)求解器”這個(gè)小項(xiàng)目。



果然興趣是最好的老師??!


?


但是Andy這個(gè)時(shí)候不知道自己所掌握的知識(shí)還能夠做什么事情,怎么學(xué)習(xí)更深入的知識(shí)。


很多人都有這個(gè)階段,學(xué)姐也有這樣的時(shí)候。


只要你有深入學(xué)習(xí)的想法,老天爺就會(huì)派人來(lái)告訴你怎么做。這時(shí)候Andy的朋友就和他聊到了數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)領(lǐng)域,并讓Andy對(duì)這兩個(gè)領(lǐng)域有了初步的認(rèn)識(shí)。接著Andy找到了kaggle這個(gè)“學(xué)習(xí)平臺(tái)”,他說(shuō):“kaggle擴(kuò)展了我對(duì)當(dāng)前計(jì)算和人工智能技術(shù)的可能性的認(rèn)識(shí)。”


進(jìn)階學(xué)習(xí)

高中沒(méi)有學(xué)校教授數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)概念,Andy想要在kaggle上取得成績(jī)就智能靠自己。Andy對(duì)編程和機(jī)器學(xué)習(xí)概念的了解主要來(lái)自互聯(lián)網(wǎng),他也著重表示說(shuō),有疑問(wèn)時(shí),互聯(lián)網(wǎng)是您最好的老師。


所以當(dāng)大家的程序報(bào)錯(cuò)的時(shí)候,請(qǐng)把報(bào)錯(cuò)復(fù)制到搜索引擎搜索框,也許自己能先嘗試找到答案!



“數(shù)據(jù)科學(xué)”和“機(jī)器學(xué)習(xí)”相關(guān)的領(lǐng)域太多,這導(dǎo)致大多數(shù)同學(xué)不知道從何學(xué)起,因?yàn)橐ㄋ械念悇e是不可能的事情。對(duì)于初學(xué)者Andy的建議是:最重要的是需要找到自己感興趣的東西,并充分探索它潛在的實(shí)現(xiàn)(就是該技術(shù)的現(xiàn)實(shí)應(yīng)用)。


機(jī)器學(xué)習(xí)的不同領(lǐng)域


Andy學(xué)習(xí)數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)的方法

1、數(shù)學(xué)是一切的基礎(chǔ)


線性代數(shù)和微積分是機(jī)器學(xué)習(xí)中使用的兩個(gè)最重要的數(shù)學(xué)概念。幾乎所有的機(jī)器學(xué)習(xí)算法都以某種方式與這兩個(gè)領(lǐng)域相關(guān)。數(shù)據(jù)以向量和矩陣的形式表示和處理。因此,需要了解矩陣的基本運(yùn)算。


機(jī)器學(xué)習(xí)中微積分最常見的用途之一是梯度下降。它是一種算法,旨在通過(guò)使用函數(shù)的梯度迭代地對(duì)全局最小值采取步驟來(lái)最小化目標(biāo)函數(shù)。

(線性代數(shù)、微積分,梯度下降學(xué)習(xí)視頻鏈接放在了文章底部)


2、不能忽略的統(tǒng)計(jì)數(shù)據(jù)


數(shù)據(jù)科學(xué)都是關(guān)于數(shù)據(jù)的。雖然計(jì)算機(jī)可以預(yù)測(cè)數(shù)據(jù)中的某些趨勢(shì),但人類是唯一可以對(duì)其進(jìn)行分析、計(jì)算某些屬性并最終對(duì)數(shù)據(jù)得出結(jié)論的人。數(shù)據(jù)的預(yù)處理和特征工程在很大程度上依賴于統(tǒng)計(jì)。


Andy學(xué)習(xí)統(tǒng)計(jì)學(xué)的方法是從互聯(lián)網(wǎng)上爬取相關(guān)統(tǒng)計(jì)學(xué)文章,篩選并找到合適的在線課程。


3、編寫代碼的思路原則


Andy在了解了基礎(chǔ)知識(shí)后,開始著手編寫代碼。憑借面向?qū)ο缶幊?OOP) 和 Python的基本知識(shí),找到了一些在線課程,利用這些課程學(xué)會(huì)了機(jī)器學(xué)習(xí)中常用的所有庫(kù)。

不要簡(jiǎn)單地遵循所提供的代碼或只懂復(fù)制粘貼,確保能理解所寫內(nèi)容背后的數(shù)學(xué)原理。如果不了解其內(nèi)部工作原理,就不可能充分利用任何東西來(lái)提高技術(shù)能力。

從簡(jiǎn)單的算法開始,比如線性回歸,到更復(fù)雜的算法,比如梯度提升和神經(jīng)網(wǎng)絡(luò)。


Andy:“一點(diǎn)一滴的學(xué)習(xí),一開始學(xué)到的知識(shí),將來(lái)可以輕松積累成復(fù)雜的東西?!?/p>



開始打kaggle比賽

最初Andy以自己對(duì)kaggle的了解為基礎(chǔ)參加了《使用回歸技術(shù)預(yù)測(cè)房?jī)r(jià)的初學(xué)者競(jìng)賽》,里面涉及到的部分知識(shí),Andy已經(jīng)自己在網(wǎng)上找到學(xué)習(xí)過(guò)。但是他發(fā)現(xiàn),以前的知識(shí)來(lái)打初學(xué)者競(jìng)賽也遠(yuǎn)遠(yuǎn)不夠,真正缺的是經(jīng)驗(yàn)。


最好的學(xué)習(xí)方法是通過(guò)失敗和嘗試新事物。Andy開始熟悉kaggle環(huán)境,瀏覽討論和筆記本獲取有關(guān)于這個(gè)比賽的解釋、經(jīng)驗(yàn)分享。當(dāng)作好了比賽準(zhǔn)備的時(shí)候他找到了一個(gè)朋友一起參加了《Mechanism of Action 比賽》。



這也說(shuō)明,如果你是初次打比賽,找個(gè)小伙伴或者找個(gè)起步差不多的人一起會(huì)更容易堅(jiān)持下去。


但是Andy和他的朋友Andre Ye都是比賽新手,論壇里所有看起來(lái)很專業(yè)的代碼和技術(shù)討論讓他們目瞪口呆。他們決定從頭開始,在討論帖的幫助下,在短時(shí)間內(nèi)建立基線。


創(chuàng)新對(duì)于在競(jìng)爭(zhēng)中取得成功很重要。他們翻閱了有關(guān)該問(wèn)題的論文和文章,然后將所獲得的知識(shí)與論壇上提供的方法相結(jié)合,讓他們的解決方案進(jìn)入前4%。


后來(lái),有了更多的經(jīng)驗(yàn),他們又參加了兩場(chǎng)比賽,又獲得了銀牌和第一枚金牌。Andy覺(jué)得結(jié)果對(duì)他們來(lái)說(shuō)是一個(gè)真正的驚喜,非常感謝 Kaggle 社區(qū)指導(dǎo)。


接下來(lái)說(shuō)一說(shuō)Andy在參加比賽時(shí)觀察和學(xué)習(xí)的一些技巧和竅門。


Andy的kaggle競(jìng)賽思路


從我參加的比賽中,我遵循了一個(gè)通用的流程,它不僅可以組織工作,還可以有效地產(chǎn)生有意義的結(jié)果。

  1. 仔細(xì)閱讀數(shù)據(jù)描述和概述。嘗試探索該領(lǐng)域知識(shí)。

  2. 在閱讀任何論文、討論或筆記之前,嘗試自己創(chuàng)建一個(gè)基線。這有助于保持自己的思路不被看到其他人所說(shuō)的內(nèi)容而產(chǎn)生的新的想法擾亂。

  3. 建立可行的交叉驗(yàn)證策略并提交到排行榜。確保CV策略也適用于 LB(很重要)。

  4. 閱讀和學(xué)習(xí)!充分搜集與該主題相關(guān)的論文,在論壇和筆記中尋找靈感。

  5. 開始在模型方面或功能方面調(diào)整基線。一次只調(diào)整一件事,這樣能夠準(zhǔn)確的知道是什么導(dǎo)致模型改進(jìn)/表現(xiàn)更差。

  6. 盡可能多地探索新方法,不要在行不通的事情上糾纏太久。

  7. 如果其他一切都無(wú)法解決問(wèn)題,集成或堆疊是最穩(wěn)定的改進(jìn)方式。

  8. 只選擇具有良好 CV 分?jǐn)?shù)的提交(并確保您知道它為什么表現(xiàn)良好)。

打比賽過(guò)程中的成長(zhǎng)

隨著我參加越來(lái)越多的比賽,從特征工程到神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),我對(duì)一些解決方案的復(fù)雜性感到驚訝。比如下面這個(gè):來(lái)自 RANZCR 競(jìng)賽的驚人第一名解決方案



一般來(lái)說(shuō),機(jī)器學(xué)習(xí)算法只能從信息數(shù)據(jù)中學(xué)習(xí)到相當(dāng)好的東西。但是,在某些情況下,能夠使用與預(yù)期略有不同的算法可能會(huì)有所幫助。例如,使用主成分分析 (PCA)來(lái)減少數(shù)據(jù)的維度,然后將減少的特征連接回原始特征,這種方法幫助我解決了不止一種情況。


特征工程帶來(lái)了特征選擇。刪除不重要的特征有助于減少數(shù)據(jù)中的噪聲。在 Mechanism of Action 競(jìng)賽期間,論壇和討論帖中的方法對(duì)我們?cè)O(shè)計(jì)的模型沒(méi)有幫助。在這種情況下,不要害怕深入研究并閱讀論文。


由于我處理的案例多,標(biāo)簽分類并不常見,因此我找不到任何簡(jiǎn)單的教程。我找到了一篇論文,旨在比較《使用問(wèn)題轉(zhuǎn)換的多標(biāo)簽特征選擇》。(論文鏈接在文章末尾)


如何閱讀論文&培養(yǎng)創(chuàng)造力

論文

提起讀論文總是讓人又愛又恨,但是能夠?yàn)g覽它們并從一長(zhǎng)頁(yè)的技術(shù)術(shù)語(yǔ)中掌握關(guān)鍵字是一項(xiàng)關(guān)鍵技能。


對(duì)于初學(xué)者來(lái)說(shuō),試圖理解每一篇論文的每一個(gè)細(xì)節(jié)是不可能的。只有當(dāng)找到需要和將使用的論文時(shí),才會(huì)嘗試?yán)斫庹撐闹械拿恳粋€(gè)單詞和引用。


創(chuàng)造力


在建模過(guò)程中,Andy學(xué)到的是創(chuàng)造力。不僅在模型結(jié)構(gòu)中,而且要跳出框框思考模型如何從根本上處理不同類型的數(shù)據(jù)。

  • 將模型調(diào)整為具有非線性拓?fù)浣Y(jié)構(gòu)或?yàn)楸砀駭?shù)據(jù)構(gòu)建,類似 ResNet 的結(jié)構(gòu)化網(wǎng)絡(luò)不僅在 MoA 競(jìng)賽中獲得了一些驚人的結(jié)果,而且在接下來(lái)的 Jane Street Market Prediction 中也獲得了一些驚人的結(jié)果,其中我們?cè)谄渲信琶?16 4.2k 團(tuán)隊(duì)。


  • 探索不同類型的自動(dòng)編碼器,例如去噪、變分和稀疏編碼器,可以為您的數(shù)據(jù)帶來(lái)令人驚訝的變化,而不僅僅是簡(jiǎn)單的特征工程和選擇可以實(shí)現(xiàn)的。


  • 組合不同模型的結(jié)果可以為解決方案增加多樣性,從而使其更加穩(wěn)健和穩(wěn)定。無(wú)論什么建模技巧奏效,比賽期間,集合總是我的“最后手段”。


  • 始終關(guān)注新論文并探索論壇中提到的內(nèi)容之外的內(nèi)容。調(diào)整激活函數(shù)(嘗試swish而不是 ReLU)和優(yōu)化器(嘗試AdaBelief而不是Adam等)之類的小東西可能會(huì)從模型中擠出一些性能。


  • 跳出原有的框架思考,比如使用一維CNN對(duì)表格數(shù)據(jù)進(jìn)行特征提取,或者使用DeepInsight,將表格數(shù)據(jù)轉(zhuǎn)換為圖像,利用CNN的優(yōu)勢(shì)。

在一場(chǎng)比賽中奏效的策略可能不一定能改善你在另一場(chǎng)比賽中的解決方案。比如,在 Jane Street Market Prediction 挑戰(zhàn)賽期間,我發(fā)現(xiàn)特征工程對(duì)結(jié)果根本沒(méi)有幫助。相反,我發(fā)現(xiàn)了建模的魔力。


要記住的一般經(jīng)驗(yàn)法則:


在這種情況下,不要沉迷于“以前有用”或“為他人工作”的事情,繼續(xù)前進(jìn)并花更多時(shí)間探索可以帶來(lái)改進(jìn)的新事物。


打比賽正確的學(xué)習(xí)方法

參加Kaggle比賽并獲得獎(jiǎng)牌并非易事,但通過(guò)正確的學(xué)習(xí)方法和工具,這個(gè)過(guò)程可以變得更容易。

  • 檢查討論帖子和閱讀公共筆記本非常有幫助,每天都有新想法出現(xiàn)。

    比如:通過(guò)論壇中提到的論文和筆記本中使用的庫(kù)了解了一些最新且引人入勝的模型和工具。其中之一是TabNet,這是一種通過(guò)使用順序注意將特征選擇合并到模型中來(lái)對(duì)表格數(shù)據(jù)進(jìn)行建模的新方法。這個(gè)模型讓Andy在MoA比賽中獲得銀牌。


  • 最后,擁有穩(wěn)定而強(qiáng)大的管道對(duì)于在最終的私人排行榜中取得出色表現(xiàn)最為關(guān)鍵。浪費(fèi)時(shí)間過(guò)度擬合以在公共排行榜中獲得額外的0.0001是沒(méi)有意義的。始終相信您當(dāng)?shù)氐慕徊骝?yàn)證分?jǐn)?shù),因?yàn)橛?xùn)練數(shù)據(jù)量大于公共排行榜的數(shù)據(jù)量。

盡管有所有提示和技巧,但我成功的最重要部分是我一致的modeling pipeline and a stable CV。

對(duì)于一個(gè)強(qiáng)大的CV,設(shè)置本地交叉驗(yàn)證方案時(shí)。以下是我經(jīng)??紤]的幾件事:

  1. 折疊數(shù)>3。使用較小的折疊數(shù),訓(xùn)練分割不足以表示整個(gè)數(shù)據(jù)。


  2. 確保沒(méi)有數(shù)據(jù)泄漏。特別是在時(shí)間序列預(yù)測(cè)等情況下,正常的交叉驗(yàn)證會(huì)引入未來(lái)數(shù)據(jù)的泄漏,應(yīng)使用某種形式的時(shí)間序列拆分。


  3. 當(dāng)目標(biāo)不平衡時(shí)使用分層折疊。分層 KFold 方法試圖在折疊中平均分割目標(biāo)。


  4. 確保你知道為什么事情會(huì)有所改善。這是非常重要的,因?yàn)榻Y(jié)果可能會(huì)受到隨機(jī)種子和其他未知因素的影響。這可能導(dǎo)致看不見的數(shù)據(jù)(私人排行榜)存在重大不確定性。

只是按復(fù)制粘貼對(duì)學(xué)習(xí)或贏得比賽沒(méi)有幫助。Andy的座右銘就是永遠(yuǎn)不要復(fù)制別人的工作,我可以從他們的想法中得到啟發(fā),甚至使用他們的建模方法,但我從不提交其他人已經(jīng)寫好的代碼作為我的解決方案,在接觸新事物時(shí),要養(yǎng)成查找所有自己不理解的東西的習(xí)慣,直到自己能夠向其他人解釋這個(gè)項(xiàng)目。



也許這個(gè)文章不能幫助你拿到kaggle金牌,但是它已經(jīng)給你說(shuō)明了,身為一個(gè)初學(xué)者靠自己怎么做才能進(jìn)入到kaggle比賽,并進(jìn)行學(xué)習(xí),提高,深入了解數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)。


本篇文章的學(xué)習(xí)經(jīng)驗(yàn)流程,大致就是:感興趣——研究——搜索相關(guān)學(xué)習(xí)資料——初步學(xué)習(xí)——思考如何深入——初步了解——查找資料——找到kaggle平臺(tái)——從別人的分享中學(xué)習(xí)——讀論文,學(xué)思路,總結(jié)自己的經(jīng)驗(yàn)——嘗試不同的解決辦法——然后成功。


歡迎關(guān)注【學(xué)姐帶你玩AI】公眾號(hào)

學(xué)習(xí)一定要主動(dòng),要善于利用互聯(lián)網(wǎng),要主動(dòng)去探索,遇到問(wèn)題先自己搜索,視頻,論文,百度,google都是學(xué)習(xí)的工具。

(本文內(nèi)容僅建議,不是必須要按照這個(gè)做,如有用詞不當(dāng),評(píng)論區(qū)可以提出,沒(méi)下班的話會(huì)改)


參考文檔:


https://en.wikipedia.org/wiki/Principal_component_analysis

https://en.wikipedia.org/wiki/Gradient_descent

https://en.wikipedia.org/wiki/Artificial_neural_network

https://en.wikipedia.org/wiki/Gradient_boosting

https://en.wikipedia.org/wiki/Object-oriented_programming

https://en.wikipedia.org/wiki/Linear_regression


線性代數(shù):

https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab


微積分:

https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr


論文:

https://www.sciencedirect.com/science/article/pii/S1571066113000121

https://arxiv.org/abs/1908.07442


其他:

https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/discussion/226633

https://www.kaggle.com/washingtongold

https://www.kaggle.com/andy1010

https://towardsdatascience.com/my-journey-to-kaggle-master-at-the-age-of-14-e2c42b19c6f7


14歲的kaggle Master有哪些比賽經(jīng)驗(yàn)值得借鑒的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
仙桃市| 靖边县| 且末县| 灵石县| 宣威市| 德惠市| 永仁县| 芒康县| 昆明市| 泰顺县| 蒙自县| 赣州市| 五台县| 天长市| 彭泽县| 灌云县| 中阳县| 乐安县| 杂多县| 定兴县| 中卫市| 武冈市| 依安县| 罗山县| 民县| 囊谦县| 陈巴尔虎旗| 邹城市| 纳雍县| 万源市| 大姚县| 丰城市| 民勤县| 彩票| 枣强县| 虎林市| 盘锦市| 确山县| 穆棱市| 苍山县| 洞口县|