【人工智能】机器学习中的评价指标

机器学习中的评价指标

在机器学习中,评估指标(Evaluation Metrics)是衡量模型性能的工具。选择合适的评估指标能够帮助我们更好地理解模型的效果以及它在实际应用中的表现。

一般来说,评估指标主要分为三大类:分类、回归和聚合


分类问题

分类,顾名思义,就是将输入数据识别并分配到不同的类别上去,以下是它的评估指标:

一、混淆矩阵(Confusion Matrix)

核心概念

混淆矩阵(Confusion Matrix),又称为误差矩阵,是一种特定的表格布局,用于描述分类模型的性能。在监督学习中,特别是分类问题中,混淆矩阵给出了分类器预测结果与实际类别之间的差异对比,它能够帮助我们全面了解分类器的表现。

元素定义应用场景示例
TP (True Positive)正类样本被正确预测的数量电商用户流失预测中的真实流失用户
FP (False Positive)负类样本被错误预测为正类的数量垃圾邮件过滤中的正常邮件误判
FN (False Negative)正类样本被错误预测为负类的数量医疗诊断中的漏诊病例
TN (True Negative)负类样本被正确预测的数量信用卡欺诈检测中的正常交易识别

公式表示

实际\预测正类(1)负类(0)
正类(1)TPFN
负类(0)FPTN

示例分析
在用户流失预测中,若测试集包含:

  • TP=150(正确识别的流失用户)
  • FP=30(误判的正常用户)
  • FN=50(漏检的流失用户)
  • TN=770(正确识别的正常用户)
    通过混淆矩阵可快速定位模型的召回能力缺陷(漏检率10%)。

二、基础评估指标

1. 准确率(Accuracy)

公式
Accuracy = T P + T N T P + T N + F P + F N \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} Accuracy=TP+TN+FP+FNTP+TN

特点

  • ✅ 适用场景:类别均衡数据(如MNIST手写数字识别)
  • ❌ 局限性:癌症筛查中若健康样本占99%,全预测为健康准确率可达99%但完全漏检癌症

2. 精确率(Precision)

公式
Precision = T P T P + F P \text{Precision} = \frac{TP}{TP + FP} Precision=TP+FPTP

应用场景

  • 垃圾邮件过滤:预测100封为垃圾邮件,其中90封真实为垃圾,则精确率90%
  • 法律文书分类:高精确率减少错误归档风险

3. 召回率(Recall)

公式
Recall = T P T P + F N \text{Recall} = \frac{TP}{TP + FN} Recall=TP+FNTP

应用场景

  • 信用卡欺诈检测:识别45/50笔欺诈交易,召回率90%
  • 地震预测:容忍较高误报率以降低漏报风险

三、复合评估指标

1. F1分数(F1-Score)

公式
F 1 = 2 × Precision × Recall Precision + Recall F1 = \frac{2 \times \text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} F1=Precision+Recall2×Precision×Recall

变体

  • Fβ分数:通过β调整召回率权重(β>1时更重视召回)
  • 案例:新闻推荐系统中,精确率80%+召回率70% → F1=74.8%
2. ROC曲线与AUC值

核心参数

  • TPR(真正率) T P T P + F N \frac{TP}{TP + FN} TP+FNTP
  • FPR(假正率) F P F P + T N \frac{FP}{FP + TN} FP+TNFP

特性

  • 曲线越接近左上角性能越好
  • AUC=0.85表示85%概率将正类样本排在负类前
3. PR曲线与AUPR

优势:在类别极度不平衡时(如新冠检测阳性率1%)比AUC更敏感

四、多分类评估策略

1. 宏平均(Macro-Average)

计算方式:各类别指标取算术平均
适用场景:强调类别平等(如多语言文本分类)

2. 微平均(Micro-Average)

计算方式:汇总所有类别TP/FP/FN后计算全局指标
特点:样本量差异大时更稳定(如商品评论情感分析)

3. 加权平均(Weighted Average)

公式
Weighted = ∑ i = 1 N Samples i Total × Metric i \text{Weighted} = \sum_{i=1}^N \frac{\text{Samples}_i}{\text{Total}} \times \text{Metric}_i Weighted=i=1NTotalSamplesi×Metrici
应用:电商用户分级(VIP客户样本少但权重大)


回归问题

均方误差(Mean Squared Error, MSE)

定义与公式
均方误差(MSE)是回归任务中最常用的评价指标之一,其计算公式为预测值与真实值差的平方的均值:
MSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 MSE=n1i=1n(yiy^i)2
MSE通过平方操作放大了较大误差的权重,使得模型在训练过程中更关注极端错误。例如,若真实值为 [200, 300, 400],预测值为 [210, 290, 410],则 MSE 计算为:
MSE = ( 10 ) 2 + ( − 10 ) 2 + ( 10 ) 2 3 = 100 + 100 + 100 3 ≈ 100 \text{MSE} = \frac{(10)^2 + (-10)^2 + (10)^2}{3} = \frac{100 + 100 + 100}{3} \approx 100 MSE=3(10)2+(10)2+(10)2=3100+100+100100
此时 MSE 的单位是目标变量的平方(如房价的平方值),导致解释性较差,但能有效反映模型的整体误差水平。

优点与缺点

  • 优点:对大误差敏感,适用于需要严格避免大偏差的场景(如金融风控)。
  • 缺点:量纲不直观,且异常值会显著拉高 MSE(例如某个预测误差为 100,其平方贡献为 10000)。

均方根误差(Root Mean Squared Error, RMSE)

定义与公式
RMSE 是 MSE 的平方根,公式为:
RMSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2} RMSE=n1i=1n(yiy^i)2
RMSE 解决了 MSE 量纲问题,使其与目标变量单位一致。例如,若预测温度(单位:℃)的 MSE 为 25,则 RMSE 为 5℃,可直接解读为“平均误差约为 5 摄氏度”。

实际案例
假设预测某城市日平均温度,真实值为 [20, 22, 25],预测值为 [18, 23, 24],则:
RMSE = ( 2 ) 2 + ( − 1 ) 2 + ( 1 ) 2 3 = 4 + 1 + 1 3 ≈ 1.41 ℃ \text{RMSE} = \sqrt{\frac{(2)^2 + (-1)^2 + (1)^2}{3}} = \sqrt{\frac{4 + 1 + 1}{3}} \approx 1.41 \,℃ RMSE=3(2)2+(1)2+(1)2 =34+1+1 1.41
RMSE 的优势在于直观性,但依然受异常值影响。例如,若某个预测误差为 10℃,其平方项将主导计算结果。

平均绝对误差(Mean Absolute Error, MAE)

定义与公式
MAE 计算预测值与真实值绝对误差的平均值:
MAE = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| MAE=n1i=1nyiy^i
MAE 对异常值的鲁棒性优于 MSE/RMSE。例如,预测房价时,若数据中存在少量极端高价(如 1000 万美元),MAE 仅线性放大这些误差,而 MSE 会因平方操作使其影响剧增。

实际案例
假设真实房价为 [200, 300, 1000](单位:万美元),预测值为 [210, 290, 950],则:
MAE = ∣ 10 ∣ + ∣ − 10 ∣ + ∣ 50 ∣ 3 = 10 + 10 + 50 3 ≈ 23.3 万美元 \text{MAE} = \frac{|10| + |-10| + |50|}{3} = \frac{10 + 10 + 50}{3} \approx 23.3 \,万美元 MAE=3∣10∣+10∣+∣50∣=310+10+5023.3万美元
MAE 的缺点是忽略误差方向(如高估或低估),且无法区分多个小误差和一个大误差的差异。

决定系数(R² Score)

定义与公式
R² 衡量模型对目标变量方差的解释能力,公式为:
R 2 = 1 − ∑ i = 1 n ( y i − y ^ i ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 R^2 = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i)^2}{\sum_{i=1}^{n} (y_i - \bar{y})^2} R2=1i=1n(yiyˉ)2i=1n(yiy^i)2
其中 y ˉ \bar{y} yˉ 是真实值的均值。R² 越接近 1,说明模型拟合越好。例如,若 R²=0.85,表示模型能解释 85% 的数据波动。

实际案例
假设某商品销量预测的 R²=0.75,说明模型解释了 75% 的销量变化,剩余 25% 由未考虑的因素(如促销活动)导致。但需注意:R² 随特征数量增加可能虚高,此时需结合调整后 R²(Adjusted R²)使用。

平均绝对百分比误差(Mean Absolute Percentage Error, MAPE)

定义与公式
MAPE 计算相对误差的绝对值均值,公式为:
MAPE = 100 % n ∑ i = 1 n ∣ y i − y ^ i y i ∣ \text{MAPE} = \frac{100\%}{n} \sum_{i=1}^{n} \left| \frac{y_i - \hat{y}_i}{y_i} \right| MAPE=n100%i=1n yiyiy^i
MAPE 适用于不同量纲数据的横向比较。例如,预测销售额时,若 MAPE=10%,表示平均误差为实际值的 10%。

实际案例
假设某商品日销售额真实值为 [100, 200, 300](单位:美元),预测值为 [90, 210, 280],则:
MAPE = 100 % 3 ( 10 100 + 10 200 + 20 300 ) ≈ 8.33 % \text{MAPE} = \frac{100\%}{3} \left( \frac{10}{100} + \frac{10}{200} + \frac{20}{300} \right) \approx 8.33\% MAPE=3100%(10010+20010+30020)8.33%
但需注意:当真实值接近零时,MAPE 可能无限大(如真实值为 0 时,分母为零)。

调整后决定系数(Adjusted R²)

定义与公式
调整后 R² 在 R² 基础上引入特征数量惩罚,公式为:
Adjusted  R 2 = 1 − ( ( 1 − R 2 ) ( n − 1 ) n − k − 1 ) \text{Adjusted } R^2 = 1 - \left( \frac{(1 - R^2)(n - 1)}{n - k - 1} \right) Adjusted R2=1(nk1(1R2)(n1))
其中 k k k 为特征数量。当模型中添加无关特征时,调整后 R² 会下降,从而避免过拟合。

实际案例
假设某模型在 100 个样本上使用 5 个特征得到 R²=0.8,调整后 R² 计算为:
Adjusted  R 2 = 1 − ( 1 − 0.8 ) ( 99 ) 94 ≈ 0.787 \text{Adjusted } R^2 = 1 - \frac{(1 - 0.8)(99)}{94} \approx 0.787 Adjusted R2=194(10.8)(99)0.787
若新增一个无关特征后 R² 升至 0.805,调整后 R² 可能降至 0.78,说明新增特征无实际贡献。


聚类问题

纯度(Purity)

定义与公式
纯度衡量聚类结果与真实类别的一致性,通过统计每个聚类簇中占多数的真实类别样本数占比实现:
Purity = 1 N ∑ k max ⁡ j ∣ w k ∩ c j ∣ \text{Purity} = \frac{1}{N} \sum_{k} \max_j |w_k \cap c_j| Purity=N1kjmaxwkcj
其中 N N N 是总样本数, w k w_k wk 表示第 k k k 个聚类簇, c j c_j cj 表示第 j j j 个真实类别。例如,某聚类结果中三个簇的多数类别样本数分别为 5、4、3,总样本数 17,则纯度为 ( 5 + 4 + 3 ) / 17 ≈ 0.706 (5+4+3)/17 \approx 0.706 (5+4+3)/170.706

优点与缺点

  • 优点:计算简单,直观反映聚类与真实标签的匹配程度。
  • 缺点:未考虑类簇数量影响,可能因簇数过多虚高(如极端情况每个样本单独成簇,纯度=1)。

归一化互信息(Normalized Mutual Information, NMI)

定义与公式
NMI 通过信息熵衡量聚类结果与真实类别的信息共享程度:
NMI = I ( Ω ; C ) ( H ( Ω ) + H ( C ) ) / 2 \text{NMI} = \frac{I(\Omega; C)}{(H(\Omega) + H(C))/2} NMI=(H(Ω)+H(C))/2I(Ω;C)
其中 I ( Ω ; C ) I(\Omega; C) I(Ω;C) 是互信息, H ( Ω ) H(\Omega) H(Ω) H ( C ) H(C) H(C) 分别为聚类簇和真实类别的熵。NMI 值域为 [0,1],越接近 1 表示聚类与真实分布越一致。

实际案例
若真实类别分布为 [6,6,5],聚类结果分布为 [8,5,4],通过计算联合概率分布和熵值,可得 NMI≈0.564。
优点:对簇数量敏感,避免因簇数过多导致的虚高问题。缺点:计算复杂度较高,需依赖概率分布模型。


兰德系数(Rand Index, RI)与调整兰德系数(Adjusted Rand Index, ARI)

定义与公式
RI 通过样本对的一致性评估聚类质量:
RI = T P + T N T P + F P + F N + T N \text{RI} = \frac{TP + TN}{TP + FP + FN + TN} RI=TP+FP+FN+TNTP+TN
其中 T P TP TP 表示同类样本在同一簇中的对数, T N TN TN 表示异类样本在不同簇中的对数。RI 值域 [0,1],但随机聚类结果可能不为 0。因此引入 ARI 进行修正:
ARI = R I − E [ R I ] max ⁡ ( R I ) − E [ R I ] \text{ARI} = \frac{RI - E[RI]}{\max(RI) - E[RI]} ARI=max(RI)E[RI]RIE[RI]
ARI 值域 [-1,1],0 表示随机水平,1 表示完美匹配。

实际案例
某聚类结果中 T P = 20 TP=20 TP=20 T N = 72 TN=72 TN=72 F P = 20 FP=20 FP=20 F N = 24 FN=24 FN=24,则 R I ≈ 0.68 RI≈0.68 RI0.68,而 ARI 通过期望值修正后可能降至 0.48。
优点:综合考量同类/异类样本对的分布。缺点:计算复杂度高,需遍历所有样本对。


F值(F-score)

定义与公式
F-score 是准确率(Precision)和召回率(Recall)的调和平均,用于平衡聚类结果的精确性与覆盖率:
F β = ( 1 + β 2 ) ⋅ Precision ⋅ Recall β 2 ⋅ Precision + Recall F_{\beta} = (1+\beta^2) \cdot \frac{\text{Precision} \cdot \text{Recall}}{\beta^2 \cdot \text{Precision} + \text{Recall}} Fβ=(1+β2)β2Precision+RecallPrecisionRecall
其中 β \beta β 为权重参数(常取 1)。Precision 表示同一簇中同类样本占比,Recall 表示同类样本被正确聚类的占比。

实际案例
若某聚类结果中 T P = 20 TP=20 TP=20 F P = 20 FP=20 FP=20 F N = 24 FN=24 FN=24,则 Precision=0.5,Recall≈0.46, F 1 ≈ 0.48 F_1≈0.48 F10.48
优点:适用于类别不平衡场景。缺点:依赖样本对的统计,计算成本较高。


互信息(Mutual Information, MI)与调整互信息(AMI)

定义与公式
MI 直接衡量聚类结果与真实类别的信息相关性:
I ( Ω ; C ) = ∑ k , j ∣ w k ∩ c j ∣ N log ⁡ N ∣ w k ∩ c j ∣ ∣ w k ∣ ∣ c j ∣ I(\Omega; C) = \sum_{k,j} \frac{|w_k \cap c_j|}{N} \log \frac{N|w_k \cap c_j|}{|w_k||c_j|} I(Ω;C)=k,jNwkcjlogwk∣∣cjNwkcj
为消除随机聚类影响,AMI 引入调整项:
AMI = I ( Ω ; C ) − E [ I ] ( H ( Ω ) + H ( C ) ) / 2 − E [ I ] \text{AMI} = \frac{I(\Omega; C) - E[I]}{(H(\Omega) + H(C))/2 - E[I]} AMI=(H(Ω)+H(C))/2E[I]I(Ω;C)E[I]
AMI 值域 [0,1],更鲁棒。
优点:无需假设数据分布,适应复杂结构。缺点:计算复杂,需依赖概率估计。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74376.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不同机床对螺杆支撑座的要求有哪些不同?

螺杆支撑座是机械设备中重要的支撑部件,其选择直接影响到设备的稳定性和使用寿命,尤其是在机床中,不同的机床对螺杆支撑座的要求也是不同的。 1、精度:精密测量用的基准平面和精密机床机械的检验测量设备,需要使用高精…

在Spring Boot中,可以通过实现一些特定的接口来拓展Starter

在Spring Boot中,开发者可以通过实现一些特定的接口来拓展Starter。这些接口允许开发者自定义Spring Boot应用程序的配置和行为,从而创建功能丰富且易于使用的Starter。以下是一些关键的接口,用于拓展Starter: EnvironmentPostPro…

深入理解 tree 命令行工具:目录结构可视化的利器

文章目录 前言1. 什么是 tree 命令?安装 tree 2. tree 的基本用法显示当前目录的树状结构显示指定目录的树状结构 3. tree 的常用选项3.1 显示隐藏文件3.2 排除特定目录或文件3.3 限制递归深度3.4 显示文件大小3.5 显示文件的权限信息3.6 将输出保存到文件 4. 实际应…

Federated learning client selection algorithm based on gradient similarity阅读

基于梯度相似性的联邦学习客户端选择算法 Abstract 摘要introduction**背景****目的****结论****结果****讨论****思路** 链接:https://link.springer.com/article/10.1007/s10586-024-04846-0 三区 Abstract 摘要 联邦学习(FL)是一种创新的…

【测试工具】如何使用 burp pro 自定义一个拦截器插件

在 Burp Suite 中,你可以使用 Burp Extender 编写自定义拦截器插件,以拦截并修改 HTTP 请求或响应。Burp Suite 支持 Java 和 Python (Jython) 作为扩展开发语言。以下是一个完整的流程,介绍如何创建一个 Burp 插件来拦截请求并进行自定义处理…

网络编程的概念&作用

网络编程是什么? 想象一下,你和朋友在不同的房间里,你们想互相传递纸条聊天。网络编程就像是编写一套规则,让计算机能够通过网络(比如互联网)互相传递信息。这些信息可以是文字、图片、视频,甚…

航天军工与金融行业 UE/UI 设计:跨越领域的体验革新之道

在数字化时代,用户体验(UE)和用户界面(UI)设计成为众多行业提升竞争力的关键因素。航天军工与金融行业虽业务性质差异巨大,但在 UE/UI 设计方面却面临着一些相似挑战,同时也在各自的探索中展现出…

【Git】--- 分支管理

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: Git 本篇博客我们来介绍Git的一个重要功能之一 ---- 分支。我们将讲解关于分支的各种操作,以及如何帮助我们进行开发。 🏠 理解分支…

纯血鸿蒙:中国操作系统自主创新的里程碑

引言:破局者登场 2024 年 10 月,搭载纯血鸿蒙操作系统(HarmonyOS NEXT)的华为 Mate 70 系列正式发布,首日预约量突破 330 万。这场现象级热度的背后,不仅是消费者对硬件创新的期待,更是中国科技…

二造考试的备考过程中如何保持良好的心态?

在二级造价师考试的备考过程中,保持良好的心态至关重要,以下是一些有效的方法: 树立正确的考试观念 )认识到二级造价师考试是职业生涯中的一个重要环节,但不是唯一的决定因素。把它看作是提升自己专业能力、丰富知识储备的机会&am…

Vue3前端开发:组件化设计与状态管理

Vue3前端开发:组件化设计与状态管理 一、Vue3组件化设计 组件基本概念与特点 是一款流行的JavaScript框架,它支持组件化设计,这意味着我们可以将页面分解成多个独立的组件,每个组件负责一部分功能,通过组件的嵌套和复用…

动手学深度学习11.9. Adadelta-笔记练习(PyTorch)

以下内容为结合李沐老师的课程和教材补充的学习笔记,以及对课后练习的一些思考,自留回顾,也供同学之人交流参考。 本节课程地址:72 优化算法【动手学深度学习v2】_哔哩哔哩_bilibili 本节教材地址:11.9. Adadelta —…

Android Audio基础(13)——audiomixer

在 Android 平台上,音频混合器 AudioMixer 主要用在 AudioFlinger 里,将多路音频源数据混音(包括混音、音量处理、重采样及处理声道等)。位于 framework 的音频处理模库 libaudioprocessing(frameworks/av/media/libau…

【React】使用Swiper报错`Swiper` needs at least one child

问题 聊天页面的表情面板&#xff0c;滑动效果使用了ant design mobile的Swiper。 原代码中&#xff0c;Swiper 组件在 isShow 为 false 时渲染的是 <></>&#xff08;空元素&#xff09;&#xff0c;控制台警告Swiper needs at least one child&#xff0c;Swip…

Matlab教程001:软件介绍和界面使用

1.1 软件介绍 1.1.1 Matlab的介绍 MATLAB&#xff08;MATrix LABoratory&#xff09;是一款由 MathWorks 公司开发的高级编程语言和交互式环境&#xff0c;广泛用于 科学计算、数据分析、机器学习、工程建模、仿真和信号处理 等领域。 1.1.2 主要应用领域 数据分析与可视化…

蓝桥杯算法实战分享:算法进阶之路与实战技巧

引言 蓝桥杯作为国内极具影响力的程序设计竞赛&#xff0c;为众多编程爱好者和专业人才提供了展示自我的舞台。参与蓝桥杯不仅能检验自身编程水平&#xff0c;还能拓宽技术视野&#xff0c;为未来职业发展积累宝贵经验。本文将结合历年真题与参赛经验&#xff0c;全面分享蓝桥…

Android Compose 层叠布局(ZStack、Surface)源码深度剖析(十三)

Android Compose 层叠布局&#xff08;ZStack、Surface&#xff09;源码深度剖析 一、引言 在 Android 应用开发领域&#xff0c;用户界面&#xff08;UI&#xff09;的设计与实现一直是至关重要的环节。随着技术的不断演进&#xff0c;Android Compose 作为一种全新的声明式…

MongoDB 面试备战指南

MongoDB 面试备战指南 一、基础概念 1. MongoDB是什么类型的数据库&#xff1f;和关系型数据库有什么区别&#xff1f; 答案&#xff1a; MongoDB是文档型NoSQL数据库&#xff0c;核心区别&#xff1a; 数据模型&#xff1a;存储JSON-like文档&#xff08;动态schema&#xf…

毫米波雷达标定(2)

1. 前言 前面文章中介绍了产线上毫米波雷达的标定原理和流程,这篇文章则主要介绍其在线标定方法。相对于产线标定,在线标定具备使用自然场景而不是依赖特定标靶的优点,但因此其标定精度会相对差一点。在线标定一般应用于售出产品的维护场景,如果其标定结果精度可以满足使用…

Linux fority source和__builtin_xxx

这段代码是用于启用和配置 GCC/Clang 的 Fortify Source 安全机制的预处理指令。Fortify Source 主要用于在编译时增强对缓冲区溢出等内存安全问题的检查。以下是对每一部分的详细解释&#xff1a; 1. 最外层条件编译 # if CONFIG_FORTIFY_SOURCE > 0目的&#xff1a;检查…