机器学习该怎么入门?

本人大学本科,对机器学习很感兴趣,想从事这方面的研究。在网上看到机器学习有一些经典书如Bishop的PRML, Tom Mitchell的machine learning,还有pattern classification,不知该如何入门?那本书比较容易理解?
关注者
21,766
被浏览
1,818,101

191 个回答

好东西不敢独享,转载一发。

正在学习林轩田的机器学习基石和吴恩达的机器学习,感觉讲的还不错,数学基础还是蛮重要的。

机器学习入门资源不完全汇总

感谢贡献者: tang_Kaka_back@新浪微博

欢迎补充指正,转载请保留原作者和原文链接。 本文是 机器学习日报的一个专题合集,欢迎订阅:请给hao@memect.com发邮件,标题"订阅机器学习日报"。

机器学习入门资源不完全汇总基本概念

机器学习 机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

下面从微观到宏观试着梳理一下机器学习的范畴:一个具体的算法,领域进一步细分,实战应用场景,与其他领域的关系。

图1: 机器学习的例子:NLTK监督学习的工作流程图 (source: nltk.org/book/ch06.html)

图2: 机器学习概要图 by Yaser Abu-Mostafa (Caltech) (source: Map of Machine Learning (Abu-Mostafa))

图3: 机器学习实战:在python scikit learn 中选择机器学习算法 by Nishant Chandra (source: In pursuit of happiness!: Picking the right Machine Learning Algorithm)

图4: 机器学习和其他学科的关系: 数据科学的地铁图 by Swami Chandrasekaran (source: Becoming a Data Scientist)

机器学习入门资源不完全汇总入门攻略

大致分三类: 起步体悟,实战笔记,行家导读

机器学习入门资源不完全汇总更多攻略机器学习入门资源不完全汇总课程资源

Tom Mitchell 和 Andrew Ng 的课都很适合入门

机器学习入门资源不完全汇总入门课程机器学习入门资源不完全汇总2011 Tom 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 以上为课程标题节选
机器学习入门资源不完全汇总2014 Andrew Ng (Stanford)机器学习

英文原版视频 这就是针对自学而设计的,免费还有修课认证。“老师讲的是深入浅出,不用太担心数学方面的东西。而且作业也非常适合入门者,都是设计好的程序框架,有作业指南,根据作业指南填写该完成的部分就行。”(参见白马同学的入门攻略)"推荐报名,跟着上课,做课后习题和期末考试。(因为只看不干,啥都学不会)。" (参见reyoung的建议)

  1. Introduction (Week 1)
  2. Linear Regression with One Variable (Week 1)
  3. Linear Algebra Review (Week 1, Optional)
  4. Linear Regression with Multiple Variables (Week 2)
  5. Octave Tutorial (Week 2)
  6. Logistic Regression (Week 3)
  7. Regularization (Week 3)
  8. Neural Networks: Representation (Week 4)
  9. Neural Networks: Learning (Week 5)
  10. Advice for Applying Machine Learning (Week 6)
  11. Machine Learning System Design (Week 6)
  12. Support Vector Machines (Week 7)
  13. Clustering (Week 8)
  14. Dimensionality Reduction (Week 8)
  15. Anomaly Detection (Week 9)
  16. Recommender Systems (Week 9)
  17. Large Scale Machine Learning (Week 10)
  18. Application Example: Photo OCR
  19. Conclusion
机器学习入门资源不完全汇总进阶课程

2013年Yaser Abu-Mostafa (Caltech) Learning from Data -- 内容更适合进阶 课程视频,课件PDF@Caltech

  1. The Learning Problem
  2. Is Learning Feasible?
  3. The Linear Model I
  4. Error and Noise
  5. Training versus Testing
  6. Theory of Generalization
  7. The VC Dimension
  8. Bias-Variance Tradeoff
  9. The Linear Model II
  10. Neural Networks
  11. Overfitting
  12. Regularization
  13. Validation
  14. Support Vector Machines
  15. Kernel Methods
  16. Radial Basis Functions
  17. Three Learning Principles
  18. Epilogue

2014年 林軒田(国立台湾大学) 機器學習基石 (Machine Learning Foundations) -- 内容更适合进阶,華文的教學講解 课程主页

When Can Machines Learn? [何時可以使用機器學習] The Learning Problem [機器學習問題] -- Learning to Answer Yes/No [二元分類] -- Types of Learning [各式機器學習問題] -- Feasibility of Learning [機器學習的可行性]

Why Can Machines Learn? [為什麼機器可以學習] -- Training versus Testing [訓練與測試] -- Theory of Generalization [舉一反三的一般化理論] -- The VC Dimension [VC 維度] -- Noise and Error [雜訊一錯誤]

How Can Machines Learn? [機器可以怎麼樣學習] -- Linear Regression [線性迴歸] -- Linear `Soft' Classification [軟性的線性分類] -- Linear Classification beyond Yes/No [二元分類以外的分類問題] -- Nonlinear Transformation [非線性轉換]

How Can Machines Learn Better? [機器可以怎麼樣學得更好] -- Hazard of Overfitting [過度訓練的危險] -- Preventing Overfitting I: Regularization [避免過度訓練一:控制調適] -- Preventing Overfitting II: Validation [避免過度訓練二:自我檢測] -- Three Learning Principles [三個機器學習的重要原則]

机器学习入门资源不完全汇总更多选择

2008年Andrew Ng CS229 机器学习 -- 这组视频有些年头了,主讲人这两年也高大上了.当然基本方法没有太大变化,所以课件PDF可下载是优点。 中文字幕视频@网易公开课 | 英文版视频@youtube |课件PDF@Stanford

第1集.机器学习的动机与应用 第2集.监督学习应用.梯度下降 第3集.欠拟合与过拟合的概念 第4集.牛顿方法 第5集.生成学习算法 第6集.朴素贝叶斯算法 第7集.最优间隔分类器问题 第8集.顺序最小优化算法 第9集.经验风险最小化 第10集.特征选择 第11集.贝叶斯统计正则化 第12集.K-means算法 第13集.高斯混合模型 第14集.主成分分析法 第15集.奇异值分解 第16集.马尔可夫决策过程 第17集.离散与维数灾难 第18集.线性二次型调节控制 第19集.微分动态规划 第20集.策略搜索

2012年余凯(百度)张潼(Rutgers) 机器学习公开课 -- 内容更适合进阶 课程主页@百度文库课件PDF@龙星计划

第1节Introduction to ML and review of linear algebra, probability, statistics (kai) 第2节linear model (tong) 第3节overfitting and regularization(tong) 第4节linear classification (kai) 第5节basis expansion and kernelmethods (kai) 第6节model selection and evaluation(kai) 第7节model combination (tong) 第8节boosting and bagging (tong) 第9节overview of learning theory(tong) 第10节optimization in machinelearning (tong) 第11节online learning (tong) 第12节sparsity models (tong) 第13节introduction to graphicalmodels (kai) 第14节structured learning (kai) 第15节feature learning and deeplearning (kai) 第16节transfer learning and semi supervised learning (kai) 第17节matrix factorization and recommendations (kai) 第18节learning on images (kai) 第19节learning on the web (tong)

机器学习入门资源不完全汇总论坛网站机器学习入门资源不完全汇总中文

我爱机器学习 我爱机器学习

mitbbs.com/bbsdoc/DataS MITBBS- 电脑网络 - 数据科学版

机器学习小组 果壳 > 机器学习小组

cos.name/cn/forum/22 统计之都 » 统计学世界 » 数据挖掘和机器学习

北邮人论坛-北邮人的温馨家园 北邮人论坛 >> 学术科技 >> 机器学习与数据挖掘

机器学习入门资源不完全汇总英文

josephmisiti/awesome-machine-learning · GitHub 机器学习资源大全

Machine Learning Video Library Caltech 机器学习视频教程库,每个课题一个视频

Analytics, Data Mining, and Data Science 数据挖掘名站

datasciencecentral.com/ 数据科学中心网站

机器学习入门资源不完全汇总东拉西扯

一些好东西,入门前未必看得懂,要等学有小成时再看才能体会。

机器学习与数据挖掘的区别

  • 机器学习关注从训练数据中学到已知属性进行预测
  • 数据挖掘侧重从数据中发现未知属性

Dan Levin, What is the difference between 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.

几篇高屋建瓴的机器学习领域概论, 参见原文

几本好书

  • 李航博士的《统计学习方法》一书前段也推荐过,给个豆瓣的链接
看到没有人提到Metacademy,推荐一发作为入门工具:Metacademy,以及我个人的一点粗浅看法。

上面有很多答案说得太庞杂了,固然机器学习这个领域有很多的经典资料值得我们花大块时间去研读,但对于一个入门的新人来说如果在一开始就一头扎进这样深不见底的知识海洋之中,难免产生一些挫败感,这样的挫败感对深入学习是不利的,也是不必要的。事实上,在机器学习这个领域里,我们可以说出诸如“演化计算”,“统计关系学习”等上百个关键词,每一个关键词都代表着一个子领域,无论多么优秀的机器学习学家,也不敢说自己对每一个子领域都有相当的了解。

如果对机器学习有兴趣,当拥有最基础的知识之后,就可以尝试对某个感兴趣的子领域展开一些研究,利用问题驱动自己,逐渐形成self-motivation。在解决问题的过程中不断提升自己的视野,提升自己对问题的洞察力和对研究的自信可能是更为重要的。
但在这样的过程中,基础薄弱所带来的问题可能就会浮现:每每你读论文,会遇到许多闻所未闻的概念,这时为了弄清整个论文逻辑,你不得不跑回去先了解这些知识。这样你又一头扎进了知识海洋,在几十个搜出来的网页之间切来切去,尝试弄明白一个个预备知识的预备知识,却不知道这一块块拼图何时才能拼完你最初想读懂的论文。
如果你有一个足够强大又足够耐心的导师,可能会很大程度地帮到你,但大部分的导师不会如此体贴入微——他们只会在大的方向上引导你。这时候我们需要的是一个知识结构上的贴心“导师”,告诉你为了看懂这个概念,哪些知识你需要学,为什么这些知识重要,怎样快速了解这些知识。我们需要一副清晰的知识图谱,以帮助我们最快速地解决我们需要解决的问题。
这是Metacademy的建设初衷。Metacademy会把各个知识点联系起来,就像游戏里的技能树一样。每个知识点有个简介,而且会链接到那些优质的学习资源上,最重要的是,它会画出通向这个知识点的知识图谱。Metacademy的建设目标是“your package manager for knowledge”,但现在上面暂时只集成了一些机器学习和相关的数学知识。
例如我们想了解CNN(convolutional neural nets)这个概念,直接在Metacademy上搜索它:


可以看到这个概念相关的介绍:


其中这门课Coursera: Neural Networks for Machine Learning 想必有很多前辈都会推荐,授课人是深度学习大师Geoffrey Hinton。
我们还可以点击左上角的树状图标查看知识图谱:


一层一层知识间的关系变得清晰起来。再怎么新手,vectors,dot product也是知道的。这样虽然要学的知识量客观上没有改变,但不再是淹没在知识海洋里,而是面对知识的阶梯一步一步向上走。这样的感觉是截然不同的,而在研究过程中,感觉是非常重要的一环。

当然这个Metacademy还很初步,我只是拿它做了个例子。总的来说,机器学习该怎么入门,怎么算入门,各家有各家的说法,我还没有评论的资格。我的想法是,在科技如此发达,知识如此丰富的现代,我们不应感到迷茫,而应换个角度看到道路更宽广,世界更多彩。也许可以把一些冗杂的既有知识暂且放下,多将精力放在那些更值得我们思考的问题上来,或许这样更能不断地在学习和研究中获得正向反馈。