《机器学习:算法视角(原书第2版)》 —2 预 备 知 识

举报
华章计算机 发表于 2019/12/21 12:21:11 2019/12/21
【摘要】 本节书摘来自华章计算机《机器学习:算法视角(原书第2版)》 一书中第2章,第2.1.1节,作者是[新西兰] 史蒂芬·马斯兰(Stephen Marsland),高 阳 商 琳 等译。

第2章

Machine Learning: An Algorithmic Perspective, Second Edition

预 备 知 识

第2章 预备知识本章有两个目的:介绍机器学习的一些重要概念,以及了解机器学习中数据处理和统计的一些基本思想是如何涌现出来的。打破学习效果最有用的方法之一,就是2.5节中给出的偏置和方差的统计概念,接下来是为初学者准备的相关概念。

2.1 专业术语

首先考虑一下将在整本书中使用的一些术语,在绪论中我们已经看到了一些内容。我们将讨论用于学习算法的输入和输入向量。同样,我们也讨论算法的输出。输入是算法执行的数据。通常,机器学习算法的执行流程是:获取一组输入值,为该输入向量生成输出(答案),然后处理下一个输入。输入向量通常是几个实数,这就是它被描述为向量的原因:输入被写成一系列数字,例如(0.2, 0.45, 0.75, -0.3)。该向量的大小,即向量中的元素个数,被称为输入的维度(dimensionality)。这是因为如果我们将向量绘制成一个点,将需要一个空间维度用于向量的每个不同元素,因此上面的例子有4个维度。我们将在2.1.1节中详细讨论这个问题。

我们经常用向量和矩阵表示法撰写公式,小写粗体字母用于向量,大写粗体字母用于矩阵。向量x具有元素(x1,x2,…,xm)。 我们将在书中使用以下符号:

●输入:输入向量是作为算法的输入给出的数据。写成x,带有元素xi,其中i从1到输入维度m。

●权重:wij是节点i和j之间的加权连接。对于神经网络,这些权重类似于大脑中的突触。它们排列成矩阵W。

●输出:输出向量是y,带有元素yj,其中j从1到输出维度n。我们写成y(x,W)来提醒自己输出取决于算法的输入和网络的当前权重集。

●目标:目标向量是t,带有元素tj,其中j从1到输出维度n。它是监督学习所需的额外数据,因为它提供了算法正在学习的“正确”答案。

●激活函数:对于神经网络,g(·)是一种数学函数,描述神经元的激发作为对加权输入的响应,例如3.1.2节中描述的阈值函数。

●误差:E是一种根据输出y和目标t计算网络不准确性的函数。

2.1.1 权重空间

在处理数据时,能够绘制并查看数据通常很有用。如果我们的数据只有两个或三个输入维度,那么很简单:使用x轴表示特征1,使用y轴表示特征2,使用z轴表示特征3。然后,我们在这些轴上绘制输入向量的位置。同样的事情可以扩展到多维度,实际上我们并不想在3D世界中看到它。即使我们有200个输入维度(即每个输入向量中有200个元素),也可以尝试通过使用200个相互正交的轴(即彼此成直角)来设想它。计算机的一个好处就是它们不像我们一样被约束——要求计算机保持200维阵列并且它做到了。如果你得到了正确的算法(总是困难的!),那么计算机不知道200维对于我们人类而言比2更难。

我们可以通过绘制三个特征来查看数据到3D世界的投影,但这通常相当令人困惑:在你选择的三个轴上,事物看起来非常接近,但在全部集合中可能相距很远。你已经在3D世界的2D视图中体验过这一点,图1-2显示了一些风力涡轮机的两种不同视图。两个涡轮机从一个角度看起来非常接近,但显然是彼此分开的。

除了绘制数据点之外,我们还可以绘制其他任何我们想要的内容。 特别是,我们可以绘制机器学习算法的某些参数。这对于神经网络(我们将在下一章中开始介绍)特别有用,因为神经网络的参数是将神经元连接到输入的一组权重的值。图2-1左侧是一个神经网络示意图,显示左侧的输入和右侧的神经元。如果将神经元的权重视为一组坐标,即所谓的权重空间(weight space),那么我们就可以绘制它们。我们考虑连接到特定神经元的权重,并对进入神经元的每个权重使用一个轴来绘制权重的强度,并绘制神经元的位置,使用w1的值作为第1轴上的位置,第2轴上为w2值,以此类推,如图2-1右侧所示。

image.png

 图2-1 权重空间中两个神经元的位置。网络上的标记是绘制权重的维度,而不是其值

现在有一个空间,我们可以在其中讨论神经元和输入的紧密程度,因为我们可以想象,通过将每个神经元的位置绘制为其权重所对应的位置,来将神经元和输入定位在同一空间中。这两个空间将具有相同的维度(假设我们不使用偏置节点(参见3.3.2节),否则权重空间将有一个额外的维度),因此我们可以绘制输入空间中神经元的位置。这为我们提供了一种不同的学习方式,因为通过改变权重,我们正在改变这个权重空间中神经元的位置。我们可以通过计算欧氏距离来测量输入和神经元之间的距离,在两个维度上可以写成:d=(x1-x2)2+(y1-y2)2(2.1)因此,我们可以使用神经元和输入“紧密在一起”的想法来决定神经元应该何时激活以及何时不激活。如果神经元在这个意义上接近输入,那么它应该激活;如果不接近,那么它不应该激活。这个权重空间图片有助于理解机器学习中的另一个重要概念,即输入维度的数量可以产生什么影响。输入向量告诉我们关于该示例的所有知识,通常我们对数据知之甚少,不知道什么是有用的,什么是无用的(回想1.4.2节中的硬币分类示例),所以它包括我们可以获得的所有信息似乎是明智的,并让算法自己解决它需要的东西。不幸的是,我们即将看到这样做会带来巨大的成本。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。