上一章:机器学习01——机器学习概述
下一章:机器学习03——线性模型
机器学习实战项目:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到进阶,大学生就业 / 竞赛必备

一、经验误差与过拟合

(一)核心概念定义
  • 误差:样本真实输出与预测输出之间的差异。
  • 误差类型
    • 训练(经验)误差:模型在训练集上的误差;
    • 测试误差:模型在测试集上的误差;
    • 泛化误差:模型在除训练集外所有新样本上的误差(反映模型对新数据的适应能力)。
  • 错误率:分错样本占总样本的比例(是误差的一种具体表现形式)。
(二)过拟合与欠拟合

在这里插入图片描述

  • 过拟合

    • 定义:模型过度学习训练样本的细节(将训练样本的特有性质误认为所有样本的一般性质),导致泛化性能下降;
    • 举例:模型误以为“树叶必须有锯齿”,将无锯齿的树叶误判为“不是树叶”;
    • 解决方法:通过优化目标加正则项(限制模型复杂度)、早停(提前终止训练)等方式缓解。
  • 欠拟合

    • 定义:模型未学好训练样本的一般性质,对数据的规律把握不足;
    • 举例:模型误以为“绿色的都是树叶”,将绿色的非树叶(如绿色果实)误判为“是树叶”;
    • 解决方法:对决策树增加分支、神经网络增加训练轮数等(增强模型对数据的学习能力)。
  • 关键结论:仅追求训练误差最小化(如训练集错误率为0)往往无法得到好模型,需平衡训练误差与泛化能力。

二、模型评估方法(数据集划分策略)

模型评估的核心是通过合理划分训练集(用于训练模型)和测试集(用于评估泛化能力),用测试误差近似泛化误差,且需保证训练集与测试集互斥、分布一致。常见方法包括:

(一)留出法
  • 操作:将数据集直接划分为互斥的训练集S和测试集T;
  • 要点:
    • 保持数据分布一致性(如分层采样,避免某类样本集中在训练集或测试集);
    • 通常多次随机划分并取平均值,减少偶然误差;
    • 训练集与测试集比例多为2:1~4:1(训练集占比更高,保证模型有足够数据学习)。
(二)k折交叉验证法

在这里插入图片描述

  • 操作:将数据集分层采样划分为k个大小相似的互斥子集,每次用k-1个子集的并集作为训练集,剩余1个子集作为测试集,重复k次后取均值;
  • 特点:
    • 常用k=10(即10折交叉验证),平衡评估准确性与计算成本;
    • 为减少划分方式的影响,可重复p次(如“10次10折交叉验证”),最终取p次结果的均值。
(三)留一法
  • 操作:当数据集包含m个样本时,令k=m(即每个子集仅含1个样本),每次用m-1个样本训练,1个样本测试,重复m次取均值;
  • 优缺点:
    • 优点:不受随机划分影响,评估结果准确;
    • 缺点:当m较大时,计算开销极大(需训练m个模型),实用性有限。
(四)自助法
  • 操作:基于有放回采样,从数据集D中采样m次得到训练集(部分样本可能重复),未被采样的样本(约占1/3)作为测试集;
  • 适用场景:数据集较小时(解决训练/测试集划分困难问题);
  • 局限性:改变了原始数据分布,可能引入估计偏差,因此数据量充足时,优先选择留出法或交叉验证法。

三、性能度量(模型评价标准)

性能度量是衡量模型泛化能力的标准,需根据任务需求选择,不同度量可能导致不同评判结果。

(一)回归任务的性能度量
  • 均方误差:最常用指标,计算预测值与真实值差值的平方的平均值,公式为:
    E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f ; D)=\frac{1}{m} \sum_{i=1}^{m}\left(f\left(x_{i}\right)-y_{i}\right)^{2} E(f;D)=m1i=1m(f(xi)yi)2
    其中, f ( x i ) f(x_i) f(xi)为模型预测值, y i y_i yi为真实值,m为样本数。
(二)分类任务的性能度量
  1. 错误率与精度

    • 错误率:分错样本占总样本的比例,公式为:
      E ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) ≠ y i ) E(f ; D)=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(x_{i}\right) \neq y_{i}\right) E(f;D)=m1i=1mI(f(xi)=yi)
    • 精度(正确率):分对样本占总样本的比例,公式为:
      a c c ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 1 − E ( f ; D ) acc(f ; D) =\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(x_{i}\right)=y_{i}\right) =1-E(f ; D) acc(f;D)=m1i=1mI(f(xi)=yi)=1E(f;D)
      I ( ⋅ ) \mathbb{I}(\cdot) I()为指示函数,条件成立时取1,否则取0)。
  2. 查准率(P)与查全率(R)
    在这里插入图片描述

    • 基于混淆矩阵(统计真实标记与预测结果的组合):
      • TP(真正例):真实为正例且预测为正例;
      • FN(假反例):真实为正例但预测为反例;
      • FP(假正例):真实为反例但预测为正例;
      • TN(真反例):真实为反例且预测为反例;
    • 查全率(召回率):所有真实正例中被正确预测的比例,公式为:
      R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP
    • 查准率(精确率):所有预测为正例中真实为正例的比例,公式为:
      P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
    • 适用场景:信息检索、Web搜索等(需权衡“找到的正例是否准确”和“是否找到所有正例”)。
  3. P-R曲线与平衡点
    在这里插入图片描述

    • P-R曲线:按模型对正例的预测概率排序,逐个将样本视为正例时,得到的查准率-查全率曲线(直观反映模型在不同阈值下的P和R表现);
    • 平衡点:P-R曲线上查准率=查全率的点,用于比较交叉曲线的模型性能(平衡点越高,模型越好)。
  4. F1与Fβ度量

    • F1:查准率与查全率的调和平均,综合两者性能,公式为:
      F 1 = 2 × P × R P + R = 2 × T P 样例总数 + T P − T N F1=\frac{2 × P × R}{P+R}=\frac{2 × TP}{样例总数 +TP-TN} F1=P+R2×P×R=样例总数+TPTN2×TP
    • Fβ:更灵活的度量,通过β调整对P和R的偏重:
      F β = ( 1 + β 2 ) × P × R ( β 2 × P ) + R F_{\beta}=\frac{\left(1+\beta^{2}\right) × P × R}{\left(\beta^{2} × P\right)+R} Fβ=(β2×P)+R(1+β2)×P×R
      • β=1时为标准F1;
      • β>1时偏重查全率(如逃犯检索,需尽可能找到所有逃犯);
      • β<1时偏重查准率(如商品推荐,需推荐的商品尽可能符合用户需求)。

上一章:机器学习01——机器学习概述
下一章:机器学习03——线性模型
机器学习实战项目:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到进阶,大学生就业 / 竞赛必备

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐