http://blog.csdn.net/baimafujinji/article/details/49891221


應部分朋友要求,特奉上“機器學習與數據挖掘的學習路線圖”,供有興趣的讀者研究。

說起機器學習和數據挖掘,當然兩者并不完全等同。如果想簡單的理清二者的關系,不妨這樣來理解,機器學習應用在數據分析領域 = 數據挖掘。同理,如果將機器學習應用在圖像處理領域 = 機器視覺。當然這只是一種比較直白的理解,并不能見得絕對準確或者全面。我們權且這樣處理。而且在本文后面若提到這兩個名詞,我們所表示的意思是一致的。

但無論是機器學習,還是數據挖掘,你一定聽說過很多很多,名字叼炸天的傳說中的,“算法”,比如:SVM,神經網絡,Logistic回歸,決策樹、EM、HMM、貝葉斯網絡、隨機森林、LDA... ....其實還是很多很多!無論你排十大算法還是二十大算法,總感覺只觸及到了冰山一角!真是學海無涯啊- -!!

當然,學習機器學習看書是必備的,總不能靠冥想吧。。。

有的書介紹機器學習,會是這樣一種思路:就是單獨的一個一個的算法介紹,介紹個十幾個,一本書的篇幅差不多也就完了。

李航博士的那本《統計學習方法》基本屬于這種套路。當然,該書在國內是備受推崇的一本。客觀上講,國人寫這方面的書很少,而李博士的著作也不像其他那種大學教材一樣東拼西湊,可謂良心之作。但就本書的思路來說,我認為:如果讀者就單獨的某一個算法想有所了解,參考該書應該會有收獲。但系統化上還是優化空間的,比如從一個算法到另外一個算法,之間的聯系是什么,推動算法更新和升級的需求又在哪里?

另外一種該類型的書,會把算法按照它們的實現的功能和目的,分成比如 Regression、Classification、Clustering等等等等的幾類,然后各種講可以實現聚類的算法有A、B、C,可以實現回歸的有D、E、F。。。而且我們也知道,機器學習又可分為有監督、無監督以及半監督的,或者又可分為貝葉斯派和概率派兩大陣營,所以按類別來介紹其中的算法也是一種很常見的思路。

這樣的書代表作是Pang-Ning Tan, Michael Steinbach 和Vipin Kumar的那本《數據挖掘導論》,這樣的書基本上對于構建一個大概的機器學習體系還是有裨益的。但是就初學者而言,其實這個體系還可以再優化。這也是我根據個人的一些經驗想向各位介紹的一個基本的學習路線圖,在我看來知識應該是有聯系的,而不是孤立的, 找到這種內部隱藏的線索就如同獲得了阿里巴巴的口訣,才能開啟更大的寶藏。

當然,正式學習之前,你所需要的預備知識(主要是數學)應該包括:微積分(偏導數、梯度等等)、概率論與數理統計(例如極大似然估計、中央極限定理、大數法則等等)、最優化方法(比如梯度下降、牛頓-拉普什方法、變分法(歐拉-拉格朗日方程)、凸優化等等)——如果你對其中的某些名詞感到陌生,那么就說明你尚不具備深入開展數據挖掘算法學習的能力。你會發現到處都是門檻,很難繼續進行下去。

第一條線路:

(基于普通最小二乘法的)簡單線性回歸 -> 線性回歸中的新進展(嶺回歸和LASSO回歸)->(此處可以插入Bagging和AdaBoost的內容)-> Logistic回歸 ->支持向量機(SVM)->感知機學習 -> 神經網絡(初學者可先主要關注BP算法)-> 深度學習

之所以把它們歸為一條線路,因為所有這些算法都是圍繞著 y = Σxiβi,這樣一條簡單的公式展開的,如果你抓住這條線索,不斷探索下去,就算是抓住它們之間的繩索了。其中藍色部分主要是回歸,綠色部分主要是有監督的分類學習法。

基于普通最小二乘的線性回歸是統計中一種有著非常悠久歷史的方法,它的使用甚至可以追溯到高斯的時代。但是它對數據有諸多要求,例如特征之間不能有多重共線性,而且嶺回歸和LASSO就是對這些問題的修正。

當沿著第一條路線學完的時候,其實你已經攻克機器學習的半壁江山了!當然,在這個過程中,你一定時刻問問自己后一個算法與前一個的聯系在哪里?最初,人們從哪里出發,才會如此設計出它們的。

第二條路線:

K-means  -> EM  -> 樸素貝葉斯 -> 貝葉斯網絡 -> 隱馬爾科夫模型(基本模型,前向算法,維特比算法,前向-后向算法) (->卡爾曼濾波

這條線路所涉及的基本都是那些各種畫來畫去的圖模型,一個學術名詞是 PGM 。這條線的思路和第一條是截然不同的!貝葉斯網絡、HMM(隱馬爾科夫模型),也就是綠色字體的部分是這個線路中的核心內容。而藍色部分是為綠色內容做準備的部分。K-means 和 EM 具有與生俱來的聯系,認識到這一點才能說明你真正讀懂了它們。而EM算法要在HMM的模型訓練中用到,所以你要先學EM才能深入學習HMM。所以盡管在EM中看不到那種畫來畫去的圖模型,但我還把它放在了這條線路中,這也就是原因所在。樸素貝葉斯里面的很多內容在,貝葉斯網絡和HMM里都會用到,類似貝葉斯定理,先驗和后驗概率,邊緣分布等等(主要是概念性的)。最后,卡爾曼濾波可以作為HMM的一直深入或者后續擴展。盡管很多machine learning的書里沒把它看做是一種機器學習算法(或許那些作者認為它應該是信號處理中的內容),但是它也確實可以被看成是一種機器學習技術。而且參考文獻[4]中,作者也深刻地揭示了它與HMM之間的緊密聯系,所以紅色的部分可以作為HMM的后續擴展延伸內容。


應用層面,R、MATLAB和Python都是做數據挖掘的利器,另外一個基于JAVA的免費數據挖掘工具是Weka,這個就只要點點鼠標,甚至不用編代碼了。給一個軟件界面的截圖如下



可以參閱的書籍:

中文版(含翻譯版)

1. 李航,統計學習方法

2. Pang-Ning Tan, Michael Steinbach  , Vipin Kumar, 數據挖掘導論

3. Peter Harrington 機器學習實踐

英文版

4. Stuart Russell,  Peter Norvig, Artificial Intelligence : A Modern Approach(Third Edition)

5. Trevor Hastie, Robert Tibshirani,Jerome Friedman, The Elements of Statistical Learning:Data Mining, Inference, and Prediction

閱讀記錄:read twice