机器学习:从入门到精通,总有一款教程适合你!

MOOC2018-11-08 12:29:31

近年来人们对机器学习的认识也越来越多,很多人都希望学习相关的知识。但机器学习不是一个容易学习的领域,需要选择适合自己难度的学习资料。这里简单地将学习深度分为三个阶段,建议选择适合自己的难度。



初级阶段

了解。机器学习是什么?了解机器学习的应用,并对机器学习有较为概念性的了解。适合非机器学习相关专业、希望对机器学习有大概了解的人群,比如产品经理。


中级阶段

应用。知道怎么实现机器学习,能使用编程语言编写基础的机器学习算法,并对数学原理有初步理解。适合与机器学习相关,但是数理知识不足、或者只需掌握大概原理的人群,比如程序员。


高级阶段

学术。了解机器学习算法的原理,希望不止于掌握机器学习算法的原理、编写机器学习算法。适合相关专业的在校生,比如 计算机系本科生、研究生。



初级阶段教程
先修知识

1-首先,英语能力非常重要,你需要起码有高中的英语水平,并且敢于应对英文资料,又不是不能学,又不是学不会。英语的重要性不用多说,就机器学习而言,2011年便开始流行起来,但是目前很多机器学习领域重要的书籍还没有中文翻译。网络上优秀的机器学习资源基本基于英语教学。但是对于英语真的不用怕,一遍看不会可以看多一遍,不认识的单词查词典就是。不用闭卷考试,随时都可以查词典。


2-能用 Python 编写简单的程序,相当于学习完 Codecademy 的 Python 教程,预计耗时13小时。或《笨方法学 Python》前40章,耗时也不会很大。英文原版:Learn Python the Hard Way


3-非常基础的矩阵知识:可汗学院的课程,从矩阵简介学到矩阵乘法(二),大约耗时1小时。


选修资料

Command Line,这个就是电影里面那些(可能是)酷酷的人操作电脑的方式,把教程过一遍就可以。


学习资料

1-《从机器学习谈起》

非常不错的介绍。

地址:http://www.cnblogs.com/subconscious/p/4107357.html


2-机器学习基础:案例研究(Machine Learning Foundations: A Case Study Approach)




华盛顿大学的课程,两位教授的头衔是 Amazon Professor of Machine Learning。课程教学结构合理,每周课程分为概念、方法介绍和实际应用两个部分,学完基本的的概念和方法、就可以马上应用课程准备好的机器学习库体验一番。对于初学者来说非常有益。(果壳评分:8.1分)



中级阶段教程
先修知识

英语比之前有长进。


学习资料

A 线路:Machine Learning

这门课程由由百度首席科学家,前 Google Brain 负责人之一 Andrew Ng(吴恩达)教授,不会涉及很深的数学,学习这门课程需要有高中知识预备。课程有中文字幕。(果壳评分:9.6分)



B 线路:机器学习专项课程(Machine Learning Specialization)

如果你是从初级学习到此,可以尝试本系列课程。初级里面的 Machine Learning Foundations: A Case Study Approach 就是本系列的第一门课程,是整个系列课程总概,从第二门课程开始,你将要自己编写机器学习算法。不过课程有着非常详细的教程引导,认真学习肯定可以通过课程,内容上会比A 线路的详细。




选修资料

《集体智慧编程》(Programming Collective Intelligence )

听说是一本不错的书,很多人推荐。



高级阶段教程
先修知识

复习以下数学课程:

  • 线性代数 Linear Algebra Review and Reference

  • 概率论 Probability Theory Review

有不会的可以去 MIT OCW 补课。


编程方面,具体课程具体要求不同。通常使用的是 MATLAB 或 Octave,Octave 是一款 和 MATLAB 类似的变成语言,但 Octave 免费开源。教程:MATLAB, Octave. 当然也有些课程使用 Python。另外一般需要有对算法的基本认识,可以学习王子屯私塾的算法课程:Algorithms, Part I,Algorithms, Part II 或者直接看教材 Algorithms,也可以学习 MIT 的 《算法导论》。


学习资料

A 线路:从数据中学习(Learning From Data)

加州理工学院原版课程,没有因为要适应大众降低难度,不可多得的机器学习入门课程。教授为这门课程建立了一个网站,上面有关于课程的各种资料,还有讨论论坛,学习环境也不可多得。(果壳评分:8.5分)


B 线路:

机器学习(Machine Learning),Stanford 公开课

Andrew Ng 早些年在 Stanford 授课的录像,也是校园原版课程。


机器学习中使用的神经网络(Neural Networks for Machine Learning)

多伦多大学,Coursera

学习完上面其中一门,可以考虑学习神经网络,由深度学习的开山鼻祖 Geoffrey Hinton 教授。(果壳评分:8.5分)



其他建议
学习建议

学习氛围对于学习来说非常的重要。有无一个班级、小组一起学习,最后收获的差别可能会非常的大。在学校的学生他们有小组讨论,做小组 project 等等学习活动,在这些过程中,毫无疑问收获是非常大的。所以建议即使是自学,也尽量加入一个学习小组一起学习,大家都一起学习交流,收获定会更大。


查找学习资料的技巧

现在大学很多课程都有自己的课程网站,提供学习资料给学生下载,比如作业、习题、lecture notes 等,可以尝试去这些课程网站找找学习资料。比如 Stanford 的 Machine Learning 网站,打开Handouts and Materials, 各种资料应有尽有。



其它相关领域的课程:


  • Natural Language Processing 自然语言处理(Coursera)

  • Recommender Systems 推荐系统(Coursera)

  • Data Science 数据科学(edX)


貌似由于数据科学是新出现的学科,现在还没有什么好的课程。edX 数据科学系列的课程由 Columbia 21名教授参与制作,我想应该不会差。




怎么样,你也想学编程了?

点击“阅读原文”,看看近期都有哪些热门计算机课程!


MOOC学院原创资讯,转载请联系academy@guokr.com