机器学习笔记 - 评估方法

数据集 D = {(x1,y1),(x2,y2),...,(xm,ym)}, 一共 m 个样本. 可以对D 进行适当处理, 从中产生训练集 S 和测试集T. 下面介绍几种常见的做法.

Hold Out

将数据集 D 划分为两个互斥的集合, 其中一个作为训练集S, 另一个作为测试集T, 即 D=ST , ST= . 训练集和测试集的划分要尽量保持数据分布的一致性, 至少要保证样本的类别比例相似。 另一个需要注意的问题是,在给定测试/训练集比例后, 仍然存在多种划分方式对数据集 D 进行分割, 不同的划分方式将导致不同的模型评估结果, 所以在使用Hold Out方法时,一般要采用若干次随机划分, 重复实验评估后取平均值作为评估结果。

Cross Validation

将数据集D 划分为 k 个大小相似的互斥子集, 即 D=D1D2...Dk , D1D2...Dk= , 然后, 每次用 k1 个子集的并集作为训练集, 余下的那个子集作为测试集, 这样可以获得 k 组训练集和测试集, 从而进行k次训练和测试, 最终返回 k 个测试结果的均值。
跟Hold Out 方法类似, 将数据集D划分为 k 个子集也存在多种方式, 为减少因样本划分引入的差异, k次Cross Validation 通常要随机使用不同的划分重复 p 次。 常见的有10次10折Cross Validation.

Bootstrapping

给定m个样本的数据集 D , 对其进行采样, 每次随机挑选一个样本, 复制后将其放回,这样重复m次, 可以得到包含 m 个样本的测试集S, 显然, D 中会有一部分样本在 S中多次出现, 而有另一部分则不出现, 而样本在 m 次采样中部出现的概率为 p=(11m)m.

limm(11m)m1e0.368

于是我们可以定义 T=DS , 这样可以进行训练和测试。

Reference

  • 机器学习 - 周志华, 清华大学出版社
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值