机器学习理论 | 周志华西瓜书 第二章:模型评估与选择

此博客提炼周志华《机器学习》中模型评估与选择的核心要点。介绍了经验误差与过拟合,评估泛化性能测试集的选择方法,如留出法、交叉验证法等,还阐述了性能度量标准,包括回归任务、错误率与精度等,以及比较检验和偏差与方差的相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第二章:模型评估与选择

此系列文章旨在提炼周志华《机器学习》的核心要点,不断完善中…


2.1 经验误差与过拟合

  • 错误率与精度
    错误率:分类错误的样本占样本总数的比例:E=a/mE=a/mE=a/m
    精度:1−a/m1-a/m1a/m
  • 误差:训练误差/经验误差(训练集);泛化误差(测试集)
  • 过拟合与欠拟合
    过拟合不可避免:PPPNPNPNP(算法多项式时间、问题NP-hard;不可完全通过经验误差最小化获得最优解)

2.2 评估方法:如何选择评估泛化性能的测试集

  • 留出法(hold-out)
    定义:D=S⋃T,S⋂T=∅D=S\bigcup T, S\bigcap T=\varnothingD=ST,ST=SSS:训练集,TTT:测试集)
    注意:数据分布一致性(一般分层采样);一般若干次随机划分重复评估
  • 交叉验证法(cross validation)
    • 1)k-fold
      定义:D=D1⋃D2⋃...⋃Dk,Di⋃Dj=∅(iD=D_1\bigcup D_2\bigcup ...\bigcup D_k, D_i\bigcup D_j =\varnothing (iD=D1D2...Dk,DiDj=(ij)j)j)
      取k-1个训练集,1个测试集,重复p次取平均
    • 2)Leave One Out(LOO)
      定义:每个子集一个样本
      优缺点:较准确,但数据集大不适用
  • 自助法(bootstrapping)
    定义:自助采样,train=D’(有放回采样集),test=D\D’(外包估计)
    优缺点:适用数据集小难以划分,但改变原始分布会有偏差
  • 调参与最终模型
    对每个参数选定变化范围和步长
    验证集:用于模型评估过程的数据(测试集:模型实际中遇到的数据)

2.3 性能度量:如何选择度量泛化性能的评价标准

2.3.0 回归任务

  • Mean squared error:
    E(f;D)=1m∑i=1m(f(xi)=yi)2E(f;D)=\frac 1 m \sum_{i=1}^m(f(\textbf x_i) = y_i)^2E(f;D)=m1i=1m(f(xi)=yi)2
  • More common discription:
    E(f;D)=∫x∼D(f(xi)−y)2p(x)dxE(f;D)=\int_{\bf x \sim \mathcal{D}} (f(\textbf x_i)-y)^2p(\textbf x)d\textbf xE(f;D)=xD(f(xi)y)2p(x)dx

2.3.1 错误率与精度

  • 错误率
    E(f;D)=1m∑i=1mI(f(xi)≠yi)2E(f;D)=\frac 1 m \sum_{i=1}^m\mathbb{I}(f(\textbf x_i)=\not y_i)^2E(f;D)=m1i=1mI(f(xi)=yi)2
  • 精度
    acc(f:D)=1m∑i=1mI(f(xi)=yi)=1−E(f;D) \begin{aligned} acc(f:D)&=\frac 1 m \sum_{i=1}^m\mathbb{I}(f(\textbf x_i)=y_i)\\ &=1-E(f;D) \end{aligned} acc(f:D)=m1i=1mI(f(xi)=yi)=1E(f;D)
  • 更一般的定义和描述
    E(f;D)=∫x∼DI(f(xi)≠yi)p(x)dxE(f;D)=\int_{\bf x \sim \mathcal{D}}\mathbb{I}(f(\textbf x_i)=\not y_i)p(\textbf x)d\textbf xE(f;D)=xDI(f(xi)=yi)p(x)dx
    acc(f;D)=∫x∼DI(f(xi)=yi)p(x)dx=1−E(f;D) \begin{aligned} acc(f;D)&=\int_{\bf x \sim \mathcal{D}}\mathbb{I}(f(\textbf x_i)=y_i)p(\textbf x)d\textbf x\\ &=1-E(f;D) \end{aligned} acc(f;D)=xDI(f(xi)=yi)p(x)dx=1E(f;D)

2.3.2 查准率、查全率与F1

预测正例预测反例
真正正例TPFN
真正反例FPTN
  • 查准率(percision)
    P=TPTP+FPP=\frac{TP}{TP+FP}P=TP+FPTP
  • 查全率(recall)
    R=TPTP+FNR=\frac{TP}{TP+FN}R=TP+FNTP
  • F1分数
    F1=2PRP+RF1=\frac{2PR}{P+R}F1=P+R2PR

2.3.3 ROC与AUC

ROC:受试者工作特征(Receiver Operating Characteristic)——x轴FP,y轴TP
AUC:曲线下面积

2.3.4 代价敏感错误率与代价曲线

2.4 比较检验:如何比较度量的结果

  • 假设检验
  • 交叉检验t检验
  • McNemar检验
  • Friedman检验与Nemenyi后续检验

2.5 偏差与方差:如何解构泛化性能

  • 偏差方差分解:解释学习算法泛化性能的一种重要工具
    • 偏差:期望预测与真实结果的偏离程度(刻画算法本身的拟合能力)
      bias2(x)=(fˉ(x)−y)2bias^2(\textbf x)=(\bar{f}(\textbf x)-y)^2bias2(x)=(fˉ(x)y)2
    • 方差:度量同样大小的训练集的变动所导致的学习性能的变化(刻画数据扰动所造成的影响)
      var(x)=ED[(f(x;D)−fˉ(x))2]var(\textbf x)=\mathbb{E}_D [(f(\textbf x ;D)-\bar{f}(\textbf x))^2]var(x)=ED[(f(x;D)fˉ(x))2]
    • 噪音:刻画学习问题本身的难度
      ε2=ED[(yD−y)2]\varepsilon^2 =\mathbb{E}_D[(y_D-y)^2]ε2=ED[(yDy)2]
    • 泛化误差:偏差+方差+噪音
      E(f;D)=bias2(x)+var(x)+ε2E(f;D)=bias^2(\textbf x)+var(\textbf x)+\varepsilon^2E(f;D)=bias2(x)+var(x)+ε2
  • 偏差-方差窘境:偏差与方差有冲突
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值