机器学习的前期入门汇总
機器學習機器學習是近20多年興起的一門多領域交叉學科,涉及概率論、統(tǒng)計學、逼近論、凸分析、算法復雜度理論等多門學科。機器學習理論主要是設計和分析一些讓計算機可以自動“學習”的算法。機器學習算法是一類從數(shù)據(jù)中自動分析獲得規(guī)律,并利用規(guī)律對未知數(shù)據(jù)進行預測的算法。因為學習算法中涉及了大量的統(tǒng)計學理論,機器學習與統(tǒng)計推斷學聯(lián)系尤為密切,也被稱為統(tǒng)計學習理論。算法設計方面,機器學習理論關注可以實現(xiàn)的,行之有效的學習算法。
大致分三類: 起步體悟,實戰(zhàn)筆記,行家導讀
-
機器學習入門者學習指南 @果殼網(wǎng) (2013) 作者 白馬 -- [起步體悟] 研究生型入門者的親身經(jīng)歷
-
有沒有做機器學習的哥們?能否介紹一下是如何起步的 @ourcoders-- [起步體悟] 研究生型入門者的親身經(jīng)歷,尤其要看reyoung的建議
-
tornadomeet 機器學習筆記 (2013) -- [實戰(zhàn)筆記] 學霸的學習筆記,看看小伙伴是怎樣一步一步地掌握“機器學習”
-
Machine Learning Roadmap: Your Self-Study Guide to Machine Learning (2014) Jason Brownlee -- [行家導讀] 雖然是英文版,但非常容易讀懂。對Beginner,Novice,Intermediate,Advanced讀者都有覆蓋。
-
A Tour of Machine Learning Algorithms (2013) 這篇關于機器學習算法分類的文章也非常好
-
Best Machine Learning Resources for Getting Started(2013) 這片有中文翻譯 機器學習的最佳入門學習資源
-
門主的幾個建議
+ 既要有數(shù)學基礎,也要編程實踐+ 別怕英文版,你不懂的大多是專業(yè)名詞,將來不論寫文章還是讀文檔都是英文為主 復制代碼
機器學習入門資源不完全匯總更多攻略
-
機器學習該怎么入門 @知乎 (2014)
-
What's the easiest way to learn machine learning @quora(2013)
-
What is the best way to study machine learning @quora(2012)
-
Is there any roadmap for learning Machine Learning (ML) and its related courses at CMU Is there any roadmap for learning Machine Learning (ML) and its related courses at CMU(2014)
機器學習入門資源不完全匯總課程資源
Tom Mitchell 和 Andrew Ng 的課都很適合入門
機器學習入門資源不完全匯總入門課程機器學習入門資源不完全匯總2011Tom Mitchell(CMU)機器學習
英文原版視頻與課件PDF他的《機器學習》在很多課程上被選做教材,有中文版。
-
Decision Trees
-
Probability and Estimation
-
Naive Bayes
-
Logistic Regression
-
Linear Regression
-
Practical Issues: Feature selection,Overfitting ...
-
Graphical models: Bayes networks, EM,Mixture of Gaussians clustering ...
-
Computational Learning Theory: PAC Learning, Mistake bounds ...
-
Semi-Supervised Learning
-
Hidden Markov Models
-
Neural Networks
-
Learning Representations: PCA, Deep belief networks, ICA, CCA ...
-
Kernel Methods and SVM
-
Active Learning
-
Reinforcement Learning 以上為課程標題節(jié)選
機器學習與數(shù)據(jù)挖掘的區(qū)別
-
機器學習關注從訓練數(shù)據(jù)中學到已知屬性進行預測
-
數(shù)據(jù)挖掘側重從數(shù)據(jù)中發(fā)現(xiàn)未知屬性
Dan Levin, What is the differencebetween statistics, machine learning, AI and data mining?
-
If there are up to 3 variables, it is statistics.
-
If the problem is NP-complete, it is machine learning.
-
If the problem is PSPACE-complete, it is AI.
-
If you don't know what is PSPACE-complete, it is data mining.
幾篇高屋建瓴的機器學習領域概論, 參見原文
-
The Discipline of Machine LearningTom Mitchell 當年為在CMU建立機器學習系給校長寫的東西。
-
A Few Useful Things to Know about Machine Learning Pedro Domingos教授的大道理,也許入門時很多概念還不明白,上完公開課后一定要再讀一遍。
幾本好書
- 李航博士的《統(tǒng)計學習方法》。
機器學習必要的數(shù)學基礎主要包括:多元微積分,線性代數(shù)
Calculus: Single Variable | Calculus One (可選)
Multivariable Calculus
Linear Algebra
統(tǒng)計基礎
Introduction to Statistics: Descriptive Statistics
Probabilistic Systems Analysis and Applied Probability | 概率 ( 可選)
Introduction to Statistics: Inference
編程基礎
Programming for Everybody (Python)
DataCamp: Learn R with R tutorials and coding challenges(R)
Introduction to Computer Science:Build a Search Engine & a Social Network
機器學習
Statistical Learning(R)
Machine Learning
機器學習基石
機器學習技法
下面是近期的給外行人讀的泛數(shù)學科普書籍,由淺至深,作用除了感受數(shù)學之美之外,更重要的是可以作用每天學習的雞血,因為這些書都比較好讀……
1.《數(shù)學之美》作者:吳軍 2.《 Mathematician's Lament | 數(shù)學家的嘆息》作者:by Paul Lockhart 3.《 Think Stats: Probability and Statistics forProgrammers | 統(tǒng)計思維:程序員數(shù)學之概率統(tǒng)計 》 作者:Allen B. Downey 4.《 A History of Mathematics | 數(shù)學史 》作者:Carl B. Boyer 5.《 Journeys Through Genius | 天才引導的歷程:數(shù)學中的偉大定理 》作者:William Dunham 6.《 The Mathematical Experience | 數(shù)學經(jīng)驗 》作者 Philip J.Davis、Reuben Hersh 7.《 Proofs from the Book | 數(shù)學天書中的證明 》作者:Martin Aigner、Günter M. Ziegler 8.《 Proofs and Refutations | 證明與反駁-數(shù)學發(fā)現(xiàn)的邏輯 》作者:Imre Lakatos
首先,你要熟悉這四種語言。Python因為開源的庫比較多,可以看看Numpy和Scipy這兩個庫,這兩個都可以很好的融入網(wǎng)站開發(fā)以及Hadoop。C++可以讓你的代碼跑的更快,R則是一個很好地統(tǒng)計工具。而你想很好地使用Hadoop你也必須懂得java,以及如何實現(xiàn)map reduce
我推薦統(tǒng)計學習方法 李航寫的,這算的上我mentor的mentor了。理解一些概率的理論,比如貝葉斯,SVM,CRF,HMM,決策樹,AdaBoost,邏輯斯蒂回歸,然后再稍微看看怎么做evaluation 比如P R F。也可以再看看假設檢驗的一些東西。
機器學習畢竟是需要極強極強數(shù)學基礎的。我希望開始可以深入的了解一些算法的本質(zhì),SVM是個很好的下手點。可以從此入手,看看拉格朗日,凸優(yōu)化都是些什么
熟悉分布計算,機器學習當今必須是多臺機器跑大數(shù)據(jù),要不然沒啥意義。請熟悉Hadoop,這對找工作有很大很大的意義。百度等公司都需要hadoop基礎。
熟悉Unix的Tool以及命令。百度等公司都是依靠Linux工作的,可能現(xiàn)在依靠Windows的Service公司已經(jīng)比較少了。所以怎么也要熟悉Unix操作系統(tǒng)的這些指令吧。我記得有個百度的面試題就是問文件復制的事情。
機器學習終究和大數(shù)據(jù)息息相關,所以Hadoop的子項目要關注,比如HBase Zookeeper Hive等等
這里主要是在講特征的提取問題。無論是分類(classification)還是回歸(regression)問題,都要解決特征選擇和抽取(extraction)的問題。他給出了一些基礎的特征抽取的工具如小波等,同時說需要掌握傅里葉分析和卷積等等。這部分我不大了解,大概就是說信號處理你要懂,比如傅里葉這些。。。
Finally, practice and read as much as you can. In yourfree time, read papers like Google Map-Reduce [34], Google File System [35],Google Big Table [36], The Unreasonable Effectiveness of Data [37],etc Thereare great free machine learning books online and you should read those also.[38][39][40]. Here is an awesome course I found and re-posted on github [41].Instead of using open source packages, code up your own, and compare theresults. If you can code an SVM from scratch, you will understand the conceptof support vectors, gamma, cost, hyperplanes, etc. It's easy to just load somedata up and start training, the hard part is making sense of it all.
總之機器學習如果想要入門分為兩方面: 一方面是去看算法,需要極強的數(shù)理基礎(真的是極強的),從SVM入手,一點點理解。 另一方面是學工具,比如分布式的一些工具以及Unix。
閱讀原文
總結
以上是生活随笔為你收集整理的机器学习的前期入门汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 八年技术加持,性能提升10倍,阿里云HB
- 下一篇: CUDA学习(三)之使用GPU进行两个数