为什么将 SVM 解释为分类概率是错误的?

机器算法验证 机器学习 物流 支持向量机
2022-02-14 04:49:25

我对 SVM 的理解是它与逻辑回归(LR)非常相似,即将特征的加权和传递给 sigmoid 函数以获得属于某个类的概率,而不是交叉熵(逻辑)损失函数,训练是使用铰链损失进行的。使用铰链损失的好处是可以使用各种数值技巧来提高核化效率。然而,一个缺点是生成的模型比相应的 LR 模型具有的信息更少。因此,例如,如果没有核化(使用线性核),SVM 决策边界仍将位于 LR 输出概率为 0.5 的同一位置,无法判断属于某个类的概率从决策边界。

我的两个问题是:

  1. 我上面的解释正确吗?
  2. 使用铰链损失如何使将 SVM 结果解释为概率无效?
1个回答

SVM 不会向 sigmoid 函数提供任何内容。它为数据拟合一个分离的超平面,试图将训练集中的所有数据点放在一侧,将另一类的所有点放在另一侧。因此,它会根据您的特征向量在哪一侧来分配类。更正式地说,如果我们将特征向量表示为x和超平面系数为ββ0截距,那么类分配是y=sign(βx+β0). 求解 SVM 等于找到β,β0以最大可能的余量最小化铰链损失。因此,因为 SVM 只关心你在超平面的哪一侧,所以你不能将它的类分配转换为概率。

在线性 SVM(无核)的情况下,决策边界边界将类似于逻辑回归模型的边界边界,但可能会根据您用于拟合 SVM 的正则化强度而有所不同。因为 SVM 和 LR 解决不同的优化问题,所以不能保证您有相同的决策边界解决方案。

有很多关于 SVM 的资源可以帮助澄清事情:是一个示例,另一个示例。