模型的优化

模型优化

之前对于回归问题的基本算法的介绍,展示了通过最小化损失函数的值来估计模型的参数,如线性回归中的 w w w 。接下来就需要评估所得到的模型效果,以及对该基础模型进行优化。

评估模型的基础概念

在建立模型前,我们已经介绍了评估模型几个特定指标。然而在评估与优化模型之前,需要明确以下几个概念,即使用那部分数据进行评估,以及模型的误差来源。

数据的划分

一般地,我们将损失函数最小化并得到模型参数的过程,称之为训练,所使用到的数据称之为训练集。

显然,在实际问题中我们甚至可以让损失函数在训练集最小化为 0 0 0 ,例如在线性回归中加入许多高次项特征,使在训练集的每一个数据点都恰好位于模型曲线上。

然而,此时显示的模型效果无法反映模型在新数据上的预测能力,因此需要通过未出现在训练集的未知数据来测试模型的泛化能力,也即测试集。

训练误差与测试误差

同样地,相应的评估指标在不同数据集上的表现,就形成了训练误差和测试误差的概念。一般而言,我们并不关注训练误差,而更关注测试误差。

然而,测试数据并不总能获取,为了选择测试误差最小的模型,有观点认为可以选择使训练误差最小的模型。然而,一个模型的训练误差最小时,不能保证测试误差同时也很小。并且,训练误差很小时,测试误差反而可能会很大,这种现象叫做过拟合。

偏差-方差的权衡

(a)测试误差的分解

一般地,测试误差曲线随模型的光滑度呈现U型曲线,这表明在测试误差曲线中有两种力量在互相博弈。

可以证明: E ( y 0 − f ^ ( x 0 ) ) 2 = Var ( f ^ ( x 0 ) ) + [ Bias ( f ^ ( x 0 ) ) ] 2 + Var ( ε ) E\left(y_{0}-\hat{f}\left(x_{0}\right)\right)^{2}=\text{Var}\left(\hat{f}\left(x_{0}\right)\right)+\left[\text{Bias}\left(\hat{f}\left(x_{0}\right)\right)\right]^{2}+\text{Var}(\varepsilon) E(y0f^(x0))2=Var(f^(x0))+[Bias(f^(x0))]2+Var(ε)

由上式可知,测试均方误差的期望值可以分解为 f ^ ( x 0 ) \hat{f}(x_0) f^(x0) 的方差、 f ^ ( x 0 ) \hat{f}(x_0) f^(x0) 的偏差平方和误差项 ε \varepsilon ε 的方差。

显然测试均方误差的期望不会低于误差的方差,因此我们称 Var ( ε ) \text{Var}(\varepsilon) Var(ε) 为建模任务的难度,也叫做不可约误差。

(b)方差和偏差

从式中可以看到,所谓的方差就是用不同的数据集去估计 f f f 时,估计函数的改变量,即方差度量的是同一个模型在不同数据集上的稳定性。

一般来说,模型的复杂度越高, f f f 的方差就会越大。

模型的偏差则是为了选择一个简单的模型去估计真实函数所带入的误差。

偏差是由模型的复杂度引起的,其度量了学习算法的期望预测与真实结果的偏离程度,刻画了学习算法本身的拟合能力。

一般而言,增加模型的复杂度,会增加模型的方差,但是会减少模型的偏差,我们要找到一个方差–偏差的权衡,使得测试均方误差最小。

测试误差的估计

根据前面的讨论,由于实际的测试误差难以获取,因此我们要对测试误差进行估计,主要采用两种方式:训练误差修正与交叉验证。

(a)训练误差修正

模型越复杂,训练误差越小,测试误差先减后增。

因此,可以先构造一个特征较多的模型使其过拟合,此时训练误差很小而测试误差很大,然后我们再加入关于特征个数的惩罚。

因此,当我们的训练误差随着特征个数的增加而减少时,惩罚项因为特征数量的增加而增大,抑制了训练误差随着特征个数的增加而无休止地减小。

具体的数学量(模型拟合准则)如下:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值