《机器学习:算法视角(原书第2版)》 —1.4 监督学习

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

1.4 监督学习

正如上文提到过的,网站例子就是监督学习的一个典型问题。有一组数据(训练数据),它包含输入数据和目标数据,目标数据代表的是算法应该得到的正确答案。这通常被写作数据(xi,ti)的集合,其中输入是xi,目标是ti,下标i表明我们有大量这样的数据,它们的索引i的取值从1到某个上限N。注意,输入和目标都以粗体书写,表明这是向量,因为每一个数据对不同的特征都有取值。在2.1节,我们将对本书中的记号进行更多细节性的描述。如果我们对每一个可能的数据都有样本,那么可以把它们放进一个大的查阅表中,这样就根本没有机器学习的必要了。而机器学习的优越之处在于泛化:算法对于未曾碰到过的输入也应该给出合理的输出。这也导致了这样的结果,即算法需要能够处理噪声(noise),就是数据中小的不精确性,这是现实生活中的任何测量所固有的。我们很难精确地对泛化的含义予以具体说明,但是下面这个例子也许会有助于理解泛化的含义。

1.4.1 回归

假设给出如下的数据点,现在要求你告诉我当x=0.44时输出的值(我们称之为y,因为它不是一个目标数据点),这里x、t、y没有用粗体表示,因为它们是标量(scalar),而不是向量。

image.png

由于x=0.44没有出现在样例之中,我们需要找出一些方法来预测它的值。你可以假设这些值取自于某类函数,这样我们要做的就是尝试找出这个函数。这在统计学里被称为回归(regression)问题:拟合出描绘一条曲线的数学函数,使得曲线尽可能贴近所有的数据点。这通常是一个函数估计(function approximation)和插值(interpolation)的问题,我们的工作就是计算出介于已知值之间的值。

image.png

 图1-3 左上:样本中的数据点。左下:两种可能的通过已知数据预测值的方法,用直线连接点,或使用三次方近似(这种方法会错过所有点)。右上和右下:两个更复杂的通过数据点进行近似的方法(参见下文说明),右下比右上更好现在的问题在于怎样寻找合适的函数。看一下图1-3,左上角的图显示的是上表中x,y的值对应的7个点,而其他三幅图则是用一条曲线去拟合数据点的不同尝试。左下图显示的是用直线连接所有点的两种可能的方案,以及如果我们尝试用三次函数(可以写成ax3+bx2+cx+d=0)得到的结果。右上角的图给出的是当我们尝试用一个不同的多项式函数所得到的结果,这一次采用ax10+bx9+…+jx+k=0这样的形式。最后,右下角显示的是函数y=3sin(5x)的图像。在这些函数中,你会选择哪一个呢?

直线近似的那一种应该不是我们想要的,因为它没有告诉我们关于数据的很多信息。并且,在同一个坐标轴上的三次函数的图也是很糟糕的:它在任何一处都没有接近数据点。那么右上角的图怎么样呢?看上去它精确地经过了所有数据点,但是它摆动得很厉害(观察y轴上的值,它到达了100,而不像其他的图在3左右)。事实上,这个数据来自于右下角的正弦函数,因此它就是这个例子的正确结果。但问题在于算法并不知道这些,对它来说,右边的两个解看上去同样好。决定哪一个解更好的唯一方法就是看它们的泛化情况。我们挑选一个在已有数据点之间的数值,利用所得的曲线去预测它的值,然后判断哪一个更好。结果将告诉我们在这个例子中右下角的曲线更好。

因此,我们的机器学习算法能够做的一件事是在数据点间插值。看上去这也许不像一种智能行为,然而,这在二维空间里已经很不容易,在更高维度的空间里,它只会变得更加困难。对于机器学习的其他任务,比如下面将要讨论的分类(classification)——把样本归为不同的类别来说,这也是正确的。此外,算法是通过我们的定义“做出改变,从而使性能有所提高”来学习的,并且你会惊讶地发现,我们所要解决的实际问题,绝大多数情况下都能被归结为分类或是回归问题。


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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