什么是偏差和方差

上图是以二维数据为例,展示了偏差和方差这两个概念:

  • 高偏差(high bias): 高偏差是指不能很好的拟合数据,是一种欠拟合情况,如上图1情况所示;
  • 高方差(high variance): 高方差是指过分在该数据集中拟合数据,是一种过拟合情况,如上图3情况所示。其危害是在Train Set中可能正确率非常高,一旦投入生产环境中可能错误率就会相对于合适的情况要高很多。

通过训练集(Train Set)和验证集(Dev Set)来说明什么是偏差/方差,假设分辨一个猫的图片,人眼的错误率为0%(最优误差)并且TS与DS同分布:

No TS Error Rate(训练集错误率) DS Error Rate(验证集错误率)
1 1% 11%
2 15% 16%
3 15% 30%
4 0.5% 1%
  • 实验1:高方差,也就是有过拟合的情况;
  • 实验2:高偏差,也就是有欠拟合的情况;
  • 实验3:高方差&高偏差,这种情况是因为一部分数据欠拟合而另一部分的数据过拟合;
  • 实验4:just right。

但是之前假设是人的错误率为0%,如果这些照片中有一些非常模糊的及时连人也无法正确分辨的情况下,这是假设人的错误率为15%,则最合适的情况是实验2。

偏差/方差调优

  • 偏差调优
    • 使用一个更大的网络,包括更多的隐藏层或隐藏单元的网络(通常最有效);
    • 通过增加迭代次数来花费更多时间训练网络;
    • 使用更先进的优化算法;
    • 试着使用其他的Neural Network Architecture,如卷积网络等。
  • 方差调优
    • 投喂更多数据;
    • 如果无法使用更多数据可以考虑通过正则化(regularization)减少过拟合的情况;
    • 试着使用其他的Neural Network Architecture,如卷积网络等。

在早期,方差和偏差是相对的,一方减少势必会带来另一方增加,所以早起一般是通过投喂更多数据来实现一同减少的,但是在现在可以使用正则化这种工具来达到一同减小的目的。