【机器学习】啃“瓜”笔记002:啃“西瓜书+南瓜书”——第2章 模型评估和选择(上)

🎄啃"瓜Two"——模型评估和选择(上)

🌟写在最开始

本篇文章用于梳理“西瓜书”——第2章 模型评估和选择(上)的要点内容,主要是自己的主观想法和理解。文章记录目的主要用于后续的复习和回顾,如有错误,请君不吝告知,不胜感激。

💖开始整活,加油💪ヾ(◍°∇°◍)ノ゙

🎅2.1 经验误差和过拟合

💦误差

  • "误差"解释: 学得模型(或称为"学习器")的实际预测输出和样本的真实输出间差异⭐️
  • 分类:
    • 训练误差: 学习器训练集上误差😮
    • 泛化误差: 学得模型新样本上的误差,对于"新样本"理解,狭义上指在数据集 D D D上划分的测试集,广义上指模型当前环境中未采集的数据😮
  • 注意: 实际应用场景中,"泛化误差"是无法直接获取,由于新样本标记是无法事先预知

💘"学习器"目的: 通过不断的学习,从训练样本中尽可能学出适用于All潜在样本的"普遍规律", 进而实现对新样本具有更好的泛化能力


💦拟合

🚲学习算法数据集 D D D上进行学习的过程中,学习器数据特征适应性称为“拟合程度,但存在两种极端情况,有:过拟合、欠拟合

  • 过拟合: 学得模型把训练集自身的一些特性当作为All潜在样本都会具有的一般性质

    • main原因: 学习能力过于强大学到训练样本中不太一般的特性
    • 强调点: "过拟合"无法彻底避免,只能"缓解"或者"减弱"过拟合的风险
  • 欠拟合: 学习器尚未学好训练集中能表示All潜在样本一般性质

    • main原因: 学习器的学习能力低下而造成的

    • 解决方式: 具体学习算法具体分析

      🚩① 决策树学习算法中可以扩展分支进行解决

      🚩② 神经网络学习中通过增加学习的epoches

  • 过拟合、欠拟合的直观性类比:
    在这里插入图片描述


💦模型选择

  • 具体可包含:
    • 😎面对于具体的应用场景(或,数据集),进行学习算法的选择
    • 😎模型选择后,进行不同的模型参数的选择,进而确定最优模型
  • Q: 对于"泛化误差"无法直接获取"训练误差"过拟合现象,该如何进行模型评估和选择呢❓

🎅2.2 评估方法

  • A: 通过实验测试评估模型的泛化误差,进而选择模型⭐️

💘虽然在模型选择过程中无法直接获得"泛化误差",但我们可以从数据集中划分一部分样本作为测试集,然后使用测试集上的“测试误差"来间接近似"泛化误差”​💘

  • 注意:

    ① 测试集中测试样本same服从"独立同分布"🐸

    ② 测试集尽可能与训练集互斥,保证学得模型具有很好的泛化能力,即"泛化误差"Very Small❗️


  • Q: 假设有一个数据集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) D={(\boldsymbol{x_1}, y_1), (\boldsymbol{x_2}, y_2), ..., (\boldsymbol{x_m}, y_m)} D=(x1,y1),(x2,y2),...,(xm,ym),该如何进行训练集 S S S测试集 T T T的划分呢❓

🚀2.2.1 留出法🚀

  • "留出法"解释: 直接将**数据集 D D D**划分为互斥的两个集合,其中训练集为 S S S,测试集为 T T T🏃

  • 注意:

    • ① 训练/测试集的划分要尽可能保证数据分布的一致性

      ⚠️目的: 避免因“数据划分而引入的额外误差”对最终结果产生影响,即影响模型评估的性能

    • ② 采用"随机划分、重复实验取平均"策略

      ⚠️原因: 使用单次留出法进行样本划分 ,仍然存在多种采样方式,导致评估结果不稳定、不可靠

      ⚠️"策略"解释: 对数据集 D D D进行若干次随机采样(均满足"分层采样"),重复实验,然后实验结果进行"平均",得出"留出法"结果

  • 补充知识点:

    • 🚩分层采样: 从采样角度看待数据集划分过程,保留类别比例的采样方式称为"分层采样"
  • Q: 希望评估数据集 D D D训练出的模型(即,目的模型),采用"留出法"划分,有:

    • ① 训练集 S > S\gt S> 测试集 T T T, 此时学得模型接近于目的模型,但由于 T T T比较小导致评估结果不可靠(理解为,方差大)
    • ② 训练集 S < S \lt S< 测试集 T T T, 此时学得模型目的模型差别比较大(理解为,偏差大),进而降低评估结果的保真性
  • A: 没有完美解决方法,常见做法是训练/测试划分比例为2:1或者4:1🌈

🚀2.2.2交叉验证法🚀

  • "交叉验证法"解释: 将数据集 D D D划分为 k k k大小相似互斥子集 D i D_i Di,且子集均从数据集 D D D中采用分层抽样获得

  • 进一步说明: 对于所获得子集,使用 k − 1 k-1 k1个子集作为训练集 S S S,剩余子集作为测试集 T T T,然后进行 k k k次的交叉验证,最后对 k k k次交叉验证结果取平均作为评估结果🌈

  • 发现: 交叉验证法得到评估结果的⭐️稳定性和保真性取决于 k k k的取值,因此"交叉验证法"也称为" k k k折交叉验证"

  • 注意: 由于交叉验证法所得的 k k k个子集也存在多种划分方式,因此"随机划分、重复实验取平均"策略同样适用于 k k k折交叉验证

    • 这点要具体情景具体分析,和硬件设备、数据集Size等因素相关
  • " k k k折交叉验证"的具体示意图:
    在这里插入图片描述

  • 留一法: k k k折交叉验证的特例划分的子集数 k = k= k= 数据集 D D D的Size

    • 优点:
      • ① 不需要考虑子集存在多种划分的影响
      • 学得模型目的模型很相似
    • 缺点:
      • 数据集比较大时,算例开销和时间开销过大
  • Q: 能否找寻到一种方法可以:减少训练样本规模不同造成的影响以及能较高的进行实验估计呢❓

🚀2.2.3 自助法🚀

  • 自助法"解释: 本质就是"自助采样

  • 自助采样: 随机从数据集 D D D中挑选一个样本Copy到 D ′ D^{'} D中,然后将样本放回初始数据集 D D D中,重复 m m m次(表示数据集 D D DSize),获取 S i z e Size Size m m m的数据集 D ′ D^{'} D,这个过程称为"自助采样",也可以称为"可重复采样"或"有放回采样"

  • 数据集 D D D和数据集 D ′ D^{'} D非重复性比例:

    lim ⁡ m → ∞ ( 1 − 1 m ) m = 1 e ≈ 0.368 \lim\limits_{m\rightarrow \infty}(1- \frac{1}{m})^m=\frac{1}{e}\approx0.368 mlim(1m1)m=e10.368

    其中 1 − 1 m 1- \frac{1}{m} 1m1表示每次采样中样本不被采到的概率,因此初始数据集 D D D中有 36.8 % 36.8\% 36.8%的样本未出现在数据集 D ′ D^{\prime} D

  • 使用:

    • ① 使用数据集 D ′ D^{\prime} D作为训练集,保证学得模型和目的模型的训练样本规模相同
    • ② 使用 D \ D ′ D\backslash D^{\prime} D\D(注,' \ \backslash \’表示集合减法)作为测试集,测试结果称为"外包估计"
  • 使用场景: 数据集较小难以有效划分训练/测试集这种场景;而数据量充足时,仍然使用"留用法"和"交叉验证法"比较好

  • 缺点: "自助法"划分数据过程中,改变初始数据集中类别的分布,产生模型估计偏差,影响模型的选择

🚀2.2.4 调参和最终模型🚀

  • 参数调节: 也称为"调参",通过对选择的模型进行参数设定,获取最优的模型,这称为"参数调节"
  • 调参方式: 由于很多参数为实数,因此采用跳动策略进行参数调制(即,给参数选定一个范围和变化步长),在将获取的参数分别用于模型的训练,保存最优参数🏃,🐶可能最优参数不在这个跳动策略中,但这是计算策略和性能估计得折中🐶
  • 补充说明: 模型评估和选择中,从数据集 D D D中划分"测试集"常称为"验证集"💖

💥写在最后面

  • 衔接"绪论部分"中利用学习过程获得模型,引出误差和拟合的概念

  • 提出使用“测试误差”来近似泛化误差”,然后考虑不同的训练/测试划分方式,包括:留出法、交叉验证法、自助法等

  • 模型选择完成后,对选择的模型进行调参获取最优模型特别注意两点
    ① 提交的模型的是全量训练后的模型
    ② 模型评估和选择(包括:模型确定、调参)中,用于评估测试的数据集常称为"验证集",而实际使用中的"测试集"用来估计模型的泛化能力


💝㊗️君看后有所收获!欢迎您不吝赐教!

🎓继续加油,冲!🎓

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chuckie今天也要学习!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值