机器学习——评估方法

Posted Anooyman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习——评估方法相关的知识,希望对你有一定的参考价值。

留出法

​ 将数据集 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-\\frac1m\\right)^m \\mapsto \\frac1e \\approx 0.368 nlim(1m1)me10.368, 可以看到有大约36%的数据是不会被选入的。

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

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

微信公众号:

以上是关于机器学习——评估方法的主要内容,如果未能解决你的问题,请参考以下文章

R语言广义线性模型函数GLMglm函数构建泊松回归模型(Poisson regression)分析模型是否过离散(Overdispersion)使用残差偏差与模型中的剩余自由度的比率值评估

学习笔记1:《机器学习》第二章 模型评估与选择

机器学习模型评估选择与验证

机器学习解决问题的框架

一起啃西瓜书机器学习-期末复习

吴恩达-coursera-机器学习-week6