news 2026/6/23 19:26:30

评估模型性能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
评估模型性能

文章目录

    • 一、评估模型性能
      • 1. 混淆矩阵示例
      • 2. 常用评估指标
    • 二、常见问题与解决
      • 1. 欠拟合(Underfitting)
      • 2. 过拟合(Overfitting)
      • 3. 正则化(Regularization)
      • 4. 数据标准化
      • 5. 交叉验证
      • 6. 类别不平衡处理

一、评估模型性能

在分类任务中,我们通常使用混淆矩阵及其衍生指标来评估模型表现。

1. 混淆矩阵示例

假设我们对15个人进行是否患病的预测(1=患病,0=正常),得到如下预测结果:

预测值11111000011101
真实值01101100101010

对应的混淆矩阵为:

预测值=1预测值=0
真实值=15 (TP)2 (FN)
真实值=04 (FP)4 (TN)

2. 常用评估指标

  • 准确率(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

  • 精确率(Precision):预测为正的样本中实际为正的比例
    Precision = T P T P + F P \text{Precision} = \frac{TP}{TP + FP}Precision=TP+FPTP

  • 召回率(Recall):实际为正的样本中被正确预测的比例
    Recall = T P T P + F N \text{Recall} = \frac{TP}{TP + FN}Recall=TP+FNTP

  • F1分数(F1-Score):精确率和召回率的调和平均
    F 1 = 2 ⋅ Precision ⋅ Recall Precision + Recall F_1 = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}F1=2Precision+RecallPrecisionRecall

二、常见问题与解决

1. 欠拟合(Underfitting)

模型没有充分学习到数据特征,表现为在训练集和测试集上效果都不佳。通常由于模型过于简单或训练不足导致。

2. 过拟合(Overfitting)

模型在训练集上表现很好,但在测试集上表现下降。常见原因包括:

  1. 过度追求训练集上的低损失或高准确率
  2. 模型参数过于复杂(例如特征过多)

3. 正则化(Regularization)

为了防止过拟合,我们可以在损失函数中加入正则化项,约束模型参数的大小:

原始损失函数:
J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − θ T X ( i ) ) 2 J(\theta) = \frac{1}{2} \sum_{i=1}^m (y^{(i)} - \theta^T X^{(i)})^2J(θ)=21i=1m(y(i)θTX(i))2

加入L2正则化后:
J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − θ T X ( i ) ) 2 + 1 2 θ 2 J(\theta) = \frac{1}{2} \sum_{i=1}^m (y^{(i)} - \theta^T X^{(i)})^2 + \frac{1}{2} \theta^2J(θ)=21i=1m(y(i)θTX(i))2+21θ2

4. 数据标准化

为了提升模型收敛速度与稳定性,常对特征进行标准化:

  • 0~1标准化(离差标准化):
    y i = x i − min ⁡ 1 ≤ j ≤ n { x j } max ⁡ 1 ≤ j ≤ n { x j } − min ⁡ 1 ≤ j ≤ n { x j } y_i = \frac{x_i - \min_{1 \leq j \leq n} \{ x_j \}}{\max_{1 \leq j \leq n} \{ x_j \} - \min_{1 \leq j \leq n} \{ x_j \}}yi=max1jn{xj}min1jn{xj}ximin1jn{xj}
  • Z标准化
    y i = x i − x ‾ s y_i = \frac{x_i - \overline{x}}{s}yi=sxix

5. 交叉验证

为了更稳健地评估模型,常使用交叉验证方法,如K折交叉验证,将数据集分为K份,依次用其中一份作为测试集,其余作为训练集,最后取平均性能。

6. 类别不平衡处理

当正负样本比例悬殊时,可使用过采样技术,如SMOTE算法,通过合成少数类样本来平衡数据集。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 12:18:09

leetcode 2147. 分隔长廊的方案数 困难

在一个图书馆的长廊里,有一些座位和装饰植物排成一列。给你一个下标从 0 开始,长度为 n 的字符串 corridor ,它包含字母 S 和 P ,其中每个 S 表示一个座位,每个 P 表示一株植物。在下标 0 的左边和下标 n - 1 的右边 已…

作者头像 李华
网站建设 2026/6/13 16:36:30

学生党必备!这款桌面课表工具太省心了

上课前翻遍手机找课表?担心走神错过上课时间?对于学生党和老师来说,一款顺手的课表工具能省不少事!今天电脑天空要给大家安利的「桌面课表 Class Widget」,就是这样一款精准解决课程管理痛点的桌面小工具。它最戳人的点…

作者头像 李华
网站建设 2026/6/17 7:44:18

深度学习实验14代码

实验前准备 数据集 # make data import random import numpy as np import os # 固定随机种子 random.seed(0) np.random.seed(0)def generate_data(length, k, save_path):if length < 3:raise ValueError("The length of data should be greater than 2.")if k …

作者头像 李华
网站建设 2026/6/22 22:15:30

优化及性能-–-behaviac

原文 优化及性能 宏BEHAVIAC_RELEASE定义的时候是最终版&#xff0c;BEHAVIAC_RELEASE没有定义的时候是为开发版。 在debug版中&#xff0c;BEHAVIAC_RELEASE缺省下没有定义的。诸如logging、socketing、热加载等开发功能是有效的。可以通过behaviac::Config::IsLogging和be…

作者头像 李华
网站建设 2026/6/23 8:04:13

练题100天——DAY26:汇总区间+丢失的数字+数组交集

今天又又是三道题&#xff0c;难度范围&#xff1a;★★~★★★。难度完全是凭个人做的感觉标的&#xff0c;题还是得自己做了才知道。 100天也已经过1/4了&#xff0c;非常之不错啊&#xff0c;希望这些记录能让我对这些题的理解更深&#xff0c;当然&#xff0c;也希望能对你…

作者头像 李华
网站建设 2026/6/22 4:49:34

当AI芯片不再性感:博通的高增长,为何成了催命符?

出品I下海fallsea撰文I胡不知2025年12月12日16点03分&#xff0c;纳斯达克交易大厅的电子屏突然泛起红光。博通&#xff08;AVGO.US&#xff09;的股价在连续30分钟的抛售潮中直线下坠&#xff0c;从开盘402美元跌至357美元&#xff0c;单日跌幅最终定格在11.2%&#xff0c;市值…

作者头像 李华