如何用 MOOC 组合掌握机器学习?

学习

2017 年 1 月,人类在智力领域数万年积攒下来的嚣张气焰遭到了若干次无情的打压。

咱们不提 CES 2017 上激动人心的自动驾驶产品(估计七八年之后你的驾驶证就可以扔掉了),也不细讲《最强大脑》节目里人类精英在图像识别环节被碾压(这曾经是人类可以嘲笑人工智能的典型领域),就说说围棋界的海啸吧。

数十位人类围棋界顶尖高手,用人类围棋对弈的千年智慧结晶,历经艰苦卓绝的奋斗,依然被 Master 用快棋打了个一塌糊涂——60:0。

别人输棋以后都很茫然,唯独古力九段战后的话最为耐人寻味——“人类与人工智能共同探索围棋世界的大幕即将拉开”。

这话我听着,觉得韵脚极为熟悉。突然想起来王朔的《顽主》中描述过类似情节。

马青兴冲冲地走到了前面,对行人晃着拳头叫唤着:“谁他妈敢惹我?谁他妈敢惹我?” 一个五大三粗,穿着工作服的汉子走近他,低声说:“我敢惹你。” 马青愣了一下,打量了一下这个铁塔般的小伙子,四顾地说:“那他妈谁敢惹咱俩?”

玩笑归玩笑,不过人类精英终于学会谦逊,并对人工智能表达了合作的诚意,这也是好事儿。人工智能的崛起让很多人自以为认识到了一个现实:

你今天有工作的时候不学习人工智能,明天人工智能会取代你的工作。

你同意吗?

其实这话错了,它不是现实。

人和机器不会发生竞争。人挣钱吃饭,机器有电就行。

现实是:

你今天有工作的时候不学习人工智能,明天就有人利用人工智能取代你的工作。

人和人永远免不了竞争。这场军备竞赛里面,人工智能已经成为了个体可以掌握的核武器。别人懂了,你不懂,结果会很美妙。

?!……

当然我说的是别人的结果。

人工智能领域中,目前最火的技术是机器学习 (machine learning),尤其是近年来伴随大数据产生而崛起的深度学习 (deep learning)。不论是 AlphaGo 还是百度大脑,其实都是使用了(深度)机器学习,才变得如此厉害。

想不想学习一下 “机器学习” 呢?

途径

要了解和掌握机器学习,路径有很多。你可以选课、报班,甚至自己看书。但是我更推荐的,是 MOOC。

对于大多数人来说,MOOC 资源更容易获得。只要你有一台能上网的电脑,就可以开始学。

因为这几年机器学习很火,因此相关 MOOC 很多。有好事者就开始进行梳理总结,把数十门课程分成初级、中级、高级,每一部分都有十余门课程。然后罗列出来,供读者按部就班来学习。

我的评价是,他们用非常认真负责的态度干了一件糟糕透顶的事儿。

为什么?

因为你一股脑罗列数十门课程,不会丝毫降低学习的门槛,反而迅速减少了 “从入门到放弃” 的时长。

没错,看完了你的清单,读者就放弃了。他的结论是 “机器学习这事儿看来跟我这辈子没关系”。

本文尝试做一件与众不同的事儿——精选少数课程,组合一个易于入门和快速应用的路径。

要达到这个目标,就需要从许许多多的 MOOC 里选择 “最好的” 课程。所谓 “最好的” 课程,需要满足以下条件:

  1. 授课教师自身是牛人;
  2. 讲授用心;
  3. 课程设计符合学习规律。

有了这个标准,许多课程立即被排除掉了。我们精选了数门课程,分别带领初学者完成入门、进阶、应用和补课等过程。组合起来,就是一个完整的机器学习了解和掌握路径。

因为众口难调,所以我们不可能找出所有人都公认的 “最好” 课程。如果你觉得我列出的课程或者组合方式还不够好,不要直接开骂。因为这不是一场 PK。欢迎你推荐心目中更好的课程给我们大家,谢谢!

入门

入门课程推荐吴恩达 (Andrew Ng) 教授 Coursera 平台上的《机器学习》。

吴恩达教授,就是《最强大脑》里面带着人工智能来砸场子的这位仁兄。

他是斯坦福大学教授,Coursera 的联合创始人之一。

如果你在 MOOC 论坛上发问,网友们给你推荐的第一门机器学习课程八成也是这门。

原因是门槛低,天花板很高。

所谓门槛低,是指不要求你多么熟练掌握某种语言编程技术,也不需要你的数学知识达到做完若干册《吉米多维奇数学分析习题集》的水平。

所谓天花板很高,是指该课程全面介绍了机器学习中的核心知识,并且扩展到若干不同应用领域。其实我真是觉得这种课程设计方式非常值得我国大学来学习。在保证覆盖面的同时,只在几个关键知识点着力反复练习,使得学生学起来轻松,却真的掌握到了精髓。

我觉得这才是真正的大师水平。

之前为这门课程专门写过一篇文章《机器学习,你也行》。这里就不再赘述了。感兴趣的同学欢迎出门左转去看看。

学完这门课,你就可以自豪地宣称自己了解机器学习了。

进阶

获得了吴恩达教授课程证书之后,千万要趁热打铁,掌握现今最为热门的深度学习。

所谓深度学习,就是利用深度神经网络进行机器学习。如下图就是利用深度社交网络辨别一张图片究竟是车、人,或是动物。

此处推荐的课程是 Geoffrey Hinton 教授的《神经网络与机器学习》。

为什么推荐这门课?

首先,你会发现这门课使用的软件工具与上一门课程一样,都是易于安装、便于掌握的 Octave。你不需要去了解编程环境的各种配置,拿过来直接用就行。框架代码都已经提供,你只需要在重点环节进行修改和补充。

其次,课程默认你学过吴恩达教授的课程作为前导。因此二者没有什么重叠,避免重复劳动。直接高屋建瓴,继续向纵深推进。

第三,Hinton 教授是深度学习领域公认的权威。

这位大叔最大的本领就是对事业有自己的思考和见解,不人云亦云。当年人工智能领域遭遇寒冬,资助都没了,实验室都维持不下去了。许多有才华的人都跳到其他领域去了,唯独他老人家总是觉得不断改进与发展中应该有机会,就留了下来。

事实证明这种坚持带来的收获是显著的。他比别人提早深耕了数十年,如今的学者在深度学习领域无论写什么新论文几乎都绕不开引他的文献。:-P

所以,听这样泰山北斗级别的人物给你授课,真的是一种幸福。对别人来说一种非常高深莫测的算法,读起来要么如同天书,要么击节赞叹,可在他嘴里无非是 “哦,那一年我试了一下这个,不成;后来突然开窍了,在这里改变了一点点,然后就……”

有些人在讨论区留言说他的笑话讲得太有趣了。这是真的。不过你学起来的时候对这个事儿期望不要太高——作为外国人,你的生活环境和文化底蕴不同,笑话就别指望都能听懂了。

学完这门课,别人要是再想拿深度学习的概念来忽悠你,就很困难了。

这话你听懂了吗?

学完这门课,如果你拿深度学习的概念去忽悠别人……

咳咳。

实践

通过前面两门课,你理解了什么是机器学习和深度学习。但是你可能不愿意只停留在概念理解上,却很想做出些东西来实践。实践应用一方面可以检验你学习的效果,另一方面可以帮助你积累经验,同时还可以带来成就感。

不好意思,在应用实践环节这里,路径上有个分支。

第一种选择是 Udacity 上面的课程”Intro to Machine Learning”(ud120)。授课人是 Sebastian Thrun,前几年他一直是 Google 自动驾驶技术的负责人。

这门课采用的函数库是 Scikit-learn,构建于 Python 之上。课程设计得很吸引人,利用一些数据集,让你熟悉如何用别人构造好的功能(函数调用),加上你自己的理解(参数调整)来完成一些小型项目。

我对这门课程总体上很满意,吐槽在于对免费学习用户而言,因为缺乏必要辅助,最后的大项目难度陡然提高。一般人难以适应,很容易中途放弃。当然,如果你是付费用户,会有专人带领你一步步前行,并且提供必要的帮助,感觉就好多了。

第二种是选择 Coursera 平台上华盛顿大学的机器学习课程专项系列 (specialization),课程名称为 “Build Intelligent Applications”。

先吐槽一下,我觉得这个课程明显体现出资本市场对于学术活动的干扰。课程系列包含了 6 门课。但是到目前为止只推出了前 4 门。第 5 门一直在不停跳票。从 2016 年的 9 月份一直推迟到了 2017 年 1 月底。

为什么?因为主讲人两口子的公司 Turi 被苹果收购了。于是他们只好暂缓手头的课程制作,处理收购的各项事宜。

不过从已经推出的 4 门课来看,水平非常高,而且设计巧妙。

课程采用案例教学,就是每一个模块都依照具体问题给定数据集进行处理。第一门课是总览,让用户体会每一部分的重要内容,并且动手运行尝试,增加趣味和信心。

然后从第二门开始,每门分别介绍一个机器学习类型。每一周的课程由浅入深,逐渐加码。利用 Jupyter Notebook 保存练习的结果,将来可以直接用到实践中。

两口子还非常大方地开放自己公司的产品免费给学生使用。他们的产品对于学术界也是相当于免费(每年需要手动免费更新一次证书),很慷慨。不过被收购以后,这个政策的事儿就不好说了。

有的章节题目很有一些难度。作为学习者,你得做好远离舒适区,不停在学习区遨游的准备。

上述这两门课程选择一门听完,你应该可以具备自己动手处理一些小型数据集的能力了。对于学习、工作和科研应该会有很大的助益。

你很不满意,想要处理大规模数据?这个事儿需要两个条件支撑:

  1. 你需要能得到大规模数据;
  2. 你得有相应的硬件条件。

实话实说,目前绝大部分人不具备相应的条件。所以这个问题有空咱们再深入聊。

补课

你可能对自己的知识基础没有什么信心——我不是数学或者计算机相关专业的,也能学会机器学习吗?

从刚才的课程介绍,你应该不难看出。现在机器学习的门槛已经很低了。但是为了达成目标,你还是需要掌握一些非常基础的知识,主要包括:

  1. 数学(初级微积分、概率论与统计、线性代数);
  2. 编程语言(例如 Python)

如果你缺乏相应的知识,没关系,补就是了。缺哪里补哪里,反复补充,这样学习劲头和效率都有保障。

Python 语言的补课方式我建议采用密歇根大学的 Coursera 课程系列《人人都能学编程》。

这是目前我见到过的最适合数据科学初学者的 Python 语言入门方法。学了这门课程,你不仅掌握了一门语言,还可以掌握数据挖掘的基础知识。包括数据库操作、API 和爬虫等。跟前面的实践类课程直接可以对接,严丝合缝。

至于数学知识的补充,我推荐的是 Bill Gates 一直赞不绝口的可汗学院。

可汗学院起家的本领就是帮助学生辅导数学功课。因此在 MOOC 领域,该平台的数学课程是积累最为丰富的,对学生来说也是最无痛的。

看到可汗学院这么多数学课程类别了吗?别犹豫,抓紧学吧。你不会重温大学一年级的噩梦的,因为讲授方式真的很生动、很有趣。

讨论

你还上过哪些讲解机器学习的好 MOOC?它的独特之处在什么地方?能否替换本文列出的部分课程,形成更好的组合?欢迎留言分享,我们一起讨论。

本文作者:AI研习社

本文转自雷锋网禁止二次转载,原文链接

时间: 2024-10-02 19:58:03

如何用 MOOC 组合掌握机器学习?的相关文章

实践!如何用阿里云的机器学习得出泰坦尼克号沉船事件中谁有更大的概率获救

阿里云机器学习平台是一套基于MaxCompute(阿里云分布式计算引擎)的数据挖掘.建模.预测的工具.它提供算法开发.分享.模型训练.部署.监控等一站式算法服务,用户可以通过可视化的操作界面来操作整个实验流程,同时也支持PAI命令,让用户通过命令行来操作实验. 该平台沉淀了阿里巴巴的机器学习算法体系和经验,从数据的预处理.到机器学习算法.模型的评估和预测动能. 操作界面 阿里云机器学习平台架构 阿里云机器学习平台的架构图 通过上面的架构图就可以看出,用户可以通过可视化界面实现实验的搭建服务,底层

史上最全的机器学习资料(上)

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能.机器学习牵涉的编程语言十分之广,包括了MATLAB.Julia.R.Perl.Python.Clojure.Ruby等等. 为了让开发者更加广泛.深入地了解机器学习,组织翻译了GitHub Awesome Machine Learning 资源,涵盖2

如何开启Kubernetes之旅

本文讲的是如何开启Kubernetes之旅[译者的话]这篇文章由浅入深地介绍了如何开始Kubernetes学习,以及如何基于Kubernetes部署应用.作者给出了很多非常好的建议,指导读者掌握围绕Kubernetes的各个概念和相关技能,为学习Kubernetes指明了方向. 从Hello Minikube到Kubernetes Anywhere,再到微服务示例应用,学习谷歌容器编排工具的途径比比皆是. 每一次的创新都带来一些新的麻烦.容器使得应用的打包和运行更加便捷,但是管理大规模容器依然是

清华机器学习科学家李建:如何用深度学习来解析时空大数据?

雷锋网AI科技评论按:6月24日下午,钛媒体和杉数科技主办的2017 AI 大师论坛在京举行,论坛邀请了五位算法优化.机器学习领域的顶尖教授.学者出席并发表学术演讲,雷锋网(公众号:雷锋网)记者也对论坛进行了跟踪报道.本篇内容根据机器学习领域专家李建的论坛分享实录整理而成. 李建,清华大学交叉信息研究院助理教授.杉数科技科学家,美国马里兰大学博士.国内机器学习领域最顶尖的前沿科学家之一,国际学术会议VLDB 2009和ESA 2010最佳论文奖获得者,清华211基础研究青年人才支持计划以及教育部

跨越科技鸿沟:摩根士丹利如何用机器学习辅助财富管理?

本文作者之一是巴布森学院(Babson College)管理及信息通信系教授,麻省理工学院数字经济研究员Thomas H. Davenport,同时他还担任德勤高级顾问.另一作者Randy Bean 是咨询公司 NewVantage 创始人兼CEO.此外,他还是福布斯.哈佛商业评论.麻省理工学院斯隆商学院评论.华尔街日报专栏作家. 金融机构提供自动化投资建议的系统被称作 robo-advisers .虽然从业者并不是特别喜欢这个术语,但无法阻挡它成为流行词.近期,摩根士丹利宣布,利用机器学习来"

如何用自动机器学习实现神经网络进化

雷锋网按:本文由图普科技编译自<Design by Evolution: How to evolve your neural network with AutoML>,雷锋网(公众号:雷锋网)独家首发. 对大多数从事机器学习工作的人来说,设计一个神经网络无异于制作一项艺术作品.神经网络通常始于一个常见的架构,然后我们需要对参数不断地进行调整和优化,直到找到一个好的组合层.激活函数.正则化器和优化参数.在一些知名的神经网络架构,如VGG.Inception.ResNets.DenseNets等的

国外大神的机器学习算法大汇总;如何用 50 行 PyTorch 代码实现 GANs | AI开发者头条

工具推荐:基于 LMDB 的机器学习张量数据快速读写工具 今天推荐一款基于 LMDB(Lightning Memory-Mapped Database)数据库的张量读写工具,专门为加快机器学习领域的数据读取速度而设计. 详情:https://github.com/vicolab/ml-pyxis 机器学习算法大汇总 近日有国外大神祭出了一张神图,图中针对机器学习领域几乎所有的常见算法进行了分类大汇总.不但简单介绍了每一种算法的大概含义,还整理了它们的常见应用和优缺点,各位开发者绝对不可错过. 原

SQL Server如何用SQL实现一批字符串的全部组合

在SQL Server中,如何用SQL去实现得到一批字符串的全部组合呢?这个是同事在实际需求当中遇到的一个问题,他的具体需求如下所示:   传入参数格式为'1,2,3,224,15,6'   'A,BC,GHT,TTY,B,E'   输出的内容为分割后字符串的所有非排列组合 !-阶乘,如!=5××××=120  (M!/(N!*((M-N)!)))     公式描述:组合数公式是从m个不同元素中,任取n(n≤m)个元素并成一组,叫做从m个不同元素中取出n个元素的一个组合: 从m个不同元素中取出n

杉数科技CTO王子卓:4大案例告诉你,如何用机器学习玩转企业大数据 | 硬创公开课

在上一期雷锋网AI掘金志硬创公开课<十大场景案例详解:人工智能如何提升商业效益>中,我们通过案例详细介绍了AI用于商业实战中的场景和效益.而为了真正帮助推动AI落地,我们将带来更多场景单点技术干货分享,以飨读者. 因此,本期公开课,雷锋网邀请到杉数科技CTO王子卓博士来进行主题为"如何利用机器学习做运筹优化与智能决策"的分享. 以运筹优化与智能决策为例,王子卓表示,大数据要产生实质价值,必须真正提升决策质量.规律性分析能够从海量数据中发掘出规律,但是找到规律并不自然而然带来