上一次我们介绍了通过
Symmetrimization 的方法进行变形 ,从而得到了如下形式的不等式:
P ( sup f ∈ F ( E ( f ) − E N ( f ) ) > ϵ ) ≤ 2 P ( sup f ∈ F ( E N ∗ ( f ) − E N ( f ) ) > ϵ 2 )
P\left( \sup_{f\in\mathcal{F}} (E(f)- E_N(f)) > \epsilon \right) \leq 2P\left( \sup_{f\in\mathcal{F}} (E^*_N(f)- E_N(f)) > \frac{\epsilon}{2} \right)
P ( f ∈ F sup ( E ( f ) − E N ( f )) > ϵ ) ≤ 2 P ( f ∈ F sup ( E N ∗ ( f ) − E N ( f )) > 2 ϵ )
其中左边是我们感兴趣(希望 bound
住)的量,我们已经成功地把它转化为右边从某种意义上来说“有限”的量,本文中我们就要来对右边的部分进行分析,得到它的一个上界,从而回答我们最开始提出的“Can
we learn?”的问题。
于是让我们把注意力集中到不等式的右边。首先我们注意到那个看起来很恐怖的对
f ∈ F f\in\mathcal{F} f ∈ F
的上确界,其实等价于在一个有限的集合上求上确界,这个集合就是
F \mathcal{F} F
到
{ z i } i = 1 N \{z_i\}_{i=1}^N { z i } i = 1 N
和
{ z i ∗ } i = 1 N \{z_i^*\}_{i=1}^N { z i ∗ } i = 1 N
上的投影:
F ( z 1 , … , z N , z 1 ∗ , … , z N ∗ ) = { ( f ( z 1 ) , … , f ( z N ) , f ( z 1 ∗ ) , … , f ( z N ∗ ) ∣ f ∈ F }
\mathcal{F}(z_1,\ldots,z_N,z_1^*,\ldots,z_N^*) = \{(f(z_1),\ldots,f(z_N),f(z_1^*),\ldots,f(z_N^*)|f\in\mathcal{F}\}
F ( z 1 , … , z N , z 1 ∗ , … , z N ∗ ) = {( f ( z 1 ) , … , f ( z N ) , f ( z 1 ∗ ) , … , f ( z N ∗ ) ∣ f ∈ F }
这是由
2 N 2N 2 N
维 binary 向量构成的集合,显然它的元素个数不超过
2 2 N 2^{2N} 2 2 N ,于是我们可以简单地用
Union Bound 来进行处理。为了符号上的方便,以下我们将
F ( z 1 , … , z N , z 1 ∗ , … , z N ∗ ) \mathcal{F}(z_1,\ldots,z_N,z_1^*,\ldots,z_N^*) F ( z 1 , … , z N , z 1 ∗ , … , z N ∗ )
简单记作
F P \mathcal{F}^P F P
(表示 P roject 到数据上的 loss class)。
P ( sup f ∈ F ( E N ∗ ( f ) − E N ( f ) ) > ϵ 2 ) ≤ ∣ F P ∣ P ( E N ∗ ( f ) − E N ( f ) > ϵ 2 ) ≤ 2 2 N e − ϵ 2 N / 2 = exp ( ( 2 log 2 − ϵ 2 2 ) N ) (1)
\begin{aligned}
P\left( \sup_{f\in\mathcal{F}} (E^*_N(f)- E_N(f)) > \frac{\epsilon}{2} \right) &\leq \color{red}{|\mathcal{F}^P|} \color{blue}{P(E^*_N(f)- E_N(f) > \frac{\epsilon}{2})} \\
&\leq \color{red}{2^{2N}} \color{blue}{e^{-\epsilon^2 N/2}} \\
&= \exp\left( \left(2\log 2-\frac{\epsilon^2}{2}\right) N \right)
\end{aligned}
\label{361f81d3e765e12b85ede74609e8b3aa7771684d}\tag{1}
P ( f ∈ F sup ( E N ∗ ( f ) − E N ( f )) > 2 ϵ ) ≤ ∣ F P ∣ P ( E N ∗ ( f ) − E N ( f ) > 2 ϵ ) ≤ 2 2 N e − ϵ 2 N /2 = exp ( ( 2 log 2 − 2 ϵ 2 ) N ) ( 1 )
其中红色的部分是用
F P \mathcal{F}^P F P
的元素个数的最简单的上界来实现的,而蓝色的部分则是直接套用最普通的(针对单个固定
f f f
的)Hoeffding 不等式。最后看起来似乎是得到了一个上界,比起直接在
F \mathcal{F} F
上用 Union Bound 得到
∞ \infty ∞
是进了一步,但是其实这个上界仍然不太有用。
因为
2 log 2 ≈ 1.39 2\log 2\approx 1.39 2 log 2 ≈ 1.39 ,几乎任何一个合理的(比如说,小于
1 1 1
的)ϵ \epsilon ϵ
都会让我们的上界的指数部分是正数,从而随着
N N N
的增长迅速膨胀。也就是说,数据点越多我们的上界反而越差。再看一个极端情况,当
N = 0 N=0 N = 0
的时候我们差不多能得到一个最好的上界,那就是
e 0 = 1 e^0=1 e 0 = 1 ,不过,这仍然是毫无意义的,因为任何一个概率值本来就是
≤ 1 \leq 1 ≤ 1
的呀。
让我们来稍微做一下反思:首先 Heoffding
不等式给我们带来了一个指数形式的上界,并且指数部分是随着
N N N
增大负增长的,这是很好的:只要让
N N N
增加,很快就能得到很好的上界数值。但是我们用了 Union Bound
之后,在前面乘上了一个系数,虽然这个系数是有限数,但是比较不幸的是它也是一个指数函数,并且指数部分随着
N N N
正增长。这样一来就把 Hoeffding
不等式给我们带来的好处一点不剩地抵消掉了。为了解决这个问题,我们希望前面乘的系数能小一点,这也并不是完全没有希望的,因为我们乘的是
2 2 N 2^{2N} 2 2 N ,这是
F P \mathcal{F}^P F P
所可能拥有的最多的元素个数,而如果它所拥有的实际元素个数比这个少的话,我们就有希望了!
接下来我们就来分析
F P \mathcal{F}^P F P
的元素个数。这里我们先抛开之前的种种概念,来将问题抽象一下,顺便重新整理一下记号。首先我们有一个集合
Z \mathcal{Z} Z ,以及一个
binary 函数的集合
F ⊂ { 0 , 1 } Z \mathcal{F}\subset \{0,1\}^\mathcal{Z} F ⊂ { 0 , 1 } Z ,在这里的分析中我们不需要
Z \mathcal{Z} Z
上有什么概率测度之类的。为了记号上方便,我们将
{ z i } i = 1 N \{z_i\}_{i=1}^N { z i } i = 1 N
简记为
z 1 : N z_{1:N} z 1 : N 。F \mathcal{F} F
到
z 1 : N z_{1:N} z 1 : N
上的投影
F ( z 1 : N ) \mathcal{F}(z_{1:N}) F ( z 1 : N )
的定义仍然和原来一样的,是由一些
N N N
维 binary 向量组成的集合。
显然
F ( z 1 : N ) \mathcal{F}(z_{1:N}) F ( z 1 : N )
的元素个数同时依赖于
F \mathcal{F} F
和
z 1 : N z_{1:N} z 1 : N
的选取。例如,我们令
Z = R 2 \mathcal{Z}=\mathbb{R}^2 Z = R 2 ,并任意选取两个不重合的点
z 1 z_1 z 1
和
z 2 z_2 z 2 。如果
F \mathcal{F} F
是所有 Positive Rays
构成的集合,那么
F ( z 1 , z 2 ) = { ( 0 , 0 ) , ( 1 , 1 ) , ( 0 , 1 ) }
\mathcal{F}(z_1,z_2) = \{(0,0), (1,1), (0,1)\}
F ( z 1 , z 2 ) = {( 0 , 0 ) , ( 1 , 1 ) , ( 0 , 1 )}
也就是说,此时
∣ F ( z 1 , z 2 ) ∣ = 3 |\mathcal{F}(z_1,z_2)|=3 ∣ F ( z 1 , z 2 ) ∣ = 3 ,严格小于
2 2 = 4 2^2=4 2 2 = 4 ,如图
(fig:
1) 所示。但是如果将
F \mathcal{F} F
换成 Positive
Intervals,很容易知道我们将能够得到所有的四种可能的元素,我就不专门画图了。
像这种对于一个
F \mathcal{F} F
和一个数据点集合
z 1 : N z_{1:N} z 1 : N ,如果
F \mathcal{F} F
投影到
z 1 : N z_{1:N} z 1 : N
上能参生所有可能的 binary 向量,换句话说,如果
∣ F ( z 1 : N ) ∣ = 2 N |\mathcal{F}(z_{1:N})|=2^N ∣ F ( z 1 : N ) ∣ = 2 N
的话,我们称
F \mathcal{F} F
shatters
z 1 : N z_{1:N} z 1 : N 。所以,Positive
Intervals 可以 shatter 刚才的两个点,而 Positive Rays 却不行。
直观上来看,Positive Intervals 比 Positive Rays 更复杂(比如说,每个
positive interval 比 positive ray
的参数要多一个),所以投影到同样的两个点上之后,前者能产生更多的 binary
向量。回忆一下我们开始这些分析的初衷:2 N 2^N 2 N
这个系数乘到 Hoeffding
不等式的上界前面太大了,因此我们希望找到投影之后的元素(严格)小于
2 N 2^N 2 N
的情况。从这里的两个例子我们也可以大概看到一些端倪:如果
F \mathcal{F} F
很复杂,能 shatter
给定的数据集的话,情况似乎就很悲观,但是如果我们选用简单一些的
F \mathcal{F} F ,好像就有希望了。所以接下来让我们再接再厉,将这里的“简单”和“复杂”这两个模糊的概念严格地刻画出来。
刚才我们说过了,∣ F ( z 1 : N ) ∣ |\mathcal{F}(z_{1:N})| ∣ F ( z 1 : N ) ∣
同时依赖于
F \mathcal{F} F
和
z 1 : N z_{1:N} z 1 : N ,我们刚才的例子已经说明了在
z 1 : N z_{1:N} z 1 : N
一样的情况下,不同的
F \mathcal{F} F
会得到不同的结果。下面我们再来举例说明一下在固定
F \mathcal{F} F
的情况下,不同的数据点选取也会得到不同的结果。这次我们令
Z = R 2 \mathcal{Z}=\mathbb{R}^2 Z = R 2 ,而
F \mathcal{F} F
则使用 Positive Rectangles,和 Positive Interval 类似的,落在给定的
rectangle 内的点取值为
1 1 1 ,而外面的点取值为
0 0 0 。特别地,我们只考虑和坐标轴对齐的那种矩形,因此它可以由左上角和右下角的二维坐标这四个参数来确定。顺带一提,任意一个
f ∈ F f\in\mathcal{F} f ∈ F
带入
z 1 : N z_{1:N} z 1 : N
产生的这个 binary vector 通常称为一个 dichotomy。
在图
(fig:
2) 中我们展示了两种 layout,都取
N = 4 N=4 N = 4 ,Layout
1 是可以被 shatter
的,虽然图中只画出了一种情况,但是剩下的情况也可以很容易给出。但是对于
Layout 2,也就是有某一个点处于其他三个点的 convex hull
内部的时候,就不好办了,当外围三个点都取值
1 1 1
的情况下,内部那个点由于被包围在 rectangle 之内,所以肯定也是取
1 1 1
而无法取到
0 0 0 ,所以至少有一种
dichotomy 是无法实现的,于是在这种 layout 下 Positive Rectangles 无法
shatter 这四个点。
由于在学习问题中我们通常是无法控制训练数据点的选取的,所以为了能应付所有情况,我们必须最“悲观”地来考虑
F \mathcal{F} F
是否能 shatter 某
N N N
个点的数据集这件事。
1
定义 1 (Growth
Function) . 对于给定的正整数
N N N
和函数空间
F \mathcal{F} F ,growth
function
S F ( N ) S_\mathcal{F}(N) S F ( N )
的值定义为所有
N N N
个数据点的 layout 中
F \mathcal{F} F
能产生的最多的 dichotomy 数:
S F ( N ) = sup z 1 : N ∣ F ( z 1 : N ) ∣
S_\mathcal{F}(N) = \sup_{z_{1:N}} |\mathcal{F}(z_{1:N})|
S F ( N ) = z 1 : N sup ∣ F ( z 1 : N ) ∣
如果
F \mathcal{F} F
shatters
z 1 : N z_{1:N} z 1 : N ,那么必定有
S F ( N ) = 2 N S_\mathcal{F}(N)=2^N S F ( N ) = 2 N ;反过来,如果
S F ( N ) = 2 N S_\mathcal{F}(N)=2^N S F ( N ) = 2 N ,那么肯定至少存在一组
N N N
个点的数据
z 1 : N z_{1:N} z 1 : N ,使得
F \mathcal{F} F
可以 shatter
z 1 : N z_{1:N} z 1 : N ,但是我们却不能保证所有
N N N
个点的数据都能被 shatter。例如,对于刚才的 Positive Rectangles
而言,因为我们给出了 Layout 1 中的 4 个点是可以被 shatter
的,所以
S F ( 4 ) = 2 4 S_\mathcal{F}(4)=2^4 S F ( 4 ) = 2 4 ,但是即便如此,仍然存在像
Layout 2 这样的不能被 shatter 的 4 个点的情况。
这里很容易造成混淆,注意仔细理解一下我们“悲观”的意思:因为我们不希望
z 1 : N z_{1:N} z 1 : N
被 shatter,那样的话表示
F \mathcal{F} F
很复杂,难以得到合理的上界,只要任意的一组
z 1 : N z_{1:N} z 1 : N
被 shatter 了,那我们就“悲剧”了。
回到 Positive Rectangles,我们来看一下
S F ( 5 ) S_\mathcal{F}(5) S F ( 5 ) 。如果想要证明
S F ( 5 ) = 2 5 S_\mathcal{F}(5)=2^5 S F ( 5 ) = 2 5
的话,只要找到任意一组 5 个点的数据能被 shatter 就可以了,但是如果要证明
S F ( 5 ) < 2 5 S_\mathcal{F}(5) < 2^5 S F ( 5 ) < 2 5 ,则必须证明任意的
5 个点的数据集都无法被 shatter,这一般是要更加困难一些。不过对于
Positive Rectangles 来说也还是比较简单的。对于平面上的任意 5
个点,我们可以分为两种情况来考虑。
第一种情况是其中至少有两个点位于和某一条坐标轴平行的上。记住我们这里处理的是和坐标轴对齐的矩形,所以对于这种情况,如果给共线的这两点分别标上
0 0 0
和
1 1 1 ,那么这种
dichotomy
显然是无法实现的,因为这两点要么同时位于矩形内部,要么同时位于外部。
第二种情况是不存在共线于坐标轴平行线的两点,此时最上面、最下面、最左面和最右面都必定由一个不同的点占据,而剩下的一个点位于他们“中间”,如果给这个点标上
0 0 0 ,而外围的点标上
1 1 1 ,这种
dichotomy 也无法由 Positive Rectangles 实现。
两种情况合起来,我们就证明了任意 5 个点的数据集都无法被 Positive
Rectangles 所 shatter,所以
S F ( 5 ) < 2 5 S_\mathcal{F}(5)<2^5 S F ( 5 ) < 2 5 。此外很容易知道,对于某个
F \mathcal{F} F ,如果存在
N 0 N_0 N 0 ,使得
S F ( N 0 ) < 2 N 0 S_\mathcal{F}(N_0)<2^{N_0} S F ( N 0 ) < 2 N 0 ,那么对任意的
N ′ > N 0 N'>N_0 N ′ > N 0 ,肯定也有
S F ( N ′ ) < 2 N ′ S_\mathcal{F}(N')<2^{N'} S F ( N ′ ) < 2 N ′ 。在课上这些使得
S F ( N ) < 2 N S_\mathcal{F}(N)<2^{N} S F ( N ) < 2 N
的
N N N
被称作 break
point ,不过我们这里要定义一个更重要(或者至少是更出名^_^bbb)的量,也就是本文的标题。
2
定义 2 (Vapnik–Chervonenkis
Dimension) .
F \mathcal{F} F
的 Vapnik–Chervonenkis Dimension,简称 VC Dimension,记作
d F d_\mathcal{F} d F ,是最大的满足如下条件的整数
N N N
S F ( N ) = 2 N
S_\mathcal{F}(N) = 2^N
S F ( N ) = 2 N
如果不存在这样的整数,我们记
d F = ∞ d_\mathcal{F}=\infty d F = ∞ 。
显然所有大于
d F d_\mathcal{F} d F
的整数都是
F \mathcal{F} F
的 break point。VC 维的重要性在于它刻画了
F \mathcal{F} F
的“复杂度”,这一点我们在这个 VC Theory 系列的一开始 就提到了:如果
F \mathcal{F} F
的 VC 维是有限的,那么在我们的设定下的问题就是 Learnable
的。不过,严格的证明还需要一些工作量,所以我们先来直观地感觉一下。简单来说,我们可以说
F \mathcal{F} F
的 shatter 能力止于
d F d_\mathcal{F} d F :所有个数多于
d F d_\mathcal{F} d F
的数据集
F \mathcal{F} F
都无法将其
shatter,也就是说,当数据点的个数大于
d F d_\mathcal{F} d F
的时候,我们就可以在 Hoeffding 不等式的前面乘上一个比
2 N 2^N 2 N
更 nice 的系数了。
根据我们刚才的计算,Positive Rectangles 的 VC 维应该是
4 4 4 ,碰巧每个
positive rectangle 也是由 4
个参数所确定,这两者之间是不是有什么联系呢?遗憾的是,两者之间并没有什么必然联系,Yaser
教授在课上举过一个把一堆
perceptron 串起来的例子,冗余参数的个数可以被堆到任意多个,但是它的 VC
维却永远和一个 perceptron 的 VC
维相等的;反过来的例子也有,例如这样的单参数函数集合
{ sign ( sin ( t z ) ) ∣ t ∈ R }
\{\text{sign}(\sin(tz))|t\in\mathbb{R}\}
{ sign ( sin ( t z )) ∣ t ∈ R }
它的 VC 维却是
∞ \infty ∞ 。
我们知道当
N > d F N>d_\mathcal{F} N > d F
的时候,可以得到比
2 N 2^N 2 N
更好的系数,但是具体是多少呢?当然形式上表示就是
S F ( N ) S_\mathcal{F}(N) S F ( N ) ,不过这个具体数值的计算有点略复杂,课堂上
Yaser
教授举过几个例子,我们也见识过了,既然直接计算是不可行的,那么我们就来寻求一个上界吧,当然这个上界必须要比
2 N 2^N 2 N
要小,否则就毫无意义了。幸运的是,这里确实存在一个非常好的上界。
1
定理 1 (Vapnik and
Chervonenkis, Sauer, Shelah) . 设
F \mathcal{F} F
的 VC 维
d F < ∞ d_\mathcal{F}<\infty d F < ∞ ,则对任意正整数
N N N ,我们有
S F ( N ) ≤ ∑ i = 0 d F ( N i )
S_\mathcal{F}(N)\leq \sum_{i=0}^{d_\mathcal{F}}\binom{N}{i}
S F ( N ) ≤ i = 0 ∑ d F ( i N )
于是,对于
N ≤ d F N\leq d_\mathcal{F} N ≤ d F ,S F ( N ) = 2 N S_\mathcal{F}(N)=2^N S F ( N ) = 2 N ,而当
N > d F N>d_\mathcal{F} N > d F
时:
( d F N ) d F S F ( N ) ≤ ( d F N ) d F ∑ i = 0 d F ( N i ) ≤ ∑ i = 0 d F ( d F N ) i ( N i ) b/c. d F N < 1 ≤ ∑ i = 0 N ( d F N ) i ( N i ) = ( 1 + d F N ) N ≤ e d F
\begin{aligned}
\left(\frac{d_\mathcal{F}}{N}\right)^{d_\mathcal{F}} S_\mathcal{F}(N) &\leq \left(\frac{d_\mathcal{F}}{N}\right)^{d_\mathcal{F}}\sum_{i=0}^{d_\mathcal{F}}\binom{N}{i} & \\
&\leq \sum_{i=0}^{d_\mathcal{F}} \left(\frac{d_\mathcal{F}}{N}\right)^i \binom{N}{i} &\text{b/c. } \frac{d_\mathcal{F}}{N}< 1 \\
&\leq \sum_{i=0}^{N} \left(\frac{d_\mathcal{F}}{N}\right)^i \binom{N}{i} & \\
&= \left(1+\frac{d_\mathcal{F}}{N}\right)^N &\\
&\leq e^{d_\mathcal{F}} &
\end{aligned}
( N d F ) d F S F ( N ) ≤ ( N d F ) d F i = 0 ∑ d F ( i N ) ≤ i = 0 ∑ d F ( N d F ) i ( i N ) ≤ i = 0 ∑ N ( N d F ) i ( i N ) = ( 1 + N d F ) N ≤ e d F b/c. N d F < 1
将左边的系数除到右边,得到:
S F ( N ) ≤ ( e N d F ) d F (2)
S_\mathcal{F}(N) \leq \left(\frac{eN}{d_\mathcal{F}}\right)^{d_\mathcal{F}}
\label{04f06881a862fc165e19427c1be7d8cf549ac23a}\tag{2}
S F ( N ) ≤ ( d F e N ) d F ( 2 )
也就是说,S F ( N ) S_\mathcal{F}(N) S F ( N )
被一个关于
N N N
的
d F d_\mathcal{F} d F
次多项式给 bound
住了。从指数函数到多项式函数不得不说是一次大跃进,因为多项式函数的增长速度和指数函数的增长速度是没法比的。于是我们迫不及待地对
(eq:
1) 进行修正。
注意原来的式子中我们处理的是一份数据加上一份 Ghost
Sample,所以总数目是
2 N 2N 2 N ,当
d F d_\mathcal{F} d F
有限并且
2 N > d F 2N > d_\mathcal{F} 2 N > d F
时,我们得到:
P ( sup f ∈ F ( E N ∗ ( f ) − E N ( f ) ) > ϵ 2 ) ≤ S F ( 2 N ) e − ϵ 2 N / 2 ≤ ( 2 e N d F ) d F e − ϵ 2 N / 2
\begin{aligned}
P\left( \sup_{f\in\mathcal{F}} (E^*_N(f)- E_N(f)) > \frac{\epsilon}{2} \right) &\leq S_\mathcal{F}(2N)e^{-\epsilon^2 N/2} \\
&\leq \left(\frac{2eN}{d_\mathcal{F}}\right)^{d_\mathcal{F}} e^{- \epsilon^2N/2}
\end{aligned}
P ( f ∈ F sup ( E N ∗ ( f ) − E N ( f )) > 2 ϵ ) ≤ S F ( 2 N ) e − ϵ 2 N /2 ≤ ( d F 2 e N ) d F e − ϵ 2 N /2
再结合 Symmetrimization
得到的结论 ,我们最终得到:
P ( sup f ∈ F ( E ( f ) − E N ( f ) ) > ϵ ) ≤ 2 ( 2 e N d F ) d F e − ϵ 2 N / 2
P\left( \sup_{f\in\mathcal{F}} (E(f)- E_N(f)) > \epsilon \right) \leq 2\left(\frac{2eN}{d_\mathcal{F}}\right)^{d_\mathcal{F}} e^{- \epsilon^2N/2}
P ( f ∈ F sup ( E ( f ) − E N ( f )) > ϵ ) ≤ 2 ( d F 2 e N ) d F e − ϵ 2 N /2
令不等式右边等于
δ \delta δ ,反解
ϵ \epsilon ϵ
得到
ϵ = 2 N log 2 + 2 d N log ( 2 N e d ) + 2 N log 1 δ (3)
\epsilon = \sqrt{\frac{2}{N}\log 2 + \frac{2d}{N}\log\left(\frac{2Ne}{d}\right) + \frac{2}{N}\log\frac{1}{\delta}}
\label{c69edec018ba18f6f6fffb2477e088ec4004ebd5}\tag{3}
ϵ = N 2 log 2 + N 2 d log ( d 2 N e ) + N 2 log δ 1 ( 3 )
换而言之,不论我们的学习算法给出什么样的 final hypothesis
f ∈ F f\in\mathcal{F} f ∈ F ,我们总能以不低于
1 − δ 1-\delta 1 − δ
的概率保证
E ( f ) ≤ E N ( f ) + ϵ ( δ , d F , N )
E(f) \leq E_N(f) + \epsilon(\delta,d_\mathcal{F}, N)
E ( f ) ≤ E N ( f ) + ϵ ( δ , d F , N )
其中
ϵ \epsilon ϵ
依赖于
δ \delta δ 、N N N
以及
F \mathcal{F} F
的 VC 维,它的具体定义如
(eq:
3) ,式子有点复杂,不过如果我们只关注一下
N N N
的话,可以看到它是
O ( 1 N log N ) O(\sqrt{\frac{1}{N} \log N}) O ( N 1 log N )
的,随着
N N N
的增大,这一项可以被变得任意小。
用人话总结一下的话,就是说,如果
F \mathcal{F} F
的 VC 维是有限的,那么对于任意的精确度
ϵ \epsilon ϵ
和确信程度
δ \delta δ
的要求,只要我们把数据量
N N N
增加到足够大,就总能实现。我们把这称作是 Learnable
的。注意这里我们完全没有考虑用了什么学习算法,例如你可以用一个完全随机地返回任意一个
f f f
的算法,仍然能够满足我们这里给的 bound。
但是同时要注意的是我们这里的 bound 指的是 in-sample error 和
out-of-sample error 之间的差异。所以如果 in-sample error
很高的话,最终的结果也是没有多大意思的。而 in-sample error
是我们可以切实计算的,所以是否能做到让 in-sample error
很小就要看算法的好坏与问题本身的难度了(例如 Bayes Error
本身就很高的问题,再怎么都是无济于事的)。
末尾提一下我没有 cover 的一些东西,一个是常见的一些 VC 维,这个在
Yaser 教授的课里举了不少例子,例如
R d \mathbb{R}^d R d
上的 perceptron 的 VC 维是
d + 1 d+1 d + 1 ,我在这里就不多讲了。另外我没有证明定理
(thm:
1) ,本来也是打算要整理的,但是连写了三篇日志,完全没有力气了
:p,反正 Yaser
教授在课上已经讲得很生动详细了,另外也可以参考 (Kearns
& Vazirani, 1994) 中 3.4
节给出的证明,相对比较简洁一点,但是其实本质上是一样的。
然后,这些东西还只是学习理论的冰山一角,就这个特定的问题而言,VC
维并不是刻画
F \mathcal{F} F
复杂度的唯一量,我们所得到的 bound 也并不是已知最好的,而且只是处理
binary classification 的情况,而没有考虑 multiclass
的问题,也没有考虑诸如 Active Learning
等的情况。不同的设定下也会导出不同的问题和方法,仅从问题的 formulation
上来看的话,“古时候”的统计学似乎比较喜欢研究给定数据的模型的情况下的一些问题,而发展到机器学习中时大家开始认为假定已知数据的分布或模型是“不科学”的,因此发展的理论也主要集中在像这里这样的对
Z \mathcal{Z} Z
上的任意分布都成立的背景下。然后呢,最近开始比较流行的另外一个叫做 Online Learning 或者 Theory of Individual
Sequences 或者其他一些的名字的
subfield,他们认为假设数据全部采样自一个概率分布本身就是不科学的,虽然有一些人在研究
Domain Adaptation
之类的问题,通常假设训练数据和测试数据是来着不同的但是相关的概率分布,但是
Sequential Learning
学派更加“激进”,直接抛弃了任何概率统计的假设,数据不必是从什么概率分布里采样出来的,而可以是任意的,更极端的情况下,数据甚至可以是某个
adversary 蓄意产生的“最坏”的数据——例如 spammer 和 anti-spam classifier
就是一个很典型的例子。
Comments
楼主,你好!
很想知道你是使用什么工具来编辑这个网页,可以使得其中的公式和图片显示效果这么好?
谢谢!
公式是用 MathJAX 显示的,图片的话,主要是用 Asymptote 画的。整个网页大概是自己 DIY 的一个 static blog generator 吧,主要用到的工具是 pandoc 和 Ruby Liquid 。
哦 谢谢楼主 学习了·~~
@pluskid:disqus 你的 static blog generator 開源嗎?我從 ruhoh 上點過來的,發現你的 blog 很酷,很想學習一下,想必已經不再用 ruhoh 了吧,在你的 github 上也找不到這個項目,所以有此疑問。
你好,确实没有再用 ruhoh 了,不过 code 暂时不开源(因为懒得整理 & 不想把文章的源码公开)。不过如果对 code 感兴趣的话,留下邮箱我可以发给你,但是不提供支持…… :p
@pluskid:disqus
多谢,我的邮箱就是留言这个,你应该可以看到吧。
楼主,你好。
旁边的注解也是用你diy的static blog generator生成的???
是啊,看到边栏挺大一块空白的,就干脆放边注在那里了,这样正好和 PDF 版里的 margin note 也刚好匹配起来。
那天在Lab给一个UMass的一个Prof作report,然后被喷了一顿,说数学太差……不过自己在泛函和实变方面确实比较概率论与数理统计 外文教材弱,很多东西纯粹就是摸着黑瞎想的……想请教一下学长在Machine Learning方面的数学底子需要到达怎样的程度呢?比如从知识体系的角度应该如何构建?或者能否推荐一下相应的书籍?万谢~
"自己在泛函和实变方面确实比较弱"...一时手抖敲错了。。
数学要达到生么样的程度的话这个真不好说,因为也有比如像 Smale 这样的纯粹就是个数学家,不过那已经很理论了。总之取决于你要做哪些方面。知识体系的构建的话,如果也机会就去上课吧,数学这个东西自学起来还是比较痛苦。至于书推荐我也不知道,我自己也比较没谱,关于概率论、范函的书,虽然是知道有比较好的书,但是又是很深很难不太适合这里拿来自学的那种……建议找你导师或者有认识数学系的老师之类的看看是否有好的建议。
没想到碰到这么好的博客,以后要多学习学习
同学,学术那条路实在是太窄了,中国人在美国科学界中有足够分量的还真是凤毛麟角。科学就是别人出钱,让科学爱好者玩的游戏。这个游戏如果玩得太投入了,诸如纳什之类的,就跟宗教狂热分子没两样。次之,如果受一些轻度感染,在美国当一个prof.之类,靠申请founding做科学游戏,machine learning这样的理论性领域,它的空间就那么大,你可用的资源也就那么多,多少美国大学的中国prof.都生活在欲望和野心无法满足中。再次之,在科技公司当一个螺丝钉,添砖加瓦,帮着实现leader们的idea。当然,路有很多条,看各人的野心和志向。作为过来人,通过这个博客看到你年轻就很有独立思考的能力,而不是人云亦云,所以才做这样的留言。你应该也很能体会“真理往往掌握在少数人手里”,这样的格言。事实上,当前全球经济衰退,各国都把目光锁定在中国这片有强大发展建设空间的市场。这就相当于其它各国都处于中老年阶段,中国处在像你这样的年轻阶段,年轻什么奇迹都可能发生。
pluskid的博客越做越漂亮了,膜拜一下。
用人话总结一下的话,这句话大亮。kid加油
博主你好,关于union bound我有个问题,希望找出一个example H=[h1,h2],使得h1与h2确实没有union bound的忽略的那个overlap,具体描述刚发在了http://book.caltech.edu/boo...
想了好久没有明白,这样的h1与h2应该有什么特性?谢谢。
consider the union bound, when H consists of only h1 and h2,
Pr[|Ein(g)-Eout(g)|>e]
<=Pr[|Ein(h1)-Eout(h1)|>e or |Ein(h2)-Eout(h2)|>e] (eq.1)
<=Pr[|Ein(h1)-Eout(h1)|>e] + Pr[|Ein(h2)-Eout(h2)|>e] (eq.2)
=2exp(-2Ne^2) (eq.3)
i wonder which kind of h1 and h2 can more "accurately" satisfy the union bound, maybe this means union bound equals vc bound.
in other words, can i find h1 and h2 to let (eq.1)=(eq.2)?
Pr[|Ein(h1)-Eout(h1)|>e or |Ein(h2)-Eout(h2)|>e]
=Pr[|Ein(h1)-Eout(h1)|>e and |Ein(h2)-Eout(h2)|>e] (eq.a)
+Pr[|Ein(h1)-Eout(h1)|>e and |Ein(h2)-Eout(h2)|<=e] (eq.b)
+Pr[|Ein(h1)-Eout(h1)|<=e and |Ein(h2)-Eout(h2)|>e] (eq.c)
if (eq.2)=(eq.1), then,
sup(eq.a)=0
sup(eq.b)=sup(eq.c)=1/2(eq.3)=exp(-2Ne^2)
but i cannot find the example h1&h2, which means h1 and h2 has no overlap when considering the union bound.
can u help? thanks.
一个充分条件是 Union bound P(A or B) <= P(A) + P(B) 在 A 和 B 两个 set 不相交的时候等号成立。也许你可以试着朝这个方向构造。
谢谢pluskid,我也是这样尝试的,然后参考了VC bound的思路,通过h1与h2的相似度来构造A和B,
如果h1=h2,那肯定A=B。
当A和B完全不相交,h1和h2的该长得如何不一样就暂时没思路了,主要困惑在于从Hoeffding Inequality看,A跟B与具体h好像没啥关系
做了下实验,
当h1和h2的loss function 完全相同或互补,A=B
当产生h1和h2的loss function 的随机函数参数差异越大,A与B重合越小,不过还是不能准确描述如何使h1和h2的loss function差异最大
暂时这样吧,有点饿了