机器学习模型的性能度量

本文详细介绍了机器学习中模型性能度量的方法,包括回归任务的均方误差和分类任务的错误率、精度、准确率、查准率、查全率、F1度量、ROC曲线与AUC。通过这些指标,可以评估模型的泛化能力,并在不同的应用场景中选择合适的评价标准。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

性能度量就是衡量模型泛化能力的评价标准

在机器学习的预测任务中,可以分为两类:

  1. 回归(regression):预测的值是连续的,比如某地区的房价预测任务
  2. 分类(classification):预测的值是离散的,比如猫狗图片的二分类任务,可以用0表示猫,1表示狗

回归任务

回归任务最常用的性能度量是“均方误差”(Mean Square Error, MSE)
( x i , y i ) (x_i, y_i) (xi,yi)表示第i个样本, x i x_i xi是输入的向量(由各个特征值构成), y i y_i yi是正确的输出值,f表示学习器学得的模型, f ( x i ) f(x_i) f(xi)表示该模型的预测值,则整个样例集D的“均方误差”可表示为:
M S E = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 MSE = \frac{1}{m}\sum_{i=1}^{m}(f(x_i) - y_i)^2 MSE=m1i=1m(f(xi)yi)2更一般地,如果各个样本在数据集D中出现的概率p已知,则“均方误差”可表示为: M S E = ∫ x ∼ D ( f ( x ) − y ) 2 ⋅ p ( x ) d x MSE = \int_{x\sim D}(f(x) - y)^2 \cdot p(x)dx MSE=xD(f(x)y)2p(x)dx

分类任务

分类任务主要有下面几种性能度量标准:

  1. 错误率与精度
  2. 准确率(查准率)与召回率(查全率)
  3. F1度量
  4. ROC 与 AUC

错误率与精度

错误率与精度较为简单,设错误率为E,精度为P
E = 分 类 错 误 的 样 本 数 总 样 本 数 ,    P = 分 类 正 确 的 样 本 数 总 样 本 数 E = \frac{分类错误的样本数}{总样本数}, \ \ P = \frac{分类正确的样本数}{总样本数} E=,  P=显然,P = 1 - E

准确率(查准率)与召回率(查全率)

准确率(precision)也叫查准率,召回率(recall)也叫查全率
对于一个二分类的数据集,其类别标注有且仅有两种可能:正例或反例,对于作用于其上的模型,其输出也有两种可能:正例或反例(可以用0和1来表示),因此可以根据不同的组合得到4种关系:

预测:正例预测:反例
真实:正例TP(真正例)FN(假反例)
真实:反例FP(假正例)TN(真反例)

显然有,TP + FN + FP + TN = 样例总数
准确率定义为: P = T P T P + F P P = \frac{TP}{TP + FP} P=TP+FPTP召回率定义为: R = T P T P + F N R = \frac{TP}{TP + FN} R=TP+FNTP
直观理解:准确率表示在所预测的正例中,有多少比例是真的正例;召回率表示所有为正例的样本中,有多少比例被预测了出来
因为准确率和召回率这样不同的特点,它们可以用于不同需求的任务度量;比如我们需要从一批西瓜中预测好瓜和坏瓜,如果我们希望将所有的好瓜都能分离出来,也就是希望召回率尽可能的高,最极端的情况是认为所有的瓜都是好瓜,那么召回率也就是1;而如果我们希望在我们预测的好瓜中,真的是好瓜的比例尽可能高,也就是希望准确率尽可能的高,那么我们可以只挑选一两个我们最确定是好瓜的瓜,这样准确率就会很高

F1度量

一般而言,准确率P与召回率R是难以兼得的(除非对于一些很简单的分类任务),那么我们就希望能够有一个指标能够综合考虑P和R,这样也就出现了F1度量:
F 1 = 2 ⋅ P ⋅ R P + R F1 = \frac{2\cdot P\cdot R}{P + R} F1=P+R2PR我们可以在得到P和R后,通过计算F1来比较各个模型的优劣

ROC 与 AUC

ROC全称是“受试者工作特征”(Receiver Operating Characteristic),ROC曲线的纵轴是“真正例率”(True Positive Rate, TPR),横轴是“假正例率”(False Positive Rate, FPR),其中,TPR和FPR定义为:
T P R = T P T P + F N ,    F P R = F P F P + T N TPR = \frac{TP}{TP + FN}, \ \ FPR = \frac{FP}{FP + TN} TPR=TP+FNTP,  FPR=FP+TNFP 由此可以作出ROC曲线

该曲线的变化可以理解为:模型对于数据集进行预测后得到一组预测值(假设预测值落在0-1之间,1是正例,0是反例),对这组预测值从大到小排序,某样本的预测值越大,说明模型对于该样本是正例越自信;然后从1开始不断减小正例的阀值(阀值的作用是:若预测值大于它,则被认为是正例;若预测值小于它,则被认为是反例),这样会有越来越多的样本被认为是为正例,因而TPR和FPR会发生改变,在ROC中则可得到多个点,最终也就可以形成一条ROC曲线

AUC(Area Under ROC Curve)指的是ROC曲线与x轴形成的面积,AUC越大,表示模型的可靠性越高

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值