人工智能模型评估:全面解析与方法体系

定义:

人工智能模型评估方法和体系用于帮助我们评估和比较不同人工智能模型性能的方法和框架。在人工智能领域,模型评估是至关重要的,因为它可以帮助我们了解模型的优劣,找出改进的方向,以及选择最适合特定任务的模型。

1. 准确率 (Accuracy)

准确率是最直观的性能指标,表示正确预测的数量总预测数量的比例。

Accuracy=TP+TNTP+TN+FP+FN\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}Accuracy=TP+TN+FP+FNTP+TN​

  • TP: 真正例(True Positives)
  • TN: 真负例(True Negatives)
  • FP: 假正例(False Positives)
  • FN: 假负例(False Negatives)

看不懂? OK 献丑了,上个生动的例子,上朕的笔记!

笔者用一个简单的医疗检测例子来通俗易懂地解释一下这四个术语:

  • 真正例(TP, True Positives):指的是模型正确地将患者的疾病状态预测为阳性(即患病)的情况。例如,在癌症检测中,模型预测某个患者患有癌症,而实际上该患者确实患有癌症,这就是一个真正例。

  • 真负例(TN, True Negatives):指的是模型正确地将患者的疾病状态预测为阴性(即健康)的情况。继续上述例子,如果模型预测某个健康的人没有患癌症,而实际上这个人确实没有患癌症,这就是一个真负例。

  • 假正例(FP, False Positives):也称为误报或第一类错误。指的是模型错误地将健康的人预测为患病的情况。例如,模型预测一个健康的人患有癌症,但这个人实际上并没有患癌症,这就是一个假正例。

  • 假负例(FN, False Negatives):也称为漏报或第二类错误。指的是模型错误地将患病的人预测为健康的情况。如果我们的癌症检测模型未能检测出实际上患有癌症的患者,这就是一个假负例。

想象一下,你在一个机场工作,你的任务是使用X光机来检查行李中是否携带违禁品:

  • TP:你检查了一个行李,并告诉安检人员行李中有违禁品,打开后确实发现了违禁品。(你完蛋了,要和帽子叔叔喝茶了)
  • TN:你检查了一个行李,并告诉安检人员行李中没有违禁品,打开后也确实没有发现违禁品。
  • FP:你错误地告诉安检人员某个行李中有违禁品,但当他们打开检查时,里面并没有违禁品。
  • FN:你错过了一个实际上携带违禁品的行李,告诉安检人员里面没有违禁品。

在实际应用中,我们通常希望TP最大化,同时减少FP和FN的数量,因为FP可能导致不必要的麻烦,而FN可能遗漏真正的问题。TN虽然是一个正面结果,但在评估模型性能时,我们更关注于减少FP和FN带来的影响。

IMG_20240607_233433.jpg

通过好好理解我这个例子和笔记公式,相信大家能更好地理解什么是准确率了。

示例代码(Python):

from sklearn.metrics import accuracy_score

# 真实标签和预测标签
y_true = [0, 1, 1, 0, 1]
y_pred = [0, 1, 0, 0, 1]

accuracy = accuracy_score(y_true, y_pred)
print(f'Accuracy: {accuracy}')

2. 精确率 (Precision)

精确率表示为所有被模型预测为正类的样本中,实际为正类的比例。

Precision=TPTP+FP\text{Precision} = \frac{TP}{TP + FP}Precision=TP+FPTP​

示例代码(Python):

from sklearn.metrics import precision_score

precision = precision_score(y_true, y_pred)
print(f'Precision: {precision}')

3. 召回率 (Recall) 或 真正率 (True Positive Rate, TPR)

召回率表示为所有实际为正类的样本中,被正确预测为正类的比例。

Recall=TPTP+FN\text{Recall} = \frac{TP}{TP + FN}Recall=TP+FNTP​

IMG_20240607_233438.jpg 示例代码(Python):

from sklearn.metrics import recall_score

recall = recall_score(y_true, y_pred)
print(f'Recall: {recall}')

4. F1 分数(很重要!很多比赛的最终模型评判就是依据这个分数!)

F1 分数是精确率和召回率的调和平均数,用于衡量模型的准确性和完整性的平衡

F1=2×Precision×RecallPrecision+RecallF1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}F1=2×Precision+RecallPrecision×Recall​

IMG_20240607_233459.jpg

什么,感觉对F1-Score云里雾里?这可不行,给我上例子!

想象you是一名图书管理员,你的任务是从图书馆的大量书籍中找出特定的几本书籍。这些书籍是读者预约的,你需要确保既快速又准确地找到它们。

  • 精确率(Precision):这相当于你找到的书籍中,有多少比例是读者真正预约的那几本。如果你找到了10本书,其中8本是读者预约的,那么精确率就是80%。

  • 召回率(Recall):这相当于你找到的书籍占读者预约书籍总数的比例。如果读者预约了10本书,你找到了其中的8本,那么召回率也是80%。

现在,如果图书管理员只关注精确率,可能会花费很多时间来确保找到的每一本书都是正确的,这可能导致召回率降低,因为有预约的书籍没有被找到。反之,如果只关注召回率,可能会找到很多书籍,但其中只有一部分是正确的,这意味着精确率较低。

F1分数就是在这两者之间取得平衡的一种方法。它取精确率和召回率的调和平均数,给两者以相等的权重。

如果精确率和召回率都很高,F1分数也会很高。如果其中一个很低,F1分数也会受到影响。F1分数的范围是0到1,1表示完美的精确率和召回率,0表示两者都很差。

在图书管理员的例子中,如果你的精确率和召回率都是80%,那么F1分数就是:

F1=2×0.8×0.80.8+0.8=0.8 F1 = 2 \times \frac{0.8 \times 0.8}{0.8 + 0.8} = 0.8F1=2×0.8+0.80.8×0.8​=0.8

这意味着你作为图书管理员在找到正确的书籍和确保找到所有预约书籍之间做得很好。F1分数提供了一个综合考虑精确性和完整性的评估,帮助我们理解模型在分类问题中的整体性能。

示例代码(Python):

from sklearn.metrics import f1_score

f1 = f1_score(y_true, y_pred)
print(f'F1 Score: {f1}')

5. 混淆矩阵 (Confusion Matrix)(了解即可)

混淆矩阵是一个表格,用于描述模型预测和实际标签之间的关系。

Confusion Matrix=[TPFPFNTN]\text{Confusion Matrix} = \begin{bmatrix} TP & FP \\ FN & TN \end{bmatrix}Confusion Matrix=[TPFN​FPTN​]

示例代码(Python):

from sklearn.metrics import confusion_matrix

conf_matrix = confusion_matrix(y_true, y_pred)
print(f'Confusion Matrix:\n{conf_matrix}')

6. ROC 曲线和 AUC 分数

ROC 曲线是通过不同阈值绘制真正率(召回率)与假正例率(1 - 特真率)的图形。AUC(Area Under the ROC Curve)分数表示模型的整体性能,AUC 越高,模型性能越好。

示例代码(Python):

from sklearn.metrics import roc_curve, auc
import matplotlib.pyplot as plt

# 假设 y_scores 是模型输出的概率或分数
y_scores = [0.1, 0.4, 0.35, 0.8, 0.7]

fpr, tpr, thresholds = roc_curve(y_true, y_scores)
roc_auc = auc(fpr, tpr)

plt.figure()
plt.plot(fpr, tpr, color='darkorange', lw=2, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic')
plt.legend(loc="lower right")
plt.show()

7. 平均绝对误差 (MAE) 和 均方误差 (MSE) - 回归模型

对于回归问题,MAE 和 MSE 是常用的评估指标。

  • 平均绝对误差 (MAE):

    MAE=1n∑i=1n∣yi−y^i∣MAE = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|MAE=n1​∑i=1n​∣yi​−y^​i​∣

  • 均方误差 (MSE):

    MSE=1n∑i=1n(yi−y^i)2MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 MSE=n1​∑i=1n​(yi​−y^​i​)2

示例代码(Python):

from sklearn.metrics import mean_absolute_error, mean_squared_error

# 真实值和预测值
y_true_regression = [3, -0.5, 2, 7]
y_pred_regression = [2.5, 0.0, 2, 8]

mae = mean_absolute_error(y_true_regression, y_pred_regression)
mse = mean_squared_error(y_true_regression, y_pred_regression)

print(f'MAE: {mae}')
print(f'MSE: {mse}')

这些评估方法提供了不同角度的模型性能视图,选择哪种方法取决于具体的应用场景和模型目标。在实际应用中,通常需要综合考虑多个评估指标来全面理解模型的性能。

总结:

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值