vc维的笔记(上)。。。。

之前听《机器学习基石》课程,里面涉及了一个非常重要的概念:VC维。一直搞不太懂,这次下决心将其背后的数学意义和物理意义搞清楚。。。。

这里参考资料:http://www.flickering.cn/machine_learning/2015/04/vc%E7%BB%B4%E7%9A%84%E6%9D%A5%E9%BE%99%E5%8E%BB%E8%84%89/?utm_medium=social&utm_source=qq

感谢腾讯大神们的无私分享!这也算是这篇文章的读书笔记吧。。。。有对这篇文章理解不对的地方,欢迎指正。。。

那么,开始吧。。。。

一、Hoeffding不等式

hoeffding 不等式是关于一组随机变量均值的概率不等式。如果x1,x2,…,xn为一组独立同分布的参数为P的伯努利分布随机变量,n为随机变量的个数。定义这组随机变量的均值为:

hoeffding

对于任意δ>0, Hoeffding不等式可以表示为

hoeffing11

这里补充一下hoeffding在这里的物理意义:就是,预测值和真实值之间(E这里我理解为期望,就是真实的结果)的距离小于 δ(误差) 的概率,是小于后面的e(-2δ^2n^2)的,就是说,和n(这里是样本的数量)有关。
如下面的例子:
在统计推断中,我们可以利用样本的统计量(statistic)来推断总体的参数(parameter),譬如使用样本均值(这里我理解的是ν)来估计总体期望(这里我理解的是u)。如下图所示,我们从罐子里抽球,希望估计罐子里红球和绿球的比例。

sample-bin

直觉上,如果我们有更多的样本(抽出更多的球),则样本期望ν应该越来越接近总体期望μ。事实上,这里可以用hoeffding不等式表示如下:

bin-hoeffding

从hoeffding不等式可以看出,当n逐渐变大时,不等式的UpperBound越来越接近0,所以样本期望越来越接近总体期望。

Connection to Learning

接下来,我们希望可以将机器学习关联到上一节讨论的hoeffding不等式。一个基本的机器学习过程如下图所示。其中的概念定义为: f 表示理想的方案(可以是一个函数,也可以是一个分布),H 是该机器学习方法的假设空间,g 表示我们求解的用来预测的假设,g属于H。
机器学习的过程就是:通过算法A,在假设空间H中,根据样本集D,选择最好的假设作为g。选择标准是 g 近似于 f。
这里用感知机举例:感知机(perceptron)是一个线性分类器(linear classifiers)。 线性分类器的几何表示:直线、平面、超平面。perceptron的假设空间,用公式描述,如下所示:

perceptron

这里补充一下,感知机就是,这里用矩阵W乘以输入X,减去一个阈值threshold,然后在这里取其符号,作为分类(这里是二分类)
感知器的优化目标如下式所示,w_g就是我们要求的最好的假设。

perceptron_optim

设定两个变量,如下图所示,图中 f(x)表示理想目标函数,h(x)是我们预估得到的某一个目标函数,h(x)是假设空间H中的一个假设。
Eout(h),可以理解为在理想情况下(已知f),总体(out-of-sample)的损失(这里是0–1 loss)的期望,称作expected loss。
Ein(h),可以理解为在训练样本上(in-of-sample),损失的期望,称作expirical loss。

learning_hoeffding

当训练样本量N足够大,且样本是独立同分布的,类比于上面“抽球”的例子,可以通过样本集上的expirical loss Ein(h) 推测总体的expected loss Eout(h)。基于hoeffding不等式,我们得到下面式子(这里就相当于是Eout是正确的答案,Ein是期望):

learning2

根据上面不等式,我们可以推断,当N足够大时,expected loss和expirical loss将非常接近。
注意在上面推导中,我们是针对某一个特定的解h(x)。在我们的假设空间H中,往往有很多个假设函数(甚至于无穷多个),这里我们先假定H中有M个假设函数。那么对于整个假设空间,也就是这M个假设函数,可以推导出下面不等式(下面将很多满足条件的hi利用不等式的性质拆分开了):

hoeffding_12

上面式子的含义是:在假设空间H中,设定一个较小的ϵ值,任意一个假设h,它的Ein(h)与Eout(h)的差由该值2Mexp(−2ϵ2N)所约束住。注意这个bound值与 “样本数N和假设数M” 密切相关。

学习可行的两个核心条件

在往下继续推导前,先看一下什么情况下Learning是可行的?
1、如果假设空间H的size M是有限的,当N足够大时,那么对假设空间中任意一个g,Eout(g)约等于Ein(g);
2、利用算法A从假设空间H中,挑选出一个g,使得Ein(g)接近于0,那么probably approximately correct而言,Eout(g)也接近为0;
下图看出,简单来说:1、Eout≈Ein 2、Ein足够小

two_central_questions

上面这两个核心条件,也正好对应着test和train这两个过程。train过程希望损失期望(即Ein(g) )尽可能小;test过程希望在真实环境中的损失期望也尽可能小,即Ein(g)接近于Eout(g)。
但往往我们更多在关心,如何基于模型的假设空间,利用最优化算法,找到Ein最小的解g。但容易忽视test这个过程,如果让学习可行,不仅仅是要在训练集表现好,在真实环境里也要表现好。
从上述推导出来的不等式,我们看到假设数M 在这两个核心条件中有着重要作用。

trade_off_on_M

M太小,当N足够大时,Ein和Eout比较接近,但如果候选假设集太小,不容易在其中找到一个g,使得Ein(g)约等于0,第二项不能满足。而如果M太大,这时候选集多了,相对容易在其中找到一个g,使得Ein(g)约等于0,但第一项就不能满足了。所以假设空间H的大小M很关键。
对于一个假设空间,M可能是无穷大的。要能够继续推导下去,那么有一个直观的思路,能否找到一个有限的因子m_H来替代不等式bound中的M。
注意,注意,attention!!!! 这里的M是假设空间的大小,就是,有多少个可供选择的映射函数可以选择。
虽说假设空间很大,上述推导里,我们用到了P(h1 or h2 … hm) <= P(h1) + P(h2) + … + P(hm)。但事实上,多个h之间并不是完全独立的,他们是有很大的重叠的,也就是在M个假设中,可能有一些假设可以归为同一类。(这里就是把有着相同作用的h分为一类)
下面我们以二维假设空间为例,来解释一下该空间下各假设在确定的训练样本上的重叠性。
举例来说,如果我们的算法要在平面上(二维空间)挑选一条直线方程作为g,用来划分一个点x1。假设空间H是所有的直线,它的size M是无限多的。但是实际上可以将这些直线分为两类,一类是把x1判断为正例的,另一类是把x1判断为负例的。如下图所示:

h1,h2

那如果在平面上有两个数据点x1,x2,这样的话,假设空间H中的无数条直线可以分为4类(2^2: ox,oo,xx,xo)。那依次类推,3个数据点情况下,H中最多有8类直线(2^3: ooo,oox,oxx,xxx,xxo,xoo,oxo,xox)。4个数据点,H中最多有14类直线(注意:为什么不是16类直线,答:下面的图给出答案了,把所有的o和x对调位置,就有出现了8种,但是打×的那个是不能用一条直线分开的,所有,只有2*7=14种了)。

由于篇幅有点长,决定分开写,剩下的写在另一个笔记(vc维的笔记(下)。。。。)中。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值