数据挖掘之VC维、Shatter、VC-dim以及Margin有关的通理


本文参考:

Measuring the Power of a Classifier With VC Dimension

VC-dimension

VC-dimension是算法复杂度中的一个重要概念,这里我们可以用它衡量一种分类器一种数据分布上的分类能力,必须限定在特定的数据分布和分类器种类下谈。

Shatter

了解VC-dimension先要了解Shatter的含义,这其实直观地展现了一个数据分布能够被分类器分类的能力,线性分类器linear classifiers在 R 2 \mathbb{R^{2}} R2的场景下,shatter了下面这三个点的数据分布。shatter译名为粉碎,实际上线性分类器确实把三个点所有可能地情况全“粉碎”出来了。

请添加图片描述
从上面可以看出,线性分类器把所有一个点的情况,两个点的情况,三个点的情况,都正反划分了一次正类和负类,粉碎了所有可能的分类情况,衡量了线性分类器在这个数据分布下的“能力”。

进一步抽象地,如果某一组分类器 H \mathcal{H} H shatter了一种数据分布 S S S,就是对于该数据分布的所有分隔情况,即 2 ∣ S ∣ 2^{|S|} 2S种组合,可以分类为 S + S^{+} S+正类,剩下的 S − = S ∖ S + S^{-}=S \setminus S^{+} S=SS+为负类。

请添加图片描述

VC-dimension的定义

VC-dimension的定义就可以抛出,从shatter的场景出发,仍然需要两个要素,分类器集合 H \mathcal{H} H和数据分布情况 P \mathcal{P} P H \mathcal{H} H P \mathcal{P} P上的VC-dimension V C ( P , H ) VC(\mathcal{P},\mathcal{H}) VC(P,H) is the largest subset P ⊂ P P \subset \mathcal{P} PP that can be shattered by H \mathcal{H} H(可以被shatter的最大子集的大小).

这里比较难理解的点是何为最大子集大小,参考Measuring the Power of a Classifier With VC Dimension中说的“in order to have a VC dimension of N, the classifier must only shatter a single configuration of N points — there will likely be many other configurations of N points that the classifier cannot shatter.” 简单地说,就是在一个数据分布的一个configuration下满足能够shatter N个点(即使该数据分布其他不能够shatter N个点的configuration),我们也可以认为这个数据分布的VC-dimension为N。在图1中已经完全定死的三个点的分布,最大子集大小唯一,直接可以一眼看出。但是如果抽象地来看,我们讨论一般线性分类器Generic Linear Classifiers在 R 2 \mathbb{R^{2}} R2上的VC维,这个 R 2 \mathbb{R^{2}} R2就给足了数据分布的可能性,当我们像图一中那样3个点的数据分布是可以的,这也可以说明 V C ( R 2 , H ) ≥ 3 VC(\mathbb{R^{2}},\mathcal{H}) \ge3 VC(R2,H)3,实际上我们也找不到4个点能够被shatter的情况,所以 V C ( R 2 , H ) = 3 VC(\mathbb{R^{2}},\mathcal{H}) =3 VC(R2,H)=3. 但是当 R 2 \mathbb{R^{2}} R2中三点按一条线摆开,这个情况却不能被shatter,总结下来,线性分类器Generic Linear Classifiers在 R 2 \mathbb{R^{2}} R2上的 V C ( R 2 , H ) = 3 VC(\mathbb{R^{2}},\mathcal{H}) =3 VC(R2,H)=3但是却不能shatter一条线上的三个点。

实际上,上面所说的 H \mathcal{H} H也是一个宽泛的概念,其包含了各种形式的Linear Classifiers,只要是属于 y = a x + b y=ax+b y=ax+b这种形式的。
请添加图片描述
进一步总结,当 H \mathcal{H} H是一般线性分类器的集合,在 R d \mathbb{R^{d}} Rd上的 V C ( R d , H ) = d + 1 VC(\mathbb{R^{d}},\mathcal{H}) =d+1 VC(Rd,H)=d+1
感性地理解,这也将VC-dim和数据空间维度d联系起来,在假定 H \mathcal{H} H能够shatter R d \mathbb{R^{d}} Rd的情况下,d越大,VC-dim越大。这种理解有助于后面VC-Based的通理的理解。

VC-Based Generalization Theorem

请添加图片描述

请添加图片描述
相比于之前学过的通理1,该通理摆脱了候选分类器大小set of classifiers ln ⁡ ∣ H ∣ \ln|H| lnH的限制,分子上的关键因素变成了VC维 λ = V C ( P , H ) \lambda = VC(\mathcal{P},\mathcal{H}) λ=VC(P,H),分母上还是训练集合大小 ∣ S ∣ |S| S,可以在各种场景下应用。
请添加图片描述
这里老师明确的是,其实线性分类器和其他的分类器一样强大,在后面,我们会通过各种数学方法(比如核函数kernel function),将非线性分类问题转换成线性分类问题,但是这样子引入了更多的artificial dimensions,需要付出样本空间维度 d d d增大的代价,也就有了更大的VC维 λ \lambda λ,为了误差尽可能小,需要相应地增大 ∣ S ∣ |S| S,也就更需要更多的训练数据来训练。相当于我们是固定了线性分类器组合 H \mathcal{H} H,有可能会将 d = ∞ d=\infty d=以便我们引入线性分类器,这也会将 λ \lambda λ带向 ∞ \infty

也正当 λ = ∞ \lambda=\infty λ=, VC-Based通理开始逐渐乏力,进一步地,我们探索线性分类下的Margin-Based通理。

Margin-Based Generalization Theorem

该定理只应用于线性分类中的线性可分场景,后面可以看出,我们实际上只需要考虑线性分类器linear classifier,因为可以讲许多非线性的情况转换成线性分类的情况;同时,我们不论原数据分布是什么,只需要考虑其线性可分linear separable的情况,也即在样本上的训练误差 e r r s ( h ) err_s(h) errs(h)为0,从而考虑其他误差项就可以了,引出的Margin-Based通理如下:
请添加图片描述
该通理不再依赖维度 d d d, 而将优化目标放在了 R R R ∣ w ∣ |w| w上,称它为margin-based是因为从后面的支持向量机中我们也可以知道,某个linear separable情况下的超平面的 m a r g i n = 1 ∣ w ∣ margin=\frac{1}{|w|} margin=w1,在linear separable的情况下需要找出最大的margin,让 ∣ w ∣ {|w|} w最小。对公式进行转换,该公式分子的关键因素为 R 2 m a r g i n 2 \frac{R^2}{margin^2} margin2R2,即前一章学习过的感知机perceptron训练的迭代次数,分母上还是训练集合大小 ∣ S ∣ |S| S

三个通理的联系

三个通理分母上都和训练集合大小 ∣ S ∣ |S| S有关,通理一分子上为 ln ⁡ ∣ H ∣ \ln|H| lnH,通理二分子上为VC维 λ \lambda λ,通理三分子上为 R 2 m a r g i n 2 \frac{R^2}{margin^2} margin2R2,这三者并不是完全没有联系的。

在一个有d个参数的模型中,如果每个参数用一个8 byte的浮点数表示,那么这里占用了 64 ∗ d 64*d 64d bit的空间,理论上来说 ∣ H ∣ |H| H就会有 2 64 ∗ d 2^{64*d} 264d种情况,每一种排列即代表一种不同的模型, ln ⁡ ∣ H ∣ = 64 ∗ d \ln|H|=64*d lnH=64d,这个 d d d放在通理二上,相当于就是样本空间的维度, λ = d + 1 \lambda=d+1 λ=d+1与其产生了联系。
请添加图片描述
从上图可以看出VC-dim λ \lambda λ与 margin γ \gamma γ也是有联系的, H 1 \mathcal{H_1} H1 M a r g i n ( γ 1 ) Margin(\gamma_1) Margin(γ1)> H 2 \mathcal{H_2} H2 M a r g i n ( γ 2 ) Margin(\gamma_2) Margin(γ2),问题设定的场景分别为考虑 M a r g i n ≥ γ 2 Margin \ge \gamma_2 Marginγ2的所有分类器和考虑 M a r g i n ≥ γ 1 Margin \ge \gamma_1 Marginγ1,显然 γ 2 \gamma_2 γ2的分类器包含了黑、红、绿,而 γ 1 \gamma_1 γ1只包含了黑。从VC-dim的定义出发,since H 1 ⊂ H 2 \mathcal{H_1} \sub \mathcal{H_2} H1H2, if a set of points S ⊂ P S \sub \mathcal{P} SP is shattered by H 1 \mathcal{H_1} H1(for any T ⊂ S T \sub \mathcal{S} TS, it can be classifies as +1 ), S S S can also be shattered by H 2 \mathcal{H_2} H2, meaning that:
V C ( P , H 1 ) ≤ V C ( P , H 2 ) VC(\mathcal{P},\mathcal{H_1}) \le VC(\mathcal{P},\mathcal{H_2}) VC(P,H1)VC(P,H2)
γ \gamma γ越大,通理三 R 2 m a r g i n 2 \frac{R^2}{margin^2} margin2R2越小,可以近似地将通理二VC-dim λ ≈ R 2 m a r g i n 2 \lambda \approx \frac{R^2}{margin^2} λmargin2R2,误差上界也更小。

下一章讲的支持向量机SVM就是在linear separable场景下找到Margin最大的分类器的解题方法。

相关题目

  1. 问题1: 举例子说明shatter,需要注意axis-parallel rectangle 和 all the possible classifiers.
    请添加图片描述
  2. 问题2: 举例子说明不能shatter
    请添加图片描述
  3. 问题3、问题4:从VC-dim定义的shatter出发,证明公式
    请添加图片描述
  4. 问题5:一些复杂的公式证明
    在这里插入图片描述
    请添加图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

互联网民工蒋大钊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值