系統學習Machine Learning之路漫漫總規劃
本人是一個半吊子的數學專業學生,半吊子的算法學習者,半吊子的機器學習愛好者,半吊子的電腦算法作曲者……自從工作以來深受半吊子的後遺症的殘害。所以想系統的學習一次機器學習……不想再半吊子下去了!
PS. 本人英語閱讀能力有待提高,翻譯不足之處,望體諒且提出,謝謝。
本文的機器學習與其他學習的關係圖及其框架是參考[Swami Chandrasekaran][1]的”Becoming a Data Scientist - Curriculum via Metromap”,它給了一個地鐵圖方便我們從以下10個領域足部的學習,最後成爲一個合格的數據科學家:
- Fundamentals 基礎知識
- Statistics 統計學
- Programming 編程
- Machine Learning 機器學習
- Text Ming / NLP 神經語言程序學
- Data visualization 形象化處理
- Big Data 大數據
- Data Ingestion 數據獲取
- Data Munging 數據修改
- Toolbox 工具箱
[Link][2]
1、基礎知識
根據地鐵圖,可以知道基礎知識基本上是涉及線性代數
矩陣論
數據庫
以及一些基礎操作。
2、統計學
統計學這個模塊主要要學習的就是數理統計,其中包括概率論
貝葉斯
(關於貝葉耶的角度看ML,推薦大神的一本著作,文末附鏈接) 蒙特卡羅
假設檢驗
卡方檢驗
最大似然估計
核密度估計
相關性
等。
3、編程
而程序這塊,主要是推薦學習R語言和python以及Spark ,由於本人曾經短暫師從David Cope 學習電腦作曲算法,那時開始沉迷LISP。所以以後的代碼我會先用Lisp寫一遍基礎代碼,然後再用python再次實現。本人是一個從沒有任何編程基礎剛寫代碼不到一年的小白,最開始是用matlab實現各種功能的,後學習python便於學習機器學習。
4、機器學習
以前沒有看到這張圖的時候,我是看Andrew Ng的機器學習的課程入門的。然後自己在實習工作工程中,曾應用RNN,RBM,CNN,SVM,K-Means等。基本上屬於現學現買,沒有一個很完整的知識體系架構。地鐵圖建議我們從什麼是ML? 入門開始,然後監督學習->無監督學習 -> 瞭解分類,預測,過擬合 -> 分類-> 迴歸 -> 聚類 -> 神經元網絡
5、NLP
自然語言處理算是機器學習的一個大方向了,自己在學習作曲算法的時候也借鑑了不少思想,但是還沒有深入瞭解NLP,所以在這裏也就不多說了。
6、形象化
這個主要是讓我們寫的代碼做的東西成果圖像化,圖像化有利於我們看到我們算法的問題,比如是否過擬合啦。當然有時間精力的話更希望做交互式的界面出來的。
7、大數據
8、獲取數據
9、數據修改
10、工具
然後有一篇博文講的是mooc中學習這裏地鐵圖的知識點的課程,鏈接爲:http://blog.csdn.net/samantha_wang/article/details/44086227 推薦之