模型评估与模型选择
当损失函数给定时,基于损失函数的模型的训练误差(training error)和模型的测试误差(test error)就自然成为学习方法评估的标准.
训练误差的大小,对判定给定的问题是不是一个容易学习的问题是有意义的,但本质上不重要。测试误差反映了学习方法对未知的测试数据集的预测能力,是学习中的重要概念,显然,给定两种学习方法,测试误差小的方法具有更好的预测能力,是更有效的方法。
泛化能力(generalization ability): 学习方法对未知数据的预测能力
一、 训练误差与测试误差
假设学习到的模型是,训练误差是模型关于训练数据集的平均损失:
其中N是训练样本容量。
测试误差是模型关于测试数据集的平均损失:
其中是测试样本容量。
例如,当损失函数是0-1损失时,测试误差就变成了常见的测试数据集上的误差率(error rate).
这里是指示函数(indicator function),即时为1,否则为0.
相应的,常见的测试数据集上的准确率(accuracy)为
显然,
二、 过拟合与模型选择
-
当假设空间含有不同复杂度(例如,不同的参数个数)的模型时,就要面临模型选择(model selection)问题。如果在假设空间中存在”真“模型,那么所选择的模型应该逼近真模型。具体地,所选择的模型要与真模型的参数个数相同,所选择的模型的参数向量与真模型的参数向量相近。
-
过拟合(over-fitting):指学习时选择的模型所包含的参数很多,以致于出现这一模型对已知数据预测得很好,但对未知数据预测的很差的现象。
-
模型选择的目的:避免过拟合并提高模型的预测能力
-
以多项式函数拟合问题为例,说明过拟合与模型选择。这是一个回归问题。
假设给定一个训练集:
多项式函数拟合的任务是假设给定数据由M次多项式函数生成,选择一个对已知数据以及未知数据都有很好预测能力的M次多项式函数。假设给定10个数据点,用0~9次多项式函数对数据进行拟合。
设M次多项式为
式中x是单变量输入,是M+1各参数。首先确定模型的复杂度,即确定多项式的次数;然后再给定的模型复杂度下,按照经验风险最小化的策略,求解参数,即多项式的系数。
求以下经验风险最小化:
这时,损失函数为平方损失,系数是为了计算方便。这是最优化问题,将模型与训练数据代入,有
对求偏导数并令其为0,可得 -
训练误差和测试误差与模型复杂度之间的关系