模型评估与模型选择

一、训练误差与测试误差

统计学习的目的就是利用已经学到的模型对已知数据和未知数据进行预测,因此在损失函数确定的情况下,基于损失函数的训练误差和测试误差就成了我们对模型进行评价的一个标准。

注意:在统计学习中使用的损失函数未必和评估中使用的损失函数一样。

假设学习到的模型是y=f^(x),则训练误差就是模型y=f^(x)基于训练语料的平均误差:
R(f^)=1NNi=1L(yi,f^(x)),其中N是训练样本容量。
训练误差就是模型y=f^(x)基于训练语料的平均误差:
R(f^)=1NNi=1L(yi,f^(x)),其中N‘是测试样本容量。
训练误差的大小对于判断给定问题是否容易学习是有意义的,但是其本质并没有太大意义。而测试数据集误差反应了学习的模型对未知数据的预测能力,测试误差较小的模型显然将有较好的预测能力,我们一般将模型对未知数据的预测能力称为模型的泛化能力。

二、过拟合与模型选择
1.过拟合:指学习模型的时候所包含的参数过多,这样得到的模型对训练数据具有较好的预测能力,但是对未知数据的预测能力较差的现象。
2.模型选择:就是指避免过拟合并可以有效提高模型的的预测能力。

假设有10个数据点,使用0~9次多项式对数据进行拟合。首先我们假设多项式为:
fM(x,ω)=w0+w1x+w2x2+...+wMxM,其中式中x为单变量的输入,wi为M+1个参数。
解决以上问题,首先确定模型的复杂度即M的值,确定多项式的次数。然后在确定模型复杂度的情况下,按照经验风险最小化,确定参数。该问题的最终目的就是求解多项式的次数。即:
L(ω)=12Ni=1(f(xi,ω)yi)2
损失函数为平方损失,系数设为0.5是为了计算方便。将训练数据带入公式,则有
L(ω)=12Ni=1(Mj=0ωjxjiyi)2
将该损失函数对ωj 求偏导数,并且令求偏导结果为0 ,计算求得ωj ,于是得到,
多项式的拟合系数ω0,ω1,...,ωM
如下图给出了当M=0,M=1,M=3,M=9的情况下的,拟合结果。
模型评估与模型选择

根据上图我们分析如下(分析未做详细描述):
当M=0时,训练数据基本没有出现在拟合曲线附近,因此该模型的经验风险明显偏高。
当M=1时,虽然比M-0时效果较好一些,但是其经验风险值明显较高。
当M=9时,所有训练数据均在拟合的曲线附近,但是其对未知数据的预测准确率明显不高。
只有当M=3的时候,拟合的曲线基本与实际曲线基本接近。
因此,当M=3的时候模型最好。