模式识别与机器学习(一)——绪论、多项式拟合例子

1.1 绪论

内容对应PRML书1.1节部分。

多项式拟合例子

在这个例子中,假设我们有两个变量,它们满足如下关系:

其中是一个均值为、标准差为的高斯噪声。我们首先在区间内等间距地产生了10个点,接着根据如上的关系为这个点得到一组对应的目标函数值 。

这种数据产生方式符合大部分现实世界中的数据集的性质,即产生样本时既包含潜在的规律,又伴随着随机噪声。这些随机噪声的产生原因可能是某种内在的随机性,也可能是某种未被观测到的因素。我们的目标是根据这 个点构成的训练集 调整模型的参数来拟合目标函数,然后用学习到的模型对新的样本 预测其对应的 。

任务

线性模型

在这个问题中,我们将使用一个多项式曲线来拟合真实目标函数:

其中 称为该多项式的系数, 表示 的 次幂,M称为多项式的阶。线性模型的优点是既可以表示复杂的曲线,又具有解析解。
我们引入一个误差函数(error function)来衡量模型在一个数据集上的表现,通过最小化训练误差函数来找到线性模型的最佳参数值。线性回归问题中,最常用的误差函数就是平方和误差(sum of squares error)

模型复杂度

在确定了模型的参数后,我们还需要确定多项式的阶 ,有时我们也把它叫做模型复杂度(model complexity)。 的值越小,可以表示的曲线越简单,拟合能力也越弱; 的值越大,可以表示的曲线就越丰富,拟合能力也越强。那么 是不是越大越好呢?我们来看下面几张图:

模型复杂度

从图中我们看到,当 或 时多项式变为直线,不足以刻画训练集中的非线性关系,这种现象称为欠拟合(under-fitting);当 时,我们发现拟合曲线恰好经过训练集的所有点,虽然此时训练集上的误差为0,但是曲线剧烈震荡,泛化性很差,这种现象称为过拟合(over-fitting);当 时,我们发现曲线的拟合效果是最好的。因此,模型复杂度并不是越高越好,针对一个问题我们要选择合适的模型复杂度以获得良好的泛化能力,选择适宜模型复杂度的过程称为模型选择(model selection)

泛化能力定量评估

由于我们事先知道数据是如何产生的,因此我们可以额外再生成若干个样本点作为测试集来定量描述的变化对于模型泛化能力的影响。当数据规模 增加时,平方和误差 也随之增加,这为公平比较不同规模数据集的误差带来了难度。为了便于比较不同规模数据集上的误差,我们定义均方根误差(root-mean-square error,RMSE):

通过求平均,我们可以在同一基准比较不同的数据集上的误差;开根号后的值可以理解为目标变量的平均偏差。 具体地,我们将产生100个测试样本点,并计算当 取不同的值时,测试集上的误差。

泛化能力

从图中我们可以看出,当 的取值范围为 到 时,测试集的误差较高,这是因为此时的模型还不够灵活,不足以刻画 这种非线性关系;当 的取值范围为 到 时,测试集误差较低,泛化能力最好;当 时,我们发现训练集上的误差为0,这是因为我们的模型刚好有个自由度 ,因此可以被调整到刚好经过这 个点,但这也导致了模型参数被过度调整以拟合样本中的噪声,作为后果,模型在测试集上的误差与训练集上的表现相去甚远,此时模型发生了过拟合。我们可以输出 为不同值时的模型参数:

参数

可以看到,正是由于系数的数量级很高引起了曲线的剧烈震荡。

防止过拟合

过拟合是机器学习中普遍存在的问题,如何解决过拟合就成了机器学习的一个重要的研究热点。这里介绍两种结局过拟合的方法,第一种方法是增加训练数据量,第二种方法是正则化(regularization)。

增加数据量

增加数据量可以有效防止过拟合。从下图我们可以看到,对已⼀个给定的模型复杂度,当数据集的规模增加时,过拟合问题变得不那么严重。另⼀种表述⽅式是,数据集规模越⼤,我们能够⽤来拟合数据的模型就应该越复杂 。

数据规模

但是实际中我们不得不根据可得到的训练集的规模限制参数的数量,即根据待解决的问题的复杂性来选择模型的复杂性 。
在后来我们会看到,寻找模型参数的最⼩平⽅⽅法代表了最⼤似然(maximum likelihood),并且过拟合问题可以被理解为最⼤似然的⼀个通⽤属性。通过使⽤⼀种贝叶斯(Bayesian)⽅法,过拟合问题可以被避免。我们将会看到,从贝叶斯的观点来看,对于模型参数的数量超过数据点数量的情形,没有任何难解之处。实际上,⼀个贝叶斯模型中,参数的有效(effective)数量会⾃动根据数据集的规模调节。但是现在,继续使⽤当前的⽅法还是很有⽤的。继续来看。

正则化

当我们没办法获取更多的数据时,就需要限制模型的复杂度了。具体的做法是给目标函数加上一个L2罚项以限制系数的数量级:

其中 , 用于控制平方和误差与正则项的相对重要性。一般来说我们会把正则项中的 去掉,这样做的原因是使得结果不依赖于目标变量的原点。这样的技术在统计学中称为shrinkage,上面的目标函数是其中的一种特殊情况,称为岭回归(ridge regression),在神经网络中这样的技术被叫作权重衰减(weight decay)。下面几张图分别为我们展示了正则项系数 的不同取值对结果曲线的影响:

正则化

对于 时,不同的 影响如下:

正则化系数的影响

当 时,即 ,对应没有正则化的线性回归,我们可以发现输出的模型参数与线性回归基本一致;当时,过拟合现象减轻了许多;而当时, 在本例中这个正则化系数太大,导致模型欠拟合。总的来说,随着正则系数的增加,参数的数量级逐渐衰减,直至趋近于0。

参考文献

B站机器学习白板推导
贝叶斯派理论例子
GithubMachineLearningNotes/tsyw

你可能感兴趣的:(模式识别与机器学习(一)——绪论、多项式拟合例子)