最年轻的Kaggle Master:永远不要复制别人的工作!
Andy Wang,高中新生,學(xué)習(xí)經(jīng)驗總結(jié)
有些人可能會覺得數(shù)據(jù)科學(xué)和機器學(xué)習(xí)這兩個術(shù)語令人生畏,認為它們需要專業(yè)技能才能成功。盯著無窮無盡的代碼,可能會讓人不知所措。
Kaggle是許多人開始數(shù)據(jù)科學(xué)的地方,在這篇文章中,將分享Andy(14歲)是如何成為最年輕的Kaggle Master。
個人介紹
我是 Andy Wang,一名高中新生,對數(shù)學(xué)、人工智能和計算機科學(xué)有著濃厚的興趣。我在Kaggle上學(xué)習(xí)和提高我的技能,獲得了2枚銀牌和1枚金牌。
幾年前,我開始對數(shù)學(xué)產(chǎn)生興趣,并開始學(xué)習(xí)比我在學(xué)校自學(xué)的更高級的主題。不久之后,我開始研究編程,因為我從小就對計算機科學(xué)著迷。
通過關(guān)鍵詞搜索我找到了幾門教授 Python和基本編碼概念的課程。不久,我開始自己編程,使用回溯算法制作小項目,例如數(shù)獨求解器。
我是如何進步和學(xué)習(xí)的
我對編程和機器學(xué)習(xí)概念的了解主要來自互聯(lián)網(wǎng)。有疑問時,互聯(lián)網(wǎng)是最好的老師 。沒有學(xué)校教授數(shù)據(jù)科學(xué)或神經(jīng)網(wǎng)絡(luò),如果我想在 Kaggle 上取得成功,我就靠自己了。
隨著學(xué)習(xí)資源的增加,人們不知道從哪里開始或如何學(xué)習(xí)。因為“數(shù)據(jù)科學(xué)”和“機器學(xué)習(xí)”相關(guān)的領(lǐng)域太多,精通每個類別幾乎是不可能的。對于像我這樣的初學(xué)者,您需要找到自己感興趣的東西,并充分挖掘它所能實現(xiàn)的潛力。
數(shù)學(xué)是一切的基礎(chǔ),線性代數(shù)和微積分是機器學(xué)習(xí)中使用的兩個最重要的數(shù)學(xué)概念。幾乎所有的機器學(xué)習(xí)算法都以某種方式與這兩個領(lǐng)域相關(guān)。數(shù)據(jù)以向量和矩陣的形式表示和處理。因此需要了解矩陣的基本運算。
在了解了基礎(chǔ)知識后,我開始著手編寫代碼。憑借面向?qū)ο缶幊?OOP) 和 Python的基本知識,我找到了一些在線課程,這些課程教會了我機器學(xué)習(xí)中常用的所有庫。
一點一滴的學(xué)習(xí),一開始學(xué)到的知識,將來可以輕松積累成復(fù)雜的東西。
Andy最開始參加了使用回歸技術(shù)預(yù)測房價的初學(xué)者競賽。我發(fā)現(xiàn)我學(xué)到的東西遠遠不夠。我最缺的是經(jīng)驗。最好的學(xué)習(xí)方法是通過失敗和嘗試新事物。
然后參加了Mechanism of Action 比賽,通過在論壇、Notebook完成快速學(xué)習(xí),最后取得了前4%的成績。然后Andy又參加了兩場比賽,又獲得了銀牌和第一枚金牌。
我的Kaggle解題流程
從我參加的比賽中,我遵循了一個通用的流程,它不僅可以組織工作,還可以有效地產(chǎn)生有意義的結(jié)果。
仔細閱讀數(shù)據(jù)描述和概述。如果可能,可以嘗試探索領(lǐng)域知識。
在閱讀任何論文、討論或Notebook之前,嘗試自己創(chuàng)建一個基線。這有助于在將您的思想鎖定在其他人所說的內(nèi)容之前產(chǎn)生全新的想法。
建立可行的交叉驗證策略并提交到排行榜。確保您的CV策略也適用于 LB,這一點很重要。
閱讀,閱讀和學(xué)習(xí)!充分探索與該主題相關(guān)的論文,在論壇和筆記本中尋找靈感。
開始在模型方面或功能方面調(diào)整基線。一次只調(diào)整一件事,所以你知道是什么導(dǎo)致模型改進/表現(xiàn)更差。
盡可能多地探索新方法,不要在行不通的事情上糾纏太久。
如果其他一切都讓你失望,模型集成是最穩(wěn)定的改進方式。
選擇具有良好 CV 分數(shù)的提交。
我學(xué)習(xí)到的知識
特征選擇刪除不重要的特征,有助于減少數(shù)據(jù)中的噪聲。在 Mechanism of Action 競賽期間,論壇和討論帖中的方法對我們設(shè)計的模型沒有幫助。在這種情況下,不要害怕深入研究并閱讀論文。由于我處理的案例多標(biāo)簽分類并不常見,因此我找不到任何簡單的教程。我找到了一篇論文,旨在比較使用問題轉(zhuǎn)換的多標(biāo)簽特征選擇。
閱讀研究論文似乎令人生畏,但能夠瀏覽它們并從長頁技術(shù)術(shù)語中掌握關(guān)鍵詞是一項至關(guān)重要的技能。對于像我這樣的初學(xué)者來說,試圖理解你遇到的每一篇論文的每一個細節(jié)是不可能的。只有當(dāng)我找到我需要和將使用的論文時,我才會嘗試理解論文中的每一個單詞和引用。
將模型調(diào)整為具有非線性拓撲結(jié)構(gòu)或為表格數(shù)據(jù)構(gòu)建類似 ResNet 的結(jié)構(gòu)化網(wǎng)絡(luò)不僅在 MoA 競賽中獲得了一些驚人的結(jié)果,而且在接下來的 Jane Street Market Prediction 中也獲得了一些驚人的結(jié)果,我們在其中排名第16。
探索不同類型的自動編碼器,例如去噪、變分和稀疏編碼器,可以為您的數(shù)據(jù)帶來令人驚訝的變化,而不僅僅是簡單的特征工程和選擇可以實現(xiàn)的。
模型融合。組合不同模型的結(jié)果可以為您的解決方案增加多樣性,從而使其更加穩(wěn)健和穩(wěn)定。無論什么建模技巧奏效,合奏總是我在比賽中的“最后手段”。
始終關(guān)注新論文并探索論壇中提到的內(nèi)容之外的內(nèi)容。調(diào)整激活函數(shù)(嘗試swish而不是 ReLU)和優(yōu)化器(嘗試AdaBelief而不是 Adam 等)之類的小東西可能只會從模型中擠出一些性能。
跳出框框思考!使用一維CNN對表格數(shù)據(jù)進行特征提取。或者使用DeepInsight,將表格數(shù)據(jù)轉(zhuǎn)換為圖像,利用 CNN 的優(yōu)勢。
不要沉迷于現(xiàn)在的工作,繼續(xù)前進并花更多時間探索可以帶來改進的新事物。
參加 Kaggle 比賽并獲得獎牌并非易事,但通過正確的學(xué)習(xí)方法和工具,這個過程可以變得更容易。
檢查討論帖子和閱讀公共筆記本非常有幫助。每天都有新想法出現(xiàn),我通過論壇中提到的論文和筆記本中使用的庫了解了一些最新且引人入勝的模型和工具。其中之一是TabNet,這是一種通過使用順序注意將特征選擇合并到模型中來對表格數(shù)據(jù)進行建模的新方法。這個模型讓我在 MoA 比賽中獲得銀牌。
最后,擁有穩(wěn)定而強大的管道對于在最終的私人排行榜中取得出色表現(xiàn)最為關(guān)鍵。浪費時間過度擬合以在公共排行榜中獲得額外的 0.0001 是沒有意義的。始終相信您當(dāng)?shù)氐慕徊骝炞C分數(shù),因為訓(xùn)練數(shù)據(jù)量大于公共排行榜的數(shù)據(jù)量。
只是按復(fù)制粘貼對學(xué)習(xí)或贏得比賽沒有幫助。我在 Kaggle 中最重要的座右銘是永遠不要復(fù)制別人的工作,我可以從他們的想法中得到啟發(fā),甚至使用他們的建模方法,但我從不提交其他人的工作作為我的解決方案。
在接觸新事物時,我養(yǎng)成了查找所有我不理解的東西的習(xí)慣,直到我可以自信地向其他人解釋這個主題。
一起交流
想和你一起學(xué)習(xí)進步!『NewBeeNLP』目前已經(jīng)建立了多個不同方向交流群(機器學(xué)習(xí) / 深度學(xué)習(xí) / 自然語言處理 / 搜索推薦 / 圖網(wǎng)絡(luò) / 面試交流 /?等),名額有限,趕緊添加下方微信加入一起討論交流吧!(注意一定o要備注信息才能通過)
-?END?-
達摩院李雅亮:大規(guī)模預(yù)訓(xùn)練模型的壓縮和蒸餾
2021-12-24
周志華教授:關(guān)于深度學(xué)習(xí)的一點思考
2021-12-25
NLP 預(yù)訓(xùn)練家族再思考
2021-12-22
淺談 NLP 細粒度情感分析(ABSA)
2021-12-13
總結(jié)
以上是生活随笔為你收集整理的最年轻的Kaggle Master:永远不要复制别人的工作!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: visio2003字号与word中的字号
- 下一篇: 推荐一个免费内网穿透穿软件(附带一个gi