SVM的概率输出(Platt scaling)

Posted think90

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVM的概率输出(Platt scaling)相关的知识,希望对你有一定的参考价值。

SVM的概率输出(Platt scaling)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/akunpoping/article/details/49329095

最近在研究基于样本的相似度度量问题,其中用到了分类器的概率输出(Platt scaling),大概了解了一下用法,总结的比较简单。

Platt scaling参考wiki的定义,Platt scaling,也叫Platt calibration,是一种将分类模型的输出变换为基于类别的概率分布的方法(可能翻译的不太准确,附上原文:In machine learning, Platt scaling or Platt calibration is a way of transforming the outputs of a classification model into a probability distribution over classes.)Platt scaling最初是用来解决SVM分类结果的概率输出(也可用于其他分类方法),采用逻辑斯蒂回归模型拟合分类器分数(classifier‘s socre)。

这里定义SVM的输出(非阈值化的):

技术图片

其中

技术图片

Platt基于Bayes准则,用后验概率 P(y=1|f) 替代类别条件密度 p(f|y),采用Sigmoid的参数化形式表达。

技术图片

模型有两个参数A和B,采用最大似然估计训练,定义新的训练集合技术图片,其中ti为目标概率:

技术图片

最小化训练数据的Negative Log Likelihood,目标函数为cross-entropy error function:

技术图片

其中

技术图片

Platt在论文中指出优化的两个问题:训练集的选择和避免过拟合的方法。

Platt Scaling的方法相当于创建新的训练集(SVM分类器输出Score和标签),基于这些新的数据进行训练,训练模型的输出就是分类器的概率输出。

 

相关参考:

Platt scaling

Classifier calibration with Platt‘s scaling and isotonic regression

Probabilistic outputs for support vector machines and comparisons to regularized likelihood methods 1999

 

以上是关于SVM的概率输出(Platt scaling)的主要内容,如果未能解决你的问题,请参考以下文章

机器学习具体解释SVM解二分类,多分类,及后验概率输出

火炉炼AI机器学习016-如何知道SVM模型输出类别的置信度

如何使用 libsvm 计算多类预测的概率?

OPencv SVM 预测概率

SVM 模型不支持概率估计?

使用 SVM 预测概率