我知道对事物进行分类的模型的准确性(正确预测/总预测)等指标。但是,我正在研究一个模型,该模型输出属于两个类之一的数据点的概率。可以/应该使用哪些指标来评估这些类型的模型?
我目前正在使用均方误差,但我想知道是否还有其他指标,以及这些指标的优缺点是什么。
我知道对事物进行分类的模型的准确性(正确预测/总预测)等指标。但是,我正在研究一个模型,该模型输出属于两个类之一的数据点的概率。可以/应该使用哪些指标来评估这些类型的模型?
我目前正在使用均方误差,但我想知道是否还有其他指标,以及这些指标的优缺点是什么。
对于二元分类器,如果您关心相对概率,则交叉熵损失是概率准确性的自然度量。我的意思是,如果你关心估计在真实值的某个比例范围内。所以估计是一个更好的估计,如果真值是比如果真正的价值是(即使后一个值更接近并且在 MSE 下得分会更高)。它也适用于您关心 0.9 通过相同的逻辑“更接近” 0.8 而不是 0.97。随着交叉熵损失,极端的信心(预测接近或接近) 错误时会受到更严厉的惩罚。
为了完整起见,损失函数(每个数据点)为:
这可能与您用于目标的损失函数相同(或至少应该如此),因此对于测试,只需将其用作您的指标*。
是您在 A 类中的预测概率,并且可以在范围内. 理想情况下,您有基本事实概率和也在那个范围内。在这种情况下,唯一的问题是“完美”分数不再是但一些正数。如果这让您感到困扰,那么您可以通过完美分数来抵消,在每个数据集上预先计算它(只需设置对于每个项目,您将找到可能的最低分数)。
如果您没有基本事实概率,但确实有课程,那么将是 0 或 1,并且该指标仍然有效。要获得准确的指标,您将需要足够的样本,以使每个类别的相对频率取决于输入具有显着影响。也就是说,您需要更多的数据(包括训练和测试)来训练准确的概率,而不是针对更简单的分类准确度指标。
类似的逻辑也适用于多类概率。然而,许多现成的库在损失函数中使用了优化——假设只有一个真实的类——这使得使用概率作为基本事实是不可能的。因此,在这种情况下,您可能需要基于多类交叉熵损失编写自己的损失函数和梯度函数。
* 我在这里假设您使用标准约定来记录损失函数(通常是每个项目)、成本函数(通常在数据集和可能的多个损失函数中聚合)和度量函数,这些函数不必是可微的或可用的作为前者。成本函数通常也作为目标函数输入到优化器中——即它具有驱动参数达到最大值或最小值的重要工作。对于基于梯度的求解器,这意味着它必须是可微的。