概述
概念与记号
计算学习理论 (computational learning theory)研究的是关于通过「计算」来进行「学习」的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难本质,为学习算法提供理论保证,并根据分析结果指导算法设计。
关注的问题:
怎样刻画「学习」这个过程?
什么样的问题是「可学习的」?
什么样的问题是「易学习的」?
对于给定的学习算法,能否在理论上预测其性能?
理论结果如何指导现实问题的算法设计?
一些相关的概念与记号:
样例集 D = { ( x i , y i ) } i = 1 m D = \left\lbrace (\bm{x}_i, y_i) \right\rbrace_{i=1}^m D = { ( x i , y i ) } i = 1 m ,其中 x i ∈ X \bm{x}_i \in \mathcal{X} x i ∈ X ,仅考虑二分类任务 y i ∈ Y = { − 1 , 1 } y_i \in \mathcal{Y} = \left\lbrace -1, 1 \right\rbrace y i ∈ Y = { − 1 , 1 } 。假设 X \mathcal{X} X 所有样本服从一个隐含未知的分布 D \mathcal{D} D ,D D D 中所有样本都是 i.i.d. 从 D \mathcal{D} D 中采样得到的。
令 h h h 为从 X \mathcal{X} X 到 Y \mathcal{Y} Y 的一个映射
泛化误差 E ( h ; D ) = P x ∼ D ( h ( x ) ≠ y ) E(h; D) = P_{\bm{x} \sim \mathcal{D}}(h(\bm{x}) \ne y) E ( h ; D ) = P x ∼ D ( h ( x ) = y )
经验误差 E ^ ( h ; D ) = 1 m ∑ i = 1 m I ( h ( x i ) ≠ y i ) \hat{E}(h; D) = \dfrac{1}{m} \displaystyle \sum_{i=1}^m \mathbb{I}(h(\bm{x}_i) \ne y_i) E ^ ( h ; D ) = m 1 i = 1 ∑ m I ( h ( x i ) = y i )
由于 D D D 是 D \mathcal{D} D 的 i.i.d. 采样,因此 h h h 的经验误差的期望等于其泛化误差的期望。上下文明确时,分别简记为 E ( h ) E(h) E ( h ) 和 E ^ ( h ) \hat{E}(h) E ^ ( h ) 。
误差参数 ϵ \epsilon ϵ 表示预先设定的学得模型所应满足的误差要求,即 E ( h ) E(h) E ( h ) 的上限,E ( h ) ⩽ ϵ E(h) \le \epsilon E ( h ) ⩽ ϵ 。
若 h h h 在数据集 D D D 上的经验误差为 0 0 0 ,则称 h h h 和 D D D 一致 ,否则称 h h h 和 D D D 不一致。
对于任意两个映射 h 1 , h 2 ∈ X → Y h_1, h_2 \in \mathcal{X} \to \mathcal{Y} h 1 , h 2 ∈ X → Y ,通过不合 (disagreement)度量它们之间的差别:d ( h 1 , h 2 ) = P x ∼ D ( h 1 ( x ) ≠ h 2 ( x ) ) d(h_1, h_2) = P_{\bm{x} \sim \mathcal{D}}(h_1(\bm{x}) \ne h_2(\bm{x})) d ( h 1 , h 2 ) = P x ∼ D ( h 1 ( x ) = h 2 ( x )) 。
什么是「学习」
概念 (concept)是从样本空间 X \mathcal{X} X 到标记空间 Y \mathcal{Y} Y 的映射,它决定了示例 x \bm{x} x 的真实标记 y y y 。
目标概念:若对任何样例 ( x , y ) (\bm{x}, y) ( x , y ) 均有 c ( x ) = y c(\bm{x}) = y c ( x ) = y 成立,则称 c c c 为目标概念 。
概念类:所有我们希望学得的目标概念所构成的集合称为概念类 (concept class),记为 C \mathcal{C} C 。
给定学习算法 L \mathfrak{L} L ,它所考虑的所有可能概念的集合称为假设空间 (hypothesis space),记为 H \mathcal{H} H :
由于学习算法事先并不知道概念类的真实存在,因此 H , C \mathcal{H}, \mathcal{C} H , C 通常是不同的,学习算法会把自认为可能的目标概念集中起来构成 H \mathcal{H} H 。
对于 h ∈ H h \in \mathcal{H} h ∈ H ,由于无法确定它是否真是目标概念,因此成为假设 (hypothesis)。
学习过程可以视为 L \mathfrak{L} L 在 H \mathcal{H} H 中进行的搜索过程。
可分的与不可分的:
可分的:若目标概念 c ∈ H c \in \mathcal{H} c ∈ H ,即 H \mathcal{H} H 中存在假设能将所有的示例完全正确分开(按与真实标记一致的方式),则称该问题对学习算法 L \mathfrak{L} L 是可分的 (separable),也称为一致的 (consistent)。
不可分的:若目标概念 c ∉ H c \notin \mathcal{H} c ∈ / H ,即 H \mathcal{H} H 中不存在假设能将所有的示例完全正确分开,则称该问题对学习算法 L \mathfrak{L} L 是不可分的 (non-separable),也称为不一致的 (inconsistent)。
对于给定训练集 D D D ,我们希望基于学习算法 L \mathfrak{L} L 学得的模型所对应的假设 h h h 「尽可能接近目标概念」c c c 。
为何不是希望精确地学到目标概念 c c c ?
获得的训练集 D D D 往往仅包含有限数目的样例,因此通常会存在一些 D D D 在上「等效」的假设,学习算法无法区别这些假设;
从分布 D \mathcal{D} D 采样得到 D D D 的过程有一定的偶然性,即便对同样大小的不同训练集,学的结果也可能有所不同。
可学习性
概率近似正确 (Probably Approximately Correct, PAC):我们希望以较大的把握学得比较好的模型,即以较大概率学得误差满足预设上限的模型 。
令 δ \delta δ 表示置信度,则有
PAC 辨识(PAC Identify)
对 0 < ϵ , δ < 1 0 < \epsilon, \delta < 1 0 < ϵ , δ < 1 ,所有 c ∈ C c \in \mathcal{C} c ∈ C 与分布 D \mathcal{D} D ,若存在学习算法 L \mathfrak{L} L ,其输出假设 h ∈ H h \in \mathcal{H} h ∈ H 满足
P ( E ( h ) ⩽ ϵ ) ⩾ 1 − δ P(E(h) \le \epsilon) \ge 1 - \delta
P ( E ( h ) ⩽ ϵ ) ⩾ 1 − δ
则称学习算法 L \mathfrak{L} L 能从假设空间 H \mathcal{H} H 中 PAC 辨识概念类 C \mathcal{C} C 。
这样的学习算法 L \mathfrak{L} L 能以较大概率(至少 1 − δ 1 - \delta 1 − δ )学得目标概念 c c c 的近似(误差最多为 ϵ \epsilon ϵ )。
令 m m m 表示从分布 D \mathcal{D} D 中 i.i.d. 采样得到的样例数目,对所有分布 D \mathcal{D} D ,若存在学习算法 L \mathfrak{L} L 和多项式函数 poly \operatorname{poly} poly ,使得对于任意 m ⩾ poly ( 1 ϵ , 1 δ , size ( x ) , size ( c ) ) m \ge \operatorname{poly}\left(\frac{1}{\epsilon}, \frac{1}{\delta}, \operatorname{size}(\bm{x}), \operatorname{size}(c)\right) m ⩾ poly ( ϵ 1 , δ 1 , size ( x ) , size ( c ) ) ,L \mathfrak{L} L 能从假设空间 H \mathcal{H} H 中 PAC 辨识概念类 C \mathcal{C} C ,则称概念类 C \mathcal{C} C 对假设空间 H \mathcal{H} H 而言是 PAC 可学习的 ,简称概念类 C \mathcal{C} C 是 PAC 可学习的。
若考虑对应学习算法 L \mathfrak{L} L 的时间复杂度,有
PAC 学习算法(PAC Learning Algorithm)
若学习算法使概念类 C \mathcal{C} C 为 PAC 可学习的,且 L \mathfrak{L} L 的运行时间也是多项式函数 poly ( 1 ϵ , 1 δ , size ( x ) , size ( c ) ) \operatorname{poly}\left(\frac{1}{\epsilon}, \frac{1}{\delta}, \operatorname{size}(\bm{x}), \operatorname{size}(c)\right) poly ( ϵ 1 , δ 1 , size ( x ) , size ( c ) ) ,则称概念类 C \mathcal{C} C 是「高效 PAC 可学习(efficiently PAC learnable)」的,称 L \mathfrak{L} L 为概念类 C \mathcal{C} C 的 PAC 学习算法。
假定学习算法 L \mathfrak{L} L 处理每个样本的时间为常数, 则 L \mathfrak{L} L 的时间复杂度等价于其样本复杂度。于是,我们对算法时间复杂度的分析可变为对样本复杂度的分析。
样本复杂度
满足 PAC 学习算法 L \mathfrak{L} L 所需的最小的 m m m ,称为学习算法 L \mathfrak{L} L 的样本复杂度 (sample complexity)。
PAC 学习的意义:
给出了一个抽象地刻画机器学习能力的框架,基于这个框架可以
对很多重要问题进行理论探讨
研究某任务在什么样的条件下可学得较好的模型?
某算法在什么样的条件下可进行有效的学习?
需要多少训练样例才能获得较好的模型?
把对复杂算法的时间复杂度的分析转为对样本复杂度的分析
假设空间 H \mathcal{H} H 的复杂度是影响可学习性的重要因素:
一般而言 H \mathcal{H} H 越大,其包含任意目标概念的可能性越大,但从中找到某个具体概念的难度也越大;
∣ H ∣ |\mathcal{H}| ∣ H ∣ 有限时,称为「有限假设空间」,否则称为「无限假设空间」。
若假设空间 H \mathcal{H} H 包含了学习算法 L \mathfrak{L} L 所有可能输出的假设,在 PAC 学习中假设空间与概念类完全相同(即 H = C \mathcal{H} = \mathcal{C} H = C ),则称该问题是「恰 PAC 可学习的」(properly PAC learnable)。
直观地看,这意味着学习算法的能力与学习任务「恰好匹配」,即所有候选假设都来自概念类。
然而在现实应用中我们对概念类通常一无所知,设计一个假设空间与概念类恰好相同的学习算法通常是不切实际的.
研究的重点在于假设空间与概念类不同时,即 H ≠ C \mathcal{H} \neq \mathcal{C} H = C 的情况。
有限假设空间
可分情况
目标概念 c c c 属于假设空间 H \mathcal{H} H ,即 c ∈ H c \in \mathcal{H} c ∈ H 。
一种简单的学习策略:
由于 c ∈ H c \in \mathcal{H} c ∈ H ,因此在训练集 D D D 上出现标记错误的假设肯定不是 c c c ;
保留与 D D D 一致的概念,剔除与 D D D 不一致的假设;
若 D D D 足够大,则可不断借助 D D D 中的样例剔除不一致的假设,直到 H \mathcal{H} H 中仅剩下一个假设为止,这个假设就是目标概念 c c c 。
通常情况下由于训练集规模有限,假设空间 H \mathcal{H} H 可能存在不止一个与 D D D 一致的等效假设,对于这些假设,无法根据 D D D 来对它们的优劣进一步区分。
需要多少样例才能学得目标概念的有效近似?
训练集 D D D 的规模使得学习算法 L \mathfrak{L} L 以概率 1 − δ 1 - \delta 1 − δ 找到目标假设的 ϵ \epsilon ϵ 近似,则
m ⩾ 1 ϵ ( ln ∣ H ∣ + ln 1 δ ) m \ge \dfrac{1}{\epsilon} \left( \ln |\mathcal{H}| + \ln \dfrac{1}{\delta} \right)
m ⩾ ϵ 1 ( ln ∣ H ∣ + ln δ 1 )
可分情况下的有限假设空间 H \mathcal{H} H 都是 PAC 可学习的,输出假设 h h h 的泛化误差随样例数目的增多而收敛到 0 0 0 ,收敛速率为 O ( 1 m ) O\left(\dfrac{1}{m}\right) O ( m 1 ) 。
不可分情况
对于较困难的学习任务,c ∉ H c \notin \mathcal{H} c ∈ / H ,即对任意 h ∈ H , E ^ ( h ) ≠ 0 h \in \mathcal{H}, \hat{E}(h) \ne 0 h ∈ H , E ^ ( h ) = 0 。
若 H \mathcal{H} H 为有限假设空间,0 < δ < 1 0 < \delta < 1 0 < δ < 1 ,则对任意 h ∈ H h \in \mathcal{H} h ∈ H 有
P ( ∣ E ( h ) − E ^ ( h ) ∣ ⩽ ln ∣ H ∣ + ln ( 2 / δ ) 2 m ) ⩾ 1 − δ P\left(|E(h) - \hat{E}(h)| \le \sqrt{\dfrac{\ln |\mathcal{H}| + \ln (2 / \delta)}{2m}}\right) \ge 1 - \delta
P ( ∣ E ( h ) − E ^ ( h ) ∣ ⩽ 2 m ln ∣ H ∣ + ln ( 2/ δ ) ) ⩾ 1 − δ
这表明样本大小 m m m 足够大时,h h h 的经验误差是其泛化误差很好的近似。尽管此时 c ∉ H c \notin \mathcal{H} c ∈ / H ,若能找到 H \mathcal{H} H 中返回误差最小的假设也是一个较好的选择。
因此这实际上指出了一种通用的学习原则,即经验风险最小化 (Empirical Risk Minimization, ERM)原则:令 h h h 表示学习算法 L \mathfrak{L} L 输出的假设,若 h h h 满足
E ^ ( h ) = min h ′ ∈ H E ^ ( h ′ ) \hat{E}(h) = \min_{h' \in \mathcal{H}} \hat{E}(h')
E ^ ( h ) = h ′ ∈ H min E ^ ( h ′ )
则称 L \mathfrak{L} L 为满足经验风险最小化原则的算法。
c ∉ H c \notin \mathcal{H} c ∈ / H 时可对 PAC 学习的定义做推广
不可知 PAC 可学习(agnostic PAC learneable)
令 m m m 表示从分布 D \mathcal{D} D 中 i.i.d. 采样得到的样例数目,0 < ϵ , δ < 1 0 < \epsilon, \delta < 1 0 < ϵ , δ < 1 ,对所有分布 D \mathcal{D} D ,若存在学习算法 L \mathfrak{L} L 和多项式函数 poly \operatorname{poly} poly ,使得对于任意 m ⩾ poly ( 1 ϵ , 1 δ , size ( x ) , size ( c ) , ∣ H ∣ ) m \ge \operatorname{poly}\left(\frac{1}{\epsilon}, \frac{1}{\delta}, \operatorname{size}(\bm{x}), \operatorname{size}(c), |\mathcal{H}|\right) m ⩾ poly ( ϵ 1 , δ 1 , size ( x ) , size ( c ) , ∣ H ∣ ) ,L \mathfrak{L} L 能从假设空间 H \mathcal{H} H 中输出满足下式的假设
P ( E ( h ) − min h ′ ∈ H E ( h ′ ) ⩽ ϵ ) ⩾ 1 − δ P(E(h) - \min_{h' \in \mathcal{H}} E(h') \le \epsilon) \ge 1 - \delta
P ( E ( h ) − h ′ ∈ H min E ( h ′ ) ⩽ ϵ ) ⩾ 1 − δ
则称假设空间 H \mathcal{H} H 是不可知 PAC 可学习的。
有限假设集是不可知 PAC 可学习的。
无限假设空间
现实学习任务所面临的通常是无线假设空间,例如实数域的所有区间,R d \R^d R d 空间的所有线性超平面等等。
这种情况下需要使用 ∣ H ∣ |\mathcal{H}| ∣ H ∣ 之外的方法度量假设空间的复杂性:
VC 维(Vapnik-Chervonenkis dimension)
Rademacher 复杂度(Rademacher complexity)
VC 维
给定假设空间 H \mathcal{H} H 和示例集 { x i } i = 1 m \left\lbrace \bm{x}_i \right\rbrace_{i=1}^m { x i } i = 1 m ,H \mathcal{H} H 中每个假设 h h h 都能对 D D D 中示例赋予标记,标记结果可表示为
h ∣ D = { ( h ( x 1 ) , h ( x 2 ) , … , h ( x m ) ) } h|_D = \left\lbrace \left(h(\bm{x}_1), h(\bm{x}_2), \dots, h(\bm{x}_m) \right)\right\rbrace
h ∣ D = { ( h ( x 1 ) , h ( x 2 ) , … , h ( x m ) ) }
假设空间 H \mathcal{H} H 中不同假设对于 D D D 中示例赋予标记的结果可能相同,也可能不同。
尽管 H \mathcal{H} H 可能包含无穷多个假设,但是其对 D D D 中示例赋予标记的可能结果是有限的:对于 m m m 个示例的二分类任务,最多可能有 2 m 2^m 2 m 个可能结果。
增长函数(growth function)
对所有 m ∈ N m \in \N m ∈ N ,假设空间 H \mathcal{H} H 的增长函数 Π H \Pi_{\mathcal{H}} Π H 定义为
Π H ( m ) = max { x i } i = 1 m ∣ { h ∣ D : h ∈ H } ∣ \Pi_{\mathcal{H}}(m) = \max_{\left\lbrace \bm{x}_i \right\rbrace_{i=1}^m} \left| \left\lbrace h|_D : h \in \mathcal{H} \right\rbrace \right|
Π H ( m ) = { x i } i = 1 m max ∣ { h ∣ D : h ∈ H } ∣
增长函数表示假设空间对 m m m 个示例所能赋予标记的最大可能结果数。
H \mathcal{H} H 对示例赋予标记的可能结果数越大,H \mathcal{H} H 的表示能力越强,对学习任务的适应能力也越强。
增长函数表述了 H \mathcal{H} H 的表示能力,由此反映出假设空间的复杂度。
可利用增长函数估计经验误差与泛化误差之间的关系:
对假设空间 H \mathcal{H} H 与 m ∈ N , 0 < ϵ < 1 m \in \N, 0 < \epsilon < 1 m ∈ N , 0 < ϵ < 1 和任意 h ∈ H h \in \mathcal{H} h ∈ H 有
P ( ∣ E ( h ) − E ^ ( h ) ∣ > ϵ ) ⩽ 4 Π H ( 2 m ) exp ( − m ϵ 2 8 ) P\left( |E(h) - \hat{E}(h)| > \epsilon \right) \le 4 \Pi_{\mathcal{H}}(2m) \exp\left(-\dfrac{m\epsilon^2}{8}\right)
P ( ∣ E ( h ) − E ^ ( h ) ∣ > ϵ ) ⩽ 4 Π H ( 2 m ) exp ( − 8 m ϵ 2 )
对二分类任务来说,H \mathcal{H} H 中的假设对 D D D 中示例赋予标记的每种可能结果称为对 D D D 的一种对分 (dichotomy)。
若 H \mathcal{H} H 能实现 D D D 上的所有对分,则称 D D D 能被 H \mathcal{H} H 打散 (shattered)。
VC 维(Vapnik-Chervonenkis dimension)
假设空间 H \mathcal{H} H 的 VC 维 是能被 H \mathcal{H} H 打散的最大示例集的大小,即
VC ( H ) = max { m : Π H ( m ) = 2 m } \operatorname{VC}(\mathcal{H}) = \max\left\lbrace m \colon \Pi_{\mathcal{H}}(m) = 2^m \right\rbrace
VC ( H ) = max { m : Π H ( m ) = 2 m }
VC ( H ) = d \operatorname{VC}(\mathcal{H}) = d VC ( H ) = d 意味着存在一个大小为 d d d 的示例集能被 H \mathcal{H} H 打散,所有大小超过 d d d 的示例集都不能被 H \mathcal{H} H 打散。
例子:
令 H \mathcal{H} H 表示实数域的所有闭区间构成的集合 { h [ a , b ] : a , b ∈ R , a ⩽ b } \left\lbrace h_{[a, b]}\colon a, b \in \R,\, a \le b\right\rbrace { h [ a , b ] : a , b ∈ R , a ⩽ b } ,有 X = R \mathcal{X} = \R X = R ,对 x ∈ X x \in \mathcal{X} x ∈ X ,若 x ∈ [ a , b ] x \in [a, b] x ∈ [ a , b ] ,则 h [ a , b ] ( x ) = 1 h_{[a, b]}(x) = 1 h [ a , b ] ( x ) = 1 ,否则 h [ a , b ] ( x ) = − 1 h_{[a, b]}(x) = -1 h [ a , b ] ( x ) = − 1 。
令 x 1 = 0.5 , x 2 = 1.5 x_1 = 0.5, x_2 = 1.5 x 1 = 0.5 , x 2 = 1.5 ,则 H \mathcal{H} H 中存在假设 { h [ 0 , 1 ] , h [ 0 , 2 ] , h [ 1 , 2 ] , h [ 2 , 3 ] } \left\lbrace h_{[0, 1]},\, h_{[0, 2]},\, h_{[1, 2]},\, h_{[2, 3]} \right\rbrace { h [ 0 , 1 ] , h [ 0 , 2 ] , h [ 1 , 2 ] , h [ 2 , 3 ] } 将 { x 1 , x 2 } \left\lbrace x_1, x_2 \right\rbrace { x 1 , x 2 } 打散,所以假设空间 H \mathcal{H} H 的 VC 维至少为 2 2 2 。
对任意大小为 3 3 3 的示例集 { x 3 , x 4 , x 5 } \left\lbrace x_3, x_4, x_5 \right\rbrace { x 3 , x 4 , x 5 } ,不妨令 x 3 < x 4 < x 5 x_3 < x_4 < x_5 x 3 < x 4 < x 5 ,则 H \mathcal{H} H 中不存在任何假设 h [ a , b ] h_{[a, b]} h [ a , b ] 能实现对分结果 { ( x 3 , 1 ) , ( x 4 , − 1 ) , ( x 5 , 1 ) } \left\lbrace (x_3, 1),\, (x_4, -1),\, (x_5, 1) \right\rbrace { ( x 3 , 1 ) , ( x 4 , − 1 ) , ( x 5 , 1 ) } 。
因此 H \mathcal{H} H 的 VC 维为 2 2 2 。
下面是另一个例子,二维实平面的线性划分。
对于 VC 维与增长函数之间的定量关系,有
Sauer 引理
若 H \mathcal{H} H 的 VC 维为 d d d ,则对任意 m ∈ N m \in \N m ∈ N 有
π H ( m ) ⩽ ∑ i = 0 d ( m i ) \pi_{\mathcal{H}}(m) \le \sum_{i=0}^d \binom{m}{i}
π H ( m ) ⩽ i = 0 ∑ d ( i m )
由此可计算出增长函数的上界,有引理
对任意整数 m ⩾ d m \ge d m ⩾ d 有
Π H ( m ) ⩽ ( e m d ) d \Pi_{\mathcal{H}}(m) \le \left( \dfrac{\e m}{d} \right)^d
Π H ( m ) ⩽ ( d e m ) d
基于 VC 维的泛化误差界:
若假设空间 H \mathcal{H} H 的 VC 维为 d d d ,则对任意 m > d , 0 < δ < 1 m > d, 0 < \delta < 1 m > d , 0 < δ < 1 和 h ∈ H h \in \mathcal{H} h ∈ H 有
P ( ∣ E ( h ) − E ^ ( h ) ∣ ⩽ 8 d ln ( 2 e m / d ) + 8 ln ( 4 / δ ) m ) ⩾ 1 − δ P\left( |E(h) - \hat{E}(h)| \le \sqrt{\dfrac{8d \ln(2 \e m / d) + 8 \ln (4 / \delta)}{m}} \right) \ge 1 - \delta
P ( ∣ E ( h ) − E ^ ( h ) ∣ ⩽ m 8 d ln ( 2 e m / d ) + 8 ln ( 4/ δ ) ) ⩾ 1 − δ
上式的泛化误差界仅与样例数目 m m m 有关,与数据分布 D \mathcal{D} D 及样例集 D D D 无关,收敛速率为 O ( 1 m ) O\left( \dfrac{1}{\sqrt{m}} \right) O ( m 1 ) 。
因此基于 VC 维的泛化误差界有分布无关 (distribution-free)性与数据独立 (data-independent)性。
类似地,上面的定理能看出,当假设空间的 VC 维有限且样本大小 m m m 足够大时,h h h 的经验误差是其泛化误差的较好近似。
因此对于满足经验风险最小化原则的学习算法 L \mathfrak{L} L 有定理
任何 VC 维有限的假设空间 H \mathcal{H} H 都是(不可知)PAC 可学习的。
Rademacher 复杂度
由于基于 VC 维的泛化误差界是分布无关与数据独立的,因此基于 VC 维的可学习性分析结果具有一定的普适性,但同时因为没有考虑数据自身,因此得到的泛化误差界比较松。
Rademacher 复杂度是另一种刻画假设空间复杂的的途径,它在一定程度上考虑了数据分布。
给定数据集 D = { ( x i , y i ) } i = 1 m D = \left\lbrace (\bm{x}_i, y_i) \right\rbrace_{i=1}^m D = { ( x i , y i ) } i = 1 m ,则假设 h h h 的经验误差
E ^ ( h ) = 1 m ∑ i = 1 m I ( h ( x i ) ≠ y i ) = 1 m ∑ i = 1 m 1 − y i h ( x i ) 2 = 1 2 − 1 2 m ∑ i = 1 m y i h ( x i ) \begin{aligned}
\hat{E}(h) &= \dfrac{1}{m} \sum_{i=1}^m \mathbb{I}(h(\bm{x}_i) \ne y_i) \\
&= \dfrac{1}{m} \sum_{i=1}^{m} \dfrac{1 - y_i h(\bm{x}_i)}{2}\\
&= \dfrac{1}{2} - \dfrac{1}{2m} \sum_{i=1}^m y_i h(\bm{x}_i)
\end{aligned}
E ^ ( h ) = m 1 i = 1 ∑ m I ( h ( x i ) = y i ) = m 1 i = 1 ∑ m 2 1 − y i h ( x i ) = 2 1 − 2 m 1 i = 1 ∑ m y i h ( x i )
其中 1 m ∑ i = 1 m y i h ( x i ) \displaystyle \dfrac{1}{m}\sum_{i=1}^{m}y_ih(\bm{x}_i) m 1 i = 1 ∑ m y i h ( x i ) 体现了预测值 h ( x i ) h(\bm{x}_i) h ( x i ) 与样例真实标记 y i y_i y i 之间的一致性。
若对任意 i ∈ { 1 , 2 , … , m } i \in \left\lbrace 1, 2, \dots, m \right\rbrace i ∈ { 1 , 2 , … , m } 都有 h ( x i ) = y i h(\bm{x}_i) = y_i h ( x i ) = y i ,则 1 m ∑ i = 1 m y i h ( x i ) \dfrac{1}{m} \displaystyle \sum_{i=1}^{m}y_i h(\bm{x}_i) m 1 i = 1 ∑ m y i h ( x i ) 取最大值 1 1 1 ,经验误差的的最小假设为
arg max h ∈ H 1 m ∑ i = 1 m y i h ( x i ) \argmax_{h \in \mathcal{H}} \dfrac{1}{m} \sum_{i=1}^m y_i h(\bm{x}_i)
h ∈ H arg max m 1 i = 1 ∑ m y i h ( x i )
若假设标签 y i y_i y i 收到随机因素的影响,不再是 x i \bm{x}_i x i 的真实标记,则应该选择 H \mathcal{H} H 中事先已经考虑了随机噪声影响的假设
sup h ∈ H 1 m ∑ i = 1 m σ i h ( x i ) \sup_{h \in \mathcal{H}} \dfrac{1}{m} \sum_{i=1}^m \sigma_i h(\bm{x}_i)
h ∈ H sup m 1 i = 1 ∑ m σ i h ( x i )
其中 σ i \sigma_i σ i 为 Rademacher 随机变量,其以 0.5 0.5 0.5 的概率取 1 1 1 ,以 0.5 0.5 0.5 的概率取 − 1 -1 − 1 。
考虑 H \mathcal{H} H 中所有假设,取期望可得
E σ [ sup h ∈ H 1 m ∑ i = 1 m σ i h ( x i ) ] \mathbb{E}_{\bm{\sigma}} \left[ \sup_{h \in \mathcal{H}} \dfrac{1}{m} \sum_{i=1}^m \sigma_i h(\bm{x}_i) \right]
E σ [ h ∈ H sup m 1 i = 1 ∑ m σ i h ( x i ) ]
其中 σ = { σ i } i = 1 m \bm{\sigma} = \left\lbrace \sigma_i \right\rbrace_{i=1}^m σ = { σ i } i = 1 m 。
这个式子的取值范围为 [ 0 , 1 ] [0, 1] [ 0 , 1 ] ,体现了假设空间 H \mathcal{H} H 的表达能力:
当 ∣ H ∣ = 1 |\mathcal{H}| = 1 ∣ H ∣ = 1 时,H \mathcal{H} H 中仅有一个假设,期望为 0 0 0 ;
当 ∣ H ∣ = 2 m |\mathcal{H}| = 2^m ∣ H ∣ = 2 m 且 H \mathcal{H} H 能打散 D D D 时,则对于任意 σ \bm{\sigma} σ 总有一个假设使得 h ( x i ) = σ i h(\bm{x}_i) = \sigma_i h ( x i ) = σ i ,此时可计算出期望值为 1 1 1 。
Rademacher 复杂度定义为
Rademacher 复杂度(Rademacher complexity)
函数空间 F \mathcal{F} F 关于 Z Z Z 的经验 Rademacher 复杂度为
R ^ Z ( F ) = E σ [ sup f ∈ F 1 m ∑ i = 1 m σ i f ( x i ) ] \hat{R}_{Z}(\mathcal{F}) = \mathbb{E}_{\bm{\sigma}} \left[ \sup_{f \in \mathcal{F}} \dfrac{1}{m} \sum_{i=1}^m \sigma_i f(\bm{x}_i) \right]
R ^ Z ( F ) = E σ [ f ∈ F sup m 1 i = 1 ∑ m σ i f ( x i ) ]
其中 F : Z → R \mathcal{F}\colon \mathcal{Z} \to\R F : Z → R 为实值函数空间,Z = { z i } i = 1 m Z = \left\lbrace z_i \right\rbrace_{i=1}^m Z = { z i } i = 1 m ,z i ∈ Z z_i \in \mathcal{Z} z i ∈ Z 。
函数空间 F \mathcal{F} F 关于 Z Z Z 上分布 D \mathcal{D} D 的经验 Rademacher 复杂度为
R m ( F ) = E Z ⊆ Z : ∣ Z ∣ = m [ R ^ Z ( F ) ] R_m(\mathcal{F}) = \mathbb{E}_{Z \subseteq \mathcal{Z}\colon |Z| = m} \left[ \hat{R}_{Z}(\mathcal{F}) \right]
R m ( F ) = E Z ⊆ Z : ∣ Z ∣ = m [ R ^ Z ( F ) ]
经验 Rademacher 复杂度衡量了函数空间 F \mathcal{F} F 与随机噪声在集合 Z Z Z 中的相关性。当 R ^ Z ( F ) \hat{R}_{Z}(\mathcal{F}) R ^ Z ( F ) 较大时,说明 F \mathcal{F} F 能很好地拟合 Z Z Z 中的随机噪声,即 F \mathcal{F} F 的表达能力较强,具有较高的复杂度,有高的过拟合风险。
基于 Rademacher 复杂度可得关于函数空间 F \mathcal{F} F 的泛化误差界。
对实值函数空间 F : Z → [ 0 , 1 ] \mathcal{F}\colon \mathcal{Z} \to[0, 1] F : Z → [ 0 , 1 ] ,根据分布 D \mathcal{D} D 从 Z \mathcal{Z} Z 中 i.i.d. 采样得到示例 Z = { z 1 , z 2 , … , z m } Z = \left\lbrace z_1, z_2, \dots, z_m \right\rbrace Z = { z 1 , z 2 , … , z m } ,其中 z i ∈ Z , 0 < δ < 1 z_i \in \mathcal{Z}, 0 < \delta < 1 z i ∈ Z , 0 < δ < 1 ,对任意 f ∈ F f \in \mathcal{F} f ∈ F ,以至少 1 − δ 1 - \delta 1 − δ 概率有
E [ f ( z ) ] ⩽ 1 m ∑ i = 1 m f ( z i ) + 2 R m ( F ) + ln ( 1 / δ ) 2 m E [ f ( z ) ] ⩽ 1 m ∑ i = 1 m f ( z i ) + 2 R ^ Z ( F ) + 3 ln ( 2 / δ ) 2 m \begin{aligned}
\mathbb{E}[f(z)] &\le \dfrac{1}{m} \sum_{i=1}^{m}f(z_i) + 2R_m(\mathcal{F}) + \sqrt{\dfrac{\ln(1 / \delta)}{2 m}}\\
\mathbb{E}[f(z)] &\le \dfrac{1}{m} \sum_{i=1}^{m}f(z_i) + 2\hat{R}_{Z}(\mathcal{F}) + 3\sqrt{\dfrac{\ln(2 / \delta)}{2 m}}
\end{aligned}
E [ f ( z )] E [ f ( z )] ⩽ m 1 i = 1 ∑ m f ( z i ) + 2 R m ( F ) + 2 m ln ( 1/ δ ) ⩽ m 1 i = 1 ∑ m f ( z i ) + 2 R ^ Z ( F ) + 3 2 m ln ( 2/ δ )
上面的函数空间 F \mathcal{F} F 是区间 [ 0 , 1 ] [0, 1] [ 0 , 1 ] 上的实值函数,因此只适合回归问题。
对假设空间 H : X → { − 1 , 1 } \mathcal{H}\colon \mathcal{X} \to \left\lbrace -1, 1 \right\rbrace H : X → { − 1 , 1 } ,根据分布 D \mathcal{D} D 从 X \mathcal{X} X 中 i.i.d. 采样得到示例 D = { x i } i = 1 m D = \left\lbrace \bm{x}_i \right\rbrace_{i=1}^m D = { x i } i = 1 m ,其中 x i ∈ X , 0 < δ < 1 \bm{x}_i \in \mathcal{X}, 0 < \delta < 1 x i ∈ X , 0 < δ < 1 ,对任意 h ∈ H h \in \mathcal{H} h ∈ H ,以至少 1 − δ 1 - \delta 1 − δ 概率有
E ( h ) ⩽ E ^ ( h ) + R m ( H ) + ln ( 1 / δ ) 2 m E ( h ) ⩽ E ^ ( h ) + R ^ D ( H ) + 3 ln ( 2 / δ ) 2 m \begin{aligned}
E(h) &\le \hat{E}(h) + R_m(\mathcal{H}) + \sqrt{\dfrac{\ln(1 / \delta)}{2 m}}\\
E(h) &\le \hat{E}(h) + \hat{R}_{D}(\mathcal{H}) + 3\sqrt{\dfrac{\ln(2 / \delta)}{2 m}}
\end{aligned}
E ( h ) E ( h ) ⩽ E ^ ( h ) + R m ( H ) + 2 m ln ( 1/ δ ) ⩽ E ^ ( h ) + R ^ D ( H ) + 3 2 m ln ( 2/ δ )
上面的定理就适合二分类问题。
Rademacher 复杂度与增长函数之间的关系有
假设空间 H \mathcal{H} H 的 Rademacher 复杂度为 R m ( H ) R_m(\mathcal{H}) R m ( H ) 与增长函数 Π H ( m ) \Pi_{\mathcal{H}}(m) Π H ( m ) ,满足
R m ( H ) ⩽ 2 ln Π H ( m ) m R_m(\mathcal{H}) \le \sqrt{\dfrac{2 \ln\Pi_{\mathcal{H}}(m)}{m}}
R m ( H ) ⩽ m 2 ln Π H ( m )
综合可得
E ( h ) ⩽ E ^ ( h ) + 2 d ln ( e m / d ) m + ln ( 1 / δ ) 2 m E(h) \le \hat{E}(h) + \sqrt{\dfrac{2d \ln(\e m / d)}{m}} + \sqrt{\dfrac{\ln(1 / \delta)}{2m}}
E ( h ) ⩽ E ^ ( h ) + m 2 d ln ( e m / d ) + 2 m ln ( 1/ δ )
稳定性
基于 VC 维和 Rademacher 复杂度分析泛化性能,得到的结果均与具体的学习算法无关,可使得人们脱离具体的学习算法考虑学习问题本身的性质。
为了获得与算法有关的分析结果,可以考察算法在输入(训练集)发生变化时,输出是否发生较大的变化,即「稳定性」。
给定 D = { z i = ( x i , y i ) } i = 1 m D = \left\lbrace \bm{z}_i = (\bm{x}_i, y_i) \right\rbrace_{i=1}^m D = { z i = ( x i , y i ) } i = 1 m ,其中 x i ∈ X \bm{x}_i \in \mathcal{X} x i ∈ X 是来自分布 D \mathcal{D} D 的 i.i.d. 示例,y i ∈ Y = { − 1 , 1 } y_i \in \mathcal{Y} = \left\lbrace -1, 1 \right\rbrace y i ∈ Y = { − 1 , 1 } 。
对假设空间 H : X → { − 1 , 1 } \mathcal{H}\colon \mathcal{X} \to \left\lbrace -1, 1 \right\rbrace H : X → { − 1 , 1 } 和学习算法 L \mathfrak{L} L ,令 L D ∈ H \mathfrak{L}_D \in \mathcal{H} L D ∈ H 表示基于训练集 D D D 从假设空间 H \mathcal{H} H 中学得的假设,定义
D ∖ i D^{\setminus i} D ∖ i 表示移除 D D D 中第 i i i 个样例得到的集合 { z 1 , … , z i − 1 , z i + 1 , … , z m } \left\lbrace \bm{z}_1, \dots, \bm{z}_{i-1}, \bm{z}_{i+1}, \dots, \bm{z}_m \right\rbrace { z 1 , … , z i − 1 , z i + 1 , … , z m } ;
D i D^i D i 表示替换 D D D 中第 i i i 个样例得到的集合 { z 1 , … , z i − 1 , z ′ , z i + 1 , … , z m } \left\lbrace \bm{z}_1, \dots, \bm{z}_{i-1}, \bm{z}', \bm{z}_{i+1}, \dots, \bm{z}_m \right\rbrace { z 1 , … , z i − 1 , z ′ , z i + 1 , … , z m } ,其中 z ′ = ( x ′ , y ′ ) \bm{z}' = (\bm{x}', y') z ′ = ( x ′ , y ′ ) ,x i ′ \bm{x}_i' x i ′ 服从分布 D \mathcal{D} D 并独立于 D D D 。
损失函数 ℓ ( L D ( x ) , y ) : Y × Y → R + \ell(\mathfrak{L}_D(\bm{x}), y)\colon \mathcal{Y} \times \mathcal{Y} \to \R^{+} ℓ ( L D ( x ) , y ) : Y × Y → R + 刻画假设 L D \mathfrak{L}_D L D 的预测标记 L D ( x ) \mathfrak{L}_D(\bm{x}) L D ( x ) 与真实标记 y y y 之间的差别,简记为 ℓ ( L D , z ) \ell(\mathfrak{L}_D, \bm{z}) ℓ ( L D , z ) 。
泛化损失:ℓ ( L , D ) = E x ∈ X , z = ( x , y ) [ ℓ ( L D , z ) ] \ell(\mathfrak{L}, D) = \mathbb{E}_{\bm{x} \in \mathcal{X}, \bm{z} = (\bm{x}, y)}\left[ \ell(\mathfrak{L}_D, \bm{z}) \right] ℓ ( L , D ) = E x ∈ X , z = ( x , y ) [ ℓ ( L D , z ) ]
经验损失:ℓ ^ ( L D , D ) = 1 m ∑ i = 1 m ℓ ( L D , z i ) \hat{\ell}(\mathfrak{L}_D, D) = \dfrac{1}{m} \sum_{i=1}^m \ell(\mathfrak{L}_D, \bm{z}_i) ℓ ^ ( L D , D ) = m 1 ∑ i = 1 m ℓ ( L D , z i )
留一(leave-one-out)损失:ℓ loo ( L D , D ) = 1 m ∑ i = 1 m ℓ ( L D ∖ i , z i ) \ell_{\text{loo}}(\mathfrak{L}_D, D) = \dfrac{1}{m} \sum_{i=1}^m \ell(\mathfrak{L}_{D^{\setminus i}}, \bm{z}_i) ℓ loo ( L D , D ) = m 1 ∑ i = 1 m ℓ ( L D ∖ i , z i )
算法的均匀稳定性(uniform stability)
对任何 x ∈ X , z = ( x , y ) \bm{x} \in \mathcal{X}, \bm{z} = (\bm{x}, y) x ∈ X , z = ( x , y ) ,若学习算法 L \mathfrak{L} L 满足
∣ ℓ ( L D , z ) − ℓ ( L D ∖ i , z ) ∣ ⩽ β \left\lvert \ell(\mathfrak{L}_D, \bm{z}) - \ell(\mathfrak{L}_{D^{\setminus i}}, \bm{z}) \right\rvert \le \beta
∣ ℓ ( L D , z ) − ℓ ( L D ∖ i , z ) ∣ ⩽ β
则称 L \mathfrak{L} L 关于损失函数 ℓ \ell ℓ 满足 β \beta β -均匀性。
若算法 L \mathfrak{L} L 关于损失函数 ℓ \ell ℓ 满足 β \beta β -均匀性,则
∣ ℓ ( L D , z ) − ℓ ( L D i , z ) ∣ ⩽ ∣ ℓ ( L D , z ) − ℓ ( L D ∖ i , z ) ∣ + ∣ ℓ ( L D ∖ i , z ) − ℓ ( L D i , z ) ∣ ⩽ 2 β \begin{aligned}
\left\lvert \ell(\mathfrak{L}_D, \bm{z}) - \ell(\mathfrak{L}_{D^{i}}, \bm{z}) \right\rvert &\le \left\lvert \ell(\mathfrak{L}_D, \bm{z}) - \ell(\mathfrak{L}_{D^{\setminus i}}, \bm{z}) \right\rvert + \left\lvert \ell(\mathfrak{L}_{D^{\setminus i}}, \bm{z}) - \ell(\mathfrak{L}_{D^{i}}, \bm{z}) \right\rvert \\
&\le 2 \beta
\end{aligned}
∣ ℓ ( L D , z ) − ℓ ( L D i , z ) ∣ ⩽ ∣ ℓ ( L D , z ) − ℓ ( L D ∖ i , z ) ∣ + ∣ ℓ ( L D ∖ i , z ) − ℓ ( L D i , z ) ∣ ⩽ 2 β
也即,移除示例的稳定性包含替换示例的稳定性。
若损失函数 ℓ \ell ℓ 有界,对所有 D D D 和 z = ( x , y ) \bm{z} = (\bm{x}, y) z = ( x , y ) 有 0 ⩽ ℓ ( L D , z ) ⩽ M 0 \le \ell(\mathfrak{L}_D, \bm{z}) \le M 0 ⩽ ℓ ( L D , z ) ⩽ M ,则有
给定从分布 D \mathcal{D} D 上 i.i.d. 采样得到的大小为 m m m 的示例集 D D D ,若学习算法 L \mathfrak{L} L 满足关于损失函数 ℓ \ell ℓ 的 β \beta β -均匀稳定性,且损失函数 ℓ \ell ℓ 的上界为 M M M ,同时 0 < δ < 1 0 < \delta < 1 0 < δ < 1 ,则对任意 m ⩾ 1 m \ge 1 m ⩾ 1 ,以至少 1 − δ 1 - \delta 1 − δ 的概率有
ℓ ( L , D ) ⩽ ℓ ^ ( L , D ) + 2 β + ( 4 m β + M ) ln ( 1 / δ ) 2 m ℓ ( L , D ) ⩽ ℓ loo ( L , D ) + β + ( 4 m β + M ) ln ( 1 / δ ) 2 m \begin{aligned}
\ell(\mathfrak{L}, \mathcal{D}) &\le \hat{\ell}(\mathfrak{L}, D) + 2\beta + (4 m \beta + M) \sqrt{\dfrac{\ln(1 / \delta)}{2m}}\\
\ell(\mathfrak{L}, \mathcal{D}) &\le \ell_{\text{loo}}(\mathfrak{L}, D) + \beta + (4 m \beta + M) \sqrt{\dfrac{\ln(1 / \delta)}{2m}}
\end{aligned}
ℓ ( L , D ) ℓ ( L , D ) ⩽ ℓ ^ ( L , D ) + 2 β + ( 4 m β + M ) 2 m ln ( 1/ δ ) ⩽ ℓ loo ( L , D ) + β + ( 4 m β + M ) 2 m ln ( 1/ δ )
上面的定理给出了基于稳定性分析推导出的学习算法 L \mathfrak{L} L 学得假设的泛化误差界。
经验误差与泛化损失之间差别的收敛率为 β m \beta \sqrt{m} β m ,若 β = O ( 1 m ) \beta = O\left(\dfrac{1}{m}\right) β = O ( m 1 ) 则可保证收敛率为 O ( 1 m ) O\left(\dfrac{1}{\sqrt{m}}\right) O ( m 1 ) 。该收敛率与基于 VC 维和 Rademacher 复杂度得到的收敛率一致。
学习算法的稳定性分析关注的是 ∣ ℓ ^ ( L , D ) − ℓ ( L , D ) ∣ |\hat{\ell}(\mathfrak{L}, D) - \ell(\mathfrak{L}, \mathcal{D})| ∣ ℓ ^ ( L , D ) − ℓ ( L , D ) ∣ ,即学习算法在训练集上的表现与在整个数据分布上的表现之间的差异;假设空间复杂度分析关注的是 sup h ∈ H ∣ E ( h ) − E ^ ( h ) ∣ \sup\limits_{h \in \mathcal{H}} |E(h) - \hat{E}(h)| h ∈ H sup ∣ E ( h ) − E ^ ( h ) ∣ ,即假设空间中不同假设的泛化误差与经验误差之间的差异。
因此稳定性分析不必考虑假设空间中所有可能的假设,只需根据分析算法自身的特性(稳定性)来讨论输出假设 L D \mathfrak{L}_D L D 的泛化稳定误差界。
必须假设 β m → 0 \beta \sqrt{m} \to 0 β m → 0 才能保证稳定的学习算法具有一定的泛化能力,即经验损失收敛于泛化损失,否则可学习性无从谈起。
对于满足 ERM(即经验风险最小化)原则的学习算法,有
若学习算法是 ERM 且稳定的,则假设空间 H \mathcal{H} H 可学习。
学习算法的稳定性能导出假设空间的可学习性。稳定性和假设空间可通过损失函数 ℓ \ell ℓ 联系起来。