模型评估
模型评估是机器学习工作流程中的关键环节。正确评估模型性能帮助我们选择最优模型、诊断问题并改进算法。
01分类评估指标
分类任务的评估指标帮助我们了解模型在不同方面的表现。不同指标适用于不同场景。
混淆矩阵
混淆矩阵是分类评估的基础,它展示了预测结果与真实标签的所有组合。
| 预测结果 | |||
|---|---|---|---|
| 正类 | 负类 | ||
| 真实标签 | 正类 | TP(真正例) | FN(假负例) |
| 负类 | FP(假正例) | TN(真负例) | |
核心指标
准确率(Accuracy)
公式:Accuracy = (TP + TN) / (TP + TN + FP + FN)
适用:类别平衡的数据集
精确率(Precision)
公式:Precision = TP / (TP + FP)
适用:减少误报(如垃圾邮件检测、搜索引擎)
召回率(Recall)
公式:Recall = TP / (TP + FN)
适用:不遗漏正例(如疾病筛查、安全检测)
F1分数(F1 Score)
公式:F1 = 2 × (Precision × Recall) / (Precision + Recall)
适用:精确率和召回率的调和平均
ROC曲线与AUC
ROC曲线描绘了在不同阈值下TPR(真正例率)与FPR(假正例率)的关系。 AUC(曲线下面积)取值[0, 1],越接近1表示分类器性能越好。 AUC=0.5表示随机分类器,等于抛硬币。
02回归评估指标
回归任务评估预测值与真实值之间的误差。不同指标对误差的敏感度不同。
回归指标
均方误差(MSE)
公式:MSE = (1/n)∑(yi - ŷi)²
特点:对大误差更敏感(平方惩罚)
均方根误差(RMSE)
公式:RMSE = √MSE
特点:与目标变量同单位,更易解释
平均绝对误差(MAE)
公式:MAE = (1/n)∑|yi - ŷi|
特点:对异常值更鲁棒
R²决定系数
公式:R² = 1 - SSres / SStot
含义:
• R2 = 1:完美预测
• R2 = 0:预测等于均值
• R2 < 0:模型比均值还差
指标选择指南
- 需要平滑优化:选择MSE(可导)
- 对异常值鲁棒:选择MAE
- 需要解释模型效果:选择R²
03模型选择与验证
如何选择最优模型?如何确保模型泛化能力?这些问题需要科学的验证方法。
交叉验证
交叉验证通过多次划分数据来更可靠地评估模型性能。
K折交叉验证
将数据分成K份,轮流使用K-1份训练、1份验证,取平均结果。
- K=5或K=10:常用折数
- K=n(留一法):计算量大,但每次几乎用全部数据
分层K折
保持每折中类别比例与整体一致,适用于分类问题。
过拟合与欠拟合
过拟合和欠拟合是模型训练中的两个主要问题。
| 特性 | 欠拟合 | 过拟合 |
|---|---|---|
| 训练表现 | 差 | 好 |
| 验证表现 | 差 | 差 |
| 模型复杂度 | 太低 | 太高 |
| 解决方案 | 增加模型复杂度、增加特征 | 正则化、增加数据、减少特征 |
正则化技术
- L1正则化(Lasso):产生稀疏权重,可用于特征选择
- L2正则化(Ridge):权重衰减,防止权重过大
- Dropout:神经网络中随机丢弃神经元
- Early Stopping:验证损失不再下降时停止训练
验证集与测试集
- 训练集:模型学习的样本
- 验证集:调参和模型选择的样本
- 测试集:最终评估的样本,只使用一次