监督分类中的“真实值”指的是什么?

机器算法验证 机器学习 分类 支持向量机 判别分析
2022-04-03 06:24:09

我正在使用来自mlpy的监督分类算法将事物分为两组,用于问答系统。我真的不知道这些算法是如何工作的,但它们似乎在模糊地做我想要的。

我想从分类器中获得一些信心。我可以从分类器中获得“实值预测”。这些似乎是我称之为链接函数的值。这是我系统的一些示例输出。

Predictions as to whether an answer is correct
for random data from various models

Results for one run
----------------------------------------------
Model Result Confidence? ("Real value")
----- ------ ---------------------------------
 SVM  [True, 0.10396502611075412]
 FDA  [True, 3.3052963597375227]
SRDA  [False, 0.34205901959526142]
 PDA  [True, 3.8857018468328794]
----------------------------------------------

Results for another run
----------------------------------------------
Model Result Confidence? ("Real value")
----- ------ ---------------------------------
 SVM  [False, -0.0059697528841203369]
 FDA  [False, -0.15660355802446979]
SRDA  [False, 1.2465697042600801]
 PDA  [True, 0.23122963338708608]
----------------------------------------------

对于分类为“真”的真实值通常更积极,而对于分类为“假”的真实值更消极,但链接比这更复杂一些。我可以将这些真实值转化为信心指标吗?如果是这样,怎么做?

我正在使用以下分类器。

  • 支持向量机 (SVM)
  • K 最近邻 (KNN)
  • Fisher 判别分析 (FDA)
  • 谱回归判别分析 (SRDA)
  • 惩罚判别分析 (PDA)
  • 对角线性判别分析 (DLDA)

更新:更多地考虑了这一点,意识到我实际上只需要信心的等级。具有最高实际值的答案是否是最有把握地归入 True 组的答案?我仍然想更好地理解这一点,但在短期内回答这个问题会很好。

1个回答

关于“真正的价值观

真实价值”最好称为“信心”或(从我的观点来看最常用的术语)“分数”。

这样的分数通常被标准化,因此所有类的总和为 1。它们代表了衡量模型如何确信所呈现的示例属于某个类别。它们高度依赖于一般策略和算法的属性。例如,在 KNN 中,类 i 的分数是通过平均到那些都属于 k-最近邻且具有类 i 的示例的距离来计算的。然后在所有类别中对分数进行归一化。

关于你的问题

我想“转换为置信度”实际上是指“概率估计”。例如,如果一个示例对于“1”类的概率为 0.3,那么具有相似值的所有示例中有 30% 应该属于“1”类,而 70% 不应该属于。

据我所知,他的任务叫做“校准”。为此目的,存在一些通用方法(例如,对分数进行分箱并将它们映射到相应箱的类别分数)和一些依赖于分类器的方法(例如,为 SVM 发明的Platt Scaling)。一个好的开始是:

Bianca Zadrozny、Charles Elkan:将分类器分数转化为准确的多类概率估计

问题编辑后编辑: @Thomas 写道:具有最高实际值的答案是否是最有把握归类在 True 组中的答案?

是的,一般来说这是正确的(与上述相同的论点)。我建议创建一个 ROC - 图,看看这是否也适用于 mlpy - 包。为此,我建议使用 ROCR