0. 前言

之前的课程讲解了为了避免overfitting,可以使用regularization方法来解决。在之前的EinEinE_{in}上加上一个regularizer,生成EaugEaugE_{aug},选择合适的λλ\lambda将其最小化,通过减小模型复杂度来增加泛化能力。今天将会介绍另一种增加泛化能力的方法:Validation。

1. Model Selection Problem

  • 在机器学习中,模型选择一直是一个比较麻烦的问题。首先是我们选择算法,有PLA、Pocket、逻辑回归、线性回归一堆算法可以挑选,选完算法之后是迭代次数T的选择,之后是学习速率η的选择,接着是模型特征转换Φ的选择然后是正则化regularizer的选择,有L2,L1等等;最后是正则化系数λ的选择。不同的搭配,有不同的机器学习效果。我们的目标就是找到最合适的搭配,构建最好的机器学习模型。
  • 我们可以做出一个独立于训练样本的测试集,分别对每个模型进行测试,选择EtestEtestE_{test}最小的模型。测试集需要从训练集中分离出来,前提是两者是独立同分布的。

2. Validation

  • Validation过程:讲已有的数据集D分成两部分:测试集DvalDvalD_{val}和训练集DtrainDtrainD_{train}。对M个分类器分别对测试集和训练集进行分类,最后得到每个分类器的EvalEvalE_{val}和EtrainEtrainE_{train},其中在测试集中表现最好的分类器(EvalEvalE_{val}最小)为最好的分类器。

3. Leave-One-Out Cross Validation

  • 留一交叉验证:使用训练集对分类器进行训练过之后,使用每一个数据作为测试集进行测试,得到一个误差enene_n,对所有数据便利一遍并取平均值,得到平均误差ElopvalElopvalE_{lopval}此为留一交叉验证。
  • error 与特征数量的关系如下图所示:

    EinEinE_{in}:已有数据误差
    EoutEoutE_{out}:泛化的数据误差
    EcvEcvE_{cv}:留一交叉验证误差
    可以看到我们只要保证EcvEcvE_{cv}尽可能小,就能近似的达到EoutEoutE_{out}尽可能小。

4. V-Fold Cross Validation

  • 留一交叉验证的缺点:

    1. 计算量:有N个数据,就要计算N次。
    2. 稳定性:如果是个二分问题,预测本身存在不稳定的因素,结果会存在很大的跳动,稳定性不好。
  • 改进方法:V折交叉验证:讲数据先分成几分,比如N=1000,取V=10,那么数据分成十份、每份数据100个样本。每一份的误差为其中样本的平均误差,最终结果为每一份的平均误差。这么处理之后,有更强的稳定性且计算量减少了10倍。

5. 总结

这一节课主要讲解了Validation方法,即讲样本分为训练样本和测试样本。比较了留一交叉验证和V-折交叉验证方法,其中V-折交叉验证是最常用的验证方法。

林轩田机器学习基石笔记14:Validation相关推荐

  1. 林轩田机器学习基石笔记5 - Training versus Testing

    Recap and Preview 机器学习流程图 第一节课,介绍机器学习是要找到最好的g,使g≈f(目标函数),保证Eout(g)≈0.第二节课,找方法使Ein≈0,如PLA和pocket.第四节课 ...

  2. 林轩田机器学习基石笔记6 - Theory of Generalization

    Restriction of Break Point 四个成长函数与break point: 假设一个hypotheses,它的break point是2.那么当N=1的时候可以取到两个dichoto ...

  3. 林轩田机器学习基石笔记(第6节)

    第5节主要介绍了机器学习与统计学之间的关系,不用做太多了解,所以也可以跳过,直接进入本节. 今天主要学习的问题就是如何让机器解决是非题,仍然以银行发信用卡为例,就是根据客户提交的资料去判断要不要给该客 ...

  4. 林轩田机器学习基石笔记(第10-13节)——机器学习的分类

    第10节主要讲到了多元分类(Multiclass Classification)的概念. 第11节主要简单介绍了监督学习(Supervised).非监督学习(Unsupervised).半监督学习(S ...

  5. 林轩田机器学习基石笔记3:机器学习分类

    笔者正处于学习阶段,任何问题欢迎指正. 0. 前言 机器学习通过样本输出维度,输入维度,学习方法等可以分成许多类别,这篇文章主要屡一下这些关系,首先看一下我做的思维导图,下面我会对每一种类别进行介绍. ...

  6. 林轩田机器学习基石笔记3—Types of Learning

    上节课我们主要介绍了解决线性分类问题的一个简单的方法:PLA.PLA能够在平面中选择一条直线将样本数据完全正确分类.而对于线性不可分的情况,可以使用Pocket Algorithm来处理.本节课将主要 ...

  7. 林轩田机器学习基石笔记(第23-24节)——上限函数Bounding Function

    本节我们讨论上限函数,所谓的上限函数就是,成长函数露出Break Point的点.只要我们知道了该点的值,就可以知道Hypothesis Set最多可以画多少条Dichotomy. 第20节的时候我们 ...

  8. 林轩田机器学习基石笔记2 - Learning to Answer Yes/No

    Perceptron Hypothesis Set 感知器,一个具体的例子:评定要不要给用户信用卡,给(y=+1),不给(y = -1) xi:维度 wi:权重 threshold:阈值 简化符号,将 ...

  9. 台湾大学林轩田机器学习基石课程学习笔记13 -- Hazard of Overfitting

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了非线性分类模型,通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行分类,分析了非线性变换可能会使计算复杂度 ...

最新文章

  1. 安装Live communication server 2005存档服务
  2. DCMTK:类DcmOther64bitVeryLong的测试程序
  3. html多个盒子重叠浮动,如何让浮动后的多个盒子水平居中
  4. 关于多线程的一点感想
  5. 2018年工业机器人销量排位_2020年全球工业机器人现状与竞争情况 中国为全球最大供应国...
  6. SAP UI5 应用开发教程之六 - 了解 SAP UI5 的模块(Module)概念
  7. 测试龙芯 LoongArch .NET之 使用 FastTunnel 做内网穿透远程计算机
  8. “四不像”病毒冒充多款知名软件 窃取电脑隐私
  9. 剩余 大小 查看内存_JVM的内存分配策略以及进入分代的条件
  10. 【Python】logging内置模块基本使用
  11. 信用更正和贷方剩余数量
  12. 尴尬了!迪士尼官方声明:从未与VIPKID有任何层面的业务合作关系
  13. SLAM_信息矩阵协方差矩阵
  14. python实现sip协议_SIP协议的常见命令 - HouWeiGui的个人空间 - OSCHINA - 中文开源技术交流社区...
  15. __stdcall的作用及今天的坑
  16. 随机产生一个五位数以内的数
  17. matlab提取电压基波分量,有源电力滤波器三种基波提取方法的对比分析
  18. 四种最常见路由协议 RIP、IGRP、OSPF和EIGRP。
  19. python并发编程之semaphore(信号量)_python 之 并发编程(守护进程、互斥锁、IPC通信机制)...
  20. 分享通过tensorflow证书考试的经验

热门文章

  1. 含文档+PPT+源码等]精品基于PHP实现的商城电商网站[包运行成功]购物商城计算机毕设项目源码
  2. 内置前放声发射传感器AE144SA40-BNC 变压器局部放电传感器
  3. vhr微人事系统学习-(2)springboot
  4. win10系统还原卡在“你好..”和无法打开这个应用无法使用内置管理员的解决办法
  5. spring架构生成二维码
  6. 友善之臂NanoPC-T3 内核编译 遇到问题
  7. macbook pro链接WiFi成功但是不能上网
  8. 2021.7.15 jzoj题解与反思(2)
  9. 2021-07-15 【普及组】模拟赛C组总结
  10. Android之ActivityManager