机器学习从入门到进阶

 

1. 放弃海量资料!!!

没错,就是放弃海量资料!在我们想要入门机器学习的时候,往往会搜集很多资料,什么 xx学院机器学习内部资源、机器学习从入门到进阶百 G 资源、xx 人工智能教程,等等。很多时候我们拿着十几 G、几百 G 的学习资源,然后踏踏实实地放到了某云盘里存着,等着日后慢慢学习。殊不知,有 90% 的人仅仅只是搜集资料、保存资料而已,放在云盘里一年半载也忘了打开学习。躺在云盘的资料很多时候只是大多数人“以后好好学习”的自我安慰和“自我”安全感而已。而且,面对海量的学习资料,很容易陷入到一种迷茫的状态,最直接的感觉就是:天啊,有这么多东西要学!天啊,还有这么多东西没学!简单来说,就是选择越多,越容易让人陷入无从选择的困境。

所以,第一步就是要放弃海量资料!而是选择一份真正适合自己的资料,好好研读下去!

2. 放弃从零起步!!!

说到入门,很多人会想着那就要从最基础的知识开始学起!机器学习是一门融合概率论、线性代数、凸优化、计算机、神经科学等多方面的复杂技术。学好机器学习需要的理论知识很多,有些人可能基础不是特别扎实,就想着从最底层的知识开始学起,概率论、线性代数、机器学习凸优化公式推导,等等。但是这样做的坏处是比较耗时间,而且容易造成“懈怠学习”,打消学习的积极性。因为啃书本和推导公式相对来说是比较枯燥的,远不如自己搭建一个简单的回归模型更能激发自己的学习积极性。当然,不是说不需要钻研基础知识,基础理论知识非常重要!只是说,在入门的时候,最好先从顶层框架上有个系统的认识,然后再从实践到理论,有的放矢的查缺补漏机器学习知识点。从宏观到微观,从整体到细节,更有利于机器学习快速入门!而且从学习的积极性来说,也起到了“正反馈”的作用。

3. 机器学习入门学习路线

好了,谈完了机器学习入门之前的两个“放弃”之后,我就来系统介绍下整理的机器学习入门路线。

1)Andrew Ng《Machine Learning》

首先,非常推荐吴恩达(Andrew Ng)在 Coursera 上开设的机器学习入门课《Machine Learning》,授课地址是:

https://www.coursera.org/learn/machine-learning

 

关于这门课的官方介绍是:本课程将广泛介绍机器学习、数据挖掘和统计模式识别。相关主题包括:(i) 监督式学习(参数和非参数算法、支持向量机、核函数和神经网络)。(ii) 无监督学习(集群、降维、推荐系统和深度学习)。(iii) 机器学习实例(偏见/方差理论;机器学习和AI领域的创新)。课程将引用很多案例和应用,您还需要学习如何在不同领域应用学习算法,例如智能机器人(感知和控制)、文本理解(网络搜索和垃圾邮件过滤)、计算机视觉、医学信息学、音频、数据库挖掘等领域。

这门课基本涵盖了机器学习的主要知识点,例如:线性回归、逻辑回归、支持向量机、神经网络、K-Means、异常检测等等。而且课程中没有复杂的公式推导和理论分析。Ng 的目的是让机器学习初学者能够快速对整个机器学习知识点有比较整体的认识,便于快速入门。

这门课所有知识点的思维导图:

 

机器学习从入门到进阶

 

这门课每个知识点都会配套相应的练习题。大家可以在 Coursera 上下载,线下完成并提交。唯一的缺点可能是该习题都是基于 matlab 平台的。但是,Github 上已经有人把作业整理成为 Python 的形式了。有 .py 和 .ipynb 两种格式。

nsoojin/coursera-ml-py

kaleko/CourseraML

 

2)台大林轩田《机器学习基石》

*大学林轩田老师的《机器学习基石》课程由浅入深、内容全面,基本涵盖了机器学习领域的很多方面。其作为机器学习的入门和进阶资料非常适合。而且林老师的教学风格也很幽默风趣,总让读者在轻松愉快的氛围中掌握知识。这门课比 Ng 的《Machine Learning》稍难一些,侧重于机器学习理论知识。

首先附上这门课的主页:Hsuan-Tien Lin > Home

林轩田机器学习基石这门课有一个配套教材:《Learning From Data》,林轩田也是编者之一。这本书的主页为:Learning From Data - A Short Course

红色石头整理了这门课 16 节课的精炼笔记,供大家参考:

林轩田机器学习基石-红色石头的个人博客​redstonewill.com

 

 

3)台大林轩田《机器学习技法》

《机器学习技法》课程是《机器学习基石》的进阶课程。主要介绍了机器学习领域经典的一些算法,包括支持向量机、决策树、随机森林、神经网络等等。难度要略高于《机器学习基石》,具有很强的实用性。

首先附上这门课的主页:Hsuan-Tien Lin > Home

红色石头整理了这门课 16 节课的精炼笔记,供大家参考:

林轩田机器学习技法-红色石头的个人博客​redstonewill.com

 

林轩田这两门课的所有视频、PPT、书籍,还有我整理的读书笔记 .md文件、pdf,都放在了 Github 上:

https://github.com/RedstoneWill/HsuanTienLin_MachineLearning

 

关于林轩田机器学习的所有资源和笔记,我整理在公众号【AI有道】中,需要的读者可在公众号后台回复:Lin,即可获取!

4)《机器学习实战》

学完了上述几门优秀的公开课之后,已经具备了比较不错的机器学习理论了。接下来就要注重实战。简单地说,最直接的方法就是自己实现一遍主流的机器学习算法。这里可能有的同学说不需要重复造*。但是我觉得简单地把所有机器学习算法使用python实现一遍还是很有必要的,至少是伪代码的形式。一方面能够加深自己对理论的深入理解,另一方面能够锻炼自己的代码实操能力。可以看下这本《机器学习实战》书:

机器学习从入门到进阶

这本书最大的特点就是从零开始,使用python实现主流的机器学习算法。可以借鉴和参考。但是这本书的缺点也很明显,比如代码基于python2,代码比较晦涩难懂,可读性不高。但整体了解下还是很不错的。

5)吴恩达《深度学习专项课程》

机器学习从入门到进阶

从去年 8 月份开始,AI 界大IP吴恩达在 Coursera 上开设了由 5 门课组成的深度学习专项课程,掀起了一股人工智能深度学习热潮。这里附上 deeplearning.ai 的官网

deeplearning.ai

关于该深度学习专项课程,红色石头非常推荐!它对于理解各种算法背后的原理非常有帮助,同时提供了大量的应用场景,涉及图像、语音、自然语言理解等各方面,还提供了一些工具函数、数据集。这个系列课程是从机器学习过渡到深度学习的必备课程!

该专项课程分为五门课,所有的读书笔记汇总:

吴恩达deeplearning.ai-红色石头的个人博客​redstonewill.com

 

深度学习专项课程所有课程精炼笔记见GitHub:

https://github.com/RedstoneWill/Andrew-Ng-deeplearning.ai​github.com

 

 

今年,Ng 又在斯坦福大学又开设了高质量的深度学习课程 CS230。这门课的主页是:

CS230: Deep Learning

这门课是 deeplearning.ai 的线上、线下综合课程。这门课采用翻转课堂的教学形式,你可以在家观看教学视频,完成深度编程作业和在线测试,然后来到课程做进一步讨论并完成项目。这门课将以一个开放式的最终项目作为结束,此过程中教学团队会提供一些帮助。

该门课的线上部分与deeplearning.ai一致,线下部分包含了一个课程项目。目前 CS230 的项目报告与 Poster 展示都已经发布。包含多种主题,如音乐生成、情绪检测、电影情感分类、癌症检测等。

Deep Learning - Projects​web.stanford.edu

 

4. 进阶

基本上完成上述课程就算是入门了。接下来可以根据自己的兴趣和方向,有的放矢。例如主攻 CV 方向,可以继续学习斯坦福 CS231n 课程:

CS231n: Convolutional Neural Networks for Visual Recognition

如果主攻 NLP 方向可以学习斯坦福 CS224n 课程:

CS224n: Natural Language Processing with Deep Learning

当然,台大李宏毅的课程也很不错:

Hung-yi Lee

作者:红色石头
链接:https://www.zhihu.com/question/20691338/answer/446610161
来源:知乎