如果能重來,我選擇這樣學習資料科學……

讀芯術發表於2020-10-07

全文共6131字,預計學習時長16分鐘

 

如果能重來,我選擇這樣學習資料科學……

圖源:unsplash

筆者非技術背景出身,因此在開始資料科學生涯時,或多或少是自己在單打獨鬥的。我花了大量的時間瞭解應該從哪裡開始,首先學習什麼,以及利用哪些資源。

 

在過去的兩年裡,筆者學到了一些希望有人能早早教導我的事情,比如應該首先關注程式設計還是統計,應該利用什麼資源學習新技能,以及如何學習新技能等等。因此,本文旨在為那些正在資料科學道路上迷茫徘徊的人提供一些指導和見解。

 

一名有抱負的資料科學家通常會希望能完全理解各種機器學習演算法、資料科學思想等的概念和細節。

 

因此,筆者建議在學習機器學習演算法或資料科學應用程式之前先從構建區塊開始。如果對微積分和積分、線性代數和統計都沒有基本的瞭解,那麼你將很難理解各種演算法背後的機制。同樣,如果對Python沒有基本的瞭解,那麼你將很難在現實中應用所學知識。

如果能重來,我選擇這樣學習資料科學……

 

數學‍和統計‍‍

 

和任何事情一樣,在接觸到有趣的內容之前首先要學習基礎知識。請相信筆者,在學習機器學習演算法之前先掌握數學和統計學的話,將會輕鬆許多。筆者推薦你回顧一下三個主題:微積分/積分、統計和線性代數(順序不限)。

 

1.積分

 

當涉及概率分佈和假設檢驗時,積分是必不可少的。雖然不必要成為此領域的專家,但學習積分的基本原理益處多多。

 

下面這些資源,前兩篇文章的適用物件是那些想要了解什麼是積分或那些只需要複習的人。如果你對積分一無所知,筆者建議學習可汗學院的課程。最後,還可以通過連結裡的練習題來磨練技能。

 

· 積分入門(文章)

https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fan-integrals-crash-course-for-data-science-cf6e6dd7c046

 

· AP微積分速成課程 (文章)

https://www.albert.io/blog/how-to-solve-integrals-ap-calculus-crash-course/

 

· 可汗學院:積分學 (課程)

https://www.khanacademy.org/math/integral-calculus

 

· 練習題 (從第六單元開始)

https://www.albert.io/ap-calculus-ab-bc?utm_source=blog&utm_medium=blog&utm_campaign=ap-calculus

 

2.統計

 

你應該投入大部分的時間學習統計。畢竟,資料科學家實際上是現代統計學家,而機器學習是統計學的現代術語。

 

如果有時間,筆者建議你去學習佐治亞理工學院的“統計方法”課程,它涵蓋了概率基礎、隨機變數、概率分佈、假設檢驗等。(https://mediaspace.gatech.edu/playlist/dedicated/74258101/1_g5xwvbde/1_iw8fk73m)

 

如果沒有時間學習上述課程,筆者建議你務必要去看一下可汗學院關於統計學的視訊。(https://www.khanacademy.org/math/statistics-probability)

 

3.線性代數

 

如果你想繼續深入學習,線性代數特別重要。但除此之外,瞭解其他基本的機器學習概念,如主成分分析和推薦系統,也是有好處的。關於線性代數,筆者還是推薦可汗學院!

如果能重來,我選擇這樣學習資料科學……

圖源:unsplash

如果能重來,我選擇這樣學習資料科學……

 

程式設計基礎‍‍‍

 

程式設計的重要性也十分重要,對程式設計有基本的瞭解將使工作變得更簡單,特別是在實踐時。因此,筆者建議在深入研究機器學習演算法之前,花點時間學習基本的SQL和Python。

 

1.SQL

 

先學習Python還是SQL完全取決於自己,但如果要問筆者,我會從SQL開始。為什麼?因為如果你所在的公司從事資料工作,即使你不是資料科學家,學習起來也很容易,而且很有用。

 

如果完全不熟悉SQL,筆者建議閱讀Mode的SQL教程,因為它非常簡潔並且全面。(https://mode.com/sql-tutorial/introduction-to-sql/)

 

如果想學習更高階的概念,可以檢視筆者的資源列表,在你可以學習進階的SQL。(https://towardsdatascience.com/6-incredible-resources-to-learn-advanced-sql-364fe0889dcd)

 

下面是一些可以用於實踐SQL的資源:

 

· leetcode

https://leetcode.com/problemset/database/

· hackerrank

https://www.hackerrank.com

· 案例研究

https://docs.google.com/document/d/1_-pPj_HusumXskhsXFOccimhDSloWkAyEdCOxv7mZFY/edit#heading=h.sspk8oxbveqv

 

2.Python

 

筆者從Python開始學習程式設計的,而且很可能會在餘下的職業生涯中堅持使用Python。就開源貢獻而言,它遙遙領先,而且學習起來簡單,你可以把它和R語言一起學。

就我個人而言,筆者發現通過“實踐”來學習Python更有幫助。話雖如此,體驗過幾個Python速成課程之後,筆者發現以下課程是最全面的,而且免費!

 

· Python程式設計入門-佐治亞理工學院

https://www.edx.org/professional-certificate/introduction-to-python-programming

 

3.Pandas

 

可以說,Python中需要了解的最重要的庫是Pandas,它專門用於資料操作和分析。下面的兩項資源,掌握起來會很快。第一個連結是使用Pandas的教程,第二個連結提供了許多練習題,可以使用它們來鞏固你學到的知識:

 

· 與Kaggle一起學習Pandas

https://www.kaggle.com/learn/pandas

· 使用習題練習Pandas

https://github.com/guipsamora/pandas_exercises

如果能重來,我選擇這樣學習資料科學……

 

機器學習演算法‍和概念

 

如果能重來,我選擇這樣學習資料科學……

圖源:unsplash

如果已經到了這一步,意味著你已經打下了基礎,準備好學習有趣的東西了。這一節將分為兩個部分:機器學習演算法和機器學習概念。

 

1.機器學習演算法

 

接著你可以瞭解各種機器學習演算法,以及它們的工作原理和使用方法了!

 

· 線性迴歸

 

佐治亞理工學院:

https://www2.isye.gatech.edu/~sman/courses/6739/SimpleLinearRegression.pdf

 

StatQuest:

https://www.youtube.com/watch?v=nk2CQITm_eo&ab_channel=StatQuestwithJoshStarmer

 

· 邏輯迴歸——StatQuest

https://www.youtube.com/watch?v=yIYKR4sgzI8&ab_channel=StatQuestwithJoshStarmer

 

· k近鄰演算法——MIT

https://www.youtube.com/watch?v=09mb78oiPkA&ab_channel=MITOpenCourseWare

 

· 決策樹——StatQuest

https://www.youtube.com/watch?v=7VeUPuFGJHk&ab_channel=StatQuestwithJoshStarmer

 

· 樸素貝葉斯

 

Terence Shin:

https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fa-mathematical-explanation-of-naive-bayes-in-5-minutes-44adebcdb5f8

 

Luis Serrano:

https://www.youtube.com/watch?v=Q8l0Vip5YUw&ab_channel=LuisSerrano

 

· 支援向量機

 

SVM教程:

https://www.svm-tutorial.com/2014/11/svm-understanding-math-part-1/

 

Alice Zhao:

https://www.youtube.com/watch?v=N1vOgolbjSc&ab_channel=AliceZhao

 

· 神經網路——Terence Shin

https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fa-beginner-friendly-explanation-of-how-neural-networks-work-55064db60df4

 

· 隨機森林——StatQuest

https://www.youtube.com/watch?v=J4Wdy0Wc_xQ&ab_channel=StatQuestwithJoshStarmer

 

· Adaboost演算法

 

Terence Shin:

https://towardsdatascience.com/a-mathematical-explanation-of-adaboost-4b0c20ce4382?source=friends_link&sk=956d985b9578c3d272e3851a53ee822a

 

StatQuest:

https://www.youtube.com/watch?v=LsK-xG1cLYA&t=9s&ab_channel=StatQuestwithJoshStarmer

 

· 梯度提升——StatQuest

https://www.youtube.com/watch?v=3CC4N4z3GJc&t=1s&ab_channel=StatQuestwithJoshStarmer

 

· 極端梯度提升——StatQuest

https://www.youtube.com/watch?v=OtD8wVaFm6E&t=1s&ab_channel=StatQuestwithJoshStarmer

 

· 主成分分析——StatQuest

https://www.youtube.com/watch?v=FgakZw6K1QQ&ab_channel=StatQuestwithJoshStarmer

 

2.機器學習的概念

 

這裡還有一些基本的機器學習概念供你回顧,筆者強烈建議你閱讀下面這些概念,許多面試問題都基於這些主題。

 

· 權衡偏差與方差

https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Funderstanding-the-bias-variance-tradeoff-165e6942b229

 

· 正則化

https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fregularization-in-machine-learning-76441ddcf99a

 

· 混淆矩陣和相關指標

https://towardsdatascience.com/understanding-the-confusion-matrix-and-how-to-implement-it-in-python-319202e0fe4d?source=friends_link&sk=434d5a02fcaec213208c2eeb1174b5c6

 

· AUC和ROC(視訊)

https://www.youtube.com/watch?v=4jRBRDbJemM

 

· 自助抽樣:

https://towardsdatascience.com/what-is-bootstrap-sampling-in-machine-learning-and-why-is-it-important-a5bb90cbd89a

 

· 整合學習、Bagging和Boosting:

https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fensemble-learning-bagging-and-boosting-explained-in-3-minutes-2e6d2240ae21

 

· 標準化vs規範化:

https://www.statisticshowto.com/probability-and-statistics/normal-distributions/normalized-data-normalization/#:~:text=Normalization%20vs.-,Standardization,a%20standard%20deviation%20of%201.

如果能重來,我選擇這樣學習資料科學……

 

資料‍科學‍‍專案‍‍

 

至此,你不僅建立了堅實的基礎,而且對機器學習的基本原理也有了充分的理解。現在是時候做一些個人的業餘專案了。如果想了解一些簡單的資料科學專案的例子,不妨看看下面的專案:

 

· 用分類技術預測葡萄酒質量

https://towardsdatascience.com/predicting-wine-quality-with-several-classification-techniques-179038ea6434

 

· 使用Plotly視覺化冠狀病毒資料

https://towardsdatascience.com/coronavirus-data-visualizations-using-plotly-cfbdb8fcfc3d

 

· 電影協同過濾推薦系統

https://github.com/terenceshin/Recommendation-System

如果能重來,我選擇這樣學習資料科學……

 

圖源:unsplash

其實沒有什麼通用的方法,但是你可以借鑑別人方法來找到適合自己的。希望本文能為你的資料科學職業生涯提供一些指導和幫助,筆者堅信學習基本原理在將來會得到回報。

如果能重來,我選擇這樣學習資料科學……

一起分享AI學習與發展的乾貨

歡迎關注全平臺AI垂類自媒體 “讀芯術”

(新增小編微信:dxsxbb,加入讀者圈,一起討論最新鮮的人工智慧科技哦~)

相關文章