原文地址:https://www.jianshu.com/p/a02c6bd5d5e9

error来自哪?来自于偏差Bias和方差Variance。

ML&MLDS笔记:偏差 vs 方差-LMLPHP

就如打靶时瞄准一个点\(\overline{f}\),打出的点\(f^*\)分布在该点周围。那么,\(\overline{f}\)与实际靶心\(\hat{f}\)的距离就是偏差Bias,打出的点\(f^*\)与\(\overline{f}\)的分布距离就是方差Variance。
可将偏差理解为没瞄准,方差理解为瞄准了但是打得太散。

ML&MLDS笔记:偏差 vs 方差-LMLPHP

简单模型的方差小于复杂模型的方差。因为简单模型比较集中,其权重\(W\)不太会受到data变化的影响,可考虑极端例子\(f(x)=c\),该模型方差为0。

ML&MLDS笔记:偏差 vs 方差-LMLPHP

简单模型的偏差大于复杂模型的偏差。因为模型是个函数/假设集,定好模型后,function只能在里面挑选。而简单模型的space小,很可能不包含\(\hat{f}\);复杂模型的space大,很可能包含\(\hat{f}\)。

ML&MLDS笔记:偏差 vs 方差-LMLPHP

偏差大意味欠拟合,方差大意味过拟合。

ML&MLDS笔记:偏差 vs 方差-LMLPHP

If your model cannot even fit the training examples, then you have large bias.
If you can fit the training data, but large error on testing data, then you probably have large variance.
For bias,redesign your model:

  • Add more features as input;
  • A more complex model.

For variance:

  • More data;
    Very effective, but not always practical.
    给的数据不够,很难准确地找到目标假设。但实际操作中,数据往往没那么“充足”。
  • Regularization.
    限制\(||W||\),较小/短的\(W\)意味着函数较平滑:输入变化,输出变化小。
    may increase bias.

正则化可防止选模型时选出抖动得很厉害的模型。多数情况下,抖动得太厉害的function很可能不对。function中常数项bias对function是否平滑无影响。

ML&MLDS笔记:偏差 vs 方差-LMLPHP
ML&MLDS笔记:偏差 vs 方差-LMLPHP

模型选择就是在方差和偏差之间寻找平衡。
但以下做法不推荐:
用训练数据训练出不同模型后,根据这些模型在测试数据上的表现好坏进行模型选择选出所谓的最佳模型。
因为其偷看了测试数据,该最佳模型往往在real的测试数据上表现得不好。

ML&MLDS笔记:偏差 vs 方差-LMLPHP

推荐使用交叉验证:
将训练数据分为训练数据和验证数据2部分,通过验证数据选择模型。
这时,在public测试数据上的表现和在private测试数据上的表现差不多。
原则上,越少根据public测试数据上的结果去调整模型,public测试数据和private测试数据上的表现相差越少。

ML&MLDS笔记:偏差 vs 方差-LMLPHP

为降低偶然性,可使用\(N\)折交叉验证。

ML&MLDS笔记:偏差 vs 方差-LMLPHP

05-17 17:00