机器学习 三:欠拟合,过拟合 & 偏差-方差权衡(Bias-Variance Tradeoff)

一、欠拟合与过拟合

一言以蔽之,欠拟合就是模型太简单,不能良好得描述出数据的真实分布。过拟合就是模型太复杂,不仅适应了所有的训练数据,且学习了训练数据中的噪声,导致模型缺少良好的泛化性(无法适应新数据)。

见下图,使用多项式回归法拟合随机生成的,符合类似三角函数且带有噪音的数据点。dim表示多项式的最高幂。易得:dim不够大时(dim=1 dim=2),模型拟合效果不好,即欠拟合。dim过大时(dim≥12)过度拟合数据点,导致同样偏离了真实的函数。

二、偏差与方差

bias 偏差:预测值与真值之间的差距,公式稍后介绍

variance 方差:与统计里的方差同一个意思。代表预测值分布的方差

对于符合某一模型(y = f(x))的数据,在实际获取数据的时候,不可避免的,数据点会受到噪音(z)影响(y = f(x) + z),导致实际得到的数据点并不完全按照该模型分布。比如上图,模型是某个三角函数,但实际得到的数据点有噪音。

在针对有噪音的数据时,如何评判我们构建的模型与实际模型之间的差异?此处以MSE为例。

对于单个数据点的预测误差有如下公式,其中\hat{y}代表预测值,y代表真值。

err = (\hat{y}-y)^2

则MSE有如下公式(注意此处是针对测试集得到\hat{y},因此y与\hat{y}独立,且假设噪音z~N(0, sigma^2)):

MSE = E[(\hat{y}-y)^2] =E[\hat{y}^2-2y\hat{y}+\hat{y}] =E(\hat{y}^2)-2E(\hat{y}y)+E(y^2)

=Var(\hat{y})+E^2(\hat{y})-2E(\hat{y})E(y)+Var(y)+E^2(y)

=(E(\hat{y})-E(y))^2+Var(\hat{y}))+Var(y)

=(E(\hat{y})-E(f(x)+z))^2+Var(\hat{y}))+Var(f(x)+z)

=(E(\hat{y})-f(x))^2+Var(\hat{y})+Var(z)

由此定义,

bias = (E(\hat{y})-f(x))^2

variance = Var(\hat{y})

irreducible -noise = Var(z)

bias即模型预测与真值之间的差异,variance即模型经过多组训练数拟合出来的结果之间的差异。irreducible_noise代表无法避免的噪音。

用一张经典图来描述:

bias与variance之间,随着模型复杂度的提升,有如下此消彼长的关系(无法避免):

因此,在训练模型时,所谓的最优解,即两者均相对较小的状态。在训练过程中,由于只考虑bias,因此过于充分的训练(模型太复杂),导致bias非常小,但实际variance便会非常大。这也就是前文提到的过拟合。此外,由上述公式还注意到,测试集上的误差同时考虑了bias与variance,因此也解释了模型在测试集的表现通常不如训练集的原因。

总结

过拟合=低bias&高variance

欠拟合=高bias&低variance

解决办法

欠拟合:

1 提高模型复杂度

2 扩展数据维度

过拟合:

1 扩充数据集

2 降低数据维度

3 正则化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三头猪等于一头大猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值