20. 偏差和方差的概念及用途 翻译自 吴恩达新书-Machine Learning Yearning

更多好玩的机器学习教程: 进入袋马学院领一份 ,全部免费.

假设你的开发、测试、训练样本集服从同一分布,那么获取更多的训练数据,可以让你的算法性能获得巨大的提升吗?

尽管获取更多的数据没啥坏处,但可能无法像你预期的那样,有很大提升。而且采集数据本身会耗费大量的时间,那如何判断,什么时候需要添加数据,什么时候不需要添加数据呢?

机器学习中的误差主要来自两个方面:偏差和方差。理解偏差和方差,可以帮助你决定是通过添加数据来提升算法性能,还是通过其他的策略来提升算法性能。

假如你希望你的猫咪检测器错误率在5%以下,当前你的算法在训练样本集上的错误率为15%,在开发样本集上的错误率为16%。此时加入更多的训练数据,可能并没有太大帮助。此时加入更多的训练数据,只会让你的模型更难训练,此时你应该改变你的算法(之后的章节,我们将介绍为什么要这么做)。

如果算法在训练样本集上的错误率为15%,而你希望准确率在5%以下,那么首要的问题是如何提升算法在训练样本集上的性能。算法在开发/测试测试集上的表现,一般会差于在训练样本集上的表现。因此如果你的算法在训练样本集上的准确率为85%,则想都不用想,算法在开发和测试样本集上的准确率不可能达到95%。

继续上面的例子,算法在开发样本集上的错误率为16%,我们可以把这16%分成两部分:

  1. 算法在训练样本集上的错误率,本例中为15%,这通常称作算法的偏差
  2. 算法在开发/测试样本集上相对训练样本集上高处的错误率部分,本例中,算法那在开发样本集上的错误率比在训练样本集上的错误率高1%,这通常称作算法的偏差

有些改进可以解决第一部分的问题,即偏差问题,从而可以提升算法在训练样本集上的性能;而有些改进可以解决第二部分问题,即方差问题,让模型具有更好的泛化效果。为了找到更合理的改进方案,想想哪一部分更需要迫切解决,是非常重要的。

对偏差和方差有更直观的理解,可以帮助你更加有些的改进你的算法。

更多好玩的机器学习教程: 进入袋马学院领一份 ,全部免费.

你可能感兴趣的:(吴恩达-YEARNING)