模型评估与选择

模型的选择

误差

  • 误差:(Error): 是模型的预测输出值与其真实值之间的差异
  • 训练(Training): 通过已知的样本数据进行学习, 从而得到模型的过程
  • 训练误差(Training Error): 模型作用于训练集的误差
  • 泛化(Generalize): 由具体的, 个别的扩大为一般的, 即从特殊都一般, 称为泛化. 对机器学习的模型来讲, 泛化是指模型作用于新的样本数据(非训练集)
  • 泛化误差(Generalization Error): 模型作用于新样本数据时候的误差

    误差

欠拟合和过拟合

  • 模型容量(Model Capacity): 是指其拟合各种模型的能力
  • 过拟合(Overfitting): 是某个模型在训练集上表现的很好, 但是在新样本上表现的很差. 模型将训练集的特征学习的太好, 导致一些非普遍规律被模型接纳和提现, 从而在训练集上表现的好, 在新样本上表现的很差.
    • eg. 例题做的很好, 但是做类似的题, 换个数字就不会做了
  • 欠拟合:(Underfitting): 即模型对训练集的一般性质学习表现的很差, 模型作用于训练集的时表现不好, 与过拟合(Overfitting)相反
    • eg. 连例题都没做好, 别说别的题了

       

      三种拟合

模型选择

  • 模型选择(Model Selection): 针对某个具体的任务, 通常会有多种模型可供选择, 对同一个模型也会有多组参数, 可以通过分析, 评估模型的泛化误差, 选择泛化误差最小的模型

    红线是最佳模型选择

模型的评估方法

  • 评估思路: 通过实验测试, 对模型的泛化误差进行评估, 选出泛化差最小的模型, 待测试数据集全集未知, 使用测试集进行泛化测试, 测试误差(Testing Error)即为泛化误差的近似.
    将已知的数据集分为两个部分:训练集(80%), 测试集(20%)

    • 训练集测试集尽可能互斥(测试集和训练集尽量不一样)
    • 训练集测试集独立同分布(eg. 训练集和测试集没有关系, 彼此独立, 预测身高的时候要都来自中国, 不能训练集是中国人的数据, 而测试集是冰岛人)
  • 留出法(Hold-out): 将已知数据集分成两个互斥的部分, 其中一部分用来训练模型, 另一部分用来测试模型, 评估其误差, 作为泛化差的估计

    • 两个数据集的划分尽可能保持数据分布一致性, 避免因数据划分过程引入人为的偏差
    • 数据分割存在多种形式会导致不同的训练集, 测试机划分, 单次留出法结果往往存在偶然性, 其稳定性较差, 通常会进行若干次随机划分, 重复实现评估取平均值作为评估结果
    • 数据集拆分成两部分, 每部分的规模设置会影响评估结果, 测试, 训练的比例一般是2:8, 3:7等
    • 数据划分一般使用分层法, 比如一个训练集里分男人和女人, 那么按照男人和女人来划分数据
  • 交叉验证法(Cross Validation): 将数据集划分为k个大小相似的互斥的数据子集, 子集数据尽可能保证数据分布的一致性

  • 留一法(Leave-One-Out. LOO):是k折交叉验证的特殊形式, 将数据集分成两个, 其中一个数据集记录条数为1, 作为测试集使用, 其余记录作为训练集训练模型, 训练出的模型和使用全部数据集训练得到的模型接近, 其评估结果比较准确, 缺点是当数据集比较大的时候, 训练次数和计算规模比较大.

  • 自助法(Bootstrapping):是一种产生样本的抽样方法, 其实质是有放回的随机抽样, 即从已知数据集中随机抽取一条记录, 然后将该记录放入测试集同时放回原数据集, 继续下一次抽样, 直到测试集中的数据条数满足要求. 通过有放回的抽样获得的训练集去训练模型, 不在训练集中的数据(约总数量的1/3)去用于测试, 这样的测试结果被称为包外估计(Out-of-Bag Estimate, OOB)

几种方法的适用场景

  • 留出法

    • 优点
      • 实现简单, 方便, 在一定程度上能够评估泛化误差
      • 测试集和训练集分开, 缓解了过拟合
    • 缺点
      • 一次划分, 苹果结果偶然性大
      • 数据被拆分以后, 用于训练, 测试的数据更少了
  • 交叉验证法

    • 优点
      • K可以根据实际情况设置, 充分利用了所有样本
      • 多次划分, 评估结果相对稳定
    • 缺点
      • 计算比较繁琐, 需要进行k次训练和评估
  • 自助法

    • 优点
      • 样本量比较小的时候可以通过自助法产生多个自助样本集, 且有约36.8%的测试样本
      • 对于总体的理论分布没有要求
    • 缺点
      • 无放回抽样引起额外的偏差

几种方法的选择

  • 已知数据集梳理充足时, 通常采用留出法或者K折交叉验证法
  • 对于已知数据集比较小且难以有效划分训练集/测试集的时候, 采用自助法
  • 对于已知数据集比较小且可以有效划分训练集/测试集的时候, 采用留一法

性能度量

  • 性能度量(Performance Measure):评价模型泛化能力的标准, 对于不同的模型, 有不同的评价标准, 不同的评价标准将导致不同的评价结果, 模型的好坏是相对的, 取决于对于当前任务需求的完成情况.

  • 回归模型的性能度量通常选用均方误差

  • 均方误差计算举例

    均方误差计算

     

分类算法的常用性能度量

分类算法的常用性能度量

聚类算法的常用性能度量

聚类算法的常用性能度量



作者:Rocherster
链接:https://www.jianshu.com/p/c5fec07c8f8d
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值