大數據文摘出品
來源:medium
編譯:Fisher
很多人認為學習數據科學是一個線性過程。事實上,它是個有些凌亂的發展過程,更像是一系列平臺期構成的。
普遍以為的學習曲線vs真實的學習曲線
幸運的是,已經有一個相當不錯的一般性的學習模型,解釋了這些平臺期是如何起作用的。這個模型是Noel Burch在20世紀70年代創造的,又由Robert Greene在《Mastery》一書中進行了擴充。
根據這個模型的框架,我們的學習要經歷五個階段:從無意識的未掌握,到有意識的未掌握,到有意識的掌握,到無意識的掌握,最後是精通。學習數據科學同樣遵循這個過程。
Noel Burch和Robert Greene提出的學習五階段
在這篇文章裡,作者會在數據科學的語境下解釋學習的每個階段,並將談談他在每個階段的經驗,以及發現的一些捷徑——從一個階段突破瓶頸到下一階段的最快方法。
階段一:無意識且未掌握(完全新手期)
在這個級別,你剛剛開始進入數據科學領域。你幾乎沒有什麼編程或統計學方面的經驗。這個階段的學習者一般會過度自信。很多人認為學一兩門課程就能掌握這個領域。
這也是我剛出校門時的感覺。有幾門經濟學課程打底,我覺得自己已經準備好進入體育分析領域了。學習數據科學只是順理成章的下一步。從高處俯瞰,這個領域似乎很簡單:你只需要找到數據中的趨勢以獲得一些洞察,簡單吧?
不用說,我完全想錯了。開始學習編程後,我陷入了無望的迷茫當中。我開始整合自己需要學習的所有各種概念,而這個任務有時簡單,有時極度艱巨。
為了從階段一進入階段二,你需要初步理解什麼是數據科學,掌握它需要懂得哪些編程和數學概念。我推薦看一些YouTube視頻、接觸一些Python編程來達到這種理解。
階段二:有意識但未掌握(畏懼期)
一旦你開始覺得編程和數學的世界大到讓人不知所措,你已經到了第二階段。在這個階段,很多人都會卡住,甚至放棄。此時,你開始知道數據科學的水有多深。要學的東西太多了,不知道從哪下手。
走通這個階段的關鍵,是把數據科學分解成若干小步。你需要從某處開始。在最基本的層面上,你需要懂一些編程(Python或者R)和簡單的統計學。找一些在線資源來了解這些方面。我推薦學一些免費的編程或數據科學課程(kaggle.com的微課程是我的最愛)。
在這個階段緩解我的不知所措的,是我關於自己為什麼要學習這個領域的思考。我腦海裡有一個具體的項目。我想要構建一個模型,來改進我當時在玩的daily fantasy sports的結果。如果我只專注於建模所必需的技能,我就可以讓數據科學顯得範圍小很多,也更可控。
註:daily fantasy sports,是一種虛擬和現實結合的體育遊戲,玩家可以扮演球隊經理,選擇真實球員組成自己的球隊,球隊積分根據球員在真實世界中的比賽表現來判定。
要想進入下一階段,我建議就一個具體問題進行開發和打磨,這樣可以讓你的學習範圍更小。相較於學習整個的數據科學領域,了解完成單個的項目需要學什麼是更容易的。做一個小項目也沒有「學習python」或者「學習統計學」那麼令人生畏,因為後者過於寬泛和模糊。在早期階段,你真的只要有編程和統計學的基礎知識就可以進行數據科學的實踐。如果你能做幾個小項目,你就順利上路了。
我也建議你在kaggle上研究一下別人的代碼。你可能完全看不懂,但是不要慌。漸漸地,你會開始能理解它們,而讀大量代碼就是這個過程的起點。把你看到但不懂的術語、包和算法列個清單。每天研究其中的幾個,嘗試把它們弄明白。你會驚訝於你在幾周內就能走出很遠。
階段三:有意識的掌握(輕度危險期)
至此,你已經做了幾個不同的項目,在這些項目中,你已經學會了如何實現具體的算法。你現在有了一些可以參考的代碼!
當我處於該階段時,我收集了所有我常用的代碼片段,把它們放到一個主文檔中。我不必記住每一件事怎麼做,只要參考這個「怪物」文檔就可以了。這使我能夠以更快的速度完成更多的項目。你可能覺得這像作弊,但我認為此時應專注於實現,而非語法。你應該儘可能多做一些項目,好用上你在研究中遇到的所有各種算法。
在應用過這些概念之後,你應該去了解它們的工作原理。在這個階段,我開始讀研究生了。在我修的課程裡,我們被要求從零開始編寫大部分算法。我認為這對所有的數據科學家而言都是非常好的實踐。雖然我在用matlab編寫一個神經網絡時留下了一點「心理創傷」,但這絕對值得。正是通過編寫這些算法,你開始了解各種不同方法所需要的輸入和約束條件,以及它們的局限性。
從第三階段走到第四階段沒有訣竅。能讓你跨過門檻的是練習,持續的練習。
階段四:無意識的掌握(開竅期)
當你到達階段四時,你知道遇到問題怎麼做了。你不必再參考你的「怪物」代碼庫,你可以開始專注於優化你的問題解決方案。此時,你將專業技能和行業直覺與你的工作相結合,為你面對的挑戰創造出最優解。
我相信,這才是數據科學的藝術得以發揮的地方。你不再只是專注於解決一個問題,而是要創造一個優雅而可持續的解決方案。你把更多的時間花在關鍵特徵選取、模型參數調節和項目的最終部署上。你也會與業務的相關方更緊密地合作,以確保你提供的服務發揮其最佳效果。
我覺得自己仍在第三階段和第四階段之間不斷徘徊。
階段五:精通(貢獻期)
在這個層次,你已接近於精通該領域的某些方面。就數據科學而言,我不認為有人真的可以掌握整個學科。但是你能通過發現新算法或新的解決問題的方法來推動領域的前進。
這個階段帶有虛幻色彩,我認為很少有人能達到這個高度。我想說的是,這一類的人大部分被吸引到學術界,更注重研究,而非業務的具體實現。
最後的一些想法
我希望這個框架能幫助你用新的視角來評估自己的數據科學學習之旅。我也希望它能給你一份紮實的路線圖,讓你的數據科學知識更上一層樓。根據我的體驗,學習數據科學是個漫長的過程,但也是個令人愉快的過程。
相關報導:
https://towardsdatascience.com/the-stages-of-learning-data-science-3cc8be181f54