16 深度学习小白教程:模型评估与调优之常用评估指标
系列进度
深度学习入门 · 第 16 / 24 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
评估指标不是越多越好,而是要和错误代价匹配。医学筛查、垃圾邮件、推荐排序和图像分类,对错误的容忍度完全不同。
如果数据类别不均衡,不要只看准确率。至少补充精确率、召回率和混淆矩阵,才能看出模型偏向哪里。
在上一篇教程中,我们讨论了数据预处理与模型训练阶段的训练集与测试集的划分和重要性。在这篇文章中,我们将深入探讨如何对已训练的模型进行评估以及调优。在模型评估的过程中,使用合适的评估指标至关重要。这些指标帮助我们量化模型的预测性能,了解模型的优缺点,为后续的优化提供依据。
一、评估指标的分类
在深度学习中,根据任务的不同,评估指标可以被分为以下几类:
选择深度学习评估指标时,先看任务类型、样本分布、误差代价、验证集设计和指标之间的取舍。
-
分类任务:
- 准确率(Accuracy)
- 精确率(Precision)
- 召回率(Recall)
- F1-score
- ROC曲线下面积(AUC-ROC)
-
回归任务:
- 均方误差(MSE)
- 均绝对误差(MAE)
- R²指标(确定系数)
-
分割任务:
- 交并比(IoU)
- Dice系数
为了便于理解,接下来我们将逐一介绍这些评估指标,并结合案例及代码演示。
二、分类任务的评估指标
以常见的分类任务为例,假设我们训练了一个二分类模型来预测肿瘤的良恶性。
读《深度学习小白教程:模型评估与调优之常用评估指标》时,可以把配图当成路线卡:先看整体顺序,再看每一步为什么这样做,最后再检查边界条件。
1. 准确率(Accuracy)
准确率是最基本的评估指标,表示模型正确分类的样本占总样本的比例。
其中:
- TP:真正例(True Positive)
- TN:真负例(True Negative)
- FP:假正例(False Positive)
- FN:假负例(False Negative)
2. 精确率与召回率
- **精确率(Precision)**表示在所有模型预测为正的样本中,实际为正的比例。它的计算公式为:
- **召回率(Recall)**表示所有实际为正的样本中,被模型正确预测为正的比例,公式为:
3. F1-score
F1-score是精确率和召回率的调和平均数,综合考虑了这两个指标,公式为:
4. ROC曲线及AUC
ROC曲线(Receiver Operating Characteristic Curve)是以假正例率为横轴,真正例率为纵轴绘制的曲线。它可以帮助我们了解不同阈值下模型的性能。AUC(Area Under Curve)则为曲线下的面积,其值在0到1之间,值越大表示模型性能越好。
示例代码
以下是计算这些分类指标的示例代码,使用了sklearn库:
from sklearn.metrics import confusion_matrix, accuracy_score, precision_score, recall_score, f1_score, roc_auc_score
# 假设y_true是实际标签, y_pred是模型预测的标签
y_true = [1, 0, 1, 1, 0, 1, 0, 0, 1, 0]
y_pred = [1, 0, 1, 0, 0, 1, 1, 0, 1, 0]
# 计算混淆矩阵
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
# 计算各项指标
accuracy = accuracy_score(y_true, y_pred)
precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
f1 = f1_score(y_true, y_pred)
# 输出结果
print(f'Accuracy: {accuracy}')
print(f'Precision: {precision}')
print(f'Recall: {recall}')
print(f'F1-score: {f1}')
三、回归任务的评估指标
考虑一个回归任务,例如预测房价,常用的评估指标包括均方误差和均绝对误差。
1. 均方误差(MSE)
均方误差是实际值与预测值差异的平方的平均值,公式为:
2. 均绝对误差(MAE)
均绝对误差是实际值与预测值差异的绝对值的平均值,公式为:
示例代码
以下是计算这些回归指标的示例代码:
from sklearn.metrics import mean_squared_error, mean_absolute_error
# 假设y_true为实际房价, y_pred为模型预测的房价
y_true = [300000, 400000, 500000, 600000]
y_pred = [310000, 390000, 520000, 610000]
# 计算MSE和MAE
mse = mean_squared_error(y_true, y_pred)
mae = mean_absolute_error(y_true, y_pred)
# 输出结果
print(f'Mean Squared Error (MSE): {mse}')
print(f'Mean Absolute Error (MAE): {mae}')
读到这里,可以把《深度学习小白教程:模型评估与调优之常用评估指标》整理成一张复盘表:先说清主线,再拿一个小任务检查结果。
读完《深度学习小白教程:模型评估与调优之常用评估指标》后,可以先挑一个小样例走完整流程,再判断哪些步骤已经能独立完成。
结论
了解和应用不同的评估指标,对于优化模型和提升性能至关重要。在使用评估指标时,需根据具体任务和业务需求选择最合适的指标。在下一篇教程中,我们将探讨如何进行模型的超参数调优,以进一步提升模型的性能。
希望本篇文章能够帮助深度学习的初学者更好地理解模型评估的常用指标及其应用!
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
深度学习小白教程:模型评估与调优之常用评估指标适合谁读?
这是 深度学习入门 系列第 16 / 24 篇,适合正在学习深度学习入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇深度学习入门教程要多久?
按中文技术文章阅读速度估算,通读大约 5 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读