knitr::opts_chunk$set(echo = TRUE)
1 前情回顾
Part1一文的主要内容是:如果training examples独立同分布于数据总体,那么当资料
D
足够多(
1. 确保
Ein≈Eout
2. 使得
Ein(g)≈0
如果
M
很小,容易得到
2 M 可以有限吗
先回忆
M
的由来:
在计算Bad Data发生概率时,用union bound取到该概率的上界。但是如果
M
很大,使得不等式右边大于1,那么此时的不等式无意义,概率显然小于1。union bound会高估
2.1 Effective Number Of Lines
以Week2讲的PLA为例,即直线能够分隔两类点。
H=alllinesinR2
,即平面中的所有直线都是hypothesis。
Y={−1,+1}
对于training data的所有
N
个样本,如果
N=1
,直线只有2类:
h(x)=1
或
h(x)=−1
N=2 ,直线只有4类: h(x1)=1,h(x2)=1 或 h(x1)=−1,h(x2)=−1 或 h(x1)=1,h(x2)=−1 或 h(x1)=−1,h(x2)=1
N=3
,直线的种类数和点的排列有关。三个点按照下面方式排列,则直线有8种。
三个点按照下面方式排列,则直线只有6种。
N=4 ,最多有14种直线。
经过上述分析,1个点最多2种线,2个点最多有4种线,3个点最多有8种线,4个点最多有14
(<24)
种线。用
effective(N)
表示线的种类。如果可以满足:
1.
effective(N)
代替
M
2.
那么可以有:
如果 N 足够大,
2.2 Effective Number Of Hypotheses
上一节介绍了线的种类,那么对应的有方程的种类吗?类似的某一种线可以把点二分,如果hypothesis可以把点二分,则称为一个dichotomy。容易知道一个dichotomy至少对应一个hypothesis,一个hypothesis能且只能对应一个dichotomy。那么整个hypothesis set最多可以产生多少dichotomy呢?
定义成长函数:
用成长函数表示整个hypothesis set最多可以产生的dichotomy数目。以下是几种常见的hypothesis set的成长函数:
1. Positive Rays
阈值右方为 o 类,左方为
![positive rays](Picture/Part2/positive rays.png)
2. Positive Intervals
两个阈值之间的为
o
类,阈值之外为
![positive intervals](Picture/Part2/positive intervals.png)
3. Convex Sets
成长函数表示整个hypothesis set最多可以产生的dichotomy数目,该函数的上界为
2N
。任选
k
个点,
![convex sets](Picture/Part2/convex sets.png)
所以上述几种情形下的成长函数分别为:
positive rays
positive intervals
mH(N)=(N+1)N2+1
convex sets dde
mH(N)=2N
2D perceptrons
mH(N)<2Ninsomecases
2.3 Break Points
如果对于
mH(k)<2k
,那么称
k
为是
观察上图猜测成长函数和break point可能存在某种关系:
1. convext sets:没有break point,成长函数为
2N
2. positive rays: break point k=2,成长函数为
O(N)
3. positive intervals:break point k=3,它的成长函数为
O(N2)
4. 类似的猜测2D perceptrons成长函数为
O(Nk−1)
如果成立,那么就可以用
mH
代替
M
,满足了learning能够学习的第一个条件,
3 Summary
Part1中我们把learning分成两个核心问题:
1. 确保
Ein≈Eout
2. 使得
Ein(g)≈0
对于问题1,如果hypothesis set的大小
M
不太大,资料个数
但是Week5并没有讲
mH
可以代替
M
的内在逻辑性,仅仅是假设类似的
4 Ref
[1] http://beader.me/mlnotebook/section2/vc-dimension-one.html
[2] http://blog.csdn.net/red_stone1/article/details/71104654
2018-01-22 于杭州