统计决策理论与机器学习中的损失函数?

机器算法验证 机器学习 损失函数 决策理论
2022-03-05 13:18:08

我非常熟悉机器学习中的损失函数,但我很难将它们与统计决策理论中的损失函数联系起来 [1]。

在机器学习中,损失函数通常只在训练时考虑。它是两个变量 的可微函数loss(true value, predicted value),您可以迭代地最小化训练集以收敛到(局部)最优模型权重。

在统计决策理论中,损失函数似乎与预测时间相关(?)。您希望根据您对其可能值的评估以及做出错误预测的损失来合理地选择未知量的值。

这两个概念如何相互关联的直觉是什么?

[1] 例如,在“机器学习:一种概率方法”的第 6.3 章或“统计学习的要素”的第 2.4 章中。

4个回答

最终感兴趣的损失是预测损失(或决策损失)。它代表了任何给定决策对决策者的真实(财务/物质/...)后果。我们希望将这一损失降到最低,而不是作为一个中间目标。

训练损失是构建预测模型的中间工具它不直接影响决策者的福利;它的影响仅通过预测损失表现出来。

将训练损失与预测损失相匹配可能是一个好主意,也可能不是一个好主意。

  • 例如,假设您有一个由正态随机变量生成的样本。您必须从同一总体中预测新的观察结果,并且您的预测损失是二次的。如果没有其他信息,您最好的猜测是随机变量的平均值。它的最佳*估计是样本均值。碰巧通过样本均值最小化的训练损失类型是二次的。因此,这里的训练损失与预测损失一致
  • 现在假设情况相同,但您的预测损失是预测误差的绝对值。如果没有其他信息,您最好的猜测是随机变量的中位数。它的最佳*估计是样本均值,而不是样本中位数(因为我们的样本是由正态随机变量生成的)。正如我们已经知道的,在最小化时产生样本均值的训练损失是二次的。因此,这里的训练损失与预测损失不一致

*最好在最小化预期预测损失的意义上。

让我对已接受的答案给出一个更侧重于 ML 的观点。

不要将训练损失和决策损失混为一谈——尽管功能可能相同,但它们是不同的概念。在分类中比回归更容易看到这种区别。

所以,假设我们正在使用逻辑回归进行二元分类。训练损失是交叉熵/对数损失(可能带有正则化)模型训练好后,我们不再关心训练损失。

在预测时,我们的逻辑回归模型告诉我们我们需要将此分布转换为单个类。我们只选择概率最高的类吗?我们是否要格外小心误报?我们将这些偏好正式编码为决策损失中最优地选择单个类P(y|x)P(y|x)


对于更学术的阐述,我发现“模式识别和机器学习”对这两者有很好的消歧作用。

从一组训练数据中确定是推理的一个例子,通常是一个非常困难的问题,其解决方案构成了本书大部分内容的主题。的值做出具体的预测,而这方面是决策理论的主题......我们将看到决策阶段通常非常简单,甚至是微不足道的,一旦我们已经解决了推理问题。p(x,t)t

值得区分决策理论产生的平方损失函数和模型参数最大似然估计产生的平方和误差函数。我们可能会使用比最小二乘法更复杂的技术,例如正则化或完全贝叶斯方法,来确定条件分布这些都可以与平方损失函数结合起来进行预测。p(t|x)

实际上,这并不是统计学和机器学习之间的大区别。机器学习理论也关注在损失函数方面预测在训练样本之外的效果如何。我认为这通常被称为泛化风险或泛化错误,例如参见 Bousquet & Elisseef: Stability and Generalization

显然如果你只有训练样本,你只能在训练数据上评估损失函数。但是许多方法都是基于某种训练损失最小化,这意味着训练误差(因为它是在训练数据上优化的)不能很好地泛化,并且可以预期新观察的损失会更高。这取决于具体的方法和情况,但至少在理论上(或在单独的测试数据上)考虑将损失函数应用于新的待预测数据是研究这一点的关键工具,统计学和机器学习都关注这一点。(而且你有时可以根据预期的泛化损失而不是简单的训练损失来选择方法或参数,至少在理论存在的情况下是这样。)

  1. 理论方法:在第一层,定义预测误差然后,为了估计参数,我们将损失或标准函数定义为ϵ=yE(y|x)l(ϵ)=ϵpp
  2. 经验方法:我们定义残差,其中在具有合适损失或标准函数的合适模型结构下从给定数据近似预测函数r=yy^y^E(y|x)l(r)=rpp