普通程序员如何向人工智能靠拢?

来源:互联网 发布:35vb化学成分 编辑:程序博客网 时间:2024/06/04 20:07

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

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

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

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

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

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

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

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

但这样的问题是,很难有人能坚持通过自学,成为一个卓越的机器学习科学家。

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

自我学习的方法

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

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

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

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

2.海绵模式 

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

3.目标实践 

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

4.机器学习项目 

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

步骤一:前提条件

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

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

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

免费的指南:https://elitedatascience.com/learn-statistics-for-data-science

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

免费的指南:https://elitedatascience.com/learn-python-for-data-science

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

免费的指南:https://elitedatascience.com/learn-math-for-data-science

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

步骤二:海绵模式

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

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

(1)规划和数据采集

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

(2)数据假设和预处理 

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

(3)解释模型结果 

简单的认为机器学习是一个“黑盒子”的概念是错误的。是的,并不是所有的结果都直接可以解释,但你需要诊断自己的模型然后改善它们。

(4)改进和调整模型 

你的第一次训练很少会达到最佳模式,你需要了解不同的调参和正则化方法的细微差别。

(5)驱动商业价值 

机器学习从来不会在真空中完成。如果你不了解武器库中的工具,就无法最大化发挥它们的效能。

好消息是,你不需要一开始就知道所有问题的答案。所以我们推荐你从学习足够的理论开始,然后快速进入到实践。

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

2.1 机器学习视频课程

斯坦福大学机器学习课程 https://www.youtube.com/watch?v=qeHZOdmJvFU&list=PLZ9qNFMHZ-A4rycgrgOYma6zxF4BZGGPW&index=1

这是吴恩达的著名课程,这些视频说清楚了机器学习背后的核心理念。如果你的时间只能上一节课,我们建议这个,也就是本公众号最近正在发放的教材!

2.2 机器学习参考资料

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

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

http://www-bcf.usc.edu/~gareth/ISL/ISLR Sixth Printing.pdf

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

http://statweb.stanford.edu/~tibs/ElemStatLearn/

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

2.3 成功的关键

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

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

B:接受你不会记得所有学过的东西 

C:继续前进,不要气馁 

D:视频比教科书更有效 

步骤三:有目的实践

在海绵模式之后,我们会通过刻意练习的方式磨练技能,把机器学习能力提高到一个新水平。目标包括三个方面:

1.实践完整的机器学习流程:包括数据收集、清洗、预处理,建立模型,调整参数和模型评估。

2.在真实的数据集中练习,逐渐建立哪种模型适合哪种挑战的直觉。

3.深入到一个具体主题中,例如在数据集中应用不同类型的聚类算法,看哪些效果最好。

3.1 机器学习工具

为了快速实现机器学习模型,我们推荐使用现成的建模工具。这样的话,你会在短时间内练习整个机器学习的工作流程,而无需在任何一个步骤花费太多时间。

Python:Scikit-Learn 

Scikit-learn 和 Sklearn 是通用机器学习中 Python 的黄金标准库,它具有常规算法的实现。

R:Caret 

Caret 为 R 语言中的模型包提供一个统一的界面。它还包括了预处理、数据拆分、模型评估的功能,使其成为一个完整的端到端解决方案。

3.2 实践数据集

学习了工具后,你还需要一些数据集。数据科学和机器学习的艺术,很多都在于解决问题时的几十个微观决定。我们会在不同的数据集中看到建模的结果。

任务:从以下选项中选择 5 到 10 个数据集。我们建议从 UCI 的机器学习库开始,例如你可以选择 3 个数据集,分别用于回归、分类和聚类。

UCI 机器学习报告:http://archive.ics.uci.edu/ml/

UCI 机器学习报告采集了超过 350 个不同的数据集,专门为机器学习提供训练数据。你可以按照任务搜索(回归、分类或聚类),也可以按照行业、数据集大小搜索。

Kaggle:https://www.kaggle.com/datasets

Kaggle.com 以举办数据科学比赛闻名,但是该网站还拥有超过 180 个社区数据集,它们包含了有趣的话题,从用户宠物小精灵到欧洲足球比赛的数据应有尽有。

Data.gov:https://www.data.gov/ 

如果你正在寻找社会科学或者与政府有关的数据集,请查看 Data.gov。这是美国政府开放数据集合,你可以搜索超过 190,000 个数据集。

步骤四:完成机器学习项目

好了,现在到了真正有趣的部分了。

4.1 完成一个机器学习项目

泰坦尼克号幸存者预测挑战是一个非常受欢迎的机器学习实践项目,事实上,这是  Kaggle.com上最受欢迎的比赛。

我们喜欢以这个项目作为起点,因为它有很多伟大的教程。你可以从中了解到这些有经验的数据科学家们是怎么处理数据探索、特征工程和模型调参的。

Python 教程 https://github.com/savarin/pyconuk-introtutorial

我们真的非常喜欢这个教程,因为它教会你如何进行数据预处理和纠正数据。教程由 Pycon UK 提供。

R 教程http://amunategui.github.io/binary-outcome-modeling/

在 R 中使用 Caret 包来处理几个不同的模型。本教程很好总结了端到端的预测建模过程。

这是一个“不负责任”的快速教程:http://will-stanton.com/machine-learning-with-r-an-irresponsibly-fast-tutorial/

仅仅是个教程,跳过了理论讲解。不过这也很有用,而且它显示了如何进行随机森林操作。

4.2 从头写个算法

为了对机器学习有更深的理解,没有什么比从头写个算法有帮助了,因为魔鬼总是在细节里。

我们建议从一些简单的开始,例如逻辑回归、决策树或者 KNN 算法。

这个项目也为你提供了一个将数据语言翻译成程序语言的实践。当你想把最新的学术界研究应用于工作时,这个技能将会十分方便。

4.3 选择一个有趣的项目或领域

如果你没有好奇心,你是很难学好的。但目前为止,也许你已经找到了想坚持下去的领域,那么开始建模吧!

我们也推荐了 6 个有趣的机器学习项目https://elitedatascience.com/machine-learning-projects-for-beginners。

恭喜你到达了自学指南的终点

成为最好的机器学习科学家的关键是永远不要停止学习。在这个充满活力、激动人心的领域,开始你的旅程吧!