概率校准 Probability Calibration

对于二分类分类器,除了得到AUC评价指标,常还需要了解分类器预测概率的准确性。比如分类器预测某个样本属于正类的概率是0.8,那么就应当说明有80%的把握认为该样本属于正类,或者100个概率为0.8的里面有80个确实属于正类。根据这个关系,可以用测试数据得到Probability Calibration curves。

假设我们考虑这样的一种情况:在二分类中,属于类别0的概率为0.500001,属于类别1的概率为0.499999。假若按照0.5作为判别标准,那么毋庸置疑应该划分到类别0里面,但是这个真正的分类却应该是1。如果我们不再做其他处理,那么这个就属于错误分类,降低了算法的准确性。如果在不改变整体算法的情况下,我们是否能够做一些补救呢?或者说验证下当前算法已经是最优的了呢?这个时候就用到了概率校准。

Brier分数

这部分摘自:概率校准与Brier分数

Brier分数是衡量概率校准的一个参数。

简单来说,Brier分数可以被认为是对一组概率预测的“校准”的量度,或者称为“ 成本函数 ”,这一组概率对应的情况必须互斥,并且概率之和必须为1。 Brier分数对于一组预测值越低,预测校准越好。

引用维基百科的一个例子说明 Brier分数的计算方式:   

假设一个人预测在某一天会下雨的概率P,则Brier分数计算如下:
          如果预测为100%(P = 1),并且下雨,则Brier Score为0,可达到最佳分数。
          如果预测为100%(P = 1),但是不下雨,则Brier Score为1,可达到最差分数。
          如果预测为70%(P = 0.70),并且下雨,则Brier评分为(0.70-1)2 = 0.09。
          如果预测为30%(P = 0.30),并且下雨,则Brier评分为(0.30-1)2 = 0.49。
          如果预测为50%(P = 0.50),则Brier分数为(0.50-1)2 =(0.50-0)2 = 0.25,无论是否下雨。

概率校准就是对分类函数做出的分类预测概率重新进行计算,并且计算Brier分数,然后依据Brier分数的大小判断对初始预测结果是支持还是反对。

 

常用模型的表现

这部分大多来自sklearn官网。

精确校准的分类器是概率分类器, 其可以将 predict_proba 方法的输出直接解释为 confidence level(置信度级别). 例如,一个经过良好校准的(二元的)分类器应该对样本进行分类, 使得在给出一个接近 0.8 的 prediction_proba 值的样本中, 大约 80% 实际上属于正类. 以下图表比较了校准不同分类器的概率预测的良好程度:

                           

第一张图是概率校准曲线,说明实际概率与预测概率的关系。可见Logistic回归预测概率比较准(模型本身的特点),朴素贝叶斯过于自信(可能由于冗余特征所致,违背了特征独立性前提)呈反sigmoid曲线,SVM很不自信呈sigmoid曲线,随机森林也是。

第二张图是预测概率分布图,Logistic和朴素贝叶斯大多分布在0或1附近,都是比较自信的,而随机森林多分布在0.2或0.8附近,SVM很不自信主要分布在0.5附近。

 

概率校准

常用的概率校准方法有2个:基于Platt的sigmoid校准、isotonic回归法。

sigmoid校准适用于sigmoid形状的情况(SVM就是典型),但对于其他形状的校准效果差(如朴素贝叶斯)。

isotonic校准使用于任何情况。

sklearn中的实现:sklearn.calibration.CalibratedClassifierCV

        主要参数:

             base_estimator :初始分类函数

             method :校准采用的方法。取值‘sigmoid’ 或者 ‘isotonic’

             cv :交叉验证的折叠次数。

另外,在sklearn中,SVC中设置"probability=True"就可以获得预测概率,其本质就是通过sigmoid校准得到的,如果没有设置这个参数则得到的概率是S形不自信的。

 

校准实例

这部分摘录自sklearn官网举例。

The experiment is performed on an artificial dataset for binary classification with 100,000 samples (1,000 of them are used for model fitting) with 20 features. Of the 20 features, only 2 are informative and 10 are redundant. The first figure shows the estimated probabilities obtained with logistic regression, Gaussian naive Bayes, and Gaussian naive Bayes with both isotonic calibration and sigmoid calibration. The calibration performance is evaluated with Brier score, reported in the legend (the smaller the better). One can observe here that logistic regression is well calibrated while raw Gaussian naive Bayes performs very badly. This is because of the redundant features which violate the assumption of feature-independence and result in an overly confident classifier, which is indicated by the typical transposed-sigmoid curve.

Calibration of the probabilities of Gaussian naive Bayes with isotonic regression can fix this issue as can be seen from the nearly diagonal calibration curve. Sigmoid calibration also improves the brier score slightly, albeit not as strongly as the non-parametric isotonic regression. This can be attributed to the fact that we have plenty of calibration data such that the greater flexibility of the non-parametric model can be exploited.

The second figure shows the calibration curve of a linear support-vector classifier (LinearSVC). LinearSVC shows the opposite behavior as Gaussian naive Bayes: the calibration curve has a sigmoid curve, which is typical for an under-confident classifier. In the case of LinearSVC, this is caused by the margin property of the hinge loss, which lets the model focus on hard samples that are close to the decision boundary (the support vectors).

Both kinds of calibration can fix this issue and yield nearly identical results. This shows that sigmoid calibration can deal with situations where the calibration curve of the base classifier is sigmoid (e.g., for LinearSVC) but not where it is transposed-sigmoid (e.g., Gaussian naive Bayes).

 

     

参考文献:

sklearn官方文档

概率校准与Brier分数

概率校准 - 监督学习 - 用户指南

 

 

 

 

  • 7
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
顺序概率比测试(Sequential Probability Ratio Test,SPRT)是一种用于统计假设检验的方法。这种方法可以帮助我们在一个序列中逐步获取更多的数据,并根据这些数据来判断统计假设。 SPRT的基本思想是,在统计推断中,我们需要根据样本数据来判断某个假设的可行性。然而,如果我们仅仅依赖一次采样数据来进行判断,可能会存在较大的误差。因此,SPRT的核心在于逐步地获取更多的数据,并使用概率比的方法来进行判断。 在进行SPRT时,我们需要设定两个极限。一个是接受(accept)假设的下限,另一个是拒绝(reject)假设的上限。然后,我们开始进行实验并收集数据。在每一步实验中,我们计算当前数据下的概率比,并与两个极限进行比较。如果概率比超过拒绝上限,我们就可以拒绝假设;如果概率比低于接受下限,我们就可以接受假设。如果概率比在两个极限之间,我们继续进行下一步实验。 SPRT的优势在于它可以灵活地根据数据来调整判断过程,减少了对大量数据的需求,从而提高了判断的效率。然而,它也有一些限制。首先,需要事先设定接受和拒绝的极限,这可能会对判断结果产生影响。另外,SPRT要求数据之间是独立同分布的,这在实际应用中可能会有一定的限制。 总之,顺序概率比测试是一种用于统计假设检验的方法,通过逐步获取更多的数据并使用概率比进行判断,可以提高检验的效率。在实际应用中,我们需要根据具体情况来设定极限并注意数据的独立同分布性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FarmerJohn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值