zoukankan      html  css  js  c++  java
  • 交叉验证

    https://blog.csdn.net/qq_18343569/article/details/50036557

    交叉验证(Cross-Validation)的基本思想:

    将原数据进行分组,一部分做为训练集,另一部分做为验证集,首先用训练集对不同参数的模型进行训练,再利用验证集来测试训练得到的模型,进而用验证集的测试误差来衡量模型中的参数。

    常用的交叉验证的方法:


    ( 1) Hold-out 方法

           Hold-out 方法即将原数据随机的分成两组,一组用作训练数据集,另一组用作验证数据集。

    训练集训练模型,验证集则用于验证训练得到的模型,验证集的测试误差则为衡量标准。

    Hold-out 方法依赖于单一的数据分割,并没有出现数据的交叉。实验结果高度依赖数据集的分割,验证结果容易出现不稳定的情况。为此,取多次 Hold-out 验证结果的均值则成为广义的交叉验证方法的评价标准。但在多次采用 Hold-out 验证时,由于随机分割数据,可能造成部分数据的信息无法充分利用,进而造成实验效果的偏差。


    ( 2)留一验证法( Leave-one-out, LOO CV)

        LOO CV是经典交叉验证方法的一种,

        即若原数据为 N 个样本,则每个数据单独作为验证集,剩下的 N-1个样本作为训练集。实验数据在训练时的充分利用是 LOOCV 方法的优点,但是在数据比较大时,高成本的计算复杂度成为 LOO CV 方法的局限性,然而小样本数据在采用 LOO CV 方法时可以得到很好的效果。
        LOO CV 方法可以进一步得到改进,形成 LMO (Leave-m-out) CV[40],即数据中每 M个数据均有机会成为验证集,剩余的 − MN 个数据作为训练集。 M > 1时, LMO CV 在一定程度上改善了 LOO CV 计算复杂度过高的不足。

    ( 3) K 折交叉验证法( K-flod Cross Validation)

          在上述方法的基础上,提出了 K 折交叉验证法,即将原数据平均分成 K 组,每一组均可作为验证集,剩余的 K −1组作为训练集。 K 个验证集的测试误差的均值为此方法的性能评价指标。 K 折交叉验证法不仅充分利用了数据的信息,有效的避免了过拟合和欠拟合状态的发生,得到的结果具有说服性,而且降低了计算复杂度。这一优势使得 K折交叉验证法成为最常用的交叉验证方法。然而 K 值的选取问题,困扰着 K 折交叉验证法的使用。一般而言, K 的选取范围为 5 到 10。
    ---------------------  
    作者:qq_18343569  
    来源:CSDN  
    原文:https://blog.csdn.net/qq_18343569/article/details/50036557  
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    java集合类散列表
    记北京挤地铁
    是你的努力,吗?
    letswave-脑电数据处理流程总记
    赵丽颖结婚了,分析下网友评论
    自动线性回归
    ggplot2+treemapify了解一下?
    样本方差的性质及其应用
    5 域名
    4 HTTP的“四层”和“七层”
  • 原文地址:https://www.cnblogs.com/fengff/p/9815342.html
Copyright © 2011-2022 走看看