专栏名称: InfoQ
有内容的技术社区媒体。
51好读  ›  专栏  ›  InfoQ

普通程序员转型AI免费教程整合,零基础也可自学!

InfoQ  · 公众号  · 科技媒体  · 2017-05-31 07:52

正文

作者|王嘉俊
编辑|小智
这是一份用户友好型的机器学习教程,哪怕你是没毕业的大学生,或是初入职场的小码农,零基础的你都可以通过本教程自学机器学习,并将其快速应用。最关键的是,这些教程都是完全免费的,唯一的痛点可能在于:你的英文水平好吗?

注:本文转载自公众号第四范式, “范式大学”由第四范式发起,致力于成为培养工程师转型为数据科学家的“黄埔军校”。专栏专注于以人工智能解决具体商业问题。在这里你将会看到,企业如何通过可实施的方法完成 AI 转型;个人如何通过最新的科技工具,快速成为能解决问题的机器学习工程师。

写在前面

相信看到这篇文章的朋友,几乎都想成为机器学习科学家。

事实上,绝大多数的付费课程,基本上都有完全免费的课程放在另一个地方。我们只是把这些信息整理好,告诉你在哪儿可以找到他们,以及通过什么样的顺序进行学习。

这样,哪怕你是还没毕业的大学生,或者是初入职场的工程师,都可以通过自学的方式掌握机器学习科学家的基础技能,并在论文、工作甚至日常生活中快速应用。

在这里我们推荐一份用户友好型的机器学习教程,你可以通过几个月的学习成为机器学习科学家,完全免费。

一份用户友好型的机器学习教程

当你学习机器学习课程时,有没有被信息过载所淹没?

大部分的学习者都遇到了这个问题,这不是他们的错,因为绝大多数的机器学习课程都过于关注个别算法了。

没错,虽然算法很重要,但他们还是把太多时间花在了算法上。

以至于...... 你几乎很难在短时间内走完一遍机器学习的流程,从而感受到通过它解决具体数据问题的巨大兴奋。

这些机器学习课程关注于算法是因为它容易教。相比之下,如果机器学习老师要带你走一遍机器学习的流程,那么他需要搭建计算环境,完成数据采集、清洗、拆分,特征处理,模型调参和模型预测,甚至他还需要一个面向学习者的交互界面。老师哪有这么多的工具,与其手把手带着学生走一遭,还不如学习机器学习算法。

但这样的问题是,很难有人能坚持通过自学,成为一个卓越的机器学习科学家。哪怕他是数学博士,或者技术高超的程序员,都很容易陷在细节中而难以有具体项目实现的成就感。

这份教程将会带来完全不同的思路。它非常适合自学者,即便完全没有编程的基础,也能通过恰当的工具快速实现机器学习模型,解决工作、生活中遇到的具体问题。

值得注意的是,我们享用了世界顶级的机器学习资源,而不需要花费 1 分钱。

自我学习的方式

我们推荐通过 Doing Shit(不是技术术语)完成你的学习。

在这之前你也许已经学习过机器学习了,但从我和朋友们的经验来看,往往会被各种神秘的符号、公式、大量的教科书和论文整的晕头转向,然后再也不想碰这恼人的玩意了。

我们的方法会更加友好,它的学习过程就像小朋友学习一样,你会了解一些基础的知识(但不一定要完全弄懂),然后通过好用的工具快速实现出来就好了。而当你被建模出来的结果吸引,那时候我们才谈算法背后的数学逻辑和计算逻辑。

所以我们会在学习中做很多机器学习项目,这样的好处是当你面对一个工作机会时,你就是一个经验丰富的机器学习科学家了!

当然自学本身是需要自律的,这本教程将一直陪伴着你,以下是 4 个步骤。

1. 前提条件 (不需要完全弄懂)

统计学、编程和数学(也可以不需要编程)

2. 海绵模式

把自己浸泡在机器学习的各种理论中

3. 目标实践

通过机器学习包实践 9 个有意思的题目

4. 机器学习项目

深度参与到感兴趣的项目和领域中

步骤 1:前提条件

机器学习之所以看起来很吓人,是因为总伴随着那些晦涩难懂的术语。实际上,即便你是中文系毕业的,也可以学好机器学习。不过,我们需要你在一些领域有基础的理解。

好消息是,一旦你满足了前提条件,其余的将会非常容易。事实上,几乎所有的机器学习都是把统计学和计算机科学的概念应用于数据领域。

任务:确保你了解基础的统计学、编程和数学

统计学: 理解统计学、特别是贝叶斯概率对许多机器学习算法来说都是至关重要的。

免费的指南: How to Learn Statistics for Data Science, The Self-Starter Way

https://elitedatascience.com/learn-statistics-for-data-science

编程: 懂得编程将会更灵活的应用机器学习。

免费的指南: How to Learn Python for Data Science, The Self-Starter Way

https://elitedatascience.com/learn-python-for-data-science

数学: 对原始算法的研究需要线性代数、多变量计算的基础。

免费的指南: How to Learn Math for Data Science, The Self-Starter Way

https://elitedatascience.com/learn-math-for-data-science

你可以先看看这些教程,给你的机器学习道路打下知识基础。

步骤 2:海绵模式

海绵模式是尽可能吸收足够多的机器学习理论知识。

现在有些人可能会想:“如果我不打算进行原创性研究,为什么在可以使用现有机器学习包的时候,还需要学习理论?”

这是一个合理的问题!

然而,如果你想把机器学习更灵活的应用于日常工作,学习一些基础理论还是很有好处的,而且你并不需要完全弄懂。下面我们会剧透学习机器学习理论的 5 个理由。

(1)规划和数据采集

数据采集真是一个昂贵和耗时的过程!那么我需要采集哪些类型的数据?根据模型的不同,我需要多少数据?这个挑战是否可行?

(2)数据假设和预处理

不同的算法对数据输入有不同的假设,那我应该如何预处理我的数据?我应该正则化吗?假如我的模型缺少一些数据,它还稳定吗?离群值怎么处理?

(3)解释模型结果

简单的认为机器学习是一个“黑盒子”的概念是错误的。是的,并不是所有的结果都直接可以解释,但你需要诊断自己的模型然后改善它们。我要怎么评估模型是过拟合还是欠拟合?我要向业务利益相关者怎么解释这些结果?以及模型还有多少的改善空间?

(4)改进和调整模型

你的第一次训练很少会达到最佳模式,你需要了解不同的调参和正则化方法的细微差别。如果我的模型是过拟合了,我该如何补救?我应该花更多时间在特征工程上,还是数据采集上?我可以组合我的模型吗?

(5)驱动商业价值

机器学习从来不会在真空中完成。如果你不了解武器库中的工具,就无法最大化发挥它们的效能。在这么多结果指标中,哪些是优化的参考指标?哪个更为重要?或者还有其他的算法会表现更好吗?好消息是,你不需要一开始就知道所有问题的答案。所以我们推荐你从学习足够的理论开始,然后快速进入到实践。这样的话,你比较能够坚持下来,并在一段时间后真正精通机器学习。

以下是一些免费的机器学习资料。

机器学习视频课程

这是来自哈佛大学和耶鲁大学的世界级课程。

任务:完成至少一门课程

哈佛大学数据科学课程

端到端的数据科学课程。相比吴恩达的课程,它对机器学习的重视程度较低,但是从数据收集到分析,你可以在这里学到整个数据科学的工作流程。

课程主页: http://cs109.github.io/2015/

斯坦福大学机器学习课程

这是吴恩达的著名课程,这些视频说清楚了机器学习背后的核心理念。如果你的时间只能上一节课,我们建议这个。

课程主页: https://www.youtube.com/watch?v=qeHZOdmJvFU&list=PLZ9qNFMHZ-A4rycgrgOYma6zxF4BZGGPW&index=1

机器学习参考资料

接下来我们推荐行业中两本经典的教材。

任务:看这些 PDF 作为教科书

An Introduction to Statistical Learning

Gentler 在书里介绍了统计学习的基本要素,适合所有机器学习的学习者。

PDF 地址: http://www-bcf.usc.edu/~gareth/ISL/ISLR%20Sixth%20Printing.pdf

Elements of Statistical Learning

严格的介绍了机器学习理论和数学,推荐给机器学习的研究员。

PDF 地址: http://statweb.stanford.edu/~tibs/ElemStatLearn/

成功的关键

以下是每个步骤成功的关键。

A:注重大局,总是问为什么

每当你被介绍一个新概念时,问一句“为什么”。为什么在某些情况下要使用决策树而不是回归?为什么要规范参数?为什么要拆分数据集?当你了解为什么使用每个工具时,你将成为真正的机器学习从业者。







请到「今天看啥」查看全文