ML讲座2-误差是怎么来的

视频来源:https://www.youtube.com/watch?v=D_S6y0Jm6dQ
本文主要介绍机器学习中误差的来源以便improve model
由前面介绍的内容我们知道,在设计并完成一个解决目标问题的model以后,我们能通过一系列的方法找到在当前model下的一个“最好的”function,但是这个function与真实的function总是有差距的,表现就是预测未知数据集的时候正确率不是百分之百。
这些误差主要是来自bias和variance。

对bias和variance的理解

将真实function作为靶心,使用我们得到的最优function进行若干次实验,实验的平均值即我们的方程靶心,两个靶心的距离就是bias,这若干次实验范围的方差就是variance
在这里插入图片描述

如何判断当前模型误差来源

在不同模型上进行若干次实验,可以直观观察出variance
在下图中,左边是简单模型实验100次的结果,右边是复杂模型实验100次的结果,可以看到复杂模型的variance更大一些。
在这里插入图片描述
同样,下图可以看到复杂模型的bias更小一些
在这里插入图片描述

bias 大

underfitting:表示与training data不拟合,训练集都不能很好的fitting
原因: 模型太过简单,模型的space没有包含target,要注意的是,这种情况下即使加入更多的data也不会有太大帮助,需要重新设计模型。
比如: 回想宝可梦的例子,简单模型只考虑cp值的时候很难做出好的预测,因为宝可梦进化与种类也有相关性。因此思路可以是加入更多feature以及使用更复杂的模型。

variance 大

加训练数据: 这是overfitting的现象,可以通过增加训练数据来改善。可以通过现有数据制造更多的数据,例如图片的翻转,角度转换等。增加训练数据能够很好地解决large variance的问题。
**regularization:**使曲线更加平滑 ,缺点是可能会伤害biasquedian

修改模型的注意事项

在真正的测试集上,实际上可能是大于你自己的选择的那个模型的
所以要用一个validation set来进行model筛选
不建议在testings上结果不好时再修改模型了,这是不能反应在真正未知数据集上得到结果。
所以提出一种方法使得到的模型更能表示在位置数据集上的效果
,使用一个从training set 分离出validation set 用来筛选模型,用testing set 模拟真正未知的数据。这时候不建议再根据testing set来更改模型了,因为这样就失去了使用validation的意义。在这里插入图片描述
为了更好的利用训练数据,还可以使用交叉方式训练

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值