Machine Learning 入門指南(MOOC版)

2021-02-20 教育無邊界字幕組


如何學習機器學習?哪些資源可以幫助我們?特邀字幕組的一位小夥伴寫下了他的學習經驗,感謝作者的分享,麼麼噠~

(文中所提到的部分課程已經轉換平臺、或者不再上線、或者由免費改為收費,文中內容供小夥伴們參考)

註:MOOC(慕課)——大規模開放在線課程

作者介紹:

Fengari,字幕組暱稱Naplessss,靠譜男青年一枚,現正在帝都深造。

Machine Learning 入門指南(MOOC版)

作者:Fengari

其實一開始我是拒絕的,ML派大神眾多,我這種渣可能連臺階都沒摸到,怎麼敢寫這個....

然而考慮到看這篇文章的人大部分也是像我這樣,想系統的學習ML但又處在龐大的算法與工具圈的包圍中無法自拔,因此簡單的介紹一下自己的學習經歷,至少可以講講自己的走彎路過程,還是有點意義的=-=

再次說明哦。。。我真的很弱很弱,讀研的方向也不是ML,所有東西都是憑興趣自學的。

MOOC可以起到一個很好的入門作用,但是我覺得還是有部分缺陷的,下面我會仔細說明下自己的觀點。

第一次接觸ML是大二暑假學的那門Andrew Ng在Coursera開設的Machine Learning課程。

這門課是Coursera最早的課程之一,學習曲線穩定,不需要多深的數學知識,偏重實踐,是一段很有成就感的學習過程。老師Andrew Ng是C站的聯合創始人,ML領域的大牛,百度IDL首席科學家。同時作為這門課的字幕翻譯者,我也非常非常推薦。

另外兩門課程就是國立臺灣大學林軒田老師的機器學習基石與機器學習技法,這兩門課有一定的難度,推薦把視頻下載下來反覆看幾遍,跟著老師推導公式。

在學習NTU這兩門課程之前,在edx還有門learning from data,這是edx上古經典課程之一,也是我MOOC學的第一門課程,教授是Caltech大牛,也是林老師在Caltech時的老師,總體上課程內容相近。由於前者是中文授課,我推薦先反覆的學習林老師的那兩門課,之後再看看這門課。

大體上,上面幾門課是我反覆看了好幾遍的,我覺得對於MOOC課程的學習,把一門課學好遠遠比得上刷50張證書(考慮到之前那段瘋狂刷證的經歷...悔恨ing)。另外,實際程式語言我推薦用Python,ipython notebook+文本編輯器就夠了,具體就不多講了,Python入門課程也有很多,推薦邊學邊用。

另外,ML是基於數據的,因此分布式的計算平臺是很實用的,edx上有兩門高質量的相關課程: Big data analysis with spark 、scalable machine learning ,課程不難,作業認真做就夠了。

PS:周志華老師的新書《機器學習》非常贊,我也在讀,在南京的話,也可以去蹭他的這學期新開的同名課程,應該沒有座位orZ。如果對深度學習有興趣(恩,就是AlphaGo那個),UFLDL (http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial)是很不錯的入門。

好吧,下面是進階部分,痛苦的掙扎ing...

切記:學好數學!學好數學!學好數學!

有個段子:學ML的有兩種人,第一種是會調用各種包的,第二種是去google的。

哈哈哈哈...

還有個段子:ML派坐落在美利堅合眾山中,百年來武學奇才輩出,隱然成江湖第一大名門正派,門內有三套入門武功,曰:圖模型加圈,神經網加層,優化目標加正則。有童謠為證:熟練ML入門功,不會作文也會縐。

orZ

段子講完了就進入正題吧。

開頭我說通過MOOC學習ML有部分缺陷,主要點就是數學。

很多很多算法,如果不去親自推導一遍,在實際使用的時候調參會是一個極其痛苦、運氣的過程。還有對於ML學習理論的理解,需要大量的推導,才能得出一個具有理性簡潔美的公式。

如使用廣泛的kernel方法,不去深入理解的話,一般人都會以為是一個升維工具,將原始數據映射到高維空間。實際上,如果學習過泛函,或者深入理解一下kernel機制,其實kernel最重要的作用不是升維,而是建立起再生核希爾伯特空間(RKHS),這個完備的內積空間有著良好的性質,我們不需要關心原始數據具體映射到哪裡了,其內積是在同維度希爾伯特空間同構的。

當然你作為初學者,可能有點疑惑,這沒關係,這裡只是舉一個例子。等你練成ML神功,回過頭看kernel機制就會發現其美妙所在。

那麼具體需要那些數學知識呢,因為我也是在惡補中,我覺得最基本的就是線性代數、微積分、概率論、矩陣分析、統計學習了,進階部分還有凸優化、泛函分析、隨機過程、測度論等等。

這裡推薦幾本書:elements of statistic learning、convex optimaztion 、矩陣分析、Approximation Theory

需要說明的是,這裡僅僅推薦的是自己看過的,或者正在看的書,當然好書是很多的,如PRML、統計學習方法等等,知乎上也有相關問題的很好回答 (可在文末點擊「閱讀原文」:http://www.zhihu.com/question/20691338)

ML體系太過龐大,傳統的統計學習(SVM、貝葉斯模型、概率圖等等)、連接主義學習(神經網絡、深度學習)每個方向都是大坑

如果你迷戀於理論,數學則是必不可少的,如果更多的是實用的話,我覺得了解的數學還是越多越好的,因為算法層出不窮,但學習的基本理論是同質的,且會加深你的理解。

第二個就是實戰了,如果一開始就想打比賽,那麼大部分就會和我一樣,面對數據毫無頭緒,算法在腦中卻無計可施。

閱讀源碼和開源項目是非常好的學習途徑,Kaggle上有很多大牛比賽後的公開源碼,跟著後面自己實現一遍會幫助很大。

另外,有人總結了一個很好的資料集(https://github.com/ty4z2008/Qix/blob/master/dl.md),裡面收集了很多相關資料。

我們處於一個知識爆炸的時代,所以我還是覺得,好好看一門課,讀一本書,fork一個源碼,遠遠比得上泛而不精的學習。這裡也沒推薦多少課程和書單,每個人都有自己的側重點,這裡僅僅是我自己的學習經歷,重要一點是不能急躁,打好基礎,修煉之路很長。

總之,此ML非彼ML,good luck and have fun~


聯繫我們

官方網站:www.edu-infinity.org

微博:@教育無邊界字幕組

微信ID:Eduinfinity

官方QQ交流群:229493696 

(入群暗號:MOOC翻譯/圍觀)

相關焦點

  • 教你Machine Learning 玩轉金融入門Notes
    學習宏觀和machine learning之後發現這兩個真是天生一對,這也是我為什麼想要寫這篇文章。 (對宏觀感興趣的童鞋可以參見我之前在知乎上寫的一篇自學筆記《Macro入門note》) 對於個人而言,如果自己沒有相應對數據進行處理的能力(這裡不單單包括machine learning),那麼相對其他人的edge就會越來越被限制,直到被市場淘汰。 那也許就有人會問,以後是不是金融領域就全部招程式設計師和data scientist,不需要基金經理了呢?
  • 吳恩達最新《Machine Learning》Jupyter Notebook 版筆記發布!
    其課程地址為:https://www.coursera.org/learn/machine-learning這門課基本涵蓋了機器學習的主要知識點,例如:線性回歸、邏輯回歸、支持向量機、神經網絡、K-Means、異常檢測等等。而且課程中沒有複雜的公式推導和理論分析。Ng 的目的是讓機器學習初學者能夠快速對整個機器學習知識點有比較整體的認識,便於快速入門。
  • 最新數據科學和機器學習 MOOC 資源
    、計算機科學入門、數學。sql-for-data-analysis--ud198https://www.udacity.com/course/data-wrangling-with-mongodb--ud032https://www.udacity.com/course/data-analysis-with-r--ud651https://www.udacity.com/course/intro-to-machine-learning
  • 3.6 Google Machine Learning線上講座
    美東時間本周三7:30PM-8:30PM,BRC邀請谷歌一線工程師,為大家詳細解答上述問題,幫助大家開啟機器學習的大門講座內容:What is machine learningTypesof machine learningApplications of machine learningConcepts of machine learningSkills to get a ML-related job導師簡介:AI工程師,現就職於Google,5年以上數據相關工作經驗,在Big Data, Machine Learning,
  • Machine Learning+宏觀經濟學入門長文
    金融和統計背景介紹二. machine learning各個方法和在trading上的應用2.1 Supervised Learning: Regressions 2.2 Non-Parametric Regression: K-Nearest Neighbor and LOESS2.3 Tree Based Method ( Random Forest 和
  • Machine Learning-模型調優備忘錄
    (這個與上面的區別在於數據集的特徵不同)混合數據樣本:很拗口,其實意思就是將數據集拆分成不同的子數據集,用於訓練同一個算法,最後輸出綜合的預測結果。這個也被稱之為bootstrap aggregation 或 bagging。
  • 開源《Python 機器學習》-Python Machine Learning第一版+第二版(附電子版 pdf)
    《Python Machine Learning》有兩版,中文譯為
  • 《Python 機器學習》-Python Machine Learning第一版+第二版(附電子版 pdf)
    點擊上方「智能與算法之路」,選擇「星標」公眾號第一時間獲取價值內容《Python Machine Learning》有兩版,如今更新的是第二版,它的第一版長這樣:書籍對應代碼:https://github.com/rasbt/python-machine-learning-book-2nd-edition二、主要內容值得一提的是第二版在第一版的基礎上增加了不少新的內容,完整的書籍目錄如下:
  • 技術詞條 | 機器學習(Machine Learning)篇
    An overview of machine learning. In Machine learning (pp. 3-23). Springer Berlin Heidelberg.Goldberg, D. E., & Holland, J. H. (1988). Genetic algorithms and machine learning.
  • Machine Learning-算法匯總介紹
    經典問題:classification and regression.(分類與回歸)經典算法:Logistic Regression and the Back Propagation Neural Network.(邏輯回歸算法與BP神經網絡算法)
  • 最新數據科學和機器學習 MOOC 資源,成為高手的個性化課程組合
    有些課程是有開課日期的,有些是能根據自己的進度來安排的,最好提前作了解,以免錯過開學的日期。祝學習愉快!如果你在大學沒有接觸過計算機科學專業,那麼下面就是美國大一大二學生的專業課內容,分別是編程入門、計算機科學入門、數學。
  • 吳恩達《Machine Learning》Jupyter Notebook 版筆記發布!圖解、公式、習題都有了
    在我很早之前寫過的文章《機器學習如何入門》中,就首推過吳恩達在 Coursera 上開設的《Machine Learning》課程
  • 機器學習(Machine Learning)&深度學習(Deep Learning)資料(之一)
    《Data Science with R》 介紹:這是一本由雪城大學新編的第二版《數據科學入門》教材:偏實用型,淺顯易懂,適合想學習R語言的同學選讀。14.《Twenty Questions for Donald Knuth》 介紹:這並不是一篇文檔或書籍。
  • 《Python 機器學習》-Python Machine Learning(附電子版 pdf)
    如今更新的是第二版,它的第一版長這樣:書籍對應代碼:https://github.com/rasbt/python-machine-learning-book-2nd-edition資源下載:為了方便大家,附上雲盤下載連結,長按掃碼關注:機器學習算法那些事
  • 入門者的機器學習/深度學習自學指南
    尤其是深度學習的自學指南。The elements of statistical learning: Data mining, inference, and prediction. Second Edition. Springer. 2009.Christopher Bishop. Pattern recognition and machine learning. Springer. 2006.
  • awesome-adversarial-machine-learning資源列表
    發現一個不錯的awesome-adversarial-machine-learning的資源列表,有需要的同學可以查看訪問:
  • 送你一份機器/深度學習自學指南(附視頻&速成方案)
    準備用三個月入門,和想要一個月速成,肯定是截然不同的路徑。當然我建議大家穩紮穩打,至少可以拿出五個月的時間來學好機器學習的基礎知識。基礎很重要,知其所以然很重要。畢竟工具總在進步,每個月都會出現更好的深度學習技術,但基礎知識是不變的。如何用五個月時間入門?下面分三個部分,詳細指南。
  • 讀者推薦書籍和他的筆記Hands-on Machine Learning
    目的這份筆記旨在幫助中文學習者以一種較快較系統的方式入門機器學習,是在學習Hands-on Machine Learning with Scikit-Learn and TensorFlow這本書的時候做的個人筆記: