# ML学习小笔记—Where does the error come from?

关于本课程的相关资料http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17.html


错误来自哪里?

error due to "bias" and error due to "variance"

当我们要求无穷多个数的平均值或者方差时,我们选取了N个样本出现计算。很显然我们得到的结果是存在一定误差的。当我们选区的样本的值越多的时候,我们得到的结果也就越准确。类比于训练模型,我们所选择的训练数据是有限的,很多时候我们希望他们效果可靠,数量可观。但是往往并非如此。例如下图:

我们所期望的模型为靶心的f。但是在我们定义的某个模型下,训练数据所推出的效果集中于f非。这两者的距离成为Bias,即偏差。训练集的离散程度为Variance,即方差,这样就导致了错误的出现。

p3gZ98S.png

在上图中,左上角的模型为最好的模型。


当我们的模型越简单,所得到的Variance越低,但是他的Bias相对越差。
当模型越复杂的时候,得到的Bias相对较好,但是Variance变高了。
PkpcJ1c.png

原因在于,较简单的模型表达的范围较少,可无法包过最佳的模型,而较复杂的模型所表达的范围较广,能够包过最佳的模型。
vhGm9k6.png


所以会存在过度拟合和欠拟合的情况。当我们训练模型的时候,要根据实际的情况去调整自己的模型。

2h4WPWg.png

我们要清楚Bias和variance哪个比较大:

  • 如果你的模型不适合训练样例,得出来的模型有较大差异,那么你就有很大的Bias
  • 如果您可以拟合训练数据,但测试数据存在较大误差,那么您可能会有很大的Variance

当Bias过大时候:

  • 增加更多的feature
  • 选择更复杂的模型

当Variance过大时候:

  • 增加更多的训练数据
  • 使用Regularization(这一点在第一章被我略过,见下图)
    Fs7TM0U.png

如何选择适合的模型?

There is usually a trade-off between bias and variance.

Select a model that balances two kinds of error to minimize total error

我们通过Training Set得出的模型在Testing Set中返回的error最低,但这并不意味着在真实的Testing Set得到的结果最优。

原因在于我们手中的Testing Set并不能很好的代表真实的情况,他的Bias与现实的情况还是存在着距离的。所以得出来的error并不能完美的代表现实

所以我们选择模型应该这样做:

将Training Set分成两组,然后一组用来选择model,选出来最优的model在我们手中Testing Set得到的error较能反映现实的情况:

B0P9LQx.png

或者下图中的交叉验证:

PbQIJgT.png


写完博客才更好的理解了整个思路。

转载于:https://www.cnblogs.com/Huzr/p/9976096.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值