• 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

  • 相关阅读:
    Python的object和type理解及主要对象层次结构
    【译】Matplotlib:plotting
    random
    【译】itertools
    VBA笔记
    Python Function
    Outlook API
    VB参考
    类方法:绑定或无绑定
    【摘录】数据库连接参数
  • 原文地址:https://www.cnblogs.com/think90/p/11763830.html
Copyright © 2020-2023  润新知