(一) 模型评估与选择

0 概述

  • 训练误差:在训练集上的误差
  • 泛化误差:在新样本上的误差
  • 目标:得到泛化误差小的学习器
  • 过拟合与欠拟合:把训练样本的特点当作所有样本的特点,泛化性能下降;训练样本的一般性质尚未学习好

1 模型评估

  • 通过测试集上的测试误差作为泛化误差的近似。
  • 如何得到测试集?留出法,k-fold, 自助法

1.1 留出法

  • 将数据集D划分为训练集S和测试集T,S与T互斥
  • 划分要尽量保持数据分布的一致性 分层采样 拓展:样本有偏差的情况
  • 优缺点:单次使用留出法得到的结果往往不够稳定。常采用多次随机划分,重复评估后取平均值;若S较大,则可能更接近D,易过拟合,若T较大,则结果可能不够准确。通常取2/3-4/5用于训练。

1.2 交叉验证法

  • k-fold cross validation
    在这里插入图片描述
  • 评估的结果是k折交叉验证结果的均值
  • 为减少因样本划分不同引入的差别,k折交叉验证通常随机使用不同的划分重复p次,此时最终的评估结果是p次结果的均值 进行了pk次训练

1.3 自助法

  • 包含m个样本的数据集D,每次有放回的抽样,重复m次,得到D’
  • 样本不被采到的概率为 ( 1 − 1 m ) m \left(1-\frac{1}{m}\right)^{m} (1m1)m, 取极限得 lim ⁡ m ↦ ∞ ( 1 − 1 m ) m ↦ 1 e ≈ 0.368 \lim _{m \mapsto \infty}\left(1-\frac{1}{m}\right)^{m} \mapsto \frac{1}{e} \approx0.368 limm(1m1)me10.368
  • D’为训练集,D\D’为测试集
  • 优缺点:数据集较小,难以有效划分时有用;可以产生多个不同的训练集 拓展:集成学习bagging。但 改变了初始数据集的分布,会引入估计偏差。

2 调参

后续根据实际应用再说明

3 性能度量

  • 测试集上如何度量模型性能?(评价指标)
  • 分类:错误率,精确率,召回率,F1,ROC-AUC,PRC
  • 回归:RMSE平方根误差,MAE平均绝对误差,MSE平均平方误差
  • 聚类:兰德指数,互信息,轮廓系数

3.1 分类

3.1.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(\boldsymbol{x}_{i}\right) \neq y_{i}\right) E(f;D)=m1i=1mI(f(xi)̸=yi)
  • 精度: acc ⁡ ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 1 − E ( f ; D ) \begin{aligned} \operatorname{acc}(f ; D) &=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right)=y_{i}\right) \\ &=1-E(f ; D) \end{aligned} acc(f;D)=m1i=1mI(f(xi)=yi)=1E(f;D)

准确率评价指标没有对不同类别进行区分,即其平等对待每个类别。但是这种评价有时是不够的,比如有时要看类别0与类别1下分类错误的各自个数,因为不同类别下分类错误的代价不同,即对不同类别的偏向不同,例如在病患诊断中,诊断患有癌症实际上却未患癌症(False Positive)与诊断未患有癌症的实际上却患有癌症(False Negative)的这两种情况的重要性不一样。另一个原因是,可能数据分布不平衡,即有的类别下的样本过多,有的类别下的样本个数过少,两类个数相差较大。这样,样本占大部分的类别主导了准确率的计算。此时我们应选择其他指标作为评价标准。

3.1.2 精确率, 召回率,F1

  • 分类结果的混淆矩阵:分类结果的混淆矩阵
  • 精确率P (percision)与 召回率R (recall) P = T P T P + F P R = T P T P + F N \begin{aligned} P &=\frac{T P}{T P+F P} \\ R &=\frac{T P}{T P+F N} \end{aligned} PR=TP+FPTP=TP+FNTP
  • 精确率(查准率):预测结果为正的正确率
  • 召回率(查全率):在实际正样本中,分类器能预测出多少
  • 精确率与召回率通常是矛盾的。例如:为了使R较大,将全部样本预测为正,此时FN=0,R=1;但是精确率低。
  • P-R曲线
  • F1度量: 1 F 1 = 1 2 ⋅ ( 1 P + 1 R ) \frac{1}{F 1}=\frac{1}{2} \cdot\left(\frac{1}{P}+\frac{1}{R}\right) F11=21(P1+R1)
    是P与R的调和平均。更一般的,有加权平均: 1 F β = 1 1 + β 2 ⋅ ( 1 P + β 2 R ) \frac{1}{F_{\beta}}=\frac{1}{1+\beta^{2}} \cdot\left(\frac{1}{P}+\frac{\beta^{2}}{R}\right) Fβ1=1+β21(P1+Rβ2)
    其中 β &gt; 1 \beta&gt;1 β>1时R有更大影响, β &lt; 1 \beta&lt;1 β<1时P有更大影响。

3.1.3 ROC与AUC

  • ROC以TPR为纵轴(recall),FPR为横轴(负例中判断为正的比例) T P R = T P T P + F N F P R = F P T N + F P \begin{aligned} \mathrm{TPR} &amp;=\frac{T P}{T P+F N} \\ \mathrm{FPR} &amp;=\frac{F P}{T N+F P} \end{aligned} TPRFPR=TP+FNTP=TN+FPFP
    在这里插入图片描述
  • 对角线:随机模型
  • 优点:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变(PR曲线变化大),因此不均衡样本通常使用AUC作为评价分类器的标准。
  • AUC:ROC曲线下的面积。The AUC value is equivalent to the probability that a randomly chosen positive example is ranked higher than a randomly chosen negative example. AUC值越大,当前分类算法越有可能将正样本排在负样本前面,从而能够更好地分类。

3.1.4 适用情景实例

  • 准确率/错误率/精度:不同的分类是同等地位的
  • 精确率P:“宁放过一万,不错拿一个”。预测为正但真实为负(FP)的成本很高,因此非常看重预测正样本预测的准确度。比如在银行对用户违约与否进行预测/嫌疑人定罪
  • 召回率R:“宁错拿一万,不放过一个” 。真实值为正,而未被成功预测为正(FN)的成本很高,因此非常看重真实为正样本被正确预测的比例。比如在流行病的案例中,如果真实为正而未被正确预测,即本身患病而被判断为不患病,那么对于社会公共安全造成极大危害,后果严重,所以这里会很看重召回率。
  • AUC:样本不平衡

3.2 回归

  • MAE(Mean Absolute Error) 平均绝对误差 : M A E = 1 n ∑ i = 1 n ∣ f i − y i ∣ MAE=\frac{1}{n} \sum_{i=1}^{n}\left|f_{i}-y_{i}\right| MAE=n1i=1nfiyi
  • MSE(Mean Square Error) 平均平方差/均方误差: M S E = 1 n ∑ i = 1 n ( f i − y i ) 2 M S E=\frac{1}{n} \sum_{i=1}^{n}\left(f_{i}-y_{i}\right)^{2} MSE=n1i=1n(fiyi)2
  • RMSE(Root Mean Square Error) 方均根差 : R M S E = M S E R M S E=\sqrt{M S E} RMSE=MSE
    对异常点非常敏感
  • R 2 R^2 R2: S S r e s = ∑ ( y i − f i ) 2 S S_{r e s}=\sum\left(y_{i}-f_{i}\right)^{2} SSres=(yifi)2 S S t o t = ∑ ( y i − y ‾ ) 2 S S_{t o t}=\sum\left(y_{i}-\overline{y}\right)^{2} SStot=(yiy)2 R 2 = 1 − S S r e s S S t o t = 1 − ∑ ( y i − f i ) 2 ∑ ( y i − y ‾ ) 2 R^{2}=1-\frac{S S_{r e s}}{S S_{t o t}}=1-\frac{\sum\left(y_{i}-f_{i}\right)^{2}}{\sum\left(y_{i}-\overline{y}\right)^{2}} R2=1SStotSSres=1(yiy)2(yifi)2 反映了在因变量y的变化中被估计的回归方程所解释的比例。R平方越接近1,表明回归平方和占总平方和的比例越大,回归线与各观测点越接近,用x的变化来解释y值变差的部分就越多,回归的拟合程度就越好。但同样是基于误差的均值对进行评估的, R 2 R^2 R2对异常点(outliers)较敏感。另外, R 2 R^2 R2的大小并不能用来比较模型的好坏,例如模型A的训练集包含了模型B的训练集,此时A的 R 2 R^2 R2总是不小于B的 R 2 R^2 R2
  • Adjusted R 2 R^2 R2:  adjusted  R 2 = 1 − M S  error  M S total = 1 − S S  error  / ( n − p − 1 )  SS   totar  / ( n − 1 ) \begin{aligned} \text { adjusted } R^{2} &amp;=1-\frac{\mathrm{MS}_{\text { error }}}{\mathrm{MS}_{\text {total}}} \\ &amp;=1-\frac{\mathrm{SS}_{\text { error }} /(n-p-1)}{\text { SS }_{\text { totar }} /(n-1)} \end{aligned}  adjusted R2=1MStotalMS error =1 SS  totar /(n1)SS error /(np1) n为样本数量,p为特征维度。 消除了样本数量和特征数量的影响.
  • 其他指标:Mallow’s C p C_p Cp, AIC, BIC

4 参考阅读

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值