交叉验证(Cross Validation)
来源:互联网 发布:织梦cms如何仿站 编辑:程序博客网 时间:2024/05/17 04:51
交叉验证的定义
交叉验证(Cross Validation),有的时候也称作循环估计(Rotation Estimation),是一种统计学上将数据样本切割成较小子集的实用方法,该理论是由Seymour Geisser提出的。
在模式识别(Pattern Recognition)和机器学习(Machine Learning)的相关研究中,经常会将整个数据集合分成两个部分,分别是训练集合和测试集合。假设
HoldOut检验(Hold-Out Method)
这个方法是将原始的数据集合
在Hold-Out检验不够有说服力的情形下,有人提出了交叉验证这一个重要思想。
交叉检验的常见形式
假设有一个未知模型有一个或者多个未知的参数,并且有一个训练集。操作的过程就是对该模型的参数进行调整,使得该模型能够最大的反映训练集的特征。如果模型因为训练集过小或者参数不合适而产生过度拟合的情况,测试集的测试效果就可以得到验证。交叉验证是一种能够预测模型拟合性能的有效方法。
彻底的交叉验证(Exhaustive Cross Validation)
彻底的交叉验证方法指的是遍历全集
留P验证(Leave-p-out Cross Validation)
留
不彻底的交叉验证(Non-exhaustive Cross Validation)
不彻底的交叉验证不需要考虑全集
k-fold交叉验证(K-fold Cross Validation)
在k-fold交叉验证中,全集
为了提高模型的精确度,可以将k-fold交叉验证的上述步骤重复
注释:
- 一般来说,
k=10 的情况使用得最多。 - 当
k=2 的时候,也就是最简单的k-fold交叉验证,2-fold交叉验证。这个时候X=A1∪A2 ,首先A1 当训练集并且A2 当测试集,然后A2 当训练集并且A1 当测试集。2-fold交叉验证的好处就是训练集和测试集的势都非常大,每个数据要么在训练集中,要么在测试集中。 - 当
k=n 的时候,也就是n-fold交叉验证。这个时候就是上面所说的留一验证(Leave-one-out Cross Validation)。
综上所述,交叉验证(Cross Validation)的好处是可以从有限的数据中获得尽可能多的有效信息,从而可以从多个角度去学习样本,避免陷入局部的极值。在这个过程中,无论是训练样本还是测试样本都得到了尽可能多的学习。
一般模型的选择过程:
在了解了交叉验证的方法之后,可以来介绍一般模型的选择过程。通过采用不同的输入训练样本,来决定机器学习算法中包含的各个参数值,称作模型选择。下面伪代码表示了模型选择的一般流程。在这个算法中,最重要的就是第三个步骤中的误差评价。
(1)准备候选的
(2)对每个模型
(3)对每个学习结果的误差
(4)选择误差
- 交叉验证(cross-validation)
- Cross-validation(交叉验证)
- 交叉验证(Cross Validation)
- 交叉验证(Cross Validation)
- 交叉验证(Cross Validation)
- 交叉验证(Cross Validation)
- 交叉验证(Cross Validation)
- cross-validation 交叉验证
- 交叉验证--Cross validation
- cross-validation 交叉验证
- 交叉验证(Cross Validation)
- cross validation交叉验证
- cross validation 交叉验证
- 交叉验证(Cross-validation)
- 交叉验证(Cross-Validation)
- 交叉验证(Cross-Validation)
- 交叉验证(Cross-Validation)
- 交叉验证(Cross-validation)
- 黑马程序员——反射其他
- 【Nutch】Solr4.6搭建
- Nutz笔记-数据库篇
- Single Number II
- tabbarcontronller
- 交叉验证(Cross Validation)
- 工欲善其事,必先利其器
- ConcurrentHashMap
- eclipse 插件 代码提示 C C++
- 虚拟化三剑客专题-XenServer(上)
- 解决TortoiseGit图标不显示
- ubuntu14.04 安装及配置sublime text 3
- TI(德州仪器) TMS320C674x逆向分析之二
- 一个程序员在北京找工作的感悟-很有感觉