暑期追剧学AI (三) | 10分钟搞定机器学习数学思维:向量和它的朋友们

大数据文摘作品,转载要求见文末

翻译 | 张静,狗小白

马卓群 校对 | 海抒

后期 | 郭丽(终结者字幕)

后台回复“字幕组”加入我们!

人工智能中的数学概念一网打尽!欢迎来到YouTube网红小哥Siraj的系列栏目“The Math of Intelligence”,本视频是该系列的第三集,讲解与向量、矩阵等相关的概念,以及在机器学习中的运作机理。后续系列视频大数据文摘字幕组会持续跟进,陆续汉化推出喔!

  • 全部课表详见:

https://github.com/llSourcell/The_Math_of_Intelligence

  • 本集代码挑战:

https://github.com/llSourcell/Vectors_Linear_Algebra/tree/master

本期视频时长11分钟,来不及看视频的小伙伴,可以先拉到视频下方看文字部分。

视频内容

嗨大家好!我是Siraj!

今天我们来处理向量问题。在机器学习中你会经常看到这个词,这也是我们需要理解的最重要概念之一。

常用向量相关概念

机器学习很大一部分是在寻求一种合适的方法,将数据集以编程的形式表现出来。

假设你是特斯拉的一位经理,你拿到了一些测量数据,这些数据来自于上周生产的所有车辆。每种车有三项测量数据,这些数据表示其长宽高,因此每一辆给定的汽车在三维坐标系中都可以表示成一个点。三维坐标系中每一个维度的数值,都与我们测量到的特征值一一对应。

同理,这也适用于具有300个特征值的数据点,300维空间内,尽管这不像三维尺度那样容易理解,不过机器可以很好地处理这一多维问题。

我们可以把如图所示的这个数据点x看成一个向量,一个向量就是一个一维数组,你可以把它看成一列数值或者表中的一行数值,n个元素的向量就是n维向量。其中每个元素都是一维,因此对于一个4维数据,我们用一个1*4数组就能表示出其四个特征值,并且因为它表示的是一组特征,我们称之为特征向量。

比向量大一点的范畴是矩阵,矩阵是由数字组成的矩形数组,向量则是矩阵中的一行或者一列,因此矩阵中的每一行都可以代表一个不同的数据点,相应的每一列数值则是该数据点的各个特征值。

比向量小一点的范畴则是标量,只有一个单一数字。

这几个概念也都可以统一称之为张量。张量是多维数组,一阶张量就是向量,二阶张量就是矩阵,三阶以及更高阶张量则叫做高阶张量。你可以把一个包括朋友,朋友的朋友,朋友的朋友的朋友的社会关系谱用一个高阶向量来表示。

张量的迁移运用

基于此谷歌建立了一个库叫做TensorFlow。你可以利用它创建一个计算图谱。

首先通过数据得到张量,再利用张量通过一系列数学运算去优化一个目标。同时他们还制造了一种全新的芯片,叫做TPU 即张量处理单元。随着计算能力和数据量的增加,我们也越来越有能力处理多维数据。

向量通常可以以多种方式表示,它们被广泛应用于科学的各个领域,尤其是物理学领域,向量通常被用作记录工具来跟踪记录两个不同的信息。

向量通常是表示物理量的大小和方向。例如,在爱因斯坦的广义相对论中,时空曲率引起重力就被表示为Riemann曲率张量。该张量是一个四阶张量,好家伙,因此我们不仅可以用这种方法来表示实际问题;还可以表示优化问题中的梯度,在一阶优化法中,我们的模型的权重随着每次通过训练样本集逐步更新,给定一个误差函数,如方差之和,通过在误差梯度相反方向操作,我们可以计算出权重变化的大小和方向。

这一切都是运用线性代数得到,代数基本就是在说关系,是对未知数之间的关系的探索。线性代数基本意味着线性关系,它是对矢量空间的信息的规整。而矢量空间使得同时控制不同组的数据变得容易,它对类似以矢量和矩阵控制数据的结构进行了定义,并引入了加、减、乘、除的新规则。

给定两个阵列,使之相乘的代数方式如上所示,而线性代数使之相乘则是这样——我们进行点积计算,而非像这样使每个数字相乘。

这个例子中,线性代数的方法,较之要快上三倍。任何的数据都能以适量方式显示,图像、影音、股票指数、文字、声音信号,还有dougie舞(某种嘻哈舞)……无论何种数据,都能被分解为一系列的数字。

这模型貌似不接收数据输入,不停地在报错。貌似得使之矢量化。这个模型里,输入值是一定大小的张量,所以我们基本得重组输入数据,这样它才在正确的矢量空间里。这样,我们就能计算数据点和矢量坐标之间的余弦值之类的。

机器学习中的矢量化

有没有Python程序库可以实现这个?你一定会爱上NumPy的!矢量化实质就是一个矩阵操作,我一行代码就能搞定。

一个叫McCullough的研究者,弄了个叫神经网络的机器学习模型,来把词语打成矢量数据,也即WORD2VEC。给些语料库里的文本,比如成千上万的新闻稿,它就能预测给定词语的下一个词语。所以给定的词语被编码成了矢量数据,模型再试图预测下一个词语,如果预测词与实际词语不同,那么就调整词语的矢量值。

所有语料库里的字词,都像一个老师那样,返回错误信号,从而调教矢量值,根据语境测算出的矢量值接近的词。因调整矢量数据的数量迭代反复地靠在一起,模型因而学习了成千上万个矢量词语,给它一个新词语,模型就能找到这个词语相关的矢量词汇,这又叫做嵌埋词汇。

矢量也不仅仅只展现数据,它们也帮助展示我们的模型。很多机器学习模型都以矢量来展示自己的学习过程,所有类型的神经网都是如此,给定一些数据,他就能学习这些数据中的密集式表示,这些表示式实质上是种类的划分,类似于你有一系列不同颜色的眼睛彩图。模型就要学习所有眼睛颜色的,大致表示法,这样,给出一个未贴标签(表示是眼睛)的眼睛图片,它也能认出,这是眼睛。

一旦数据矢量化,我们可以做很多事情了。一个经过训练的”单词对向量”模型可以将“单词“转化成“向量”,然后我们可以对这些向量,进行数学计算。我们可以看出单词之间有多密切的关系。通过计算单词向量之间的距离,例如 “瑞典“这个词,其他富裕的北欧国家密切相关。因为它们之间的距离很小,当在图上绘制时,相似的单词,他们的向量,倾向于聚集在一起。比如动物的类型,单词之间的关联关系也可以构造出来,比如,罗马对于意大利的关系,和北京对中国的关系是一样的。

计算“酒店“加上”汽车旅馆“ 可以得出假日酒店,令人难以置信的是,将单词矢量化,可以让我们用数字的形式捕捉单词的语义。

矢量化需要注意的问题

我们计算向量之间距离的方法,是利用向量范数的概念,范数是任何一种函数G,它将向量映射到实数,且满足以下条件

  • 长度总是正值;
  • 零的长度得出零;
  • 标量乘法;
  • 用可预测的方式扩展长度;
  • 并且距离可以合理相加;

因此 在一个基本向量空间中,向量的范数是它的绝对值和两个数字之间的距离;通常,向量的长度,用欧几里德范数来计算。

但这并不是定义长度的唯一方法,还有其他的,你会看到术语和L2范数,广泛地在机器学习中被使用,L2范数是欧氏范数、L1范数又称曼哈顿距离。我们可以用其中任意一个向量来归一化它的单位向量,然后用它来计算距离、计算向量之间的距离。对于显示给用户推荐是非常有用的,这两个术语也正在被使用在规范化的过程中。

我们训练模型以适应一组训练数据,但有时该模型能适应训练数据,导致它没有很好的预测性能。它不能很好地推广到新的数据点。

为了防止这种问题,我们必须规范我们的模型,找到最佳模型的常用方法就是定义一个损失函数,它可以描述模型和数据的拟合程度。概括起来,特征向量是用数学的方法,来表示数据的数字,或符号特征。它们可以在多维向量空间中表示出来,从而我们可以对它们进行计算,比如计算它们的距离并把它们相加,方法是,通过计算向量的向量范数,向量范数描述了向量的大小,防止过度拟合也很有用。

比赛时间

我们这周的行家奖归属是Vishnu Kumar。他实施了梯度下降法,和牛顿模型从而得到一个新模型,用于预测骑自行车一定距离所消耗的卡路里。图形很棒,代码也是非常靠谱,大家可以看看,棒棒哒!

最后一分钟得出的亚军是Hamad Shaikh。非常热爱你如此细致的笔记本!

本周的挑战是——线性回归模型上实现L1和L2正则化。详情戳下方链接:

https://github.com/llSourcell/Vectors_Linear_Algebra/tree/master

赢家将在1周后宣布!

2017年7月《顶级数据团队建设全景报告》下载

关于转载如需转载,请在开篇显著位置注明作者和出处(转自:大数据文摘 | bigdatadigest),并在文章结尾放置大数据文摘醒目二维码。无原创标识文章请按照转载要求编辑,可直接转载,转载后请将转载链接发送给我们;有原创标识文章,请发送【文章名称-待授权公众号名称及ID】给我们申请白名单授权。未经许可的转载以及改编者,我们将依法追究其法律责任。联系邮箱:zz@bigdatadigest.cn。

原文发布于微信公众号 - 大数据文摘(BigDataDigest)

原文发表时间:2017-08-06

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

GBDT迭代决策树入门教程

GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree)...

81950
来自专栏企鹅号快讯

机器学习算法原理系列详解-机器学习基础与实践(一)-数据清洗

作者:Charlotte77 数学系的数据挖掘民工 博客专栏:http://www.cnblogs.com/charlotte77/ 个人公众号:Charlo...

27860
来自专栏专知

CMU2018春季课程:神经网络自然语言处理课程(附PPT和代码)

【导读】我们之前介绍了一系列卡耐基梅隆大学的课程,今天,我们又带来了CMU 2018春季最新的课程“Neural Networks for NLP”介绍,该课程...

65180
来自专栏机器之心

教程 | 用数据做酷的事!手把手教你搭建问答系统

选自TowardsDataScience 作者:Priya Dwivedi 机器之心编译 参与:Pedro、路 本文介绍了如何基于 SQuAD 数据集搭建问答系...

29570
来自专栏Vamei实验室

概率论08 随机变量的函数

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

17720
来自专栏CDA数据分析师

机器学习基础与实践(一)——数据清洗

想写这个系列很久了,最近刚好项目结束了闲下来有点时间,于是决定把之前学过的东西做个总结。之前看过一些机器学习方面的书,每本书都各有侧重点,机器学习实战和集体智慧...

28870
来自专栏iOSDevLog

ML任务

11020
来自专栏黄成甲

数据分析之时间序列分析

顾名思义,时间序列就是按照时间顺利排列的一组数据序列。时间序列分析就是发现这组数据的变动规律并用于预测的统计技术。该技术有以下三个基本特点:

18720
来自专栏深度学习自然语言处理

从Word Embedding到Bert模型——自然语言处理预训练技术发展史

作者简介:张俊林,中国中文信息学会理事,目前在新浪微博 AI Lab 担任资深算法专家。在此之前,张俊林曾经在阿里巴巴任资深技术专家,以及在百度和用友担任技术经...

33740
来自专栏新智元

DeepMind丨深度学习最新生成记忆模型,远超RNN的GTMM

【新智元导读】DeepMind 的最新研究成果,对广泛使用于语音识别、图像识别、语义理解等领域的深度学习人工网络RNN性能带来显著提升(substantiall...

40960

扫码关注云+社区

领取腾讯云代金券