错误、风险和损失之间有什么区别?

数据挖掘 机器学习 损失函数
2021-09-21 17:43:13

当我们谈论“最小化损失”时,我们经常谈论损失函数,例如均方误差(MSE)“经验风险最小化”一词通常可以互换使用。那么ErrorLossRisk之间有什么区别呢?

1个回答

错误

在这种情况下,误差是实际/真值之间的差异(θ) 和预测/估计值 (θ^)

Error=θθ^

损失

损失和风险都是模型与“数据”拟合程度的度量。不同之处在于“数据”的含义。

损失L) 是衡量我们的模型对您的训练数据执行情况的衡量标准。您使用损失函数计算损失,其中许多在其方程中使用误差;例如,简单的损失函数可能包括:

  • 平均绝对误差 (MAE) - 误差的平均值

    L=1ni=0n|θθ^|

  • 均方误差 (MSE) - 误差平方的平均值

    L=1ni=0n(θθ^)2

  • L p - MAE 和 MSE 分别对误差应用 1 和 2 的幂,并对它们进行平均。因此,它们也被称为L1L2损失函数。但是,您可以应用更高(或负)的权力,或者p, 到错误。

    大号=1n一世=0n|θ-θ^|p

虽然错误只是两者之间的区别 θθ^,损失可能会因您选择的损失函数而异。您选择的损失函数取决于您的数据和目标。例如,MAE 或 L 1对异常值很敏感;因此,如果您希望您的模型也对异常值敏感,那么您可以使用 MAE。

您的损失取决于使用的损失函数,这取决于您的用例;另一方面,错误总是相同的。

风险

再次重复,损失衡量您的模型与您的训练数据的匹配程度。然而,我们的最终目标不是让我们的模型适合我们的训练数据,这可能会导致过度拟合相反,它是为了适应我们的验证和测试数据,或者只是任何新的看不见的数据。

这就是(真正的)风险出现的地方。风险是整个数据分布中损失或预期损失平均度量

R(θ,θ^)=[大号(θ,θ^)]

为了说明,让我们假设您有一个过度拟合的模型。您的模型的错误和损失都非常低(因为它们是根据您的训练数据进行测量的)。但是因为它是过度拟合的,所以你预计任何新数据的损失都会很高。因此,您有一个错误和损失低但风险非常高的模型。

经验风险

为了把这个带回来 - 当我们训练我们的模型时,我们没有完整的数据分布。这可能是因为我们的一些数据用于验证和测试,或者是实时生成了新的数据点。我们能做的最好的事情就是随机选择我们的训练数据,并假设我们的训练数据代表真实数据。

因此,因为我们没有所有的数据,所以我们能做的最好的事情就是从我们拥有的数据(我们的训练数据)中最小化经验风险,使用正则化技术进行泛化(即避免过度拟合)。这就是为什么最小化损失和最小化经验风险大致相同的原因。

概括

当我们训练我们的模型时,我们的重点不应该是最小化错误或损失,而是最小化真正的风险。但大多数时候,我们做不到,所以我们将经验风险最小化并进行正则化。