1. 程式人生 > >機器學習資料整理,收藏了不後悔!

機器學習資料整理,收藏了不後悔!

學習Machine Learning也有很長一段時間了,前段時間在paper中應用了GTB(Gradient Tree Boosting)演算法。在我的資料集上GTB的performance比Random Forest要稍微強一點,整個experiment做完之後,有許多東西都來不及及時整理,很多都遺忘了。打算接下來的時間裡,好好整理下自己的學習資料,這份資料絕對不是一時半會就整理得完的,先開個頭吧,以後會間斷性更新該blog的。

下面來做個資料整理吧。

書籍推薦

機器學習的書籍很多,下面推薦幾本本人用過而且覺得還不錯的書籍。優於機器學習是一門跨領域的學科,所以在書籍上並非全是機器學習的書籍:

  • 1.《機器學習實戰》Machine Learning in Action [美] Peter Harington 著。該書貫穿了10個最受歡迎的機器學習演算法,提供了案例研究問題並用Python程式碼例項來解決。我本人比較喜歡這本書,因為裡面的程式碼給了我很大的幫助,自己在學習機器學習演算法的時候,理論上很多東西不太理解透,通過該書實踐之後,在演算法層面又有了進一步的提高。

  • 2.《統計學習方法》 李航著。該書比較詳細地介紹了演算法的原理,只從理論層面來研究演算法。通過這本書和《機器學習實戰》兩本書相結合,一本講理論,一本著手實踐,加在一起會有事半功倍的效果。

  • 3.《資料探勘概念與技術》 韓家煒著。該書介紹了資料探勘的常用技術,比較詳實,但本人覺得不太適合初學者,當時自己初學的時候看的就是這本書,結果最後很多地方理解的不是很好,後來通過《統計學習方法》和演算法實踐之後,再回頭看《資料探勘概念與技術》,感覺就輕鬆多了。

  • 4.《數學之美》 吳軍著。本書可以當做業餘書籍來看,可以在無聊的時候看看,不過裡面講的東西還是挺有用的。

  • 5.《Python科學計算》該書可以當做Python程式設計參考書籍,但前提是你喜歡使用Python,並愛上了它,不然這本書還是蠻貴的,我自己也是通過“研究生自由探索專案”才買的這本書,因為可以報銷嘛。

學習工具

機器學習的tools很多,這裡只列出幾個參考工具。

  • Scikit-learn.基於Python語言的scikit-learn庫,裡面涵蓋了分類、聚類、迴歸的大部分演算法,並且有常用的評估指標以及預處理資料的方法,是一個不錯的學習庫,強力推薦。附一篇博文:SOME USEFUL MACHINE LEARNING LIBRARIES.

  • R語言,語言就是一門工具,R語言現在在商業界是用的最多的,在統計方面功能強大,而且也有封裝好的演算法庫可以直接使用。附:R語言參考卡片.

  • Weka,是一個基於java開發的資料探勘工具,可以嘗試一下。它為使用者提供了一系列據挖掘API、命令列和圖形化使用者介面。你可以準備資料、視覺化、建立分類、進行迴歸分析、建立聚類模型,同時可以通過第三方外掛執行其他演算法。除了WEKA之外, Mahout是Hadoop中為機器學習提供的一個很好的JAVA框架,你可以自行學習。如果你是機器學習和大資料學習的新手,那麼堅持學習WEKA,並且全心全意地學習一個庫。

  • Matlab,裡面有很多的工具包,不過本人不怎麼用過。參考:Matlab Codes and Datasets for Feature Learning和Statistics and Machine Learning Toolbox。此外matlab中的Octave可以很方便地解決線性和非線性問題,比如機器學習演算法底層涉及的問題。如果你有工程背景,那麼你可以由此入手。

  • BigML:可能你並不想進行程式設計工作。你完全可以不通過程式碼,來使用 WEKA那樣的工具。你通過使用BigMLS的服務來進行更加深入的工作。BigML通過Web頁面,提供了機器學習的介面,因此你可以通過瀏覽器來建立模型。

  • 如果你使用Python,這裡推薦一個IDE,WinPython,IDE版本就是Python的版本,自行選擇!

下面給出一個比較圖,具體想要學什麼,還需自己抉擇。

學習視訊

由於本人比較崇拜Andrew Ng,所以關於視訊,首先推薦的便是Andrew Ng的斯坦福大學的機器學習課程。這套視訊在網上有兩個網址,國外和國內的都有,全程英語教學,內容很好,有時間建議你去聽聽:

  • 一個是國外的Coursera公開課,該課程在機器學習領域很火,是很多入門學者的首選。地址:https://www.coursera.org/;講義地址:[Stanford CS229 course下載講義和筆記](http://cs229.stanford.edu/);

  • 一個是國內的網易公開課,連結地址:http://open.163.com/movie/2008/1/U/O/M6SGF6VB4_M6SGJURUO.html

下面是一個機器學習視訊庫,由加州理工學院(Caltech)出品。

  • 機器學習視訊庫,地址:http://work.caltech.edu/library/

其它的視訊庫

  • Machine Learning Category on VideoLectures,這個網站的視訊比較多。你可以找出比較感興趣的資源,然後深入學習。

機器學習最近在國內比較火,許多培訓機構都相應的開了該門課程,如果想要聽中文教程的,可以去網上搜索下,這裡就不給培訓機構打廣告了。

部落格和文章推薦

大牛們的部落格,會讓你感到興奮,讓你覺得你不是一個人在奮鬥,讓你時刻記住你的前方已經有很多的學者正在等著你,你要加油。他們的經驗會讓我們少走些冤枉路,能讓我們在他們的基礎上進一步理解。下面推薦幾個我所知道的或者說我瞭解到的幾位牛人部落格和幾篇文章:

  • pluskid,真名張弛原,一位技術大牛,畢業於浙江大學,後來出國深造。他的博文質量非常高,深入淺出,其SVM三層境界的講解讓人茅塞頓開,應該給了很多人啟發吧,很值得學習。現在的部落格網址:Chiyuan Zhang,原部落格網址:Chiyuan Zhang

  • Rachel Zhang,真名張睿卿,很有氣質的一位軟妹紙,目前是百度深度學習實驗室研發工程師,在CSDN中的部落格人氣絕對屈指可數,算是IT界的一位女中豪傑。部落格網址:CSDN部落格-Rachel Zhang

  • July,對演算法研究獨具一格,目前是七月線上科技創始人兼CEO。部落格網址:July

  • Jason,一位國外機器學習愛好者,其部落格內容詳實,多篇文章被國內機器學習者翻譯。部落格網址:http://machinelearningmastery.com/blog/

  • 一個國外很好的機器學習部落格,裡面介紹了詳細的演算法知識,很全面,從感知機、神經網路、決策樹、SVM、Adaboost到隨機森林、Deep Learning.網址:A Blog From a Human-engineer-being

  • 一篇涵蓋許多機器學習資料的文章:機器學習(Machine Learning)&深度學習(Deep Learning)資料

  • Edwin Chen ,機器學習愛好者,部落格內容涵蓋數學、機器學習和資料科學。分享其中一篇博文:Choosing a Machine Learning Classifier

  • 一篇以前的博文:A List of Data Science and Machine Learning Resources,有時間好好閱讀閱讀,對你絕對有幫助。

  • A Few Useful Things to Know about Machine Learning,一篇很有幫助的機器學習文章,裡面包括了特徵選擇與模型的簡化。

  • The Discipline of Machine Learning機器學習規則。該文章比較老,2006年釋出的,作者是Tom Mitchell,但很有參考價值,其中定義了機器學習的規則。Mitchell在說服CMU總裁為一個百年內都存在的問題建立一個獨立的機器學習部門時,也用到了這本書中的觀點。希望能對你也有所幫助。

  • 分享一個網站:簡書。

國內外網站

如果你想搜尋比較新穎的機器學習資料或是文章,可以到以下網站中搜索,裡面不僅包括了機器學習的內容,還有許多其它相關領域內容,如資料科學和雲端計算等。

  • InfoWord:http://www.infoworld.com/reviews/

  • Kdnuggets:http://www.kdnuggets.com

  • Datasciencecentral:http://www.datasciencecentral.com/

  • Datascienceplus:http://datascienceplus.com

  • 資料分析網:http://www.afenxi.com/

資料科學競賽

關於資料分析的競賽,國內國外都有,下面推薦幾個比較火的競賽網站 :

  • Kaggle比賽,網址:https://www.kaggle.com/

  • DataCastle比賽,網站:http://www.pkbigdata.com/

  • 阿里大資料競賽,目前沒有訊息了,2015年有個【2015天池大資料競賽】

ML相關演算法參考

  • 決策樹-參考:decision Tree(Python實現)

  • SVM支援向量機-參考:pluskid支援向量機三重境界

  • Adaboost-參考:組合演算法-Adaboost

  • Random Forest-參考:隨機森林演算法

  • 樸素貝葉斯演算法-參考:Naive Bayes演算法實現

  • 人工神經網路-參考:http://www.cnblogs.com/luxiaoxun/archive/2012/12/10/2811309.html

  • Apriori演算法-參考地址:Apriori關聯分析

  • K最近鄰演算法-參考:KNN從原理到實現

  • 梯度樹提升GTB演算法-參考:Gradient Tree Boosting(或GBRT)

  • K-means聚類-參考:K-means cluster

  • 組合演算法總結-參考:Ensemble演算法總結

  • EM期望最大演算法-參考:EM演算法

  • Logistic迴歸-參考:邏輯迴歸

  • HMM隱馬爾可夫模型,參考:HMM

  • 條件隨機場,參考:CRF

  • 隨機森林和GBDT,參考:決策樹模型組合之隨機森林與GBDT

  • 特徵選擇和特徵提取,參考:特徵提取與特徵選擇

  • 梯度下降法,參考:gradient descent

  • 牛頓法,參考:牛頓法

  • 線性判別分析,參考:線性判別

  • 深度學習-深度學習概述:從感知機到深度網路

個人譯文

下面是本人在CSDN雲端計算欄目釋出的翻譯文章,如有翻譯不準確的地方,還望多多包涵,希望能給大家帶來點幫助,譯文列表如下:

  • 2015-09-14 LSTM實現詳解

  • 2015-09-10 從零實現來理解機器學習演算法:書籍推薦及障礙的克服

  • 2015-08-31 機器學習開發者的現代化路徑:不需要從統計學微積分開始

  • 2015-08-27 基於Python的卷積神經網路和特徵提取

  • 2015-08-20 你應該掌握的七種迴歸技術

  • 2015-08-11 機器學習API Top 10:AT&T Speech、IBM Watson和Google Prediction

  • 2015-08-03 從Theano到Lasagne:基於Python的深度學習的框架和庫

  • 2015-07-15 Airbnb欺詐預測機器學習模型設計:準確率和召回率的故事

  • 2015-07-13 開發者成功使用機器學習的十大訣竅

下面是相關譯者的譯文,僅供參考:

  • 2015-09-16 各種程式語言的深度學習庫整理

  • 2015-09-11 機器學習溫和指南

  • 2015-09-10 關於資料科學,書上不曾提及的三點經驗

從這些牛人的部落格中,你能學到很多。慢慢地你會體會到,不是你一個人在戰鬥,還有很多人,所以你不用害怕孤獨。

作者:劉帝偉(授權釋出)

來源:http://www.csuldw.com/2015/09/23/2015-09-23%20Machine%20learning%20materials/

溫馨提示:文中有較多連結,點選“閱讀原文”可檢視詳細內容。

官方網站:資料分析網(www.afenxi.com)-大資料資訊、觀點、技術研究中心。

官方微信:資料分析精選(sjfxjx)