为什么这个函数不能用作损失函数?

机器算法验证 机器学习 神经网络 损失函数
2022-03-13 16:17:22

在一次讨论中,有朋友提到下面的函数不能优化,所以不能用在学习算法中。

Ein=1Nn=0N(h(xn)f(xn))

为什么这个函数不能用作损失函数?

上下文

这是关于机器学习和最小化大小为上的错误。我说的是将算法预测与现实世界记录的实际结果进行比较。使用成本函数将预测与其实际值进行比较。DN

f是“真实”映射,是我的“模型”。h

h应该近似于f

请有人解释一下为什么它也不能区分吗?

2个回答

原帖中的损失函数看起来像是0-1 损失除以,这实际上是大多数分类设置的最终目标。实际上,0-1 loss 除以等价于准确度指标。NN

你朋友说的是,直接用0-1 loss来训练模型是很难的。出于许多原因,这是正确的,但主要是因为损失是不可微的。分类中使用的许多其他损失函数,例如数据的可能性,可以被视为0-1 损失的近似值

但是,由于 0-1 损失是如此直观和直接,因此通常在训练和评估模型期间测量损失函数。对我来说,我很想打印出可能性和 0-1 损失。

损失函数必须是可微的才能执行梯度下降。似乎您正在尝试测量某种 1 精度(例如,错误标记样本的比例)。这没有导数,所以你不能使用它。相反,使用交叉熵。