博客
关于我
朴素贝叶斯-可靠性曲线-朴素贝叶斯和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/

    你可能感兴趣的文章
    Nginx配置如何一键生成
    查看>>
    Nginx配置实例-负载均衡实例:平均访问多台服务器
    查看>>
    Nginx配置文件nginx.conf中文详解(总结)
    查看>>
    Nginx配置负载均衡到后台网关集群
    查看>>
    ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
    查看>>
    NHibernate学习[1]
    查看>>
    NHibernate异常:No persister for的解决办法
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>
    NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
    查看>>
    NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>
    Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
    查看>>
    NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
    查看>>
    NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
    查看>>
    NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
    查看>>