视频 | 10行代码,用大脑重量预测体重!硅谷AI网红亲身示范

Siraj Raval 作为深度学习领域的自媒体人在欧美可以说是无人不知、无人不晓。

凭借在 Youtube 上的指导视频,Siraj Raval 在全世界吸粉无数,堪称是机器学习界的网红。说他是全球范围内影响力最大的 ML 自媒体人,怕也无异议。

因此,雷锋网 AI 研习社联系到了 Siraj 本人,并获得授权将他最精华的 Youtube 视频进行字幕汉化,免费推送给大家。我们将不定期更新,敬请关注!

雷锋字幕组为大家最新译制了Siraj深度学习系列,从机器学习和神经网络架构类型到数据可视化、小样本学习等从基础到应用的技巧,争取带领希望掌握神经网络的神奇魔力和想成为深度学习工程师的大家伙早日入坑!哦不,走向巅峰!!

今天主要讲的内容是线性回归。

视频内容

(建议在 Wi-Fi 环境下观看视频,土豪随意~)

为了方便流量不足的小伙伴们在路上看,我们特意整理出了文字版和动图~

通常而言,编程是通过定义每一个步骤来使一个程序完成预期结果,但是机器学习将这一过程反转。机器学习让我们先定义结果,然后程序去学习步骤以达成目标。

比如,如果想做一个识别车牌的程序,不需要写代码去识别车牌的数百个特征(比如某些字母的形状和颜色),我们只需要给一些车牌的样例,让程序去学习识别车牌所需的步骤。或者想做一个永不言败的超级马里奥,不需要为每一种可能的情景写代码(比如当看到一个乌龟向跑来时要起跳)我们只需要定下目标——活着到达终点,让机器学习整个步骤从而实现目标。

但有时我们甚至不知道这个步骤是什么。如果一家银行怀疑有欺诈行为发生,但是不知道如何查探。这时就可以利用所有用户活动的日志,找到有异常的用户,机器会学习来检测异常。

机器学习在互联网早已无处不在,主流服务都在使用它。事实上 当在你看视频时,视频网站就在用它来预测你可能会喜欢的视频,而且它的预测能力会随时间不断增强。

所有的互联网设备,从冰箱、汽车到个人助理,都将不断学习和适应我们的需求。你知道一万小时定律吗?我们只要将那些训练时间交给机器,它会立即赋予我们超能力,任何人都可以谱写交响乐,任何人都能导演电影。

机器学习这个领域目前进步地很快,研究者们都基于相互的成果进行深入研究,已经有了很多机器学习模型,其中之一被称为神经网络。当我们不只是使用1或2层的神经网络,而是多层神经网络来做预测时,我们称之为深度学习。它是机器学习的一类算法,在处理许多不同的任务上几乎胜过所有其他模型。

下一讲将深入介绍深度学习,但这个视频重点在机器学习。

我们通常将机器学习分为三类

  1. 监督学习(supervised learning)

给模型一个有标签的数据集,比如汽车图集,它会得到何为正确或者错误的反馈,只需要学习标签和数据之间的映射关系,就能解决一些给定的任务,比如根据图中车的类型来分类,这相对来说比较直接,我们已经取得了不错的成果。

  1. 无监督学习(unsupervised learning)

给一个模型一组没有标签的数据,它得不到正确性的反馈,需要自学数据集的结构来解决一些特定的任务,实现的难度变大但更有效,因为不是每个人都有一个完美标签的数据集,大多数据是没有标签的,数据混乱且复杂。

  1. 强化学习(reinforcement learning)

它不会立即给模型反馈,除非它到达目标。如果我们想创建一个强化学习的机器人,可以学棋击败人类,它只会在赢得了比赛的情况下得到反馈。而在监督学习中每一步都会得到反馈。在无监督学习中,即使赢了也无法得到反馈。不同于其它两种学习方式,强化学习通过试错与环境产生交互连接。

用一个不同动物的大脑重量测量值的数据集,想要在给大脑重量出情况下预测其体重。由于我们的数据有标签,这就属于监督学习。这个任务用到的机器学习,我们将其称为回归(regression),我们写了10行的python代码来实现,步骤如下:

先导入三个库:

  • pandas 用来读取数据集
  • scikit-learn 这是此例中我们使用的机器学习库
  • matplotlib 将实现模型和数据的可视化

现在我们已经导入了所需的库,可以用pandas来读取数据。我们将使用read_fwf函数来读取动物数据集,将固定格式的数据转换为pandas的DataFram对象。这是一个二维数据,数据集包含多种动物的平均大脑重量和体重。

当数据作为DataFrame的变量,很容易分析并将测量值读取为两个不同变量。将大脑重量测量值存在x_values变量中,体重测量值存在y_values变量中。现在当我们要绘制这组数据的二维图表:

我们的目标是给定一个新的动物的体重,就能够预测它的大脑重量,该怎么做呢?还好有线性回归(Linear Regression)。

用sklearn的线性模型对象来初始化线性回归参数,并将其参数储存在body_reg变量中。然后我们用成对的x、y值来训练这个模型,现在我们有最佳拟合的线,我们可以在散点图上画出我们的x、y值,然后在每一个x值下预测对应的y值,画出一条与这些点相交的直线,然后我们可以用show()来显示。

在终端编译这段代码,我们所有的数据点会出现在散点图中,x轴表示脑重量, y轴表示体重,回归线对大部分的数据都比较拟合。看起来在脑重量和体重之间有非常强的相关性。当我们移动这条线时,还可以预测任何给定的脑重量的对应体重。

简单来说,传统编程是定义每一步来达到目标,而机器学习是定义目标,我们的程序将会学习步骤以达目标。线性回归模型显示了自变量和因变量的关系,得出最佳拟合的线,然后就可以用拟合线来做预测。

完整代码和数据集请参考 Github 链接(点击文末阅读原文进入)。

--------------------------------------------

Siraj Raval 何许人也?

Siraj Raval 是 YouTube 极客网红,曾任职于 Twilio 和 Meetup,客户包括 Elon Mask 和 Google,教大家如何使用机器学习开发聊天机器人、无人驾驶车、AI 艺术家等视频点击量累计数百万。

Siraj Raval 为什么这么火?

首先,当然是这位哥伦比亚大学高材生活儿好技术好,用自己特有的方式三言两语就能抛出一个原本晦涩的 ML、DL 概念,让听众细细咀嚼。再者,这家伙幽默逗比、口才便给。兴之所至常手舞足蹈,瞳仁奇光掩映,口吐智慧莲华。深度学习讲师不少,但这么风趣可亲的却不多。

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2017-05-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

如何入门Python与机器学习

编者按:本书节选自图书《Python与机器学习实战》,Python本身带有许多机器学习的第三方库,但本书在绝大多数情况下只会用到Numpy这个基础的科学计算库来...

390100
来自专栏人工智能LeadAI

最全常见算法工程师面试题目整理(二)

接着上回写的《最全常见算法工程师面试题目整理(一)》,继续填接下来的坑。 11boost算法的思路是什么样的?讲一下你对adaboost 和 gbdt的了解? ...

62360
来自专栏AI科技大本营的专栏

一文教你如何用Python预测股票价格

翻译 | AI科技大本营(rgznai100) 参与 | 刘畅 编辑 | 周翔 【AI科技大本营导读】最近,A股尤其是上证指数走势凌厉,让营长有种身在牛市中的错...

67570
来自专栏AI科技大本营的专栏

如何入门Python与机器学习

本文引自电子工业出版社《Python与机器学习实战》 本书算法与代码兼顾,理论与实践结合。很丰富:7种算法,50段实现,55个实例,总代码量5295行,全面而...

43460
来自专栏人工智能头条

人工智能进行连续决策的关键——强化学习入门指南

17120
来自专栏AI科技大本营的专栏

基于黑盒语音识别系统的目标对抗样本

AI 科技大本营按:谷歌大脑最近研究表明,任何机器学习分类器都可能被欺骗,给出不正确的预测。在自动语音识别(ASR)系统中,深度循环网络已经取得了一定的成功,但...

13720
来自专栏机器学习算法与Python学习

数据科学家必用的25个深度学习的开放数据集!

原文:https://www.analyticsvidhya.com/blog/2018/03/comprehensive-collection-deep-le...

581140
来自专栏机器之心

教程 | 深度Q学习:一步步实现能玩《毁灭战士》的智能体

选自Medium 作者:Thomas Simonini 机器之心编译 参与:Panda 近年来,深度强化学习已经取得了有目共睹的成功。机器之心也曾发布过很多介绍...

29650
来自专栏人工智能头条

如何入门Python与机器学习 | 赠书

17320
来自专栏语言、知识与人工智能

从用户行为去理解内容-item2vec及其应用

从内容属性去理解用户行为,预测用户行为,那么也可以通过理解用户行为去理解内容,预测内容属性。

3.7K100

扫码关注云+社区

领取腾讯云代金券