Machine Learning —— Where does the error come from
1、Error来源
- Bias
- Variance

2、Model简单和复杂时的情况
- 当model比较简单时,variance比较小,bias比较大,此时的f∗f^*f∗会比较集中,但是function set可能并没有包含真实的标准函数f^\hat{f}f^,此时model受bias影响较大
- 当model比较复杂时,variance比较大,bias比较小,此时的f∗f^*f∗会比较分散,但是function set会包含真实的标准函数f^\hat{f}f^,此时model受variance影响较大
如下两图所示,一次项函数简单函数和含五次项复杂函数对比


3、区分function set的bias大 or variance大
- 若是采样得到的大部分样本点都不在训练得到的f∗f^*f∗上,说明model太简单,bias比较大,是欠拟合(underfitting)
- 若是样本点都在model训练出来的f∗f^*f∗上,但是经过test data测试后得到的error很大,说明model太复杂,variance比较大,是过拟合(overfitting)

4、处理操作
-
当bias比较大时,需要做的是重新设计model,包括考虑添加新的input变量、高次项;然后对每一个model对应的f∗f^*f∗计算出error,选择error值最小的model(随着model变复杂,bias会减小,但是variance也会增大,故在此取两者的平衡点)

-
当variance比较大时,最后的办法是增加data,当data数量足够时,得到的f∗f^*f∗会比较集中;如果没办法得到更多的data,可以采用regularization正规化,以曲线的平滑度为条件控制function set的范围,用weight控制平滑度阈值,使得最终的model既包含f^\hat{f}f^,variance又不会太大

5、如何选择model
- 已有的test data与真实的test data之间是存在一定偏差的,因此可以将training data分成两部分即 train_data和validation_data,经过validation筛选后的model再用全部的train data训练一遍参数,最后用test data测试error,这样的model与实际情况的error会比较符合。


本文探讨了机器学习中误差的两大来源:偏差与方差,并分析了模型简单与复杂时的表现。介绍了如何通过调整模型复杂度及增加数据量来降低误差,并提出了有效的模型选择方法。
4029

被折叠的 条评论
为什么被折叠?



