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. VSCode中experimentalDecorators设置问题
  2. 【设计模式】软件设计七大原则 ( 里氏替换原则 | 定义 | 定义扩展 | 引申 | 意义 | 优点 )
  3. Prototype Pattern(原型模式)
  4. 起底商汤校招需求TOP 10岗位 | 智慧城市事业群空宣来了~~
  5. word java api,是否有可以创建丰富Word文档的Java API?
  6. phpExcel与jq的ajax
  7. python wmi antivirusproduct_使用python的wmi进行远程连接的时候报错
  8. Linux命令参数详细解析 mv
  9. 前端路由: hash history 模式
  10. MySQL内核月报 2015.02-MySQL · 答疑释惑· InnoDB丢失自增值
  11. Windows游戏编程大师技巧笔记(一些基础)
  12. ORACLE数据库新增表空间的数据存储文件
  13. 大学英语综合教程二 Unit 7 课文内容英译中 中英翻译
  14. android 电视 vob格式转换,vob格式转换器免费版|闪电vob格式转换器 v9.7.0 免费版 - 软件下载 - 绿茶软件园|33LC.com...
  15. android七牛云存储,使用七牛云存储上传android本地视频并播放
  16. STM32F103C8T6引脚图
  17. matlab中psf2otf作用,Matlab中psf2otf()函数在opencv中的实现
  18. 大数据技术领域介绍及学习方法和发展规划
  19. 信号发送,槽函数执行,过程中传递的是对象的引用,涉及的拷贝操作
  20. 按键精灵脚本笔记 鼠标按直线轨迹移动

热门文章

  1. python-数据成员
  2. 蒙特卡洛方法——高斯分布
  3. 谷歌最新抠图算法:让背景虚化细节到头发丝!有单反的感觉了...
  4. 【Python】zip、reversed、sorted函数及用法
  5. python头像动漫化_Python头像动漫化,快来生成一个自己的动漫头像吧
  6. 手机网站开发及手机中图片加速显示img的Canvas方法
  7. 国家信息中心周民:解读大数据纲要
  8. 单片机•嵌入式单片机控制技术•CPLD/FPGA技术自动化控制技术教学
  9. 树莓派c语言cpu温度,读取树莓派4B处理器(CPU)的实时温度
  10. golang管道chan