林轩田机器学习基石笔记5 - Training versus Testing
Recap and Preview
机器学习流程图
第一节课,介绍机器学习是要找到最好的g,使g≈f(目标函数),保证Eout(g)≈0。第二节课,找方法使Ein≈0,如PLA和pocket。第四节课,将Ein(g)和Eout(g)联系起来,Ein(g)≈Eout(g)。
将机器学习分成两个主要问题:
1.Ein(g)和Eout(g)是否足够接近
2.怎么让Ein(g)越小
M:hypothesis set的数量
当M很小的时候,坏事情发生很少,即Ein(g)和Eout(g)是足够接近(问题1)。演算法选择有限,则不一定能找到让Ein(g)≈0的g(问题2)。当M很大的时候,演算法选择很多,更容易选到让Ein(g)≈0的g(问题2)。但是坏事情发生的几率增加,就无法保证Ein(g)和Eout(g)是足够接近(问题1)。
所以选择适合的M是很重要的,不能太大也不能太小。
Effective Number of Line
B代表遇到了不好的事情,将所有的B or,即只要遇到不好的事情就都不好。如果坏事不重叠,最大值就是发生各个坏事的概率相加。当M为无限大的时候,上方不等式右边值会很大,Ein(g)和Eout(g)就不接近。但是BAD events Bm的方式扩大了上界。坏事情是互相叠起来的。直接加,上限就过分大。
要找出不同的BAD events之间的重叠部分,将无限个hypothesis分成有限类。
例子,在平面上用直线将点隔开。如果平面上只有一个点x1,那么只有两条线,一条线使x1是圈,一条线使x1是叉。
如果平面上是2个点,则是4条线。
如果平面上是3个点,则是8条线。
但是,对于有的情况,少于8条线。
如果平面上是4个点,无法找到线分成16个类别,最多只有14条线。
发现,有效直线的数量一定满足≤2N,N为点的数量。用effectiove(N)替换M,霍夫丁不等式可以写成:
而effective(N)≤2N,所以不等式右侧接近0,则Ein(g)和Eout(g)接近。即使有无限多条线,只要可以换成effective(N),机器学习也是有可能的。
Effective Number of Hypotheses
dichotomy,二分,用一条线把点分成两部分(圈圈、叉叉)。hypotheses H对输入空间所有值进行取值,dichotomy H只对n个特定的点取值。h的大小可能是无限的,而d的最大值是2N。能不能用dichotomy set的大小把M换掉?
N代表输入点的个数。mH就是上文提到的有效线的数量。mH(N)称为成长函数,代表在N个点的集合中,某集合的dichotomy最大的值,上界为2N。
计算成长函数:
Positive Rays,有一个门槛值,门槛值左右为+1和-1。N个点把线切成N+1个区域段,则有N+1种dichotomy。远小于2N。
Positive Intervals,对某一个范围内表示+1,范围外是-1。如果两个点不在一段里就是N+1取2端放两个取值点,如果两个取值点放在一段里面则线上点全部都是叉。
Convex Sets,凸的集合里面是+1(blue),凸的集合以外是-1(red)。左侧是Convex,右侧不是Convex。
一种可能的输入,在一个圆上分布x,而所有分类情况都能被hypotheses set覆盖,称作shattered。圆上有几个取﹢点,就用几边形把他们连接起来。所有总能找到一个数据集分布使得hypotheses set对N个输入所有分类情况都能做到。如果找到一个数据分布集,hypotheses set对N个输入所有分类情况都能做到,成长函数就是2N。
Break Point
四种不同的成长函数:
对于positive rays和positive intervals属于polynomial(多项式),当N够大的时候,mH(N)增长的不快,exp下降的快,所有右侧值(坏事发生的几率)越来越小,可能很接近0。convex sets属于exponential(指数式)。mH(N)指数增长exp指数下降,不确保N足够大的时候Ein和Eout就很接近。那么2D perceptrons属于polynomial还是exponential?
对于2D perceptrons,3个点,可以做出8种所有的dichotomy,4个点无法做出所有16个点的dichotomy。那么4就称作break point(5,6,7…同)。只要k个点无法做出所有dichotomy那么k+n个点也无法做出。对于break point,mH(k)<2k。
满足mH(k)≠2k的k的最小值就是break point。四种不同的成长函数的break points:
猜想,break points 可能跟成长函数的成长速度有关。positive rays 的break point 是2,成长速度是O(N)。positive intervals的break point 是3,成长速度是 O(N2)。那么2D perceptrons 的break points 是4,成长速度是不是 O(N3)?
Summary
林轩田机器学习基石笔记5 - Training versus Testing相关推荐
- 林轩田机器学习基石笔记6 - Theory of Generalization
Restriction of Break Point 四个成长函数与break point: 假设一个hypotheses,它的break point是2.那么当N=1的时候可以取到两个dichoto ...
- 林轩田机器学习基石笔记14:Validation
0. 前言 之前的课程讲解了为了避免overfitting,可以使用regularization方法来解决.在之前的EinEinE_{in}上加上一个regularizer,生成EaugEaugE_{ ...
- 林轩田机器学习基石笔记(第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 上节课我们主要介绍了非线性分类模型,通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行分类,分析了非线性变换可能会使计算复杂度 ...
最新文章
- Spring - Java/J2EE Application Framework 应用框架 第 4 章 属性编辑器,数据绑定,校验与BeanWeapper(Bean封装)
- OpenGL 各类库的解析 gl/glu/glut/freeglut/glfw/glew
- 适合oracle运行的软件环境,创建最适合的Oracle运行环境
- c语言在一个文件后面添加数据类型,c语言简单入门之简单运行和数据类型
- Chrome开发者工具详解(4)-Profiles面板
- [转]浅谈CMD和win powershell的区别
- Silverlight与Flash在FF中的一些注意点
- 爬虫神器:一条命令下载《复仇者联盟3:无限战争》
- 【线程】——单例模式
- Scratch:海龟绘图(九)
- HttpClient那些事儿
- RS485使用串口输出最后一个字节固定为FF
- 如何在word2016中使用自带的公式编辑器
- UML核心元素--参与者
- 线上实习 牛刀小试——增删改查
- vue v-modle实现组件之间的动态传值
- 微信小程序getPhoneNumber获取手机号,解决code失效问题
- 基于联合独立成分分析(jICA)的EEG与fMRI耦合与解耦
- QT+OSG/osgEarth编译之四十三:jasper+Qt编译(一套代码、一套框架,跨平台编译,版本:basisjasper-2.0.12)
- 转行成为大数据工程师要怎么做?