关于周志华老师的《机器学习》这本书的学习笔记
记录学习过程
本博客记录Chapter12

文章目录

  • 1 基础知识
  • 2 PAC学习
  • 3 有限假设空间
    • 3.1 可分情形
    • 3.2 不可分情形
  • 4 VC维
  • 5 Rademacher复杂度
  • 6 稳定性

1 基础知识

计算学习理论(computational learning theory):关于通过“计算”来进行“学习”的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难本质,为学习算法体统理论保证,并根据结果指导算法设计。

对于二分类问题,给定样本集 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x m , y m ) } \{(x_1,y_1),(x_2,y_2),\cdots,(x_m,y_m)\} {(x1​,y1​),(x2​,y2​),⋯,(xm​,ym​)}, y i ∈ { − 1 , + 1 } y_i\in\{-1,+1\} yi​∈{−1,+1}。假设所有样本服从一个隐含未知的分布 D D D,所有样本均独立同分布(independent and identically distributed)。

令 h h h为样本到 { − 1 , + 1 } \{-1,+1\} {−1,+1}上的一个映射,其泛化误差为
E ( h ; D ) = P x ∼ D ( h ( x ) ≠ y ) E(h;D)=P_{x\sim D}(h(x)\neq y) E(h;D)=Px∼D​(h(x)​=y)
h h h在 D D D上的经验误差为
E ^ ( h ; D ) = 1 m ∑ i = 1 m Ⅱ ( h ( x i ) ≠ y i ) \hat{E}(h;D)=\frac{1}{m}\sum_{i=1}^m Ⅱ(h(x_i)\neq y_i) E^(h;D)=m1​i=1∑m​Ⅱ(h(xi​)​=yi​)

由于D是 D D D的独立同分布采样,因此 h h h的经验误差的期望等于其泛化误差。 在上下文明确时,我们将 E ( h ; D ) E(h;D) E(h;D)和 E ^ ( h ; D ) \hat E(h;D) E^(h;D)分别简记为 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)≤ϵ;我们通常用 ϵ \epsilon ϵ表示预先设定的学得模型所应满足的误差要求,亦称“误差参数”。

我们将研究经验误差和泛化误差之间的逼近程度;若 h h h在数据集上的经验误差为0,则称 h h h与D一致,否则称其不一致。对于任意两个映射 h 1 , h 2 ∈ X → Y h_1,h_2\in X \rightarrow Y h1​,h2​∈X→Y,用不合(disagreement)来度量他们之间的差别:
d ( h 1 , h 2 ) = P x ∼ D ( h 1 ( x ) ≠ h 2 ( x ) ) d(h_1,h_2)=P_{x\sim D}(h_1(x)\neq h_2(x)) d(h1​,h2​)=Px∼D​(h1​(x)​=h2​(x))
我们将会用到几个常见的不等式:

  • Jensen不等式:对任意凸函数,有
    f ( E ( X ) ) ≠ E ( f ( x ) ) f(E(X))\neq E(f(x)) f(E(X))​=E(f(x))

  • Hoeffding不等式:若 x 1 , x 2 , … , x m x_1,x_2,\dots,x_m x1​,x2​,…,xm​为 m m m个独立随机变量,且满足 0 ≤ x i ≤ 1 0\le x_i\le 1 0≤xi​≤1,对任意 ϵ > 0 \epsilon>0 ϵ>0,有
    P ( 1 m ∑ i = 1 m x i − 1 m ∑ i = 1 m E ( x i ) ≥ ϵ ) ≤ e − 2 m ϵ 2 P ( ∣ 1 m ∑ i = 1 m x i − 1 m ∑ i = 1 m E ( x i ) ∣ ≥ ϵ ) ≤ 2 e − 2 m ϵ 2 P(\frac{1}{m}\sum_{i=1}^mx_i-\frac{1}{m}\sum_{i=1}^mE(x_i)\ge\epsilon)\le e^{-2m\epsilon^2}\\ P(|\frac{1}{m}\sum_{i=1}^mx_i-\frac{1}{m}\sum_{i=1}^mE(x_i)|\ge\epsilon)\le 2e^{-2m\epsilon^2} P(m1​i=1∑m​xi​−m1​i=1∑m​E(xi​)≥ϵ)≤e−2mϵ2P(∣m1​i=1∑m​xi​−m1​i=1∑m​E(xi​)∣≥ϵ)≤2e−2mϵ2

  • McDiarmid不等式:若 x 1 , x 2 , … , x m x_1,x_2,\dots,x_m x1​,x2​,…,xm​为 m m m个独立随机变量,且满足 1 ≤ i ≤ m 1\le i\le m 1≤i≤m,函数 f f f满足:
    sup ⁡ x 1 , ⋯ , x m , x i ′ ∣ f ( x 1 , ⋯ , x m ) − f ( x 1 , ⋯ , x i − 1 , x i ′ , x i + 1 , ⋯ , x m ) ∣ ≤ c i , \sup_{x_1,\cdots,x_m,\ x_i'} |f(x_1,\cdots,x_m)-f(x_1,\cdots,x_{i-1},x_i',x_{i+1},\cdots,x_m)|\le c_i, x1​,⋯,xm​, xi′​sup​∣f(x1​,⋯,xm​)−f(x1​,⋯,xi−1​,xi′​,xi+1​,⋯,xm​)∣≤ci​,
    则对任意 ϵ > 0 \epsilon >0 ϵ>0,有
    P ( f ( x 1 , ⋯ , x m ) − E ( f ( x 1 , ⋯ , x m ) ) ≥ ϵ ) ≤ e x p ( − 2 ϵ 2 ∑ i c i 2 ) P ( ∣ f ( x 1 , ⋯ , x m ) − E ( f ( x 1 , ⋯ , x m ) ) ∣ ≥ ϵ ) ≤ 2 e x p ( − 2 ϵ 2 ∑ i c i 2 ) P(f(x_1,\cdots,x_m)-E(f(x_1,\cdots,x_m))\ge\epsilon )\le exp (\frac{-2\epsilon^2}{\sum_ic_i^2})\\ P(|f(x_1,\cdots,x_m)-E(f(x_1,\cdots,x_m))|\ge\epsilon )\le 2\ exp (\frac{-2\epsilon^2}{\sum_ic_i^2}) P(f(x1​,⋯,xm​)−E(f(x1​,⋯,xm​))≥ϵ)≤exp(∑i​ci2​−2ϵ2​)P(∣f(x1​,⋯,xm​)−E(f(x1​,⋯,xm​))∣≥ϵ)≤2 exp(∑i​ci2​−2ϵ2​)

2 PAC学习

概率近似正确理论(Probably Approximately Correct,PAC):

  • 首先介绍两个概念:

    • C C C:概念类。表示从样本空间到标记空间的映射,对任意样例,都能使得 c ( x ) = y c(x)=y c(x)=y。
    • H H H:假设类。学习算法会把认为可能的目标概念集中起来构成 H H H。
    • 若 c ∈ H c\in H c∈H,则说明假设能将所有示例按真实标记一致的方式完全分开,称为该问题对学习算法而言是”可分的“;否则,称为”不可分的“
  • 对于训练集,我们希望学习算法学习到的模型所对应的假设 h h h尽可能接近目标概念 c c c。我们是希望以比较大的把握学得比较好的模型,也就是说,以较大的概率学得误差满足预设上限的模型,这就是"概率近似正确"的含义。形式化地说,令 δ \delta δ表示置信度,可定义:

    • PAC辨识:对 0 ≤ ϵ , δ < 1 0\le \epsilon, \delta<1 0≤ϵ,δ<1,所有的 c ∈ C c\in C c∈C和分布 D D D,若存在学习算法,其输出假设 h ∈ H h\in H h∈H满足:
      P ( E ( h ) ≤ ϵ ) ≥ 1 − δ P(E(h)\le \epsilon)\ge 1- \delta P(E(h)≤ϵ)≥1−δ
      则称学习算法能从假设空间 H H H中PAC辨识概念类 C C C。这样的学习算法能以较大的概率(至少 1 − δ 1-\delta 1−δ) 学得目标概念 c c c的近似 (误差最多为 ϵ \epsilon ϵ)。在此基础上可定义:

    • PAC可学习:令 m m m表示从分布 D D D中独立同分布采样得到的样例数目, 0 < ϵ , δ < 1 0 < \epsilon, \delta < 1 0<ϵ,δ<1,对所有分布 D D D,若存在学习算法和多项式函数 p o l y ( 1 / ϵ , 1 / d e l t a , s i z e ( x ) , s i z e ( c ) ) poly(1/\epsilon,1/delta,size(x),size(c)) poly(1/ϵ,1/delta,size(x),size(c))(样例数目 m m m与误差 ϵ \epsilon ϵ、置信度 1 − δ 1-\delta 1−δ、数据本身的复杂度 s i z e ( x ) size(x) size(x)、目标概念的复杂度 s i z e ( c ) size(c) size(c)都有关),使得对于任何 m ≥ p o l y ( 1 / ϵ , 1 / d e l t a , s i z e ( x ) , s i z e ( c ) ) m\ge poly(1/\epsilon,1/delta,size(x),size(c)) m≥poly(1/ϵ,1/delta,size(x),size(c)) ,学习算法能从假设空间中PAC辨识概念类 C C C,则称概念类 C C C对假设空间而言是PAC可学习的,有时也简称概念类 C C C是PAC 可学习的。

    • PAC学习算法:满足PAC可学习的算法。(假定学习算法处理每个样本的时间为常数,因此 C C C的时间复杂度等价于样本复杂度。于是,我们对算法时间复杂度的关心就转化为对样本复杂度的关心)

    • 样本复杂度(Sample Complexity):满足 m ≥ p o l y ( 1 / ϵ , 1 / δ , s i z e ( x ) , s i z e ( c ) ) m \ge poly(1/\epsilon,1/\delta,size(x),size(c)) m≥poly(1/ϵ,1/δ,size(x),size(c))的最小的 m m m。

  • PAC学习中一个关键因素是假设空间H的复杂度。H包含了学习算法所有可能输出的假设,若在PAC学习中假设空间与概念类完全相同,即H=C,这称为"恰PAC可学习" (properly PAC learnable)。直观地看,这意味着学习算法的能力与学习任务”恰好匹配“。
    然而,这种让所有候选假设都来自概念类的要求看似合理,但却并不实际,因为在现实应用中我们对概念类 C C C通常一无所知,更别说获得一个假设空间与概念类恰好相同的学习算法。显然,更重要的是研究假设空间与概念类不同的情形,即 H ≠ C H\neq C H​=C。 一般而言, H H H越大,其包含任意目标概念的可能性越大,但从中找到某个具体目标概念的难度也越大。 ∣ H ∣ |H| ∣H∣有限时,我们称究为"有限假设空间",否则称为"无限假设空间"。

3 有限假设空间

3.1 可分情形

对于PAC来说,只要训练集 D D D的规模能使得学习算法以概率 1 − δ 1-\delta 1−δ找到目标假设的 ϵ \epsilon ϵ近似即可。

先估计泛化误差大于 ϵ \epsilon ϵ但在训练集上仍表现完美的假设出现的概率。假定 h h h的泛化误差大于 ϵ \epsilon ϵ,对分布 D D D上随机采样而得到的任何样例 ( x , y ) (x,y) (x,y),有:
P ( h ( x ) = y ) = 1 − P ( h ( x ) ≠ y ) = 1 − E ( h ) ≤ 1 − ϵ P(h(x)=y)=1-P(h(x)\neq y)\\ \ \ \ \ \ \ \ \ \ \ =1-E(h)\\ \ \ \ \le1-\epsilon P(h(x)=y)=1−P(h(x)​=y)          =1−E(h)   ≤1−ϵ
由于 D D D中包含 m m m个样例,因此, h h h与 D D D表现一致的概率为:
P ( ( h ( x 1 ) = y 1 ) ( h ( x 2 ) = y 2 ) ⋯ ( h ( x m ) = y m ) ) < ( 1 − ϵ ) m P((h(x_1)=y_1)(h(x_2)=y_2)\cdots(h(x_m)=y_m))<(1-\epsilon)^m P((h(x1​)=y1​)(h(x2​)=y2​)⋯(h(xm​)=ym​))<(1−ϵ)m
我们事先不知道学习算法会输出那个假设,但仅需要保证泛化误差大于 ϵ \epsilon ϵ,且在训练集上变现完美的多有假设出现概率之和不大于 δ \delta δ即可。
P ( h ∈ H : E ( h ) > ϵ ∩ E ^ ( h ) = 0 ) < ∣ H ∣ ( 1 − ϵ ) m < ∣ H ∣ e − m ϵ P(h\in H:E(h)>\epsilon \ \cap \ \hat E(h)=0) \lt |H|(1-\epsilon)^m\\ \lt |H|e^{-m\epsilon} P(h∈H:E(h)>ϵ ∩ E^(h)=0)<∣H∣(1−ϵ)m<∣H∣e−mϵ

令上式不大于 δ \delta δ
∣ H ∣ e − m ϵ ≤ δ |H|e^{-m\epsilon}\le \delta ∣H∣e−mϵ≤δ
可得
m ≥ 1 ϵ ( ln ⁡ ∣ H ∣ + ln ⁡ 1 δ ) m \ge \frac{1}{\epsilon}(\ln|H|+\ln \frac{1}{\delta}) m≥ϵ1​(ln∣H∣+lnδ1​)
由此可知,有限假设空间 H H H都是PAC可学习的,所需的样例数目如上式所示,输出假设 h h h的泛化误差随样例数目的增多而收敛到 0,收敛速率为 O ( 1 m ) O(\frac{1}{m}) O(m1​)。

3.2 不可分情形

当 c ∉ H c\notin H c∈/​H时,我们的学习算法无法学习到目标概念 c c c的 ϵ \epsilon ϵ近似,但是当假设空间给定时,必定存在一个泛化误差最小的假设,找出此假设的 ϵ \epsilon ϵ近似也不失为一种较好的目标。

H H H中泛化误差最小的假设是 arg ⁡ min ⁡ h ∈ H E ( h ) \arg \min_{h\in H} E(h) argminh∈H​E(h),以此为目标可将PAC学习推广到 c ∉ H c\notin H c∈/​H的情况,称为**”不可知学习“**(agnostic learning)。其概念如下:

令 m m m表示从分布 D D D中独立同分布采样得到的样例数目, 0 < ϵ , δ < 1 0\lt \epsilon,\delta \lt 1 0<ϵ,δ<1,对所有分布 D D D,若存在学习算法和多项式函数 p o l y poly poly,使得对于任何 m ≥ p o l y ( 1 / ϵ , 1 / δ , s i z e ( x ) , s i z e ( c ) ) m\ge poly(1/\epsilon,1/\delta,size(x),size(c)) m≥poly(1/ϵ,1/δ,size(x),size(c)),学习算法能从假设空间中输出满足下式的假设 h h h:
P ( E ( h ) − min ⁡ h ′ ∈ H E ( h ′ ) ≤ ϵ ) ≥ 1 − δ P(E(h)-\min_{h'\in H}E(h')\le \epsilon)\ge1-\delta P(E(h)−h′∈Hmin​E(h′)≤ϵ)≥1−δ
则称假设空间是不可知PAC学习的。

4 VC维

VC维:假设空间 H H H的VC维是能被 H H H打散的最大示例集的大小:
V C ( H ) = max ⁡ { m : Π H ( m ) = 2 m } VC(H)=\max \{m:\Pi_{H}(m)=2^m \} VC(H)=max{m:ΠH​(m)=2m}
例如对二分类问题来说,m个样本最多有 2 m 2^m 2m个可能结果,每种可能结果称为一种“对分”,若假设空间能实现数据集D的所有对分,则称数据集能被该假设空间打散。VC维指能被 H H H打散的最大示例集的大小。

应注意到,VC维与数据分布 D D D无关!在数据分布未知时,仍能计算出假设空间的VC维。

若假设空间 H H H的VC维是 d d d,则对任意整数 m > d m \gt d m>d,有:
Π H ( m ) ≤ ( e ⋅ m d ) d \Pi_H (m)\le (\frac{e\cdot m}{d})^d ΠH​(m)≤(de⋅m​)d
同时任何VC维有限的假设空间 H H H都是(不可知)PAC学习的。

5 Rademacher复杂度

Rademacher 复杂度 (Rademacher complexity) 是另一种刻画假设空间复杂度的途径,与VC维不同的是,它在一定程度上考虑了数据分布

考虑实值函数空间 F → R F \rightarrow \mathbb R F→R,令 Z = { z 1 , z 2 , ⋯ , z m } Z=\{z_1,z_2,\cdots,z_m\} Z={z1​,z2​,⋯,zm​}。函数空间 F F F关于 Z Z Z的经验Rademacher复杂度
R ^ Z ( F ) = E σ [ sup ⁡ f ∈ F 1 m ∑ i = 1 m σ i f ( z i ) ] \hat R_Z(F)=\mathbb E_{\sigma}[ \sup_{f\in F}\frac{1}{m}\sum_{i=1}^m\sigma_if(z_i) ] R^Z​(F)=Eσ​[f∈Fsup​m1​i=1∑m​σi​f(zi​)]
经验Rademacher复杂度衡量了函数空间 F F F与随机噪声在集合 Z Z Z中的相关性。通常我们希望了解函数空间 F F F在 Z Z Z上关于分布 D D D的相关性,因此,对所
有从 D D D独立同分布采样而得的大小为 m m m的集合 Z Z Z求期望可得
R m ( F ) = E Z ⊆ Z : ∣ Z ∣ = m [ R ^ Z ( F ) ] R_m(F)=\mathbb E_{Z \subseteq Z:|Z|=m}[\hat R_Z(F)] Rm​(F)=EZ⊆Z:∣Z∣=m​[R^Z​(F)]
假设空间 H H H的Rdemacher复杂度 R m ( H ) R_m(H) Rm​(H)与增长函数 Π H ( m ) \Pi_H(m) ΠH​(m)满足
R m ( H ) ≤ 2 ln ⁡ Π H ( m ) m R_m(H)\le \sqrt{\frac{2\ln \Pi_H(m)}{m}} Rm​(H)≤m2lnΠH​(m)​ ​

6 稳定性

顾名思义,算法的“稳定性”考察的是算法在输入发生变化时,其输出是否会随之发生较大的变化。学习算法的输入是训练集,因此下面我们先定义训练集的两种变化:

  • 移除: D \ i D^{\backslash i} D\i,表示移除 D D D中第 i i i个样例得到的集合
    D \ i = { z 1 , z 2 , ⋯ , z i − 1 , z i + 1 , ⋯ , z m } D^{\backslash i}=\{z_1,z_2,\cdots,z_{i-1},z_{i+1},\cdots,z_m \} D\i={z1​,z2​,⋯,zi−1​,zi+1​,⋯,zm​}

  • 替换: D i D^{i} Di,表示替换 D D D中第 i i i个样本得到的集合
    D i = { z 1 , z 2 , ⋯ , z i ′ , ⋯ , z m } D^i=\{z_1,z_2,\cdots,z_i',\cdots,z_m \} Di={z1​,z2​,⋯,zi′​,⋯,zm​}

损失函数刻画了预测标记和真实标记的差别:

算法的均匀稳定性:

因此,移除示例的稳定性包含了替换示例的稳定性。

若学习算法符合经验风险最小化原则(ERM)且稳定的,则假设空间 H H H是可学习的。稳定性通过损失函数与假设空间的可学习联系在了一起。

机器学习(周志华) 第十二章计算学习理论相关推荐

  1. 机器学习 --《机器学习》(周志华)第一、二章

    吃瓜笔记(第一.二章) <机器学习>(周志华) 文章目录 吃瓜笔记(第一.二章) 笔记 章节习题 延伸思考 笔记 通过对大量的对象属性进行分析后得到模型的过程称之为训练 进行科学推理常用方 ...

  2. 机器学习-周志华-学习记录-第一章绪论

    文章目录 绪论 一.什么是机器学习 二.基本术语 三.假设空间 四.归纳偏好 总结 参考链接 绪论 为了更早地适应研究生的生活,我决定重新学习周志华老师的机器学习这本书.同时也为了能够养成博客记录的习 ...

  3. 西瓜书(机器学习 周志华)读书笔记--第一章 绪论

    1.1 引言 略 1.2 基本术语 1.2.1 数据集相关的基本概念 假定我们收集了一批关于西瓜的数据,例如(色泽=青绿;根蒂=蜷缩;敲声=浊响), (色泽=乌黑;根蒂=稍蜷;敲声=沉闷), (色泽= ...

  4. 机器学习(周志华) 参考答案 第十四章 概率图模型 14.9

    机器学习(周志华西瓜书) 参考答案 总目录 http://blog.csdn.net/icefire_tyh/article/details/52064910 机器学习(周志华) 参考答案 第十四章 ...

  5. 小吴的《机器学习 周志华》学习笔记 第二章 模型评估与选择

    小吴的<机器学习 周志华>学习笔记 第二章 模型评估与选择 上一周我们介绍了第一章的基础概念,这一次将带来第二章的前三节.后面的2.4 比较检验与2.5 偏差与方差,涉及概率论与数理统计概 ...

  6. 小吴的《机器学习 周志华》学习笔记 第一章 绪论

    小吴的<机器学习 周志华>学习笔记 第一章 绪论 近一年时间接触到不少机器学习的知识,虽然断断续续学了一些,总感觉还没有入门(只学会了疯狂调包).因此,最近开始系统学习Machine Le ...

  7. 小吴的《机器学习 周志华》学习笔记 第二章 2.4 比较检验、2.5 偏差与方差

    小吴的<机器学习 周志华>学习笔记 第二章 2.4 比较检验. 2.5 偏差与方差 2.4 比较检验 上一周提到了实验的评价方法和性能量度,步骤简单可以看成:先使用某种实验评估方法测得学习 ...

  8. 机器学习 周志华 第一章课后习题

    机器学习 周志华 第一章课后习题 1.1 1.2 1.3 1.4 1.5 1.1 在下面这张图片中若只包含编号为1和4的两个样例,试给出相应的版本空间. 书上实例: 1.表 1.1 对应的假设空间如下 ...

  9. 机器学习 周志华 课后习题3.5 线性判别分析LDA

    机器学习 周志华 课后习题3.5 线性判别分析LDA 照着书上敲了敲啥都不会,雀食折磨 python代码 # coding=UTF-8 from numpy import * # 我安装numpy的时 ...

最新文章

  1. BZOJ 1047: [HAOI2007]理想的正方形 单调队列瞎搞
  2. python中with open写csv文件_Python中的CSV文件使用with语句的方式详解
  3. 微擎在线goto解密系统
  4. 02_使用jq实现进入和离开动画
  5. 在你迷茫时不如学好一门语言(送给大一的学弟学妹)
  6. VC开发过程中数据类型不兼容的问题
  7. ElasticSearch集群迁移和升级总结
  8. Karta:IDA源代码辅助插件
  9. 【高等数学笔记】闭包、孤立点、导集、内点、边界的关系
  10. 计算机科学ppt模板,计算机科学与技术ppt模板
  11. css的div垂直居中的方法,CSS使DIV内容垂直居中的方法
  12. 过去式加ed的发音_过去式,过去分词,加ed 后的读法
  13. linux定时任务(crontab)
  14. 打开本地flash webview open swf
  15. 第十一章 枚举与泛型总结
  16. 【PPT技巧】如何制作自己的PPT模板?
  17. HTML5+CSS3期末大作业——城市简介
  18. Hibernate对原生sql处理及结果集和VO的映射
  19. MYJ2C一款java2c混淆工具 java代码转C代码 交叉编译windows,linux,mac系统动态链接库
  20. 深入理解c语言的操作符 ----【汇总】

热门文章

  1. 微信小程序安卓(Android) /苹果(IOS)时间戳转换NaN兼容性问题
  2. 服务器应用程序不可用 您试图在此WEB上访问的web应用程序当前不可用
  3. 2022-2028全球与中国宠物雨衣市场现状及未来发展趋势
  4. d3 i5 神舟精盾k480n_不到3500元 神舟精盾K480N独显本最超值
  5. ABC3D创客项目:风力小车
  6. 九日打卡-2-阅读报告
  7. 拼多多API接口的实践案例
  8. VSCode中git使用
  9. python3.4勾股定理代码_趣味编程,用Scratch和Python画勾股树
  10. 【实用】顶底预警公式,精准逃顶和抄底信号通达信指标