kunlong00 2019-02-12
每当我们建立预测机器学习模型时,即使在所有调整和处理之后,我们的预测通常也是不完美的:预测值和实际值之间会有一些非零差异。这种差异称为预测误差。我们可以将预测误差分解为两部分:可约误差和不可约误差。
看看下面的等式,总结一下:
现在,在讨论困扰机器学习模型的两者之间的权衡情况之前,我们将理解这个等式的两个组成部分(偏差和方差)。
以下内容将帮助您了解Bias如何影响统计模型和技术定义:
Variance的技术定义及其对模型的影响,如下所述:
现在我们必须了解与偏差和方差相关的两个更重要的术语 - 过度拟合及欠拟合。
当机器学习算法试图预测事物时,存在非常微妙的平衡行为。
福岛核电站灾难是过度拟合的毁灭性例子。在设计发电厂时,工程师必须确定地震发生的频率。他们使用了一种著名的古登堡 - 里特尔定律(Gutenberg-Richter Law),它提供了一种从非常弱的地震发生概率来预测强烈地震概率的方法。这是有用的,因为弱地震 - 那些非常弱甚至无法感觉到的地震 - 几乎一直发生并由地质学家记录,因此工程师有相当大的数据集可供使用。也许这个定律最重要的结果是地震的大小与其发生概率的对数之间的关系是线性的。
核电厂的工程师使用过去400年的地震数据来训练回归模型。他们的预测看起来像这样:
福岛的Brian Stacey:预测模型的失败
菱形代表实际数据,而细线则显示工程师的回归。注意他们的模型如何非常紧密地接近数据点。事实上,他们的模型在7.3的范围内产生了问题 - 显然不是线性的。
在机器学习术语中,我们称之为过度拟合。顾名思义,过度拟合是指我们训练一个过于紧密地“接近”训练数据的预测模型。在这种情况下,工程师知道这种关系应该是一条直线,但他们使用的模型比他们需要的更复杂。
如果工程师使用了正确的线性模型,他们的结果将如下所示:
请注意,右侧的线条不会陡峭倾斜。
这两个机器学习模型的区别是什么呢?过拟合模型预测每1.3万年至少发生一次9级地震,而正确的机器学习模型预测每300年至少发生一次9级地震。正因为如此,福岛核电站只能承受8.6级的地震。2011年的地震摧毁了这座核电站,震级为9级(约为8.6级地震的2.5倍)。
实际上,过拟合存在一个对偶问题,即欠拟合。在我们尝试减少过度拟合的过程中,我们实际上可能会开始转向另一个极端,我们的模型可能会开始忽略我们数据集的重要特征。当我们选择一个不够复杂的模型来捕获这些重要特征时会发生这种情况,例如在需要二次方时使用了线性模型。
现在,我们必须记住的这个例子的重要内容如下:
我们必须避免过度拟合,因为它在我们的训练数据中给出了太多的预测能力,甚至是噪音因素。但是在我们试图减少过度拟合的过程中,我们也会开始欠拟合,忽略了训练数据中的重要特征。那么我们如何平衡这两者呢?
在机器学习领域,这个非常重要的问题被称为偏差-方差困境。拥有最先进的算法、最快的计算机和最新的gpu是完全可能的,但是如果您的模型与训练数据的匹配度过高或过低,那么无论您投入多少资金或技术,它的预测能力都将是可怕的。
偏差- 方差困境来自统计学中的两个术语:偏差对应欠拟合,方差对应过度拟合。
那么,为什么偏倚和方差之间存在权衡呢?为什么我们不能两全其美同时拥有一个低偏差和低方差的模型呢?事实证明,偏差和方差实际上是一个因素的副作用:我们模型的复杂性。
对于高偏差的情况下,我们有一个非常简单的模型。在下面的示例中,使用了线性模型,可能是最简单的模型。对于高方差的情况,我们使用的模型是超级复杂的(想想波形)。
高偏差- 欠拟合模型
高方差 - 过度拟合模型
偏差和方差也是模型构建过程中需要最小化的两类误差。但是,同时最小化这两个值是一个挑战:
我们能做的最好的就是试在中间找到一个点,也就是紫色指针的位置。
我们已经详细地介绍了所有概念,看看下面的图表,以便您现在能够轻松地理解: