支持向量机的概率输出

机器算法验证 机器学习 支持向量机
2022-03-26 20:30:12

我记得John Platt在 1999 年(13 年前!)的一篇论文,名为Probabilistic Outputs for Support Vector Machines and Comparisons to Regularized Likelihood Methods (1999),它概述了一种从 SVM 中获取概率输出的方法。从摘要:

相反,我们训练一个 SVM,然后训练一个额外的 sigmoid 函数的参数以将 SVM 输出映射到概率。

虽然这提供了一种解决方案,但它有点不令人满意,因为它意味着执行两个独立的(并且看似有些不相关的)优化问题。

有没有更现代的方法来解决这个问题(例如,不求助于高斯过程分类)?

1个回答

我不知道最近是否有解决这个问题的方法,但我想我知道为什么 John Platt 以这种不令人满意的方式解决了这个问题。许多机器学习算法可以写成正则化器加损失函数。例如,岭回归将是λ||w||2+i(yiwxi)2. 它的最小化器等价于高斯先验的 MAPw和高斯可能性(只需在整个表达式周围取一个 exp 并在前面加上一个减号)。SVM 目标函数看起来很相似。平方范数正则化器保持不变,但损失函数被铰链损失所取代。现在的问题是铰链损失的 exp 不对应于适当的可能性。也许有一些方法可以改变它,以使其合二为一,但问题是它是否仍将被称为 SVM。

编辑:人们总是可以做的一件事就是装袋。一个可以训练n在数据集的不同部分上使用 SVM,然后在测试阶段简单地计算正/负投票 SVM 的比例。然而,这当然不是特定于 SVM 的。