模型评估与模型选择(训练误差和测试误差+过拟合)| 15mins 入门 | 《统计学习方法》学习笔记(四)
模型评估与模型选择
当损失函数给定时,基于损失函数的模型的训练误差(training error)和模型的测试误差(test error)就自然成为学习方法评估的标准.
训练误差的大小,对判定给定的问题是不是一个容易学习的问题是有意义的,但本质上不重要。测试误差反映了学习方法对未知的测试数据集的预测能力,是学习中的重要概念,显然,给定两种学习方法,测试误差小的方法具有更好的预测能力,是更有效的方法。
泛化能力(generalization ability): 学习方法对未知数据的预测能力
一、 训练误差与测试误差
假设学习到的模型是Y=f^(X)Y=\hat f(X)Y=f^(X),训练误差是模型Y=f^(X)Y=\hat f(X)Y=f^(X)关于训练数据集的平均损失:
Remp(f^)=1N∑i=1NL(y,f^(xi)) R_{emp}(\hat f)=\frac{1}{N}\sum_{i=1}^NL(y,\hat f(x_i)) Remp(f^)=N1i=1∑NL(y,f^(xi))
其中N是训练样本容量。
测试误差是模型Y=f^(X)Y=\hat f(X)Y=f^(X)关于测试数据集的平均损失:
etest=1N′∑i=1N′L(yi,f^(xi)) e_{test}=\frac{1}{N'}\sum_{i=1}^{N'}L(y_i,\hat f(x_i)) etest=N′1i=1∑N′L(yi,f^(xi))
其中N′N'N′是测试样本容量。
例如,当损失函数是0-1损失时,测试误差就变成了常见的测试数据集上的误差率(error rate).
etest=1N′∑i=1N′I(y1≠f^(xi)) e_{test} = \frac{1}{N'}\sum_{i=1}^{N'}I(y_1\neq \hat f(x_i)) etest=N′1i=1∑N′I(y1=f^(xi))
这里III是指示函数(indicator function),即y≠f^(x)y \neq \hat f(x)y=f^(x)时为1,否则为0.
相应的,常见的测试数据集上的准确率(accuracy)为
rtest=1N′∑i=1N′I(yi=f^(xi)) r_{test} = \frac{1}{N'}\sum_{i=1}^{N'}I(y_i=\hat f(x_i)) rtest=N′1i=1∑N′I(yi=f^(xi))
显然,
rtest+etest=1 r_{test}+e_{test}=1 rtest+etest=1
二、 过拟合与模型选择
-
当假设空间含有不同复杂度(例如,不同的参数个数)的模型时,就要面临模型选择(model selection)问题。如果在假设空间中存在”真“模型,那么所选择的模型应该逼近真模型。具体地,所选择的模型要与真模型的参数个数相同,所选择的模型的参数向量与真模型的参数向量相近。
-
过拟合(over-fitting):指学习时选择的模型所包含的参数很多,以致于出现这一模型对已知数据预测得很好,但对未知数据预测的很差的现象。
-
模型选择的目的:避免过拟合并提高模型的预测能力
-
以多项式函数拟合问题为例,说明过拟合与模型选择。这是一个回归问题。
假设给定一个训练集:
T={(x1,y1),(x2,y2),...,(xN,yN)} T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)}
多项式函数拟合的任务是假设给定数据由M次多项式函数生成,选择一个对已知数据以及未知数据都有很好预测能力的M次多项式函数。假设给定10个数据点,用0~9次多项式函数对数据进行拟合。
设M次多项式为
fM(x,w)=w0+w1x+w2x2+⋅⋅⋅+wMxM=∑j=0Mwjxj f_M(x,w)=w_0+w_1x+w_2x^2+···+w_Mx^M=\sum_{j=0}^Mw_jx^j fM(x,w)=w0+w1x+w2x2+⋅⋅⋅+wMxM=j=0∑Mwjxj
式中x是单变量输入,w0,w1,...,wMw_0,w_1,...,w_Mw0,w1,...,wM是M+1各参数。首先确定模型的复杂度,即确定多项式的次数;然后再给定的模型复杂度下,按照经验风险最小化的策略,求解参数,即多项式的系数。
求以下经验风险最小化:
L(w)=12∑i=1N(f(x,w)−yi)2 L(w)=\frac{1}{2}\sum_{i=1}^N(f(x,w)-y_i)^2 L(w)=21i=1∑N(f(x,w)−yi)2
这时,损失函数为平方损失,系数12\frac{1}{2}21是为了计算方便。这是最优化问题,将模型与训练数据代入,有
L(w)=12∑i=1N(∑j=0Mwjxij−yi)2 L(w)=\frac{1}{2}\sum_{i=1}^N(\sum_{j=0}^Mw_jx_i^j-y_i)^2 L(w)=21i=1∑N(j=0∑Mwjxij−yi)2
对wjw_jwj求偏导数并令其为0,可得
wj=∑i=1Nxiyi∑i=1Nxij+1,j=0,1,2,...,M w_j=\frac{\sum_{i=1}^Nx_iy_i}{\sum_{i=1}^Nx_i^{j+1}}, \quad j=0,1,2,...,M wj=∑i=1Nxij+1∑i=1Nxiyi,j=0,1,2,...,M
-
训练误差和测试误差与模型复杂度之间的关系

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)