博客
关于我
朴素贝叶斯-可靠性曲线-朴素贝叶斯和SVC预测概率的效果各方面都不如逻辑回归
阅读量:666 次
发布时间:2019-03-15

本文共 2251 字,大约阅读时间需要 7 分钟。

如果贝叶斯模型在分类任务中的表现不如支持向量机(SVC)和逻辑回归(Logistic Regression),而我们又不愿意独独替换模型,那么应该如何处理?一种可行的解决方案是采用贝叶斯模型本身的特性进行调整——通过精确度(accuracy)作为评估标准来微调参数。

然而,贝叶斯模型独特的预测机制意味着它的参数调整方式与传统模型(如SVC或逻辑回归)截然不同。传统模型通常可以通过参数大小(如Regularization Parameter C)来控制模型的泛化能力和预测稳定性,而贝叶斯模型则依赖概率预测的质量来调整模型表现。实际上,贝叶斯模型本身并没有传统意义上的可调参数,因为其原理简单直接:基于先验分布和事实依据进行后验估计。大多数贝叶斯模型的预测结果倾向于服从概率分布,所以如果预测结果偏离真实概率分布,需要采用其他方法进行校准。

贝叶斯模型的概率预测问题

贝叶斯模型的目标是根据数据估计真实概率分布,而不是直接分类。然而,实际应用中,贝叶斯模型的预测概率可能会与真实概率分布存在偏差。这一点可以通过可靠性曲线(Reliability Curve)来观察和修正。

可靠性曲线是将真实标签(如0和1)与模型预测的概率对应起来,通常绘制为预测概率(x轴)与真实标签(y轴)的散点图。理想情况下,这些点应该沿着对角线(y=x)分布。如果可靠性曲线远离对角线,说明预测概率与真实概率存在偏差。

为了绘制可靠性曲线,只需使用真实标签和模型预测的概率分值。例如,使用以下代码可实现:

from sklearn.calibration import calibration_curveimport matplotlib.pyplot as pltimport numpy as npdef plot_reliability_curve(y_true, y_pred_prob):    _, axis = plt.subplots()    axis.plot([0, 1], [0, 1], 'k--')  # 画出完美校准的直线    # 绘制真实标签与预测概率的散点图    axis.scatter(y_pred_prob, y_true)    axis.set_xlabel('Predicted Probability')    axis.set_ylabel('True Label')    axis.set_xlim(-0.05, 1.05)    axis.legend()    plt.show()

校准概率的方法

要提高贝叶斯模型的概率预测质量,需要采用概率校准技术。校准过程通常包括以下几个步骤:

  • 数据分箱:将数据按照预测概率的值分成若干个区间。常见的做法是分成相同数量的区间(如10个区间)。
  • 计算真实概率:在每个区间中,计算真实标签为1的样本占比作为该区间的真实概率(True Probability)。
  • 校准预测概率:对每个区间中的预测概率进行调整,使得预测概率的平均值等于该区间的真实概率。
  • ###eldon径校准方法校准方法根据具体需求有多种,包括:

  • Isotonic Regression:这种方法通过去除预测概率的偏差,使得校准后的预测概率更接近真实概率分布。它类似于管道法,不会引入过多的扰动。
  • Sigmoid函数校准:通过对预测概率进行非线性变换,使其更接近于真实概率分布。这种方法通常用于保持预测概率的分布形状。
  • 选择哪种校准方法取决于实际需求。如果需要保持预测概率的平滑性和稳定性,Isotonic Regression可能是更好的选择。这种方法能够有效降低布里尔分数(Brier Score Loss)同时尽量保持预测的准确性。

    实施校准的效果

    通过实验观察发现,Isotonic Regression对贝叶斯模型的校准效果显著。例如,高斯贝叶斯模型在原始状态下表现出严重的预测概率偏差,预测概率集中在0和1附近,但数值却对应的是低 CONFIDENCE 的预测。通过Isotonic Regression校准后,预测概率更加均匀分布,从而显著降低了布里尔分数。而直方图显示,校准后的预测概率分布更加平滑,没有出现集中在决策边界附近的情况。

    总结来说,贝叶斯模型的优势在于其概率预测的理论基础,但在实际应用中,预测概率可能会因数据分布和模型假设的误差而偏离真实概率分布。通过概率校准技术,可以有效改善这种偏差,从而提高模型的预测质量。当然,这种校准方法会有一定的折衷——虽然能提高预测的可靠性,但可能会略微降低分类的准确率。因此,选择哪种校准方法最终需要根据具体应用场景进行权衡。用户可以根据需求选择适合的校准方式,并将结果对照分析,以确保最优的模型性能。

    参考文献:

    • Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
    • Hastie, T., Tibshirani, R., & Friedman, J. H. (2009). The Elements of Statistical Learning. Springer.
    • van der Maaten, L., &.plusclass (2013). Probabilistic Linear Classification. Journal of Machine Learning Research.

    转载地址:http://ntrmz.baihongyu.com/

    你可能感兴趣的文章
    position:fixed失效情况
    查看>>
    Qt开发笔记:QGLWidget、QOpenGLWidget详解及区别
    查看>>
    Position属性四个值:static、fixed、absolute和relative的区别和用法
    查看>>
    POSIX thread编程中关于临界区内条件变量的分析
    查看>>
    POSIX与程序可移植性
    查看>>
    posix多线程有感--自旋锁
    查看>>
    SpringBoot中集成海康威视SDK实现布防报警数据上传/交通违章图片上传并在linux上部署(附示例代码资源)
    查看>>
    POSIX标准和XSI扩展
    查看>>
    post install error,please remove node_moules before retry
    查看>>
    postcss-pxtorem 参数之selectorBlackList、exclude的用法
    查看>>
    Postek博思得标签打印机更换电脑,打印出来标签空白
    查看>>
    postfix+ dovecot搭建邮件服务器
    查看>>
    postfix在邮件服务器中的使用
    查看>>
    PostGIS 3.1.2软件安装详细教程(地图工具篇.8)
    查看>>
    PostGIS中获取所有EPSG的编码以及对应Proj4字符串
    查看>>
    SpringBoot中集成海康威视SDK实现布防报警数据上传/交通违章图片上传并在linux上部署(附示例代码资源)
    查看>>
    PostGIS在Windows上的下载与安装
    查看>>
    Qt开发——网络编程之UDP客户端
    查看>>
    postgis数据库优化_postgresql 性能优化
    查看>>
    postgis求面积、交集等相关函数
    查看>>