机器学习之Rademacher复杂度和VC维_泛化来衡量一个假设集的复杂度。这样做的缺点是,对于具有无限个假设的假设集我们得到了两个不符合直觉的结论:(1)它们的复杂度都是无穷大,但沿轴矩形的学习问题证明具有无限个假设的假设集是PAC可学习的。(2)它们的复杂度都相等,但我们知道,线性假设集的复杂度肯定没有机器学习之Rademacher复杂度和VC维_复杂度_02次多项式假设集的复杂度高。因此,我们自然需要寻找新的方法来度量一个假设集的复杂度而不是简单地用假说集合的大小来判断。

  本章重点

  • 使用基于McDiarmid不等式Rademacher复杂度来度量假设集的复杂度和丰富性。推导基于Rademacher复杂度的泛化边界。但对于某些假设集来说,经验Rademacher复杂度的计算是NP难的。
  • 引入增长函数的概念,使其计算假设集的复杂性不依赖于样本的分布,并将增长函数与Rademacher复杂度联系起来。
  • 计算假设集的增长函数是困难的,随后引入机器学习之Rademacher复杂度和VC维_损失函数_03的概念,并将增长函数与机器学习之Rademacher复杂度和VC维_损失函数_04维联系起来,推导基于机器学习之Rademacher复杂度和VC维_损失函数_04维的泛化边界。

1、Rademacher复杂度

机器学习之Rademacher复杂度和VC维_泛化表示假设集,机器学习之Rademacher复杂度和VC维_损失函数_07就是机器学习之Rademacher复杂度和VC维_泛化中的一个假设(从输入空间到输出空间的映射)。对任意损失函数机器学习之Rademacher复杂度和VC维_损失函数_09。对于每个机器学习之Rademacher复杂度和VC维_复杂度_10,我们可以用函数机器学习之Rademacher复杂度和VC维_泛化_11表示从机器学习之Rademacher复杂度和VC维_泛化_12机器学习之Rademacher复杂度和VC维_损失函数_13映射。机器学习之Rademacher复杂度和VC维_损失函数_14机器学习之Rademacher复杂度和VC维_泛化_11的集合,用于表示与机器学习之Rademacher复杂度和VC维_泛化有关的损失函数族。

Rademacher复杂度通过测量假设集对随机噪声的拟合程度来表征函数族的丰富性。下面将讲述经验Rademacher复杂度平均Rademacher复杂度的正式定义。

定义1: 经验Rademacher复杂度:

机器学习之Rademacher复杂度和VC维_损失函数_14是一族从机器学习之Rademacher复杂度和VC维_损失函数_18映射到机器学习之Rademacher复杂度和VC维_损失函数_19的函数族,机器学习之Rademacher复杂度和VC维_泛化_20来自机器学习之Rademacher复杂度和VC维_泛化_21空间中大小为机器学习之Rademacher复杂度和VC维_泛化_22的样本集,其中机器学习之Rademacher复杂度和VC维_损失函数_23,则机器学习之Rademacher复杂度和VC维_损失函数_14在样本机器学习之Rademacher复杂度和VC维_复杂度_25上的经验Rademacher复杂度定义为:

机器学习之Rademacher复杂度和VC维_损失函数_26

其中,机器学习之Rademacher复杂度和VC维_损失函数_27机器学习之Rademacher复杂度和VC维_泛化_28是取值为机器学习之Rademacher复杂度和VC维_泛化_29独立随机变量,被称为Rademacher变量。

  • 样本机器学习之Rademacher复杂度和VC维_泛化_30
  • 机器学习之Rademacher复杂度和VC维_泛化_31用来表示用假设机器学习之Rademacher复杂度和VC维_损失函数_32来预测机器学习之Rademacher复杂度和VC维_泛化_33所产生的误差,即损失函数。

机器学习之Rademacher复杂度和VC维_损失函数_34表示在样本机器学习之Rademacher复杂度和VC维_复杂度_25上的向量:机器学习之Rademacher复杂度和VC维_复杂度_36。则经验Rademacher复杂性可以改写为:

机器学习之Rademacher复杂度和VC维_损失函数_37

机器学习之Rademacher复杂度和VC维_损失函数_38度量了机器学习之Rademacher复杂度和VC维_复杂度_39(单个函数在样本集上)与随机噪声机器学习之Rademacher复杂度和VC维_损失函数_40向量的相关性。取上确界机器学习之Rademacher复杂度和VC维_泛化_41表示函数机器学习之Rademacher复杂度和VC维_损失函数_14在样本机器学习之Rademacher复杂度和VC维_复杂度_25上与噪声机器学习之Rademacher复杂度和VC维_损失函数_40的相关性 。取期望(经验Rademacher复杂度)表示函数族机器学习之Rademacher复杂度和VC维_损失函数_14机器学习之Rademacher复杂度和VC维_复杂度_25上与噪声的平均相关性,这也就描述了函数族机器学习之Rademacher复杂度和VC维_损失函数_14的丰富度:更丰富、更复杂的函数族机器学习之Rademacher复杂度和VC维_泛化_48可以产生更多的机器学习之Rademacher复杂度和VC维_泛化_49,在平均水平上更好的拟合随机噪声

定义2:Rademacher复杂度

机器学习之Rademacher复杂度和VC维_复杂度_50是样本机器学习之Rademacher复杂度和VC维_复杂度_25的分布。对于任意整数机器学习之Rademacher复杂度和VC维_损失函数_52机器学习之Rademacher复杂度和VC维_损失函数_14的Rademacher复杂度是根据分布机器学习之Rademacher复杂度和VC维_复杂度_50机器学习之Rademacher复杂度和VC维_泛化_22个样本的经验Rademacher复杂性的期望:

机器学习之Rademacher复杂度和VC维_复杂度_56

  平均Rademacher复杂度移除了对特定样本集的依赖,更加平均地度量了一个函数族的复杂程度(但仍与分布有关)。

  在基于Rademacher复杂度推导第一个泛化边界之前,先介绍McDiarmid不等式。

McDiarmid不等式:令机器学习之Rademacher复杂度和VC维_复杂度_57为独立随机变量的集合,假设存在机器学习之Rademacher复杂度和VC维_复杂度_58,使得机器学习之Rademacher复杂度和VC维_泛化_59满足以下条件:
机器学习之Rademacher复杂度和VC维_损失函数_60
对所有的机器学习之Rademacher复杂度和VC维_泛化_61以及任意的点机器学习之Rademacher复杂度和VC维_损失函数_62都成立。令机器学习之Rademacher复杂度和VC维_复杂度_63 表示 机器学习之Rademacher复杂度和VC维_损失函数_64,那么对所有的机器学习之Rademacher复杂度和VC维_复杂度_65,下面的不等式成立:
机器学习之Rademacher复杂度和VC维_复杂度_66
机器学习之Rademacher复杂度和VC维_损失函数_67

定理1

机器学习之Rademacher复杂度和VC维_损失函数_14是一系列从机器学习之Rademacher复杂度和VC维_损失函数_18映射到机器学习之Rademacher复杂度和VC维_损失函数_70的函数族。对任何机器学习之Rademacher复杂度和VC维_泛化_71机器学习之Rademacher复杂度和VC维_损失函数_14中的每一个函数机器学习之Rademacher复杂度和VC维_泛化_11,都至少以机器学习之Rademacher复杂度和VC维_复杂度_74概率,下述两个式成立:

机器学习之Rademacher复杂度和VC维_复杂度_75

证明:对于任意在机器学习之Rademacher复杂度和VC维_损失函数_18空间上的样本集机器学习之Rademacher复杂度和VC维_泛化_77和任意函数机器学习之Rademacher复杂度和VC维_复杂度_78,用机器学习之Rademacher复杂度和VC维_复杂度_79来表示在机器学习之Rademacher复杂度和VC维_复杂度_25上的机器学习之Rademacher复杂度和VC维_泛化_11的经验平均值: 机器学习之Rademacher复杂度和VC维_损失函数_82。利用McDiarmid不等式,在任意样本机器学习之Rademacher复杂度和VC维_复杂度_25上定义函数机器学习之Rademacher复杂度和VC维_损失函数_84
机器学习之Rademacher复杂度和VC维_损失函数_85

机器学习之Rademacher复杂度和VC维_复杂度_25机器学习之Rademacher复杂度和VC维_损失函数_87表示只有一个点不同的样本,即机器学习之Rademacher复杂度和VC维_泛化_88机器学习之Rademacher复杂度和VC维_泛化_89。则有:

机器学习之Rademacher复杂度和VC维_复杂度_90

  根据最大值的差一定不超过差的最大值可得:
机器学习之Rademacher复杂度和VC维_泛化_91

  转变为上面的(3.6)式。

机器学习之Rademacher复杂度和VC维_泛化_92,因此,机器学习之Rademacher复杂度和VC维_损失函数_93。应用McDiarmid第一个不等式,经变换有如下形式:
机器学习之Rademacher复杂度和VC维_复杂度_94

机器学习之Rademacher复杂度和VC维_泛化_95可得 机器学习之Rademacher复杂度和VC维_损失函数_96 对任何 机器学习之Rademacher复杂度和VC维_泛化_71,至少以机器学习之Rademacher复杂度和VC维_损失函数_98概率下式成立:

机器学习之Rademacher复杂度和VC维_泛化_99

  接下来,我们对等式右边的期望做如下缩放:

机器学习之Rademacher复杂度和VC维_复杂度_100

机器学习之Rademacher复杂度和VC维_损失函数_87中的点是独立同分布采样的,所有机器学习之Rademacher复杂度和VC维_泛化_102成立。不等式(3.9)利用了Jensen不等式和上确界函数的凸性。等式(3.11),引入Rademacher变量机器学习之Rademacher复杂度和VC维_损失函数_103

  Jensen不等式简述:机器学习之Rademacher复杂度和VC维_损失函数_104机器学习之Rademacher复杂度和VC维_复杂度_105均匀分布的独立随机变量。不会改变(3.10)中的期望。当机器学习之Rademacher复杂度和VC维_损失函数_106时,相应的和保持不变,当机器学习之Rademacher复杂度和VC维_损失函数_107时,相应的求和就会变号,这与在机器学习之Rademacher复杂度和VC维_复杂度_25机器学习之Rademacher复杂度和VC维_泛化_109之间交换机器学习之Rademacher复杂度和VC维_复杂度_110机器学习之Rademacher复杂度和VC维_泛化_111一样,交换不影响期望值。对于(3.12)由机器学习之Rademacher复杂度和VC维_损失函数_112可得。(3.13)源于Rademacher复杂度的定义。

  于是则有:

机器学习之Rademacher复杂度和VC维_泛化_113
将左边的式子右移可得:
机器学习之Rademacher复杂度和VC维_损失函数_114

  对于第二个不等式的证明:

  应用McDiarmid不等式中的第二个不等式有,

机器学习之Rademacher复杂度和VC维_复杂度_115

机器学习之Rademacher复杂度和VC维_复杂度_116可得机器学习之Rademacher复杂度和VC维_复杂度_117,即至多以机器学习之Rademacher复杂度和VC维_泛化_118概率保证机器学习之Rademacher复杂度和VC维_损失函数_119成立。将这个式子带入到第一个不等式中即可得到第二个不等式的推导。

引理1:令机器学习之Rademacher复杂度和VC维_泛化为取值为机器学习之Rademacher复杂度和VC维_复杂度_105的函数族,令机器学习之Rademacher复杂度和VC维_损失函数_14为与机器学习之Rademacher复杂度和VC维_泛化相对应的且损失函数为机器学习之Rademacher复杂度和VC维_复杂度_124损失的函数族,机器学习之Rademacher复杂度和VC维_复杂度_125,对于任何在空间机器学习之Rademacher复杂度和VC维_复杂度_126上的样本集机器学习之Rademacher复杂度和VC维_复杂度_127,将机器学习之Rademacher复杂度和VC维_复杂度_25机器学习之Rademacher复杂度和VC维_复杂度_129上的投影记做机器学习之Rademacher复杂度和VC维_损失函数_130,那么,下列关于机器学习之Rademacher复杂度和VC维_泛化机器学习之Rademacher复杂度和VC维_损失函数_14的经验Rademacher复杂度的不等式成立:

机器学习之Rademacher复杂度和VC维_复杂度_133

证明: 对于任何一个样本机器学习之Rademacher复杂度和VC维_复杂度_134,经验Rademacher复杂度可被重写为:

机器学习之Rademacher复杂度和VC维_损失函数_135

机器学习之Rademacher复杂度和VC维_损失函数_136,根据假设集机器学习之Rademacher复杂度和VC维_泛化的复杂性,这些经验Rademacher复杂度和平均Rademacher复杂度之间的联系可以用来推导二元分类的泛化界限。

机器学习之Rademacher复杂度和VC维_泛化的经验Rademacher复杂度与0-1损失下与 机器学习之Rademacher复杂度和VC维_泛化相关的损失函数族机器学习之Rademacher复杂度和VC维_损失函数_14的经验Rademacher复杂度联系在了一起。

定理2:二分类的Rademacher复杂度边界:
  令机器学习之Rademacher复杂度和VC维_泛化为取值为机器学习之Rademacher复杂度和VC维_复杂度_105的函数族,机器学习之Rademacher复杂度和VC维_复杂度_50是输入空间机器学习之Rademacher复杂度和VC维_复杂度_129的分布。对任意机器学习之Rademacher复杂度和VC维_损失函数_145,在分布机器学习之Rademacher复杂度和VC维_复杂度_50的样本集机器学习之Rademacher复杂度和VC维_复杂度_25上,至少机器学习之Rademacher复杂度和VC维_泛化_148概率,对任意机器学习之Rademacher复杂度和VC维_泛化_149以下两个式子成立:

机器学习之Rademacher复杂度和VC维_复杂度_150

对于第二个式子,是在特定样本集机器学习之Rademacher复杂度和VC维_复杂度_25上的函数,只要计算出机器学习之Rademacher复杂度和VC维_复杂度_152,就可以计算出机器学习之Rademacher复杂度和VC维_损失函数_153的上界。机器学习之Rademacher复杂度和VC维_复杂度_152的计算等价于经验风险最小化问题:

机器学习之Rademacher复杂度和VC维_损失函数_155

对于某些假设集计算起来是困难的。所以有时计算机器学习之Rademacher复杂度和VC维_复杂度_152是困难的。

2、增长函数(Growth Function)

  这一节,经验Rademacher复杂度将被增长函数所限制。

定义3:增长函数

机器学习之Rademacher复杂度和VC维_泛化的增长函数机器学习之Rademacher复杂度和VC维_复杂度_158被定义为:

机器学习之Rademacher复杂度和VC维_损失函数_159

机器学习之Rademacher复杂度和VC维_泛化对样本集机器学习之Rademacher复杂度和VC维_复杂度_25进行标记(对分(dichotomy)),增长函数的本质就是假设集机器学习之Rademacher复杂度和VC维_泛化_162中能够将样本集机器学习之Rademacher复杂度和VC维_损失函数_163的所有标记(对分或划分)可能结果的最大值的那个假设函数,也就是寻找能够将样本集划分得最彻底的假设函数区别于Rademacher复杂度,这种度量假设集丰富度的方法不依赖于样本的分布

机器学习之Rademacher复杂度和VC维_泛化_22个样本,如果一个假设机器学习之Rademacher复杂度和VC维_复杂度_165的增长函数值大于机器学习之Rademacher复杂度和VC维_泛化_166的,说明机器学习之Rademacher复杂度和VC维_复杂度_165的拟合能力更强,机器学习之Rademacher复杂度和VC维_泛化_166比较差,机器学习之Rademacher复杂度和VC维_泛化_166有一些对分无法实现。

  例如二分类情况,假设假设集是所有直线,

  • 机器学习之Rademacher复杂度和VC维_泛化_170,对分2种情况:机器学习之Rademacher复杂度和VC维_复杂度_171
  • 机器学习之Rademacher复杂度和VC维_损失函数_172,对分4种情况:机器学习之Rademacher复杂度和VC维_泛化_173
  • 机器学习之Rademacher复杂度和VC维_泛化_174,对分为6种或8种情况:(3点共线无法分开)。但根据增长函数,机器学习之Rademacher复杂度和VC维_泛化_175,增长函数不依赖于分布,只和样本数量有关。

  下面使用Massart引理将增长函数和Rademacher复杂度联系起来。

  首先介绍Hoeffding引理

Hoeffding引理机器学习之Rademacher复杂度和VC维_复杂度_176是任意随机变量且机器学习之Rademacher复杂度和VC维_复杂度_177,对任意机器学习之Rademacher复杂度和VC维_损失函数_178,以下不等式成立:

机器学习之Rademacher复杂度和VC维_泛化_179

Massart引理:令机器学习之Rademacher复杂度和VC维_复杂度_180是一个有限的集合,记机器学习之Rademacher复杂度和VC维_损失函数_181,那么以下不等式成立:

机器学习之Rademacher复杂度和VC维_损失函数_182

其中,机器学习之Rademacher复杂度和VC维_泛化_28为取值为机器学习之Rademacher复杂度和VC维_泛化_184的独立均匀随机变量,机器学习之Rademacher复杂度和VC维_复杂度_185 为向量机器学习之Rademacher复杂度和VC维_泛化_186的各个成分。

证明:对任意机器学习之Rademacher复杂度和VC维_损失函数_178,使用Jensen不等式可得:

机器学习之Rademacher复杂度和VC维_损失函数_188

再根据机器学习之Rademacher复杂度和VC维_损失函数_189的独立性,应用Hoeffding引理可得:

机器学习之Rademacher复杂度和VC维_复杂度_190

等式两边取对数并除以机器学习之Rademacher复杂度和VC维_损失函数_191

机器学习之Rademacher复杂度和VC维_损失函数_192

如果选择机器学习之Rademacher复杂度和VC维_泛化_193,最小化上界可得:

机器学习之Rademacher复杂度和VC维_损失函数_194

两边同时除以机器学习之Rademacher复杂度和VC维_泛化_22,证明完毕。

  使用上述证明结果,我们就能够根据增长函数来约束Rademacher复杂度。

推论1:机器学习之Rademacher复杂度和VC维_损失函数_14是取值为机器学习之Rademacher复杂度和VC维_复杂度_105一族函数。下述不等式成立:

机器学习之Rademacher复杂度和VC维_复杂度_198

证明: 对一个固定样本机器学习之Rademacher复杂度和VC维_泛化_199,定义机器学习之Rademacher复杂度和VC维_泛化_200为:

机器学习之Rademacher复杂度和VC维_泛化_201

由于机器学习之Rademacher复杂度和VC维_泛化_202取值机器学习之Rademacher复杂度和VC维_复杂度_105,所以机器学习之Rademacher复杂度和VC维_损失函数_204,使用Massart引理可得:

机器学习之Rademacher复杂度和VC维_损失函数_205

根据定义,机器学习之Rademacher复杂度和VC维_泛化_206,所以:

机器学习之Rademacher复杂度和VC维_泛化_207

推论2:增长函数的泛化边界机器学习之Rademacher复杂度和VC维_泛化是取值机器学习之Rademacher复杂度和VC维_复杂度_105的一族函数。对任意机器学习之Rademacher复杂度和VC维_损失函数_145,至少机器学习之Rademacher复杂度和VC维_泛化_148概率,对任意机器学习之Rademacher复杂度和VC维_损失函数_212

机器学习之Rademacher复杂度和VC维_损失函数_213

此外,增长函数也可以不用首先通过Rademacher复杂度来界定,即:

机器学习之Rademacher复杂度和VC维_泛化_214

  计算增长函数有时候是困难的,下面介绍易于计算的另外一种度量假设集复杂度的方法。

3、VC维(Vapnik-Chervonenkis dimension)

  在介绍VC维时,先了解两个概念,一个是前面在介绍增长函数时已经讲过的“对分(二分)”(dichotomy),还有一个是打散(shattering)

机器学习之Rademacher复杂度和VC维_复杂度_25和一个假设机器学习之Rademacher复杂度和VC维_损失函数_07,用机器学习之Rademacher复杂度和VC维_损失函数_07机器学习之Rademacher复杂度和VC维_复杂度_25中的点进行分类称为对分。对于一个假设集,可以产生多种不同的对分,这些对分构成了假设集机器学习之Rademacher复杂度和VC维_泛化在样本机器学习之Rademacher复杂度和VC维_复杂度_25上的对分集合机器学习之Rademacher复杂度和VC维_泛化_221

机器学习之Rademacher复杂度和VC维_复杂度_25可以被假设集机器学习之Rademacher复杂度和VC维_泛化“打散”当且仅当用这个假设集中的假设可以实现对样本机器学习之Rademacher复杂度和VC维_复杂度_25的所有可能的“对分”,即机器学习之Rademacher复杂度和VC维_复杂度_225

定义4:VC-维: 假设集机器学习之Rademacher复杂度和VC维_泛化的VC-维是能够被机器学习之Rademacher复杂度和VC维_泛化打散的最大样本集的大小:

机器学习之Rademacher复杂度和VC维_复杂度_228

如果机器学习之Rademacher复杂度和VC维_泛化_229,说明:

  • 存在一个样本集大小是机器学习之Rademacher复杂度和VC维_复杂度_230的样本集能够被假设集机器学习之Rademacher复杂度和VC维_泛化_231打散(并不是说所有样本大小为机器学习之Rademacher复杂度和VC维_复杂度_230的样本都能够被打散)。
  • 不存在一个样本大小为机器学习之Rademacher复杂度和VC维_泛化_233的样本能够被机器学习之Rademacher复杂度和VC维_泛化_231打散(即所有样本大小为机器学习之Rademacher复杂度和VC维_泛化_233的样本都不能被机器学习之Rademacher复杂度和VC维_泛化_231打散)。

推论:机器学习之Rademacher复杂度和VC维_泛化是假设集并且机器学习之Rademacher复杂度和VC维_泛化_229,对所有机器学习之Rademacher复杂度和VC维_泛化_239

机器学习之Rademacher复杂度和VC维_复杂度_240

推论:VC维的泛化边界:机器学习之Rademacher复杂度和VC维_泛化是一族取值为机器学习之Rademacher复杂度和VC维_复杂度_105的函数族,VC维是机器学习之Rademacher复杂度和VC维_泛化_243,对所有机器学习之Rademacher复杂度和VC维_损失函数_145,至少以机器学习之Rademacher复杂度和VC维_泛化_148的概率,对于所有的机器学习之Rademacher复杂度和VC维_损失函数_246

机器学习之Rademacher复杂度和VC维_损失函数_247

也可以表示为:

机器学习之Rademacher复杂度和VC维_损失函数_248

则综合上面的推导,可以得到机器学习之Rademacher复杂度和VC维_泛化_249维的高概率边界为:

机器学习之Rademacher复杂度和VC维_复杂度_250

对数因子在这些界限中只起很小的作用。实际上,可以使用更精细的分析来消除这个因素。

机器学习之Rademacher复杂度和VC维_泛化_249维的概念暂时写这么多,下篇更新《机器学习之支持向量机(SVM)》,to be continued…