模型校准2024年11月29日 | 阅读 8 分钟 引言在机器学习中,模型校准是确保模型预测的概率与实际结果匹配的关键步骤。校准关注的是预测概率如何很好地反映潜在的可能性,而不是量化正确预测百分比的准确性。校准确保,例如,当模型预测下雨的可能性为 70% 时,实际下雨的概率就是 70%。 在风险评估、临床评估和经济预测等依赖概率估计做出决策的应用中,校准模型尤为重要。校准不佳的模型可能会导致用户高估其预测或过度谨慎,这两者都可能导致严重后果。 Platt 缩放、等渗回归和温度缩放是校准模型常用的技术。这些技术可以调整模型的输出概率,使其更接近实际结果。校准的有效性通过校准曲线和诸如 Brier 分数以及预期校准误差 (ECE) 等指标进行分类。 常用校准方法
一种常见的校准方法称为“Platt 缩放”,它将逻辑回归框架拟合到先前已训练的分类器的输出。当使用支持向量机 (SVM) 等二元分类算法时,这种方法特别有效,因为它将初始分数转换为校准后的概率。假设分类器的输出和实际可能性之间存在线性关系,Platt 缩放是一种简单的方法。由于其易用性和效率,它经常被采用,特别是在需要重新校准经常产生过于乐观预测的模型时。
一种非参数校准技术,称为等渗回归,它将一个常规分段函数拟合到模型预测的概率。等渗回归建模了预测概率和实际结果之间的单调关系,这与 Platt 缩放(它暗示了线性关系)不同。由于其适应性,它可以更准确地捕捉校准曲线中的不规则性,这使得决策树模型和随机森林等系统适用。但它可能容易过拟合,特别是在预测噪声较大或数据集较小的情况下。
温度缩放是一种用于神经网络的易于使用但效率高的校准技术。它涉及在应用 softmax 算法之前,通过标量热参数修改 logits(未处理的输出)。由于它持续缩放 logits,这种方法对于过度自信的设计非常有用,因为它降低了预测的置信度。温度缩放是深度学习中的一个常见选项,特别是对于图像分类等问题,因为它易于应用且计算效率高。但是,在预测需要对每个类别进行相同修改的情况下,它的效果最佳。
一种改进的校准方法称为贝叶斯分位数分箱 (BBQ),它将预测概率分成多个分位数,并在每个分位数内使用贝叶斯分析来调整概率。这种方法提供了一种更复杂的校准,特别是对于复杂分布的预测。BBQ 在更传统的校准技术可能无法有效工作的情况下特别有用。尽管这种策略灵活且成功,但由于它需要更多的计算机资源并且更难以应用,因此在实践中不太常见。
通过将贝塔分布应用于预期概率,贝塔校准扩展了 Platt 缩放,并提供了一种更具适应性的校正技术。当预期概率的分布超出可靠逻辑回归模型所能表示的范围时,这种方法可能很有用。在某些情况下,贝塔校准可以通过改进校准曲线的形状和展开来产生更具体的概率估计。然而,应用它可能更困难,因为它比 Platt 缩放更复杂,并且需要仔细调整更多因素。
一种直接的校准技术称为直方图分箱,它涉及从预期概率范围创建箱,然后根据观察到的频率改进每个箱内的概率。这种方法因其易于使用和理解而广受欢迎,尤其适用于小型数据集,可用于快速校准。然而,在更复杂的情况下,其简单性可能会使其不利,因为具有复杂可能性分布的模型可能无法很好地工作。为了获得更可靠的结果,直方图分箱作为一种基本校准方法或与其他方法结合使用时效果很好。 模型调整的工具和资源
Scikit-learn 是一个著名的 Python 机器学习框架,它提供了许多用于校准模型的工具。借助 CalibratedClassifierCV 类,可以轻松实现 Platt 缩放和等渗回归。它提供交叉验证支持,以防止在校准过程中过度拟合,并且可以校准任何分类器。Scikit-learn 是一个全面的校准工具,因为它还具有分析校准指标和提供校准图表的能力。
TensorFlow 是一个免费的深度学习框架,它支持模型校准,特别是通过温度缩放。与 Scikit-learn 的内置校准练习不同,TensorFlow 允许用户通过使用自定义代码快速应用校准程序。例如,可以通过使用温度变量手动调整 logits,然后重新训练版本来获得更好的校准预测。由于其适应性,TensorFlow 是更复杂或特定校准需求的良好选择,特别是在使用深度学习的模型中。
PyTorch 是另一个深度学习平台,它支持版本校准,特别是在神经网络中,与 TensorFlow 类似。尽管 PyTorch 不提供内置校准工具,但它支持使用自定义校准技术,如等渗回归和温度缩放。由于其动态计算图和用户友好性,PyTorch 是从业者和研究人员中流行的选择,他们需要在深度学习模型中合并和测试各种校准策略。
一个名为 Netcal 的 Python 包专门用于模型校准。它提供了一些校准策略,例如温度缩放、贝塔测量、直方图分割和贝叶斯分位数绑定 (BBQ)。Netcal 提供了评估和可视化校准性能的丰富功能,并且易于与现有模型连接。那些需要比 Scikit-learn 等通用包更复杂的校准方法的人可能会发现它非常有用。
R 程序员可以使用许多用于模型校准的软件。PlattScaling 和 IsotonicRegression 包提供了专门用于将这些技术付诸实践的功能,而 caret 包提供了用于评估和改进版本校准的工具。此外,R 中的 mlr3 和 e1071 包提供了适应性强的模型校准接口,这有助于将校准集成到各种设备学习方法中。
通过其界面,开源人工智能平台 H2O.Ai 允许直接进行模型校准。H2O 提供用于实施和评估校准技术的设备,如等渗回归和 Platt 缩放,特别是在自动化机器学习 (AutoML) 的背景下。由于其可伸缩性以及与 Python 和 R 等流行技术的交互,该平台是机器学习相关小型和大型项目中校准的可靠选择。
一个名为 StatsModels 的 Python 模块提供了用于统计测试和建模的工具,包括校准方法。在采用定制校准策略时,特别是在使用逻辑回归模型时,可以提供更多的自主性和适应性。对于需要对测量方法和深入统计分析进行精确监督的客户(研究和学术环境中经常需要的功能),StatsModels 是理想的解决方案。 模型校准应用
在风险评估中,模型校准至关重要,特别是在保险和银行等行业。在这些领域中,模型通常预测贷款违约、保险索赔或市场风险等事件的可能性。精确的校准确保预测的可能性与实际风险相对应,从而使公司能够就估值、承保和资本分配做出明智的决定。通过高估风险(导致错过商机)或低估风险(导致准备金不足),不佳的校准都可能导致巨大的经济损失。
校准模型对于医疗保健行业的临床决策至关重要。例如,校准概率有助于临床专业人员在估计疾病或患者结果的可能性诊断方法中,就患者护理和治疗方案做出更明智的决定。在这种情况下,误校准可能导致过度或不足治疗,这两者都可能对患者的健康产生不利后果。校准可以确保预测模型在用于关键医疗保健选择时能够产生准确的结果。
预测客户行为(包括购买风险、流失率或点击率)的模型对于电子商务和营销至关重要。通过校准提高这些预测的精度,公司能够更好地管理资源,个性化客户体验,并最大化营销效果。例如,公司可以使用精确校准的模型来识别最愿意响应促销活动的客户类型,以提高转化率和客户保留率。
模型校准用于天气预报,以提高概率预报的精度,例如降水或极端天气的可能性。校准模型确保预期概率的可靠性,这对于公共安全、灾害准备和农业决策至关重要。例如,精确校准的模型可以帮助城市规划者为即将到来的风暴或洪水做好准备,或者帮助农民安排作物种植。
模型校准用于信用评分,以调整预期的违约或信用度概率。通过准确校准,银行和其他金融机构使用的评分系统可以确保准确反映借款人面临的实际风险水平。这使得贷方能够决定贷款批准,确定适当的利率,并更好地管理其投资组合。不准确的信用评分计算可能导致过高的违约率或失去向有价值的申请人提供信用的机会。
模型校准在自动驾驶汽车和机器人等自主系统中至关重要,以确保概率决策的可靠性。例如,自动驾驶汽车中使用校准模型来预测障碍物、乘客运动或交通模式的可能性。汽车的决策机制必须经过适当校准,以便它在做出安全驾驶判断时评估风险。误校准是开发和实施自主技术的重要组成部分,因为它可能导致危险情况。 下一主题形式概念分析导论 |
我们请求您订阅我们的新闻通讯以获取最新更新。