林轩田机器学习基石笔记14:Validation
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
留一交叉验证的缺点:
- 计算量:有N个数据,就要计算N次。
- 稳定性:如果是个二分问题,预测本身存在不稳定的因素,结果会存在很大的跳动,稳定性不好。
改进方法:V折交叉验证:讲数据先分成几分,比如N=1000,取V=10,那么数据分成十份、每份数据100个样本。每一份的误差为其中样本的平均误差,最终结果为每一份的平均误差。这么处理之后,有更强的稳定性且计算量减少了10倍。
5. 总结
这一节课主要讲解了Validation方法,即讲样本分为训练样本和测试样本。比较了留一交叉验证和V-折交叉验证方法,其中V-折交叉验证是最常用的验证方法。
林轩田机器学习基石笔记14:Validation相关推荐
- 林轩田机器学习基石笔记5 - Training versus Testing
Recap and Preview 机器学习流程图 第一节课,介绍机器学习是要找到最好的g,使g≈f(目标函数),保证Eout(g)≈0.第二节课,找方法使Ein≈0,如PLA和pocket.第四节课 ...
- 林轩田机器学习基石笔记6 - Theory of Generalization
Restriction of Break Point 四个成长函数与break point: 假设一个hypotheses,它的break point是2.那么当N=1的时候可以取到两个dichoto ...
- 林轩田机器学习基石笔记(第6节)
第5节主要介绍了机器学习与统计学之间的关系,不用做太多了解,所以也可以跳过,直接进入本节. 今天主要学习的问题就是如何让机器解决是非题,仍然以银行发信用卡为例,就是根据客户提交的资料去判断要不要给该客 ...
- 林轩田机器学习基石笔记(第10-13节)——机器学习的分类
第10节主要讲到了多元分类(Multiclass Classification)的概念. 第11节主要简单介绍了监督学习(Supervised).非监督学习(Unsupervised).半监督学习(S ...
- 林轩田机器学习基石笔记3:机器学习分类
笔者正处于学习阶段,任何问题欢迎指正. 0. 前言 机器学习通过样本输出维度,输入维度,学习方法等可以分成许多类别,这篇文章主要屡一下这些关系,首先看一下我做的思维导图,下面我会对每一种类别进行介绍. ...
- 林轩田机器学习基石笔记3—Types of Learning
上节课我们主要介绍了解决线性分类问题的一个简单的方法:PLA.PLA能够在平面中选择一条直线将样本数据完全正确分类.而对于线性不可分的情况,可以使用Pocket Algorithm来处理.本节课将主要 ...
- 林轩田机器学习基石笔记(第23-24节)——上限函数Bounding Function
本节我们讨论上限函数,所谓的上限函数就是,成长函数露出Break Point的点.只要我们知道了该点的值,就可以知道Hypothesis Set最多可以画多少条Dichotomy. 第20节的时候我们 ...
- 林轩田机器学习基石笔记2 - Learning to Answer Yes/No
Perceptron Hypothesis Set 感知器,一个具体的例子:评定要不要给用户信用卡,给(y=+1),不给(y = -1) xi:维度 wi:权重 threshold:阈值 简化符号,将 ...
- 台湾大学林轩田机器学习基石课程学习笔记13 -- Hazard of Overfitting
红色石头的个人网站:redstonewill.com 上节课我们主要介绍了非线性分类模型,通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行分类,分析了非线性变换可能会使计算复杂度 ...
最新文章
- VSCode中experimentalDecorators设置问题
- 【设计模式】软件设计七大原则 ( 里氏替换原则 | 定义 | 定义扩展 | 引申 | 意义 | 优点 )
- Prototype Pattern(原型模式)
- 起底商汤校招需求TOP 10岗位 | 智慧城市事业群空宣来了~~
- word java api,是否有可以创建丰富Word文档的Java API?
- phpExcel与jq的ajax
- python wmi antivirusproduct_使用python的wmi进行远程连接的时候报错
- Linux命令参数详细解析 mv
- 前端路由: hash history 模式
- MySQL内核月报 2015.02-MySQL · 答疑释惑· InnoDB丢失自增值
- Windows游戏编程大师技巧笔记(一些基础)
- ORACLE数据库新增表空间的数据存储文件
- 大学英语综合教程二 Unit 7 课文内容英译中 中英翻译
- android 电视 vob格式转换,vob格式转换器免费版|闪电vob格式转换器 v9.7.0 免费版 - 软件下载 - 绿茶软件园|33LC.com...
- android七牛云存储,使用七牛云存储上传android本地视频并播放
- STM32F103C8T6引脚图
- matlab中psf2otf作用,Matlab中psf2otf()函数在opencv中的实现
- 大数据技术领域介绍及学习方法和发展规划
- 信号发送,槽函数执行,过程中传递的是对象的引用,涉及的拷贝操作
- 按键精灵脚本笔记 鼠标按直线轨迹移动
热门文章
- python-数据成员
- 蒙特卡洛方法——高斯分布
- 谷歌最新抠图算法:让背景虚化细节到头发丝!有单反的感觉了...
- 【Python】zip、reversed、sorted函数及用法
- python头像动漫化_Python头像动漫化,快来生成一个自己的动漫头像吧
- 手机网站开发及手机中图片加速显示img的Canvas方法
- 国家信息中心周民:解读大数据纲要
- 单片机•嵌入式单片机控制技术•CPLD/FPGA技术自动化控制技术教学
- 树莓派c语言cpu温度,读取树莓派4B处理器(CPU)的实时温度
- golang管道chan