关于过拟合和欠拟合

当我们想要找一个函数来做一件事情,比如说我想找一个函数来预测一只宝可梦进化后的数值,那么我们就需要先假设一个函数f*,这个f需要我们输入这个宝可梦的种类、现有的数值等等,然后我们用许多宝可梦的数据来training这个函数。
有了好多f
,但我们发现,这个函数在训练集测试集下的表现并不好,于是我们想到,可能是我们假设的这个函数公式太简单了,所以我们把函数变复杂(比如说加高幂次项)。
但是这里会出现一个有趣的现象,那就是我们的函数在训练集下的error会变大,这就是所谓的“过拟合”。什么是过拟合?简而言之就是,你的函数model变复杂了,但是你的训练结果却变差了。这个原因是因为方差变大了而造成的。
而另一个结果就是欠拟合。当你的偏移量bias很大时,你的函数可能在训练集下的表现会很好,但是到了使用测试集时,你的模型表现就会很差。而且,欠拟合的模型,无论你怎么添加训练数据,它都不会变好。
这里是李宏毅老师ppt的一张图,形象地说明了欠拟合和过拟合的区别。
左边是欠拟合,右边是过拟合
可以看出,undetfitting也就是欠拟合,虽然variance很小,但是它根本就和靶心无关,因为Bias太大了,所以你无论怎么训练,让点变得密集,也无济于事。而右边的overfiting,因为variance很大,所以点很分散,但是只要训练数据增加,那么点变得密集了,它也可以达到很好的效果。
综上所述,overfitting和underfitting都是我们不愿意看到的两个现象,但是如果比烂的话,underfitting要更烂一些,因为它基本上属于没救了,而overfitting至少可以通过增加训练数据来补救一下。
通过过拟合和欠拟合,我们也可以看出bias和variance的区别,当你bias很大时,你的variance再小也没有用,因为如上图,偏离靶心时点再密集也无济于事;相反,如果你的bias很小,variance很大时,只要你想办法让点密集一下,那么这个model依然可以变得很好。
当然,在现实情况下,bias和variance并不能兼得,如何调节二者从而达到最好的效果,就要实践出真知了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值