机器学习基础课程复习——(3)复杂性

VC维和Natarajan维

引入

对于大多数学习问题而言,学习算法所考虑的假设空间并非是有限的,因此无法直接使用假设的数目来刻画空间的复杂度。我们需要引入一种用于刻画无限假设空间的复杂度的方法——即VC维,Natarajan维以及Rademacher复杂度。

限制的定义

从定义上看,限制可以理解为多个映射构成的集合,每个映射对于同一个数据集D都会得到不同的向量值。

为方便理解,不妨设假设空间H有两个映射f1和f2,数据集D:x1,x2

f1:将x1和x2映射为了(1,-1)

f2:将x1和x2映射为了(-1,1)

则我们将f1与f2构成的集合称为假设空间H到数据集D上的限制

增长函数的定义

从定义上看,增长函数表示假设空间H到大小为m的数据集D上的限制的最大映射数目 

可能有点抽象,下面我直白一点解释

即从X空间选出多个可能的集合D,其中每个集合中变量的数目都为m、

我们想要找出哪个数据集合D,假设空间H在D上限制数最多,即映射的数目最多

因此有了上面的解释,下面这句话也好理解了

介绍完上面的概念之后,我们该如何将无限个假设的问题转化为有限个假设的问题呢?

下面这张图给出了解释

即我们从样本的角度去考虑问题,由于样本是有限个,不妨设为m

则m个样本,每个样本都可能被映射为1或者-1,故每个样本都会有两种可能

因此m个样本就有2^m中可能的标记结果,也就是说我们的映射的数目也是有上限的

这不就将无穷转换为有穷了嘛

VC维

对分的定义

直白点说,对分就是假设空间H的某一个映射对于数据D产生的结果

如假设空间的映射f1,对于数据x1,x2产生的一个结果(1,-1)就可以称为一种对分

打散的定义(二分类问题)

若假设空间能够实现数据集上所有的对分,这意味着,这个数据集能被映射的所有可能的情况都在假设空间里。

可能还是过于抽象,还是举个例子吧。

不妨设m=2,假设空间H能够实现D={x1,x2}上所有的对分,包含了以下4种情况

即将(x1,x2)->(1,1)(1,-1)(-1,1)(-1,-1)

故说明假设空间总共有4种映射,即2的2次方

我们从另一个角度理解“打散”,即将数据集每个变量取值都给它弄出来,就类似于把一个鸡蛋“打散”了,蛋黄蛋清都出来了

那若数据能被打散,自然而然就说明其对应的增长函数就为2^m

举个例子

当我们取a=x1+1时,此时ha=+1,然而取a=x1-1时,此时ha=-1

即我使用了两个不同的假设函数,能够将D中的变量的所有结果都表达出来,即+1和-1,这说明能够打散D

但是不能打散D'

我们可以发现,如果将x1映射为-1,那么x2也会被映射为-1,因此可以知道 不可能出现同时将x1映射为-1,且x2映射为+1的映射,因此D'不能被打散,因为有个结果是无法得到的

VC维的定义

Natarajan维

VC维是针对二分类问题的,对于多分类问题我们就使用Natarajan维进行刻画

打散的定义(多分类问题)

即假设空间H存在两个个假设f0,f1,能够将D分成两个部分

Natarajan维的定义

Rademacher复杂度和Gaussian复杂度

前面若提及到的VC维和Natarajan维均未考虑数据自身的分布,但在实际中,同一模型在不同的数据上的表现不同,这里引入Rademacher复杂度用于刻画与数据分布相关的假设空间复杂度。

这里解释一下上面这张图

由于此时σ以0.5概率取1,0.5概率取-1

且此处由σ的任意性,即无论σ怎么取值都能使得第二个式子等于1,那就说明存在一个假设函数h,它的取值在每一个点都等于σ,这样式子才能等于1

那么我们可以从上面的分析得到一些信息,即:

我能在假设空间找到一个假设函数h,使得数据集中的每个变量xi,都能有可能被映射到+1或者-1

这就是打散的定义

Rademacher复杂度

下面给出经验Rademacher复杂度的定义

我们令其服从高斯分布,即可得到高斯复杂度

Gaussian复杂度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值