b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

测试程序的目的是_____ 机器学习中的模型评价、模型选择及算法选择(8)

电脑杂谈  发布时间:2018-02-18 04:06:29  来源:网络整理

理论上使用全部数据拟合出的模型性能只会提高,这会和第5步中得到的模型稍有不同。在此假设下,第5步的性能评估可能会略微低估第6步得到的模型性能。

▌3.4 K-Fold交叉验证

在机器学习中,模型评估和模型选择最常用的方法是k-fold交叉验证。有人可能会将训练/测试holdout方法称为交叉验证技术,但是将交叉验证看做训练-验证阶段的交叉可能会更有意义。这里交叉验证的主要思想是数据集中的每个样本都有被测试的机会。作为交叉验证的一种特殊情况,在k-fold每次迭代中,数据被分为k部分,其中第1部分用于验证集,剩下的k-1部分用于训练集,该流程总共迭代k次。图13展示了一个5-fold交叉验证的流程。这一过程会产生5种不同的模型,这些模型在不同但部分重叠的训练集上进行拟合,在不重叠的验证集上进行评估。最终,交叉验证性能就是k次模型在验证集上性能估计的算术平均值。

和two-way holdout方法每个样本最终只有0.632的概率被抽中进行训练或测试不同,k-fold交叉验证所有的数据都将用于训练和测试。与重复holdout方法相比,k-fold交叉验证的测试数据没有重叠,而重复holdout是重复使用样本进行测试。

▌3.5 特殊情况:2-fold和留一法(Leave-One-Out)交叉验证

K-fold交叉验证有两种特殊情况:k=2和k=n。大多数文献都说2-fold交叉验证等于holdout方法。然而这种方法只有在训练集和验证集不重新随机划分,而是直接交换的情况(训练集数据和验证集数据各占50%)下才对。本文中将holdout方法和2-fold交叉验证描述为两个不同的过程,见图14。

而在另一种特殊情况下,k=n时,k-fold等价于留一交叉验证法。图15显示了这一过程,每次迭代中,模型都在其中n-1个样本上进行拟合,然后在剩余的一个样本上进行评估。这种方法对小数据集特别有用。

很多研究都在比较k-fold交叉验证中k值选择如何影响模型性能估计的方差和估计偏差。不过,天下没有免费的午餐。尽管Benigo和Grandvalet的研究显示,在所有分布情况下均不存在K-fold交叉验证方差的无偏估计量。然而我们仍比较希望可以找到一个k值,使得方差和偏差之间取得一个很好的折中。

在计算可行的情况下,同Holdout方法相比,留一法交叉验证更值得推荐。表1展示了Ridge回归模型一个469样本的数据集上的实验评估对比。第1行是留一法交叉验证用于回归模型在100个样本训练子集上拟合结果的评估。第2-4行是holdout方法用于模型在100个样本训练子集上拟合结果的评估,依次是holdout样本数量为10/20/50的结果。我们发现留一法交叉验证的平均估计最接近真实的。

而当数据集很大的时候,出于计算效率的考虑我们就会更倾向于holdout方法。经验上,数据集大的时候,悲观偏差和方差大的问题都会出现的较少。此外,重复使用不同随机的k-fold交叉验证过程有助于得到一个更“鲁棒”的估计,比如重复一个5-fold交叉验证100次,就可以得到500个测试的性能估计,交叉验证性能就可以取这500个的算术平均值。但是,重复留一法交叉验证确实没有意义的,因为留一法交叉验证每次都是产生相同的分割。

▌3.6 K-fold交叉验证和偏差-方差平衡

在小数据集和中等数据集上,留一法交叉验证比holdout更好。另外,我们可以认为留一法交叉验证近似无偏:因为几乎所有样本都可用于模型拟合,所以其悲观倾向显著低于k<n-fold 交叉验证。尽管没有偏差,但该方法一个很明显的缺点就是方差大。每次训练集的n-1个样本都和其他迭代中的训练集非常相似,而测试集因为只有一个样本变化就特别大,所以在使用比如0-1损失函数之类的不连续损失函数时,缺陷是很明显的。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-82970-8.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...