卷死我了,14歲就。。。
大家好,我是 Jack。
互聯(lián)網(wǎng)是最好的老師!
現(xiàn)在有很多優(yōu)秀的創(chuàng)作者在網(wǎng)上分享自己的知識和經(jīng)驗。
現(xiàn)在自學(xué)編程,真的太幸福了。
Github、B 站、公眾號有各種各樣優(yōu)秀的創(chuàng)作者,分享開源教程、視頻、文章。
我也是在研究生期間,一路自學(xué)的算法。我也深刻體會到了,只要有毅力,自學(xué)一項新技能,完全沒有問題!
最近,我又迷上了歷史,感覺博古通今的人很厲害,想培養(yǎng)培養(yǎng)自己這方面的能力。
寫代碼之余,我打算閑暇時間,看看《古文觀止》這類的書,學(xué)習(xí)下歷史。

書在路上了,希望自己能堅持住,不要吃灰啊~
雖然,我稱不上多優(yōu)秀,但也做過很多開源教程和教學(xué)視頻。

https://github.com/Jack-Cherish
不過說了這么多,今天要講的主角并不是我自己。
而是一位 14 歲的 Kaggle Master,他的經(jīng)歷很好的詮釋了,互聯(lián)網(wǎng)是最好的老師,這個道理。
有些人可能會覺得數(shù)據(jù)科學(xué)和機器學(xué)習(xí)這兩個術(shù)語令人生畏,認(rèn)為它們需要專業(yè)技能才能成功。盯著無窮無盡的代碼,可能會讓人不知所措。
Kaggle 是許多人開始數(shù)據(jù)科學(xué)的地方,在這篇文章中,將分享 Andy 是如何成為最年輕的 Kaggle Master。
以下是他本人的自述,純英文的文章,本文翻譯成了中文。
作者:Andy Wang
https://towardsdatascience.com/my-journey-to-kaggle-master-at-the-age-of-14-e2c42b19c6f7
個人介紹
我是 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 分?jǐn)?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)我找到我需要和將使用的論文時,我才會嘗試?yán)斫庹撐闹械拿恳粋€單詞和引用。
將模型調(diào)整為具有非線性拓?fù)浣Y(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分?jǐn)?shù),因為訓(xùn)練數(shù)據(jù)量大于公共排行榜的數(shù)據(jù)量。
只是按復(fù)制粘貼對學(xué)習(xí)或贏得比賽沒有幫助。我在 Kaggle 中最重要的座右銘是永遠不要復(fù)制別人的工作,我可以從他們的想法中得到啟發(fā),甚至使用他們的建模方法,但我從不提交其他人的工作作為我的解決方案。
在接觸新事物時,我養(yǎng)成了查找所有我不理解的東西的習(xí)慣,直到我可以自信地向其他人解釋這個主題。
總結(jié)
興趣是最好的老師,只要感興趣,其實不必考慮太過功利的東西。
我也不知道,我一個程序員,突然想看歷史是怎么回事,也不知道看了能對我有啥幫助,但既然來了興趣,索性就學(xué)一學(xué)。
互聯(lián)網(wǎng)有很多優(yōu)質(zhì)的學(xué)習(xí)資源,好好把握,都能學(xué)有所成。
我是 Jack,我們下期見~

推薦閱讀
?? ?這兩個練手項目,我王多魚投了!?? ?我的十八般武器,這波穩(wěn)了!????硬核圖解,再填猛將!
