台湾国立大学机器学习基石.听课笔记(第五讲): 训练和测试有什么不同
来源:互联网 发布:淘宝主图用什么背景 编辑:程序博客网 时间:2024/05/12 04:42
Lecture 5: Training versus Testing
一、Recap and Preview(复习和预览)
基于统计的学习流程:
- ---》如果备选函数集的大小|H|=M,M有限,训练数据量N足够大,则对于学习算法A选择的任意备选函数h,都有 E-out(h)≈E-in(h)
- ---》如果A找到了一个备选函数,使得E-in(h)≈0,则有很大概率E-out(h)≈0 ---》学习是可能的
可以讲,机器学习有两个核心问题:
- 我们能否保证E-out(h)与E-in(h)足够接近?
- 我们能否使E-in(h)足够小?
对于M→∞的情况,能否把它reduce到有限,是这一讲将要讨论的问题。
最重要的是公式:
(1) 假设空间H有限(M),且训练数据足够大,则可以保证测试错误率Eout 约等于训练错误率Ein;
(2)如果能得到Ein 接近于零,根据(1),Eout 趋向于零。
以上两条保证的学习的可能性。
可知,假设空间H 的大小M 至关重要,我们接下来会力求找一个H 大小的上界。
M存在重要的trade-off 思想:
(1)当M 很小,那么坏数据出现的概率非常小(见第四讲分析),学习是有效的;但是由于假设空间过小,我们不一定能找到一个方案,可以使训练误差接近零;
(2)反之,若M 很大,坏数据出现的概率会变大。
若假设空间无限大(比如感知机),学习一定是无效的吗?这门在下面力图回答这个问题。
假设空间H 大小:M.根据上面的公式,当M 无限大时是无法有效学习的;主要是我们在计算M 是通过UNION BOUND 的方式,这样得到的上界太宽松了;实际上,由于不同假设下发生坏事情是有很多重叠的,其实我们可以得到比M小得多的上界。
二、Effective Number of Lines(有效线的数量)
回顾一下霍夫丁不等式的推导:在训练数据集D上,有一个不好的备选函数h使得
只要有一个h不好,就可以认为这个H与D的搭配是不好的
为了让A能够自由选择,我们要求这个坏事件的发生概率必须小于某一个可以接受的值,考虑最坏的情况,利用Union Bound 获得上述概率的上限
这里Union Bound所代表的情况只有在M个事件没有交集的时候才发生。因此Union Bound过于高估了坏事件发生概率的上限。
具体来说,假如有两个相似的备选函数h1≈h2 ,则h1与h2在D上几乎是同好或同坏的,或曰B1与B2高度相关,P[B1]与P[B2]可以合并,但Union Bound却将他们相加了。解决过分估计的问题,可以将备选函数集分类,相似的函数分在一起。以二元分类问题为例,备选函数集为:
其中有无数条线。
1). 当只有一个输入时,这些线可以被分成两类(第一类,输出为○;第二类,输出为×。)。
2).输入变成2个,显然有4种划分。
3). 输入变成3个,可以有8种划分。
也可能只有6种。
此时3个输入共线。所以3个输入情况下最多8种划分;
4). 输入变成4个,最多14种划分。
综上,N个输入下线性划分的最大个数即线性划分有效数(Effective Number of Lines),这里可以理解成有效划分。由于是二分类问题,线性划分有效数一定 ≤ 2^N,我们希望:
1. 用线性划分有效数代替M,从而将无限reduce到有限;
2. 线性划分有效数 << 2^N,从而坏事件的发生概率上限不至于随着N的增大而指数增长。
三、Effective Number of Hypotheses(假设函数的有效值)
备选函数集中的每一个函数h都是输入X到输出Y的一个映射:
就包括了所有对D的dichotomies()。
定义成长函数(Growth Function)为:
即成长函数是在N个输入上dichotomies的最大数量。举个例子,平面二元分类,输入为3时,如果3个点共线,有6个划分,如果3个点不共线也不重合,有8个划分,所以此时成长函数值为8。
========================================================================
Positive Ray
输入(x1,x2,...,xN)分布在实数轴上,确定一个分割点a,大于a的输出+1,小于a的输出-1。
显然,有N个输入,实数轴被分成N+1段,Positive Ray的成长函数为
此时N+1 << 2^N (N is large)。
========================================================================
Positive Interval
输入(x1,x2,...,xN)分布在实数轴上,确定一个范围[ l, r ),在范围内的输出+1,其他输出-1。
N个输入,实数轴被分成N+1段,从其中任选两段构成一个interval,或两端落在同一段中,Positive Interval的成长函数为
========================================================================
Convex Set - 凸集
顾名思义,划分区域必须是凸的。左图蓝色区域是凸集,右图则不是。
凸集的成长函数长什么样?
假设N个输入(x1, x2, ..., xN)在2维空间中刚好位于一个圆上,给定任意一种dichotomy,总能找出一个凸集刚好包含了所有+1的点,并将-1的点排斥在外。
的上限,从而不必关心N个输入不在一个圆上的情况。我们可以说:
在霍夫丁不等式中,用成长函数代替M:
如果成长函数是指数函数,则随着N的增大,概率上限也急剧增加,所以我们希望成长函数是多项式。
回顾下上一小节的4个成长函数:
Positive Ray和Positive Interval的成长函数是多项式,而Convex Set的成长函数是指数函数。那2D-PLA的成长函数是多项式吗?
为了回答这个问题,引入一个新概念 - Break Point。
定义:第一次出现m_H(k) < 2^k的点。
有k个输入,如果它不能被当前的备选函数集H shatter,那么k就是H的一个Break Point。
或者说对于任意k个输入,H都无法穷尽所有可能的划分。
这里讨论的Break Point指的是minimum break point k,也就是第一个被shatter的N。
对于2D-PLA,break point k = 4。
而Break Point 与成长函数的成长性到底有什么关系?
首先我们能确定,对于二元分类问题,如果一个H没有break point,给定任意N,一定能找到N个输入,H能穷尽它的所有划分,此时:
如果 break point = k 从上图可以猜测:
如果猜测成立,那么只要N足够大,训练结果的正确性就有保障了~~~
- 台湾国立大学机器学习基石.听课笔记(第五讲): 训练和测试有什么不同
- 听课笔记(第五讲): 学习的可行性分析(一些概念和思想) (台湾国立大学机器学习基石)
- 听课笔记(第三讲): 机器学习的分类学 (台湾国立大学机器学习基石)
- 台湾国立大学机器学习基石.听课笔记(第三讲): 机器学习的分类
- 台湾国立大学机器学习基石.听课笔记(第四讲): 机器学习的可行性
- 台湾国立大学机器学习基石.听课笔记(第四讲): 机器学习的可行性
- 听课笔记(第四讲):学习的可行性分析 (台湾国立大学机器学习基石)
- 听课笔记(第二讲): Perceptron-感知机 (台湾国立大学机器学习基石)
- 台湾国立大学机器学习基石.听课笔记(第六讲): 一般化(举一反三)的理论
- 听课笔记(第二讲): Perceptron-感知机 (台湾国立大学机器学习基石)
- 听课笔记(第一讲):台湾国立大学的《机器学习基石》(Coursera 版)
- 台湾国立大学机器学习基石.听课笔记(第七讲):The VC Dimension
- 台湾国立大学机器学习基石.听课笔记(第八讲):Noise and Error
- 台湾国立大学机器学习基石.听课笔记(第九讲):Linear Regression
- 台湾国立大学机器学习基石.听课笔记(第十讲):Logistic Regression
- 台湾国立大学机器学习基石.听课笔记(第十一讲):Linear Models of Classification
- 台湾国立大学机器学习基石.听课笔记(第十二讲):Nonlinear Transformation
- 台湾国立大学机器学习基石.听课笔记(第十四讲):Regularization
- Setup CCStudio v3.3中添加TMS320F28035
- dynamic_cast详解
- android studio 升级后报错
- spring 架包的说明
- 华为是怎样研发的(16)——新员工培养
- 台湾国立大学机器学习基石.听课笔记(第五讲): 训练和测试有什么不同
- 【暑期基础】J HDU 2009 求数列的和
- 欢迎使用CSDN-markdown编辑器
- 基于Eclipse Luna Service Release 2 (4.4.2)的Gradle配置
- 南阳oj106 背包问题
- hdu5328
- Qt中QScrollArea的使用
- 向上汇总
- windows操作系统