zoukankan      html  css  js  c++  java
  • 李宏毅机器学习课程笔记-2.4交叉验证

    交叉验证(Cross Validation)

    在机器学习中,通常不能将全部数据用于模型训练,否则将没有数据集可以用来评估模型。

    The Validation Set Approach

    • 定义

      将数据集划分成训练集(Training Set)和测试集(Test Set)两部分。

    • 缺点

      这种方法的缺点是依赖于训练集和测试集的划分方法,并且只用了部分数据进行模型的训练。

    LOOCV(Leave One Out Cross Validation)

    • 定义

      假设数据集中有N个数据,取其中1个数据作为测试集,将剩下的N-1个数据作为训练集,这样重复N次就得到N个模型以及N个误差值,最终使用这N个误差值的平均值评估该模型。

    • 优点

      该方法不受训练集和测试集划分方法的影响,因为每个数据都单独做过测试集;同时该方法用了N-1个数据训练模型,也几乎用到了所有的数据,保证了模型的Bias更小。

    • 缺点

      该方法的缺点是计算量过大,是The Validation Set Approach耗时的N-1倍。

    K折交叉验证(K-fold Cross Validation)

    • 定义

      该方法是LOOCV的折中,即将数据集分成K份。

    • 如何选取K的值

      K的选取是一个Bias和Variance的trade-off。一般选择K=5或10。

      K越大,每次训练时训练集的数据量就越大,则Bias越小;但每次训练时的训练集之间的相关性越大(考虑最极端的情况K=N,也就是LOOCV,每次训练使用的数据几乎是一样的),这种大相关性会导致最终的误差具有更大的Variance。


    Github(github.com):@chouxianyu

    Github Pages(github.io):@臭咸鱼

    知乎(zhihu.com):@臭咸鱼

    博客园(cnblogs.com):@臭咸鱼

    B站(bilibili.com):@绝版臭咸鱼

    微信公众号:@臭咸鱼的快乐生活

    转载请注明出处,欢迎讨论和交流!


  • 相关阅读:
    C#中对文件进行选择对话框打开和保存对话框进行复制
    二、RabbitMQ操作
    二、TortoiseSVN 合并、打分支、合并分支、切换分支
    一、Google开发者工具功能页面截图
    一、RabbitMQ安装与测试连接
    二、jquery Try{}catch(e){}
    ViewMode
    三、MVC_JsonResult类型
    随笔集
    五、SQL Server Profiler追踪工具
  • 原文地址:https://www.cnblogs.com/chouxianyu/p/14185953.html
Copyright © 2011-2022 走看看