MLb-002 43《机器学习》周志华 第二章:模型评估与选择

第二章:模型评估与选择

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


2.1 经验误差与过拟合

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

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

  • 留出法(hold-out)
    定义: D = S ⋃ T , S ⋂ T = ∅ D=S\bigcup T, S\bigcap T=\varnothing D=ST,ST= S S S:训练集, T T T:测试集)
    注意:数据分布一致性(一般分层采样);一般若干次随机划分重复评估
  • 交叉验证法(cross validation)
    • 1)k-fold
      定义: D = D 1 ⋃ D 2 ⋃ . . . ⋃ D k , D i ⋃ D j = ∅ ( i D=D_1\bigcup D_2\bigcup ...\bigcup D_k, D_i\bigcup D_j =\varnothing (i D=D1D2...Dk,DiDj=(i j ) 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 ) = 1 m ∑ i = 1 m ( f ( x i ) = y i ) 2 E(f;D)=\frac 1 m \sum_{i=1}^m(f(\textbf x_i) = y_i)^2 E(f;D)=m1i=1m(f(xi)=yi)2
  • More common discription:
    E ( f ; D ) = ∫ x ∼ D ( f ( x i ) − y ) 2 p ( x ) d x E(f;D)=\int_{\bf x \sim \mathcal{D}} (f(\textbf x_i)-y)^2p(\textbf x)d\textbf x E(f;D)=xD(f(xi)y)2p(x)dx

2.3.1 错误率与精度

  • 错误率
    E ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = ̸ y i ) 2 E(f;D)=\frac 1 m \sum_{i=1}^m\mathbb{I}(f(\textbf x_i)=\not y_i)^2 E(f;D)=m1i=1mI(f(xi)≠yi)2
  • 精度
    a c c ( f : D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 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 ∼ D I ( f ( x i ) = ̸ y i ) p ( x ) d x E(f;D)=\int_{\bf x \sim \mathcal{D}}\mathbb{I}(f(\textbf x_i)=\not y_i)p(\textbf x)d\textbf x E(f;D)=xDI(f(xi)≠yi)p(x)dx
    a c c ( f ; D ) = ∫ x ∼ D I ( f ( x i ) = y i ) p ( x ) d x = 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

预测正例 预测反例
真正正例 TP FN
真正反例 FP TN
  • 查准率(percision)
    P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
  • 查全率(recall)
    R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP
  • F1分数
    F 1 = 2 P R P + R F1=\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 偏差与方差:如何解构泛化性能

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

你可能感兴趣的:(MLBOOK,01)