机器学习——评估方法

留出法

​ 将数据集 D 拆分为 训练集 S 和测试集 T

​ 正常来说会保留 70% 用作训练,30% 用作测试。采样时采用分层采样(stratified sampling)的方法,即根据样本标签将数据进行分类之后按照对应比例抽取样本

​ 一般来说会重复上述抽取训练测试的步骤 n 次,取最后的平均值当作模型的结果

​ 缺点:取样随机性导致评估结果与模型最终的结果偏差可能会很大

交叉验证法

​ 将数据集 D 拆分成 k 个相似并且互斥的子集,每个子集均通过分层采样得到。称之为 k 折交叉验证

​ 保留其中一份作为测试集,剩余作为训练集。最后返回 k 次的平均值

​ 一般会重复上述操作 n 次,称之为 n 次 k 折交叉验证。最后取这 n 次的均值作为模型的结果

特殊的交叉验证方法:留一法(Leave-One-Out, LOO)

​ 假设数据集 D 中包含一共包含 n 个样本,留一法指的就是将 D 拆成 n 个子集,并继续进行交叉验证的剩余步骤。

​ 优点:评估结果与最终的模型训练结果相似,较准确。

​ 缺点:数据集大时,计算量大

自助法(Bootstrapping)

​ 对有 n 个样本的数据集 D 进行有放回的抽取 n 次,得到新的数据集 D‘

​ 得到的 D’ 中有重复数据,且 D 中不仅包含 D‘ 中所有数据,还存在未出现的数据。可以计算一个样本在 n 次采样过程中不被选取的概率为: lim ⁡ n → ∞ ( 1 − 1 m ) m ↦ 1 e ≈ 0.368 \lim\limits_{n\to\infty} \left(1-\frac{1}{m}\right)^{m} \mapsto \frac{1}{e} \approx 0.368 nlim(1m1)me10.368, 可以看到有大约36%的数据是不会被选入的。

​ 此时将 D’ 作为训练集进行训练,D\D’ 作为测试集(“\” 表示集合减法)。得到的测试结果称为包外估计(out-of-bag estimate)

​ 该方法产生的数据集改变了原始数据集的分布,可能造成估计偏差。此方法适合于数据集较小、难以划分训练集和测试集时,例如应用于集成学习。在数据量充足的时候,应该选用留出法和交叉验证法。

微信公众号:在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值