原文:
www.kdnuggets.com/2016/07/top-machine-learning-moocs-online-lectures.html
由 Pulkit Khandelwal, VIT 大学。
每个人在进入机器学习(和深度学习)领域时都会被大量的 MOOCs 所淹没。在这里,我尝试全面概述这些在互联网上免费提供的课程。你可以将这篇文章作为这篇和这篇旧帖的补充。我将尝试突出一些重要的提示,如课程的难度、这些课程的正确完成顺序以及适合这些课程的受众。你将了解到这些课程如何为你提供一系列技能,以及如何利用它们开发实用的机器学习系统。
另一个重要方面是实现自包含作业所用的语言和软件包。你想使用 MATLAB 还是用 Python 编码,你想使用 Theano、Torch 还是 Caffe?哦,等等!可能是 Tensorflow?你如何选择要深入的包?
也可能是你看了大约五节讲座后发现你跟不上课程,因为你很难理解什么是伪逆?这时,你需要在观看这些机器学习视频之前掌握基础知识!
最后,在观看完讲座并浏览相关论文后,你可能想要设置你的工作站,亲自观察算法的运行效果!
所以,这里有一些在我学习过程中遇到的最佳课程:
机器学习 - Andrew Ng, 斯坦福大学
这门课程是一个起点。几乎每个机器学习工程师或研究者都完成了这门课程,实际上,自首次开设以来,这门 MOOC 拥有全球最大的注册人数。Ng 的课程为我们提供了良好的直觉学习。他绕过了复杂的数学推导和公式,但同时使其足够简单,以便你能掌握概念。他主要关注如何在现实世界场景中使用这些算法,即在课程中提供了大量的实践建议,以便人们可以小心地应用材料。我最喜欢 Ng 的一点是,他指出了工程师在行业中常犯的错误,以及如何避免这些错误。课程中为初学者提供了线性代数和 Octave/MATLAB 的良好教程。作业理论涵盖得足够好,实施也相当直接。
话虽如此,Ng 的课程跳过了许多高层次的机器学习问题和算法。如果你想做一些严肃的研究,那么仅靠这门课程是不够的。此外,这门课程没有过多关注贝叶斯和概率方法,因为这些内容超出了课程目标的范围,且相对高级。作业基于 MATLAB/Octave,这对研究和初步理解概念是有益的,但你可能会想用 Python 或 C 来构建机器学习系统。
如果你对这个领域还很陌生且数学基础尚不够强,千万不要跳过这门课程。
本科生机器学习 - Nando de Freitas,英属哥伦比亚大学
我在 Youtube 上发现了这个课程,由另一位优秀的机器学习研究者Nando de Freitas提供。记得我提到 Ng 跳过了一些概念,不用担心,这门课程来救急了!Nando 通过这些讲座做得非常出色。把它们作为 Ng 课程的补充。Nando 还提供了掌握一些高级概念所需的所有先决条件,如概率、最大值和对数似然。观看所有视频后,你将获得扎实的机器学习背景。他重视数学,而这是 Ng 所忽略的。他还在整个课程中使用了向量化。顺便提一下,完全跳过数学细节可能是非常危险的。
机器学习 - Tom Mitchell,卡内基梅隆大学
Tom Mitchell 的课程是所有机器学习研究者中的最爱。这个课程有多个版本,你可以选择其中任何一个。课程材料和作业简洁明了,概念阐述清晰且直接。线性代数、概率论等先修知识已在初始讲座中覆盖。他接着讲解了机器学习的基本工具,随后是关于概率图模型的讲座。课程的下一部分涉及人工智能、神经网络、主动学习和强化学习。还有两节额外的客座讲座,由Dr. Burr Settles和Prof. Ziv Bar-Joseph主讲。因此,你可以看到数学、机器学习、人工智能、神经网络和深度学习等内容都在这门高水平课程中得到了涵盖。如果你不想浏览其他课程,我推荐在完成 Ng 的课程后学习这门课程。请完成所有讲座、习题、阅读材料、作业、项目,甚至是他的书!
数据学习 - Yaser-Abu Mostafa, EdX 和 CalTech
这门课程被评价为机器学习领域中最具挑战性的课程之一。Abu 将讲座分为理论和实际应用两类。概念理解是他的黄金法则。流畅的讲解和清晰的说明使这门课程成为另一门出色的课程。作业可能是你在互联网上能找到的最好的之一。教授非常受尊敬。在这里你可以找到课程的详细评论。
Udacity 提供了各种免费的机器学习课程,如机器学习入门、监督学习、无监督学习、深度学习和大量的数据科学课程。这些课程各有特色,注重项目实践,并提供了完成这些项目所需的所有工具,从而使你准备好进入行业。开源是他们的口号。一旦你对上述课程中的机器学习有了良好的掌握,自己去探索吧。为了找到工作,掌握这些 MOOCs 是必不可少的,因为它们涵盖了机器学习的各种应用!
深度学习 - Nando de Freitas, 牛津大学
Nando 的高级课程为你提供了深度学习技术和所有基本概念的概述。他举了语音识别、计算机视觉、自然语言处理等应用的例子。你不能在不参考所有提到的文献的情况下完全理解讲座。但是,如果你想了解高级机器学习和神经网络问题的难度以及接下来的步骤,这是一个很好的起点。如果你无法掌握内容,不要害怕。这很困难,属于博士级别。顺便说一句,还有来自 Google DeepMind 的 Alex Graves 和 Karol Kregor 的客座讲座。
一句建议:我建议在深入上述课程之前先学习线性代数和概率论。MIT OCW 和可汗学院提供了极好的内容。尽量掌握直觉。如果你无法理解某些内容,最好暂停视频并重新观看该部分。最后,你需要成为更好的机器学习程序员,并且应尽可能地对代码进行向量化。你可能一开始会用很多 for 循环,但一旦你变得更好,代码向量化应该成为常态!不要被这些东西压倒。按自己的节奏学习!
我推荐以下流程:
前提条件 -> Ng -> Tom Mitchell -> Udacity
简介: Pulkit Khandelwal 是麦吉尔大学计算机科学硕士生。他的兴趣在于计算机视觉和机器学习。
相关内容:
-
顶级 Coursera 数据科学专业化课程:比较与独家见解
-
15 个数据科学数学 MOOC
-
顶级机器学习 MOOC 和在线讲座:全面调查
1. Google 网络安全证书 - 快速进入网络安全职业生涯。
2. Google 数据分析专业证书 - 提升你的数据分析技能
3. 谷歌 IT 支持专业证书 - 支持你所在的组织在 IT 领域