赞
踩
我们在训练AI模型后,对于产品经理最重要的一件事是评估模型,今天我们要讲下要如何评估模型。因为不同的模型用到的指标会有差异,比如回归模型中会用到“MAE(平均绝对误差)”、“MSE(均方误差)”等,多分类模型中会用到“Micro-average(微平均)”、“Macro-average(宏平均)”等,介于篇幅,我们主要讲二分类模型中常用的评估指标。
作为机器学习的一种模型,它主要是通过学习从输入数据到类别标签之间的映射关系,以便在给定新的输入数据时能够准确地预测其所属的类别, 也就是将数据集中的样本分为二个类别的模型。
常见的二分类模型包括:
以上只是二分类模型的一部分举例,实际还有很多其他的算法,要根据自身的业务场景来选择合适的分类模型。对于二分类模型,我们常用的评价方法主要有:
它以矩阵形式展示模型预测结果与真实标签之间的对应关系。混淆矩阵的行表示模型预测的类别,列表示实际的类别。通常,混淆矩阵是一个二维矩阵,但在多分类问题中,可能会有更多的行和列。
典型的二分类混淆矩阵如下图:
Positive表示正例,Negative表示负例,正例和负例的定义取决于具体的问题和任务。
通常情况下,正例表示我们感兴趣的事件或目标类别,而负例表示其他类别或不感兴趣的事件。比如,在垃圾邮件检测的问题中,垃圾邮件可以被视为正例,非垃圾邮件则是负例;而在反欺诈系统中,欺诈交易可能被视为正例,而合法交易则是负例。
对于一个理想的分类器,自然是希望分类器完美地完成了分类任务,没有任何错误,但实际情况是很难达到完全正确的,所以就需要使用相关的评价指标,主要包括:
这些指标各有侧重。
在模型开发的早期阶段,可以使用混淆矩阵来直观地了解模型的分类表现。准确率是评估模型整体性能的常用指标,它关注整体预测的准确性,但在样本不平衡的情况下,准确率可能会受到影响。
查准率和召回率则更加注重不同类别的预测准确性,可以提供更详细的信息,可以根据具体的应用场景、业务需求调整查准率和召回率的权重。
在样本不平衡的情况下,ROC 曲线和 AUC 可以更好地评估模型的性能。总的来说,模型评估不仅仅依赖于单一指标,而要根据业务的特点,结合多个指标进行综合评价。
常见于金融风控领域,它衡量的是风险区分能力。KS值越大,表示模型的风险区分能力越强。
KS 值的计算方法是首先按照模型预测得分对样本进行排序,然后计算累积正例和累积负例的比例,最后计算它们之间的最大差值。
在实际操作中,可以根据 KS 值选择最佳的预测阈值,以平衡查准率和召回率。
不同于经济学中的基尼系数(衡量收入分配或财富分配不平等程度的统计指标),模型评估的GINI系数是一个用于衡量模型预测结果的不平等程度的指标,表示模型随机挑选出正例的概率比随机情况下提高了多少的指标,通常用在信用评分中比较常见。
GINI系数的取值范围从0到1,其中0表示模型完全没有判别力(即无法区分正负样本),1表示模型具有完美的判别力。
IV值衡量的是变量的预测能力, 它基于变量的分箱计算每个分箱中正例和负例的比例,然后根据这些比例计算每个分箱的信息值,最后将所有分箱的信息值进行加权求和得到 IV 值。
一般来说,IV 值越高,表示变量对目标变量的预测能力越强。
在金融风控领域,KS 值、GINI 系数和 IV 值是常用的评估指标。在记忆这些指标数值大小代表的好坏时,我们可以看出,除了ROC曲线是“曲线越靠近左上角,表示模型的性能越好”之外,其他的指标都是“越大越好”。
此外,除了这些评估指标,我们还需要关注以下一些维度,才能更好地评估模型。
1)鲁棒性(稳定性): 它是指一个模型在面临内部参数变化、外部环境扰动、输入数据异常时,仍能保持稳定性能、正常运作的能力。鲁棒性较高的模型能够在面对未知的数据时保持稳定的表现,不会因为小的数据变化而导致性能的大幅度下降。 如果模型的其他指标都很好,但是一旦数据发生一定程度的变化,模型的预测能力就大大降低,这种情况则不是我们乐于见到的情况。所以,我们在评估模型好坏或是否可以停止训练时,还需要考虑模型是否能在真实环境中可靠地工作,并且能够有效地应对各种异常情况。
在评估鲁棒性时,通常我们可以采用 “对抗性测试,即向模型输入有干扰性的样本或者gong击性的数据来测试“、”噪声测试,即向模型输入具有随机噪声的数据,观察模型对噪声的敏感程度“, 如果模型能够很好的处理这些异常数据,则说明模型具有较强的鲁棒性。
2)泛化能力: 它是指模型在面对未曾在训练阶段遇到过的全新数据时,能够正确预测其输出或者分类的能力。
泛化能力反映了模型从已知数据中学习到的规律能否有效地应用到未知数据上。 想要泛化能力高,需要在提供训练的数据集时就要开始考量数据的覆盖面,代表性、相关性,如果一开始训练的数据集就有一定的偏重性(又不是与目标变量相关的重要特征),不符合实际的业务场景,那就会导致模型的过拟合程度较高,从而导致泛化能力差。
在评估模型的泛化能力时,通常我们可以采用 “交叉验证,即通过将数据集分成多个子集,在不同子集上训练和测试模型,从而得到更准确的泛化性能评估结果“,”外部验证,即使用独立于训练数据的外部数据集来验证模型的泛化能力“。
总的来说,决定模型泛化能力的因素是模型的复杂度、训练数据的质量和数量,以及数据分布与目标变量之间的关系等。
在训练和评估模型时,需要综合考虑这些因素,以确保模型能够在未见过的数据上获得良好的表现。
3)可解释性: 它指的是模型能够以易于理解的方式展现其内在逻辑、工作原理和决策依据的能力。可解释性关乎模型的透明度和清晰度,让用户能够明白模型为何做出某种预测或决策,这对于信任模型以及优化模型性能等方面至关重要。
在可解释性评估时,我们可以通过 “特征重要性分析,即模型能够明确指出哪些特征对预测结果的影响大”,“可视化分析,即用可视化的方法来展示模型决策的过程和结果,使用户能够直观地理解模型的预测思路或原理”。
在实际的操作中,模型的可解释性都相对来说较弱,但是在B端产品中,可解释性又是产品经理挑战较大的一点, 客户购买你的产品,他们无法感知到你的AI能力,你除了需要介绍你的训练数据包含了多大量级的数据,训练数据来源如何符合他们的业务需求之外,他们通常只能得到一个模型输出的结果。至于结果是怎么来的,他们只能通过你介绍的产品是如何预测的原理来感知你的AI产品是否满足他们的需求。
通常,产品经理要在这一部分和算法团队进行深度讨论,将算法中的原理摸熟后,转化为客户能够理解并认可的“模型解释”, 对原理深入浅出的解释功夫需要练习,可以跟公司内部的人员,如销售、客户成功部、客服部等先解释看看,根据他们不懂的地方再修改。
对模型的解释即要容易被理解,又要让客户觉得模型的工作原理或思路符合他们的场景需求,这样才能让客户信任你的AI产品能力。
模型的解释只有便于非技术人员理解,让公司内部的人员都能准确表达出来,才会在客户询问或质疑模型的可靠性时得到满意的答复, 这一点相对于C端产品来说,会比较影响客户的留存率,需要重视。
总的来说,对于模型的评估,不是单靠一项指标来评估的,要根据当前业务的阶段,模型训练的时长、成本,训练数据的收集、更新等综合来评估,是一个找到当前最适用的评估方法的“平衡”过程。关键还是要看业务的具体场景是什么,用户目前最在意的特征、指标是什么,最具性价比的方案等来综合取舍!
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料
包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。