《机器学习理论导引》笔记目录
0 感言
进行本章时是第一次进行“可学性”理论的学习,希望自己能够理解这一概念。不过值得庆幸的是有组里学长之前PPT的帮助。
最近要开始忙毕业论文了,所以这一篇完了会咕一阵子更新第三章的学习,希望自己能学清楚并且有不错的表述 (然而主体还是组里同学的PPT只是小修小改这些,再次向组里的同学表示感谢!)
2.0 什么是可学性 (learnable)
在考虑算法设计的时候,对于一个任务,我们要考虑其是否可学,即从理论上对其是否可行进行大致分析。
2.1 可学性的基本概念
样本空间 (输入空间) X \mathcal{X} X
标记空间 (输出空间) Y = { − 1 , + 1 } \mathcal{Y}=\{−1,+1\} Y = { − 1 , + 1 }
样本集 D = { ( x i , y i ) } i = 1 m , x i ∈ X , y i ∈ Y D=\{(x_i,y_i)\}_{i=1}^m, x_i\in\mathcal{X},y_i\in\mathcal{Y} D = {( x i , y i ) } i = 1 m , x i ∈ X , y i ∈ Y
对于这样一个样本,假设 D \mathcal{D} D 是 X × Y \mathcal{X}\times\mathcal{Y} X × Y 上的联合分布,D X \mathcal{D}_{\mathcal{X}} D X 是样本空间 X \mathcal{X} X 上的边缘分布,假设 D D D 中所有样本从 D \mathcal{D} D 中独立同分布 (independent and identically distributed, i . i . d i.i.d i . i . d ) 采样得到 D ∼ D m D\sim\mathcal{D}^m D ∼ D m
泛化误差和经验误差
对于一个学习算法 L \mathcal{L} L ,对其输入 样本集 D D D ,使用映射 h : X ↦ Y h:\mathcal{X}\mapsto\mathcal{Y} h : X ↦ Y 对其进行输出,为了评价 L \mathcal{L} L 和 h h h 的质量,引入 泛化误差 (generalization error) 的概念
E ( h ; D ) = P ( x , y ) ∼ D ( h ( x ) ≠ y ) = E ( x , y ) ∼ D [ I ( h ( x ) ≠ y ) ] E(h;\mathcal{D})=P_{(\bold{x},y)\sim\mathcal{D}}(h(\bold{x})\ne y)=E_{(\bold{x},y)\sim\mathcal{D}}[\mathbb{I}(h(\bold{x})\ne y)] E ( h ; D ) = P ( x , y ) ∼ D ( h ( x ) = y ) = E ( x , y ) ∼ D [ I ( h ( x ) = y )]
但是泛化误差只是个理想化概念,现实中我们对于 D \mathcal{D} D 无从知晓,所以引入 经验误差 (empirical error) 的概念来估计泛化误差。(在数据独立同分布假设下 ,经验误差的期望等于泛化误差
)
E ^ ( h ; D ) = 1 m ∑ i = 1 m I ( h ( x i ≠ y i ) ) \hat{E}(h;D)=\frac{1}{m}\sum_{i=1}^m\mathbb{I}(h(\bold{x_i}\ne y_i)) E ^ ( h ; D ) = m 1 i = 1 ∑ m I ( h ( x i = y i ))
简记 E ( h ; D ) = E ( h ) , E ^ ( h ; D ) = E ^ ( h ) E(h;\mathcal{D})=E(h),\hat{E}(h;D)=\hat{E}(h) E ( h ; D ) = E ( h ) , E ^ ( h ; D ) = E ^ ( h ) ,下给出证明
E D ∼ D m ( E ^ ( h ; D ) ) = E D ∼ D m ( 1 m ∑ i = 1 m I ( h ( x i ≠ y i ) ) ) = 1 m ∑ i = 1 m E ( x i , y i ) ∼ D ( I ( h ( x i ≠ y i ) ) = 1 m × E ( h ; D ) = E ( h ; D ) Q.E.D. E_{D\sim\mathcal{D}^m}(\hat{E}(h;D))=E_{D\sim\mathcal{D}^m}(\frac{1}{m}\sum_{i=1}^m\mathbb{I}(h(\bold{x_i}\ne y_i)))\\
=\frac{1}{m}\sum_{i=1}^m E_{(\mathbb{x_i},y_i)\sim\mathcal{D}}(\mathbb{I}(h(\bold{x_i}\ne y_i))
=\frac{1}{m}\times E(h;\mathcal{D})=E(h;\mathcal{D})\ \ \text{Q.E.D.} E D ∼ D m ( E ^ ( h ; D )) = E D ∼ D m ( m 1 i = 1 ∑ m I ( h ( x i = y i ))) = m 1 i = 1 ∑ m E ( x i , y i ) ∼ D ( I ( h ( x i = y i )) = m 1 × E ( h ; D ) = E ( h ; D ) Q.E.D.
若 h h h 在 D D D 上的经验误差为0,则称 h h h 与 D D D 一致 ,否则称其不一致 ,对于任意两个 X ↦ Y \mathcal{X}\mapsto\mathcal{Y} X ↦ Y 上的映射 h 1 , h 2 h_1,h_2 h 1 , h 2 ,可通过 不合 (disagreement) 来度量它们之间的差别,即
d i s ( h 1 , h 2 ) = P x ∼ D X ( h 1 ( x ) ≠ h 2 ( x ) ) dis(h_1,h_2)=P_{\bold{x}\sim\mathcal{D}_\mathcal{X}}(h_1(x)\ne h_2(x)) d i s ( h 1 , h 2 ) = P x ∼ D X ( h 1 ( x ) = h 2 ( x ))
概念和概念类
定义 概念 (concept) 为样本空间到标记空间的映射:c : X ↦ Y c:\mathcal{X}\mapsto\mathcal{Y} c : X ↦ Y
若对任何 ( x , y ) (x,y) ( x , y ) 有 c ( x ) = y c(x)=y c ( x ) = y 成立,则称 c c c 为目标概念
所有我们希望学得的目标概念所组成的集合称为 概念类 (concept class) C \mathcal{C} C
例子
对于所有平面几何图形构成的样本空间,目标概念“三角形”把所有三角形映射为1,其他几何图形映射为-1;类似地,{三角形,四边形,五边形}可构成一个任务的概念类。
对于所有 R \mathbb{R} R 上的区间构成的样本空间,目标概念“开区间”把所有开区间映射为1,其他区间映射为-1;类似地,{开区间,闭区间}可构成一个任务的概念类。
假设空间
给定学习算法 L \mathcal{L} L ,它所考虑的所有可能概念的集合称为 假设空间 (hypothesis space) H \mathcal{H} H ,假设空间中的元素则称为 假设 (hypothesis)。
目标概念 和假设 的关系
目标概念和假设的形式都是样本空间到标记空间的映射 (概念 )
一个目标概念 c ( x ) c(\bold{x}) c ( x ) 决定样本 x \bold{x} x 的真实标记 y y y ,而 h ( x ) h(\bold{x}) h ( x ) 只是学习算法 L \mathcal{L} L 所认为的标记 y ^ \hat{y} y ^
概念类 和假设空间 的关系
由于学习算法事先并不知道概念类的真实存在,因此通常有 H ≠ C \mathcal{H}\ne\mathcal{C} H = C
可分性
若目标概念 c ∈ H c\in\mathcal{H} c ∈ H ,则 H \mathcal{H} H 中存在假设能将所有样本正确分开,我们称以 c c c 为目标的这个学习问题对假设空间 H \mathcal{H} H 是 可分的 (separable),否则称该学习问题为 不可分的 (non-separable)。
可分性仅代表学习算法的上限
可分性在严格性上具有局限性
有时,由于噪声或者异常值的影响,数据并非完全可区分的,算法只能区分绝大多数的样本
因此可分性没有完全定义 学习算法的有效性
2.2 PAC可学性
PAC (Probably Approximately Correct) 可学
基本概念
给定训练集 D D D ,我们希望基于学习算法 L \mathcal{L} L 学得的模型所对应的假设 h h h 尽可能接近目标概念 c c c
为什么无法精确学习:存在各种偶然性 ,例如训练集有限引发的采样偶然性
尽可能接近 的准确含义:以较大的概率 学得误差满足预设上限的模型 :概率近似正确 (Probably Approximately Correct, PAC)
PAC辨识 (PAC Identify):对 0 < ϵ , δ < 1 0<\epsilon,\delta<1 0 < ϵ , δ < 1 ,所有 c ∈ C c\in\mathcal{C} c ∈ C ,和分布 D \mathcal{D} D ,若存在学习算法 L \mathcal{L} L ,其输出假设 f ∈ H f\in\mathcal{H} f ∈ H 满足 P ( E ( h ) ≤ ϵ ) ≥ 1 − δ P(E(h)\le\epsilon)\ge1-\delta P ( E ( h ) ≤ ϵ ) ≥ 1 − δ ,则称学习算法 L \mathcal{L} L 能从假设空间 H \mathcal{H} H 中PAC辨识 概念类 C \mathcal{C} C
概率 P ( ⋅ ) P(\cdot) P ( ⋅ ) 的意义此处未明确,应结合后面PAC可学的定义理解
PAC可学 (PAC Learnable):令m表示从分布 D \mathcal{D} D 独立同分布采样得到的样本数量,0 < ϵ , δ < 1 0<\epsilon,\delta<1 0 < ϵ , δ < 1 ,对所有分布 D \mathcal{D} D ,若存在学习算法 L \mathcal{L} L 和多项式函数 p o l y ( ⋅ , ⋅ , ⋅ , ⋅ ) poly(⋅,⋅,⋅,⋅) p o l y ( ⋅ , ⋅ , ⋅ , ⋅ ) ,使得对于任何 m ≥ p o l y ( 1 ϵ , 1 δ , s i z e ( x ) , s i z e ( c ) ) m\ge poly(\frac{1}{\epsilon},\frac{1}{\delta},size(x),size(c)) m ≥ p o l y ( ϵ 1 , δ 1 , s i ze ( x ) , s i ze ( c )) ,L \mathcal{L} L 能从假设空间 H \mathcal{H} H 中PAC辨识 概念类 C \mathcal{C} C ,则称概念类 C \mathcal{C} C 对假设空间 H \mathcal{H} H 而言是PAC可学的
在此处重新理解PAC辨识中的概率P ,可认为是相对于训练的偶然性
s i z e ( x ) , s i z e ( c ) size(x),size(c) s i ze ( x ) , s i ze ( c ) 理解为样本和概念的表示复杂度
图例1 .其他的关于PAC可学的定义
PAC 学习算法及其复杂度
PAC学习算法 :若学习算法 L \mathcal{L} L 使概念类 C \mathcal{C} C 为PAC可学,且 L \mathcal{L} L 的运行时间 也是多项式函数 p o l y ( 1 ϵ , 1 δ , s i z e ( x ) , s i z e ( c ) ) poly(\frac{1}{\epsilon},\frac{1}{\delta},size(x),size(c)) p o l y ( ϵ 1 , δ 1 , s i ze ( x ) , s i ze ( c )) ,则称概念类 C \mathcal{C} C 是高效PAC可学 的,则称 L \mathcal{L} L 为概念类 C \mathcal{C} C 的 PAC 学习算法
这里的运行时间应理解为 L \mathcal{L} L 从 H \mathcal{H} H 中PAC辨识 C \mathcal{C} C 所需的运行时间,可作为学习算法的时间复杂度
样本复杂度 :满足PAC学习算法 L \mathcal{L} L 所需的 m ≥ p o l y ( 1 ϵ , 1 δ , s i z e ( x ) , s i z e ( c ) ) m\ge poly(\frac{1}{\epsilon},\frac{1}{\delta},size(x),size(c)) m ≥ p o l y ( ϵ 1 , δ 1 , s i ze ( x ) , s i ze ( c )) 中最小的m,成为学习算法 L \mathcal{L} L 的样本复杂度
若学习算法 L \mathcal{L} L 处理每个样本的时间为常数,则 ℒ 的时间复杂度等价于样本复杂度
PAC 理论的特性
PAC 是一个分布无关 的理论模型
其对数据分布 D \mathcal{D} D 不作任何假设
PAC 要求数据独立采样自同一分布 (即独立同分布 ,i.i.d.)
PAC 考虑的是针对某个概念类 C \mathcal{C} C 而不是特定概念的可学性
目标概念 c ∈ C c\in\mathcal{C} c ∈ C 对学习算法来说是未知的
恰 PAC 可学和不可知 PAC 可学
若 H = C \mathcal{H}=\mathcal{C} H = C ,即学习算法的能力与学习任务恰好匹配,则称为 恰PAC可学
看似合理,并不实际,一般考虑 H ≠ C \mathcal{H}\ne\mathcal{C} H = C
若 C ∉ H \mathcal{C}\notin\mathcal{H} C ∈ / H ,则 L \mathcal{L} L 无法学得 𝑐 的 ϵ \epsilon ϵ 近似,但我们仍可以找到 H \mathcal{H} H 中泛化误差最小的假设为目标,学习其 ϵ \epsilon ϵ 近似,称为不可知学习 :
令 m 表示从分布 D \mathcal{D} D 独立同分布采样得到的样本数量,0 < ϵ , δ < 1 0<\epsilon, \delta<1 0 < ϵ , δ < 1 ,对所有分布 D \mathcal{D} D ,若存在学习算法 L \mathcal{L} L 和多项式函数 p o l y ( ⋅ , ⋅ , ⋅ , ⋅ ) poly(⋅,⋅,⋅,⋅) p o l y ( ⋅ , ⋅ , ⋅ , ⋅ ) ,使得对于任何 m ≥ p o l y ( 1 ϵ , 1 δ , s i z e ( x ) , s i z e ( c ) ) m\ge poly(\frac{1}{\epsilon},\frac{1}{\delta},size(x),size(c)) m ≥ p o l y ( ϵ 1 , δ 1 , s i ze ( x ) , s i ze ( c )) ,L \mathcal{L} L 能从假设空间 H \mathcal{H} H 中输出满足下述条件的假设 h
P ( E ( h ) − min h ′ ∈ H E ′ ( h ) ≤ ϵ ) ≥ 1 − δ P\left(E(h)-\min_{h'\in\mathcal{H}}\ E'(h)\le\epsilon\right)\ge1-\delta P ( E ( h ) − h ′ ∈ H min E ′ ( h ) ≤ ϵ ) ≥ 1 − δ
则称假设空间 H \mathcal{H} H 是 不可知PAC可学 的。
再谈泛化误差和经验误差
用经验误差近似 泛化误差的合理性
是否任何时候都可以作近似?能否进一步刻画近似程度?
引理 (第一章中的 Hoeffding 不等式 ):若训练集 D \mathcal{D} D 包含 m 个从分布 D \mathcal{D} D 上独立同分布采样而得的样本,0 < ϵ < 1 0<\epsilon<1 0 < ϵ < 1 ,则对任意 h ∈ H h\in\mathcal{H} h ∈ H ,有
P ( E ^ ( h ) − E ( h ) ≥ ϵ ) ≤ exp ( − 2 m ϵ 2 ) P ( E ^ ( h ) − E ( h ) ≤ − ϵ ) ≤ exp ( − 2 m ϵ 2 ) P ( ∣ E ^ ( h ) − E ( h ) ∣ ≥ ϵ ) ≤ 2 exp ( − 2 m ϵ 2 ) P\left(\hat{E}(h)-E(h)\ge\epsilon\right)\le\exp{(-2m\epsilon^2)}\\
P\left(\hat{E}(h)-E(h)\le-\epsilon\right)\le\exp{(-2m\epsilon^2)}\\
P\left(|\hat{E}(h)-E(h)|\ge\epsilon\right)\le2\exp{(-2m\epsilon^2)} P ( E ^ ( h ) − E ( h ) ≥ ϵ ) ≤ exp ( − 2 m ϵ 2 ) P ( E ^ ( h ) − E ( h ) ≤ − ϵ ) ≤ exp ( − 2 m ϵ 2 ) P ( ∣ E ^ ( h ) − E ( h ) ∣ ≥ ϵ ) ≤ 2 exp ( − 2 m ϵ 2 )
定理 :若训练集 D \mathcal{D} D 包含 m 个从分布 D \mathcal{D} D 上独立同分布采样而得的样本,则对任意 h ∈ H h\in\mathcal{H} h ∈ H ,有
P ( ∣ E ^ ( h ) − E ( h ) ∣ < 1 2 m ln 2 δ ) ≥ 1 − δ P\left(|\hat{E}(h)-E(h)|<\sqrt{\frac{1}{2m}\ln{\frac{2}{\delta}}}\right)\ge1-\delta P ( ∣ E ^ ( h ) − E ( h ) ∣ < 2 m 1 ln δ 2 ) ≥ 1 − δ
解释 :样本数目 m 较大时,经验误差可以作为泛化误差的近似
证明:由引理 P ( ∣ E ^ ( h ) − E ( h ) ∣ ≥ ϵ ) ≤ 2 exp ( − 2 m ϵ 2 ) P\left(|\hat{E}(h)-E(h)|\ge\epsilon\right)\le2\exp{(-2m\epsilon^2)} P ( ∣ E ^ ( h ) − E ( h ) ∣ ≥ ϵ ) ≤ 2 exp ( − 2 m ϵ 2 ) ,不妨令 δ = 2 exp ( − 2 m ϵ 2 ) \delta=2\exp{(-2m\epsilon^2)} δ = 2 exp ( − 2 m ϵ 2 ) ,即 ϵ = 1 2 m ln 2 δ \epsilon=\sqrt{\frac{1}{2m}\ln{\frac{2}{\delta}}} ϵ = 2 m 1 ln δ 2 ,代入引理有
P ( ∣ E ^ ( h ) − E ( h ) ∣ ≥ 1 2 m ln 2 δ ) ≤ δ P\left(|\hat{E}(h)-E(h)|\ge\sqrt{\frac{1}{2m}\ln{\frac{2}{\delta}}}\right)\le\delta P ( ∣ E ^ ( h ) − E ( h ) ∣ ≥ 2 m 1 ln δ 2 ) ≤ δ
即
P ( ∣ E ^ ( h ) − E ( h ) ∣ < 1 2 m ln 2 δ ) ≥ 1 − δ P\left(|\hat{E}(h)-E(h)|<\sqrt{\frac{1}{2m}\ln{\frac{2}{\delta}}}\right)\ge1-\delta P ( ∣ E ^ ( h ) − E ( h ) ∣ < 2 m 1 ln δ 2 ) ≥ 1 − δ
2.3 实例分析
布尔合取式的学习
布尔合取式概念类
令样本 x ∈ X n = { 0 , 1 } n x\in\mathcal{X}_n=\{0,1\}^n x ∈ X n = { 0 , 1 } n 表示对 n 个布尔变量 b i ( i ∈ [ n ] ) b_i\ (i\in[n]) b i ( i ∈ [ n ]) 的一种赋值,布尔合取式概念 是形如 b i , ¬ b i b_i,\neg b_i b i , ¬ b i 的文字所构成的合取式
例:c = b 1 ∧ ¬ b 3 ∧ b 4 c=b_1\land\neg b_3\land b_4 c = b 1 ∧ ¬ b 3 ∧ b 4 意味着对 { x ∈ X 𝑛 : x 1 = 1 , x 3 = 0 , x 4 = 1 } \{x\in\mathcal{X}_𝑛:x_1=1,x_3=0,x_4=1\} { x ∈ X n : x 1 = 1 , x 3 = 0 , x 4 = 1 } 有 c ( x ) = 1 c(x)=1 c ( x ) = 1
所有布尔合取式概念组成了布尔合取式概念类 C n \mathcal{C}_n C n
下面通过构造学习算法 L \mathcal{L} L 来证明 C n \mathcal{C}_n C n 是高效PAC可学的
即证明:存在一个多项式函数 p o l y ( ⋅ , ⋅ , ⋅ , ⋅ ) poly(⋅,⋅,⋅,⋅) p o l y ( ⋅ , ⋅ , ⋅ , ⋅ ) ,当样本集大小 m ≥ p o l y ( 1 ϵ , 1 δ , s i z e ( x ) , s i z e ( c ) ) m\ge poly(\frac{1}{\epsilon},\frac{1}{\delta},size(x),size(c)) m ≥ p o l y ( ϵ 1 , δ 1 , s i ze ( x ) , s i ze ( c )) 时,L \mathcal{L} L 输出的假设满足要求 P ( E ( h ) ≤ ϵ ) ≥ 1 − δ P\left(E(h)\le\epsilon\right)\ge1-\delta P ( E ( h ) ≤ ϵ ) ≥ 1 − δ
这里 s i z e ( x ) size(x) s i ze ( x ) 和 s i z e ( c ) size(c) s i ze ( c ) 对应合取式中的文字个数,因此 s i z e ( x ) ≤ 1 n , s i z e ( c ) ≤ 2 n size(x)\le1n,size(c)\le2n s i ze ( x ) ≤ 1 n , s i ze ( c ) ≤ 2 n
学习算法 L \mathcal{L} L 构造:
假设空间:H = C n \mathcal{H}=\mathcal{C}_n H = C n
初始化:h = b 1 ∧ ¬ b 2 ∧ … ∧ b n ∧ ¬ b n ( h ( x ) ≡ 0 , ∀ x ∈ X ) h=b_1\land\neg b_2\land…\land b_n\land\neg b_n\ (h(x)\equiv0,\ \forall x\in\mathcal{X}) h = b 1 ∧ ¬ b 2 ∧ … ∧ b n ∧ ¬ b n ( h ( x ) ≡ 0 , ∀ x ∈ X )
学习过程:只使用训练集中的正例,删除h中所有与正例矛盾的文字 ∀ ( x , 1 ) , ∀ u ∈ [ n ] \forall (x,1),\forall u\in[n] ∀ ( x , 1 ) , ∀ u ∈ [ n ]
若 x i = 0 x_i=0 x i = 0 ,则从h中删除 b i b_i b i
若 x i = 1 x_i=1 x i = 1 ,则从h中删除 ¬ b i \neg b_i ¬ b i
考虑任意目标概念 c ∈ C n c\in\mathcal{C}_n c ∈ C n ,分析 L \mathcal{L} L 学习到其 ϵ \epsilon ϵ 近似的概率
c 包含的文字在任何时刻仍出现在 h 中
考虑出现在 h 中但未出现在 c 中的文字 b ~ \tilde{b} b ~ 对满足 b ~ = 0 \tilde{b}=0 b ~ = 0 的正例 x,h 由于包含 b ~ \tilde{b} b ~ 而在 x 上出错;但同时,x 也恰能使算法从 h 中删除 b ~ \tilde{b} b ~
令 P ( b ~ ) P(\tilde{b}) P ( b ~ ) 表示此类样本出现的概率,有
P ( b ~ ) = P x ∼ D X ( c ( x ) = 1 ∧ b ~ ( x ) = 0 ) P(\tilde{b})=P_{x\sim\mathcal{D}_{\mathcal{X}}}\left(c(x)=1\land \tilde{b}(x)=0\right) P ( b ~ ) = P x ∼ D X ( c ( x ) = 1 ∧ b ~ ( x ) = 0 )
由于 h 所犯的每个错误都可归因于 h 中至少有一个文字 b ~ \tilde{b} b ~ ,从而可得
E ( h ) ≤ P ( U b ~ ∈ h b ~ ) ≤ ∑ b ~ ∈ h P ( b ~ ) E(h)\le P(U_{\tilde{b}\in h}\tilde{b})\le\sum_{\tilde{b}\in h}P(\tilde{b}) E ( h ) ≤ P ( U b ~ ∈ h b ~ ) ≤ b ~ ∈ h ∑ P ( b ~ )
称满足 P ( b ~ ) ≥ ϵ 2 n P(\tilde{b})\ge\frac{\epsilon}{2n} P ( b ~ ) ≥ 2 n ϵ 的文字 b ~ \tilde{b} b ~ 为“坏字”,若 h 不包含任何坏字,则有
E ( h ) ≤ ∑ b ~ ∈ h P ( b ~ ) ≤ 2 n ⋅ ϵ 2 n = ϵ E(h)\le \sum_{\tilde{b}\in h}P(\tilde{b})\le 2n\cdot\frac{\epsilon}{2n}=\epsilon E ( h ) ≤ b ~ ∈ h ∑ P ( b ~ ) ≤ 2 n ⋅ 2 n ϵ = ϵ
对任何给定的坏字 b ~ \tilde{b} b ~ ,随机抽取一个样本导致其被删除的概率为 P ( b ~ ) P(\tilde{b}) P ( b ~ ) ,于是学习算法在使用 m 个样本后坏字 b ~ \tilde{b} b ~ 仍未被从 h 中删除的概率最多为 ( 1 − ϵ 2 n ) m \left(1-\frac{\epsilon}{2n}\right)^m ( 1 − 2 n ϵ ) m
考虑所有 2n 个文字,则 h 中存在坏字未被删除的概率至多为 2 n ( 1 − ϵ 2 n ) m 2n\left(1-\frac{\epsilon}{2n}\right)^m 2 n ( 1 − 2 n ϵ ) m ,从而可知 h 不包含任何坏字的概率至少为 1 − 2 n ( 1 − ϵ 2 n ) m 1-2n\left(1-\frac{\epsilon}{2n}\right)^m 1 − 2 n ( 1 − 2 n ϵ ) m ,故
P ( E ( h ) ≤ ϵ ) ≥ 1 − 2 n ( 1 − ϵ 2 n ) m P(E(h)\le\epsilon)\ge1-2n\left(1-\frac{\epsilon}{2n}\right)^m P ( E ( h ) ≤ ϵ ) ≥ 1 − 2 n ( 1 − 2 n ϵ ) m
当 ( 1 − ϵ 2 n ) m ≤ exp ( − m ϵ 2 n ) ≤ δ 2 n \left(1-\frac{\epsilon}{2n}\right)^m\le\exp\left(-\frac{m\epsilon}{2n}\right)\le\frac{\delta}{2n} ( 1 − 2 n ϵ ) m ≤ exp ( − 2 n m ϵ ) ≤ 2 n δ ,即 m ≥ p o l y ( 1 ϵ , 1 δ , n ) m\ge poly\left(\frac{1}{\epsilon},\frac{1}{\delta},n\right) m ≥ p o l y ( ϵ 1 , δ 1 , n ) 时,有
P ( E ( h ) ≤ ϵ ) ≥ 1 − δ P(E(h)\le\epsilon)\ge1-\delta P ( E ( h ) ≤ ϵ ) ≥ 1 − δ
上已得证布尔合取式概念类 C n \mathcal{C}_n C n 是PAC可学的
注意到 L \mathcal{L} L 处理每个样本所需的计算时间至多为 n 的线性函数,因此概念类 C n \mathcal{C}_n C n 是高效PAC可学的
k-DNF 与 k-CNF 的学习
k-DNF 概念类
k项析取范式 (k-term Disjunctive Normal Form): 多个布尔合取式的析取,每个析取式至多包含k个文字
例:( x 1 ∧ ¬ x 2 ∧ x 3 ) ∨ ( ¬ x 1 ∧ x 3 ) (x_1\land\neg x_2\land x_3)\lor(\neg x_1\land x_3) ( x 1 ∧ ¬ x 2 ∧ x 3 ) ∨ ( ¬ x 1 ∧ x 3 ) 是一个 3-DNF 公式
所有 k-DNF 组成概念类 C k − D N F \mathcal{C}^{k−DNF} C k − D NF
C k − D N F \mathcal{C}^{k−DNF} C k − D NF 在 DNF 公式表示下)不是高效 PAC 可学的,除非 N P = R P NP=RP NP = RP
k-CNF 概念类
k项合取范式 (k-term Conjunctive Normal Form): 多个布尔析取式的合取,每个析取式至多包含k个文字
例:( x 1 ∨ ¬ x 2 ∨ x 3 ) ∧ ( ¬ x 1 ∨ x 3 ) (x_1\lor\neg x_2\lor x_3)\land(\neg x_1\lor x_3) ( x 1 ∨ ¬ x 2 ∨ x 3 ) ∧ ( ¬ x 1 ∨ x 3 ) 是一个 3-CNF 公式
所有 k-CNF 组成概念类 C k − C N F \mathcal{C}^{k−CNF} C k − CNF
C k − C N F \mathcal{C}^{k−CNF} C k − CNF 与 C k − D N F \mathcal{C}^{k−DNF} C k − D NF 的关系
每一个 k-DNF 公式可以写成一个等价的 k-CNF 公式 (因为 ∨ \lor ∨ 对 ∧ \land ∧ 满足分配率)
因此,C k − C N F ⊂ C k − D N F \mathcal{C}^{k−CNF}\subset\mathcal{C}^{k−DNF} C k − CNF ⊂ C k − D NF
C k − C N F \mathcal{C}^{k−CNF} C k − CNF 是高效 PAC 可学的
对于包含 n 个布尔变量的集合 B = { b 1 , . . . , b n } B=\{b_1,...,b_n\} B = { b 1 , ... , b n } ,考虑其中任意k个布尔变量形成的k元组 ( b i 1 , b i 2 , . . . , b i k ) (b_{i_1},b_{i_2},...,b_{i_k}) ( b i 1 , b i 2 , ... , b i k ) ,构造一个新的布尔变量集合
A = { a b i 1 , b i 2 , . . . , b i k = b i 1 ∨ b i 2 ∨ ⋯ ∨ b i k } , ∣ A ∣ = O ( n k ) A=\{a_{b_{i_1},b_{i_2},...,b_{i_k}}=b_{i_1}\lor b_{i_2}\lor\cdots\lor b_{i_k}\},\ |A|=\mathcal{O}(n^k) A = { a b i 1 , b i 2 , ... , b i k = b i 1 ∨ b i 2 ∨ ⋯ ∨ b i k } , ∣ A ∣ = O ( n k )
B 上的任意 k-CNF 概念 c ∈ C k − C N F c\in\mathcal{C}^{k-CNF} c ∈ C k − CNF 都能转化为 A 上的布尔合取式概念 c ′ c' c ′
前已证明布尔合取式概念类是高效 PAC 可学 的,因此 k-CNF 类也是高效 PAC 可学 的
即便对同一个概念类,选择不同的表示方法可能会导致不同的学习性
轴平行矩形的学习
轴平行矩形概念类
有限假设空间总能通过简单的经验风险最小化原则进行PAC学习
令 H \mathcal{H} H 为可分的有限假设空间,D 为从 D \mathcal{D} D 独立同分布采样得到的大小为 m 的训练集,学习算法 L \mathcal{L} L 基于训练集 D 输出与训练集一致的假设 h ∈ H h\in\mathcal{H} h ∈ H ,对于 0 < ϵ , δ < 1 0<\epsilon,\delta<1 0 < ϵ , δ < 1 ,若 m ≥ 1 ϵ ( ln ∣ H ∣ + ln 1 δ ) m\ge\frac{1}{\epsilon}\left(\ln|\mathcal{H}|+\ln\frac{1}{\delta}\right) m ≥ ϵ 1 ( ln ∣ H ∣ + ln δ 1 ) ,则有 P ( E ( h ) ≤ ϵ ) ≥ 1 − δ P(E(h)\le\epsilon)\ge1-\delta P ( E ( h ) ≤ ϵ ) ≥ 1 − δ
轴平行矩形是平面 R 2 \mathbb{R}^2 R 2 上四条边均与坐标轴平行的矩形区域
R 2 \mathbb{R}^2 R 2 中每个点对应于一个数据样本,即 X = R 2 \mathcal{X}=\mathbb{R}^2 X = R 2
概念 c 是某个特定的轴平行矩形,对该矩形中的点 x 有 c ( x ) = 1 c(x)=1 c ( x ) = 1 ,否则 c ( x ) = − 1 c(x)=-1 c ( x ) = − 1
概念类 C \mathcal{C} C 是 R 2 \mathbb{R}^2 R 2 上所有轴平行矩形的集合
下证轴平行矩形概念类是PAC可学的
学习算法错误分析
轴平行矩形 R R R 表示目标概念,R ~ \tilde{R} R ~ 表示一个假设
R ~ \tilde{R} R ~ 的错误区域为 ( R − R ~ ) ∪ ( R ~ − R ) (R-\tilde{R})\cup(\tilde{R}-R) ( R − R ~ ) ∪ ( R ~ − R ) (即除去重合部分的剩余部分)
图例2 .轴平行矩形目标概念 R R R 与假设 R ~ \tilde{R} R ~ ,蓝色部分+表示正例,白色部分x表示反例
学习算法 L \mathcal{L} L 的构造
对于训练集 D,输出一个包含了 D 中所有正例的最小轴平行矩形 R D R^D R D
学习算法 L \mathcal{L} L 的误差分析
令 P ( R ) P(R) P ( R ) 表示 R 区域的概率质量,即按照分布 D \mathcal{D} D 随机生成的点落在区域 R 中的概率
学习算法 L \mathcal{L} L 的错误尽可能出现在 R − R D R-R^D R − R D 上
不妨设 P ( R ) > ϵ P(R)>\epsilon P ( R ) > ϵ ,否则 R D R^D R D 的误差已满足要求
图例3 .学习算法 L \mathcal{L} L 输出的包含了训练集 D 中所有正例的最小平行轴平行矩形 R D R^D R D
数据样本数目的增加如何影响误差
沿 R 的四条边定义4个轴平行矩形区域 r 1 , r 2 , r 3 , r 4 r_1,r_2,r_3,r_4 r 1 , r 2 , r 3 , r 4 ,使得每个区域的概率质量均为 ϵ 4 \frac{\epsilon}{4} 4 ϵ ,于是 P ( r 1 ∪ r 2 ∪ r 3 ∪ r 4 ) ≤ ϵ P(r_1\cup r_2\cup r_3\cup r_4)\le\epsilon P ( r 1 ∪ r 2 ∪ r 3 ∪ r 4 ) ≤ ϵ
若 R D R^D R D 与 r 1 , r 2 , r 3 , r 4 r_1,r_2,r_3,r_4 r 1 , r 2 , r 3 , r 4 都相交,则 R D R^D R D 的错误区域将被这4个区域完全覆盖,有 E ( R D ) ≤ P ( r 1 ∪ r 2 ∪ r 3 ∪ r 4 ) ≤ ϵ E(R^D)\le P(r_1\cup r_2\cup r_3\cup r_4)\le\epsilon E ( R D ) ≤ P ( r 1 ∪ r 2 ∪ r 3 ∪ r 4 ) ≤ ϵ
考虑 E ( R D ) > ϵ E(R^D)>\epsilon E ( R D ) > ϵ 的情况,由上可知 ∃ i ∈ { 1 , 2 , 3 , 4 } R D \exists\ i\in\{1,2,3,4\}\ \ R^D ∃ i ∈ { 1 , 2 , 3 , 4 } R D 与 r i r_i r i 不相交
训练集 D 中每个样本是从 D \mathcal{D} D 中随机采样得到的,其出现在 r i r_i r i 中的概率为 ϵ 4 \frac{\epsilon}{4} 4 ϵ ;设 D 包含 m 个样本,则有
P D ∼ D m ( E ( R D ) > ϵ ) ≤ P D ∼ D m ( ⋃ i = 1 4 { R D ∩ r i = ∅ } ) ≤ ∑ i = 1 4 P D ∼ D m ( { R D ∩ r i = ∅ } ) ≤ 4 e − m ϵ 4 P_{D\sim \mathcal{D}^m}(E(R^D)>\epsilon)\le P_{D\sim \mathcal{D}^m}\left(\bigcup_{i=1}^4\{R^D\cap r_i=\empty\}\right)\le\sum_{i=1}^4P_{D\sim \mathcal{D}^m}\left(\{R^D\cap r_i=\empty\}\right)\\
\le4e^{-\frac{m\epsilon}{4}} P D ∼ D m ( E ( R D ) > ϵ ) ≤ P D ∼ D m ( i = 1 ⋃ 4 { R D ∩ r i = ∅ } ) ≤ i = 1 ∑ 4 P D ∼ D m ( { R D ∩ r i = ∅ } ) ≤ 4 e − 4 m ϵ
令 4 e − m ϵ / m ≤ δ 4e^{-m\epsilon/m}\le\delta 4 e − m ϵ / m ≤ δ 即可确保
P D ∼ D m ( E ( R D ) ≤ ϵ ) = 1 − P D ∼ D m ( E ( R D ) > ϵ ) ≥ 1 − ϵ P_{D\sim \mathcal{D}^m}\left(E(R^D)\le\epsilon\right)=1-P_{D\sim \mathcal{D}^m}\left(E(R^D)>\epsilon\right)\ge1-\epsilon P D ∼ D m ( E ( R D ) ≤ ϵ ) = 1 − P D ∼ D m ( E ( R D ) > ϵ ) ≥ 1 − ϵ
于是可以求解得 m ≥ 4 ϵ ln 4 δ m\ge\frac{4}{\epsilon}\ln{\frac{4}{\delta}} m ≥ ϵ 4 ln δ 4
图例4 .区域 r 1 , r 2 , r 3 , r 4 r_1,r_2,r_3,r_4 r 1 , r 2 , r 3 , r 4 的位置情况
上已得证轴平行举行概念类 C \mathcal{C} C 是PAC可学的
注意到 L \mathcal{L} L 处理每个样本所需的计算时间为常数,因此概念类 C \mathcal{C} C 是高效 PAC 可学的