如何自学人工智能?

                      欢迎关注做者:大数据教程,AI教程、学习资源、论文解读,你想看的都在这里!

最近很多同窗跃跃欲试,想投入 AI 的怀抱,但苦于不知如何下手。其中,人工智能的核心就是机器学习(Machine Learning),它是使计算机具备智能的根本途径,其应用遍布人工智能的各个领域。程序员

咱们今天就来分享一篇来自 EliteDataScience 上专门讲给机器学习入门自学者的教程,一步步教你如何从基础小白进阶为 ML 大拿。快上车吧,别找硬币了,这趟车不要钱!web

 

 

你是否正在准备自学机器学习,但又不知道怎么去学?算法

今天咱们在这篇文章里就教你怎样免费得到世界级的机器学习教育,你既不须要有博士学位,也没必要是技术大牛。无论你是想成为数据科学家仍是在开发中使用机器学习算法,其实你都能比想象中更快地学习和应用机器学习。编程

本文告诉你在机器学习之路上的几个步骤,保你不会迷路,下面开始咱们的表演。网络

第一步:先搞懂什么是机器学习

在闷头学习机器学习以前,最好先把什么是机器学习搞清楚,了解机器学习的基本概念。机器学习

简单来讲,机器学习就是教电脑怎样从数据中学习,而后作出决策或预测。对于真正的机器学习来讲,电脑必须在没有明确编程的状况下可以学习识别模型。编程语言

机器学习属于计算机科学与统计学的交叉学科,在多个领域会以不一样的面目出现,好比你应该听过这些名词:数据科学、大数据、人工智能、预测型分析、计算机统计、数据挖掘······函数

虽然机器学习和这些领域有不少重叠的地方,但也不能将它们混淆。例如,机器学习是数据科学中的一种工具,也能用于处理大数据。工具

机器学习自身也分为多个类型,好比监督式学习、非监督式学习、加强学习等等。例如:性能

邮件运营商将垃圾广告信息分类至垃圾箱,应用的是机器学习中的监督式学习;电商公司经过分析消费数据将消费者进行分类,应用的是机器学习中的非监督式学习;而无人驾驶汽车中的电脑合摄像头与道路及其它车辆交互、学习如何导航,就是用到了加强学习。

想了解机器学习的入门知识,能够看看一些网络课程。对于想对机器学习领域的重点慨念有个基础的了解的人来讲,吴恩达教授的机器学习入门课程绝对必看

以及“无人车之父” Sebastian Thrun 的《机器学习入门》课程,对机器学习进行了详细介绍,并辅以大量的编程操做帮助你巩固所学内容

固然也少不了集智君整理制做的免费专栏,在这里你能够免去安装环境的烦恼,直接投入简单地机器学习训练中来:

边看边练的机器学习简明教程

这些课程都是免费的哦!

大概了解机器学习后,咱们就来到知识准备阶段了。

第二步:预备知识

若是没有基本的知识储备,机器学习的确看起来很吓人。要学习机器学习,你没必要是专业的数学人才,或者程序员大牛,但你确实须要掌握这些方面的核心技能。

好消息是,一旦完成预备知识,剩下的部分就至关容易啦。实际上,机器学习基本就是将统计学和计算机科学中的概念应用在数据上。

这一步的基本任务就是保证本身在编程和统计学知识上别掉队。

2-1:用于数据科学中的Python编程

若是不懂编程,是无法使用机器学习的。幸亏,这里有份免费教程,教你如何学习应用于数据科学中的Python语言

2-2:用于数据科学的统计学知识

了解统计学知识,特别是贝叶斯几率,对于许多机器学习算法来讲都是基本的要求。 这里有份学习数据学习中统计学知识的教程

2-3:须要学习的数学知识

研究机器学习算法须要必定的线性代数和多元微积分知识做为基础。点这里,获取一份免费学习教程

第三步:开启“海绵模式”,学习尽量多的原理知识

所谓“海绵模式”,就是像海绵吸水同样,尽量多地吸取机器学习的原理和知识,这一步和第一步有些类似,但不一样的是,第一步是对机器学习有个初步了解,而这一步是要掌握相关原理知识。

可能有些同窗会想:我又不想作基础研究,干吗要掌握这些原理,只要会用机器学习工具包不就好了吗?

有这个疑问也很正常,可是对于任何想将机器学习应用在工做中的人来讲,学习机器学习的基础知识很是重要。好比你在应用机器学习中可能会遇到这些问题:

  • 数据收集是个很是耗时耗力的过程。你须要考虑:我须要收集什么类型的数据?我须要多少数据?等此类的问题

  • 数据假设和预处理。不一样的算法须要对输入数据进行不一样的假设。我该怎样预处理个人数据?个人模型对缺失的数据可靠吗?

  • 解释模型结果。说机器学习就是“黑箱”的观点明显是错误的。没错,不是全部的模型结果能直接判读,但你须要可以判断模型的情况,进而完善它们。我怎么肯定模型是过分拟合仍是不充分拟合?模型还有多少改进空间?

  • 优化和调试模型。不多有人刚开始就获得一个最佳模型,你须要了解不一样参数之间的细微差异和正则化方法。若是个人模型过分拟合,该怎么修正?我应该将几个模型组合在一块儿吗?

要想在机器学习研究中解答这些问题,掌握机器学习的知识原理必不可少。这里推荐两个世界级的机器学习课程,必定会让你受益良多:

  1. 哈佛大学的机器学习课程,让你了解从数据收集到数据分析的整个流程

(提示:这个课程和吴恩达教授的课程配合食用,效果更加)

  1. 斯坦福大学的机器学习课程,清楚地讲解了机器学习的核心概念

还有两部值得读的参考书籍:《统计学习导论》和《统计学习基础》

这两部书的英文原版下载地址:

《An Introduction to Statistical Learning》

《Elements of Statistical Learning》

注:看不惯英文原版的同窗,能够去读这两本书的中文版。

集智也建议你们能够多逛逛Reddit上的机器学习论坛:

机器学习版块1

机器学习版块2

机器学习版块3

固然,Quora上的机器学习版块也颇有料

逛论坛不容易看到高阶知识,你不能一直停留在菜鸟阶段不是,要升级就有必要看看专业的论文。arXive是个好去处,是个收集物理学、数学、计算机科学与生物学的论文预印本的网站。

人工智能版块

机器学习版块

若是嫌本身搜索论文太麻烦,能够在网站 arxiv-sanity.com 上注册一个帐号,它能够按本身的感兴趣标签给你推送最新的 arXive 上的论文。

第四步:针对性实际练习

在开启“海绵模式”后,你应该掌握了机器学习的基础理念知识,接着就该实际操做了。 实际操做主要是经过具体的、深思熟虑的实践操做加强你的技能。本步目标有三个:

  • 练习机器学习的整个流程:收集数据,预处理和清理数据,搭建模型,训练和调试模型,评估模型。

  • 在真正的数据集上实践操做:对于什么样的数据适合用什么类型的模型,本身应逐渐创建这方面的判断能力。

  • 深度探究:例如在上一步,你学习了不少机器学习算法知识,在这一步就要将不一样类型的算法应用在数据集中,看看哪一个效果最好。

完成这一步后,就能够进行更大规模的项目了。

4-1 九个基本部分

机器学习是一个很是普遍和丰富的领域,几乎在每一个行业都有应用。由于要学习的东西太多,初学者很容易发慌,并且在面对不少个模型时也很容易迷失,看不到大局。

所以,咱们把机器学习大概划分为九个部分:

ML总体学习:

 

基本的机器学习原理,好比方差权衡这些知识。

 

优化:

 

为模型发现最优参数的算法。

 

数据预处理:

 

处理缺失数据、偏态分布、异常值等。

 

取样和拆分:

 

怎样拆分数据集来调整参数和避免过分拟合。

 

监督式学习:

 

使用分类和回归模型从标记数据中学习。

 

非监督式学习

 

使用因素和集群分析模型从非标记数据中学习。

 

模型评估

 

根据不一样的性能度量作出决策。

 

集成学习

 

将不一样模型相结合,达到更好的性能。

 

商业应用

 

机器学习如何帮助不一样类型的商业业务。

 

4-2 实践工具

对于初学者,咱们建议采用现成可用的算法,这样能够把时间用在熟悉机器学习流程上,而不是写算法。根据你使用的编程语言,有两个不错的工具:

Python的Scikit-Learn

R语言的Caret

4-3 利用数据集实践操做

在这步须要用数据集进行搭建和调试模型的实际操做,也就是将你在“海绵模式”阶段学到的理论转变为代码。咱们建议你选择UCI Machine Learning Repo,Kaggle和http://Data.gov上的数据集开始入手:

第五步:机器学习项目

终于到了最后一步,也是颇有意思的一步。目前为止,咱们已经完成了:知识储备、掌握基本原理、针对性练习等阶段,如今咱们准备探究更大的项目:

这一步的目标就是练习将机器学习技术应用于完整的端到端分析。

任务:完成下面的项目,依次从易到难。

5-1:“泰坦尼克号”幸存者预测

“泰坦尼克号”幸存者预测是练习机器学习时至关流行的选择,并且有很是多的教程可供参考。

5-2 从零开始写算法

咱们建议你先以一些简单的方面写起:逻辑回归、决策树、k 最近邻算法等。

若是中间卡住了,这里有些小技巧能够参考:

  • 维基百科是个不错的资源库,提供了一些常见算法的伪代码。

  • 能够看看一些现成ML工具包的源代码,得到灵感。

  • 将算法分为几部分。写出取样、梯度降低等的分离函数。

  • 在开始写整个算法前,先写一个简单的决策树。

5-3 选个有趣的项目或本身感兴趣的领域

其实这应该是机器学习最棒的部分了,能够利用机器学习实现本身的想法。

若是实在没想到好点子,这里有8个有趣的初学者机器学习实践项目

结语

若是你按照这个步骤一步步扎实学习的话,相信你最终必定在机器学习方面小有成就!

咱们对初学机器学习的人还有10个小小的tips:

  • 为本身设定学习目标和期限,尽力完成。

  • 打好学习基础,掌握基本理论。

  • 将实践理论相结合,不要只关注某一个方面。

  • 试着本身从头写几个算法。

  • 多角度思考问题,找到本身感兴趣的实践项目。

  • 多想一想每一个算法能产生什么价值。

  • 不要相信科幻电影中对ML的胡吹。

  • 别过分理会网上关于ML知识的争论。

  • 多想一想数据的“输入/输出”,多问问“为何”。

  • 上集智,第一时间将本身升级→→集智

最后,祝同窗们学有所成!

注:原文为英文,所以列举的学习资源多为英文。若是担忧本身英文很差其实也不要紧,由于学习思路是同样的,在相应阶段寻找中文学习资料就ok了。

相关文章
相关标签/搜索