【李航-统计学习方法】1.4模型评估与模型选择

1、训练误差与测试误差

不同的学习方法会给出不同的模型。当损失函数给定时,基于损失函数的模型的训练误差和模型的测试误差就成为学习方法评估的标准。

训练误差的大小,对判断给定的问题是不是一个容易学习的问题有意义。也就是说,一个问题越容易学习,那么它的训练误差就越小。但这本质上不重要。

测试误差,反映了学习方法对未知的测试数据集的预测能力。测试误差小的方法具有更好的预测能力,是有效的方法。通常将学习方法对未知数据的预测能力称为泛化能力。

统计学习的目的是使学到的模型不仅对已知数据而且对未知数据都有很好的预测效果。也就是说一个好的模型不仅可以对训练数据有很好的预测效果,将该模型运用到未知数据的预测时也能有很好的预测效果。

2、过拟合与模型选择

当假设空间含有不同复杂度(例如,不同的参数个数)的模型时,就要面临模型选择的问题。

如果在假设空间中存在“真”模型,那么我们选择的模型应该逼近“真”模型。具体的说,所选择的模型要与真模型的参数个数相同,所选择的模型的参数向量与真模型的参数向量相近。

如果一味的追求提高训练数据的预测能力,所选择的模型往往会比真模型复杂度更高。这种现象称为过拟合。过拟合是指学习时所选择的模型包含的参数过多,以至于出现这一模型对已知数据预测的很好,但对未知数据预测的很差。

可以说,模型选择旨在避免过拟合并提高模型的预测能力。

下面,以多项式函数拟合问题为例,说明过拟合与模型选择。这是一个回归问题。
【李航-统计学习方法】1.4模型评估与模型选择_第1张图片
多项式函数拟合的任务是:假设给定数据由M次多项式生成,选择最有可能产生这些数据的M次多项式函数。也就是说,在M次多项式函数中选择一个合适的函数,这个函数对已知数据和未知数据都有很好的预测能力。

【李航-统计学习方法】1.4模型评估与模型选择_第2张图片
解决这一问题的方法如下:
(1)确定模型的复杂度,也就是确定多项式的次数M;
(2)在给定的模型复杂度下,按照经验风险最小化的策略,求解参数,即多项式的系数。
具体的,求以下经验风险最小化:
在这里插入图片描述
这时,损失函数为平方损失,1/2是便于计算。
这是一个简单的最优化问题,将模型与训练数据代入上式,有:
【李航-统计学习方法】1.4模型评估与模型选择_第3张图片
可用最小二乘法求得拟合多项式系数的唯一解。

假设给定如图所示的10个数据点,用0~9次多项式函数对数据进行拟合。图中给出了需要用多项式函数曲线拟合的数据。
【李航-统计学习方法】1.4模型评估与模型选择_第4张图片
图中发给了M=0,1,3,9的情况。M=0时,多项式曲线是一个常数,数据拟合效果很差。M=1时,多项式曲线时一条直线,数据拟合效果也不好。M=9时,多项式曲线经过每一个数据,对于训练数据而言,拟合效果最好,但是对于测试数据而言,效果可能不是最好,这就是本节所说的过拟合现象。

模型选择的时候,不仅要看它能否很好的拟合测试数据,还要看它是否可以对未知数据有很好的预测效果。当M=3时,多项式曲线对训练数据的拟合效果足够好,并且模型较简单,是一个很好的选择。

下图描述了训练误差、测试误差与模型复杂度的关系。
【李航-统计学习方法】1.4模型评估与模型选择_第5张图片
从图中可以看出,随着模型复杂度的提高,训练误差减小,最终趋近于0。而测试误差会随着模型复杂度的增加先减小,到达最小值时,训练误差会增大,这时过拟合现象产生。也就是说,训练误差越小,对未知数据的预测能力不一定最好。在学习时要防止过拟合,进行最优的模型选择,即选择复杂度适当的模型,达到使测试误差最小的目的。

下一节介绍模型选择的两种方法:正则化与交叉验证。

你可能感兴趣的:(统计学习,算法,机器学习,人工智能)