- 2.1经验误差与过拟合
- 精度(accuracy)
- 分类正确的样本数目占样本总数的比例;精度=1-错误率
- 训练误差(training error)/经验误差(empirical error)
- 因为我们不知道新样本是什么样,所以只有尽可能缩小经验误差
- 泛化误差(generalization error)
- 过拟合(overfitting)
- 当学习器把训练样本学习的“太好了”的时候,会导致泛化性下降,也就是面对新样本会导致效果不佳
- 训练“太好”,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降
- 模型选择
- 现实中,往往有多种算法可供选择,甚至对于同一种算法不同参数配置时也会产生不同模型。如何选择,即是模型选择
- 理想解决办法是对候选模型的泛化误差进行评估,然后选择泛化误差最小的模型
- 引言:无法直接获得泛化误差,而训练误差又由于过拟合现象的存在不适合作为标准那么我们如何进行模型评估与选择呢?
- 2.2评估方法
- 通过“测试集”来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”作为“泛化误差”的近似
- 引言:我们只有一个包含m个样例的数据集D,既要训练又要测试。需要通过对D进行适当的处理,从中产生训练集S和测试集T。下面是常见方法
- 2.2.1留出法
- 直接将数据集D划分为两个互斥的集合,一个训练集S,一个测试集T。
- 注意
- 训练集和测试集的划分要尽可能保持数据分布一致性,避免因数据划分过程中引入额外的偏差而对最终结果造成影响
- 分层采样(stratified sampling)
- 缺点
- 在实际中,不同的划分都将会导致不同的训练/测试集,相应的,模型评估的结果也会有差别。所以单次“留出法”并不可靠,一般采用若干次随即划分,重复实验取平均。
- 2.2.2交叉验证法
- 将数据集D分成K个大小相似的互斥子集,每个子集Di都尽可能保持数据分布的一致性,即从D中通过分层抽样取得
- K折交叉验证
- 每次用k-1个子集的并集作为训练集,余下一个子集作为测试集,最终返回K个测试结果,求其均值
- 将数据集D划分为K个子集,同样存在多种划分方式,为减少因样本划分不同而引入的差别,通常要随机使用不同的划分重复P次,最终结果是这P次的交叉验证的均值
- 特例:留一法
- 数据集D中包含m个样本,令k=m,则每次只留一个测试
- 优点
- 使用的训练集最接近初始数据集,结果准确(也不全是)
posted @
2021-07-28 15:28
小秦同学在上学
阅读(
120)
评论()
编辑
收藏
举报