12.1 基础知识
计算学习理论(computational learning theory)研究的是关于通过"计算"来进行"学习"的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难本质,为学习算法提供理论保证,并根据分析结果指导算法设计。
经验误差和泛化误差:
假设给定训练集\(D=\{(\boldsymbol{x}{1},y{1}),(\boldsymbol{x}{2},y{2}),\ldots,(\boldsymbol{x}{m},y{m})\}, \boldsymbol{x}{i}\in\mathcal{X}\),本章主要讨论二分类问题,若无特别说明,\(y{i}\in\mathcal{Y}=\{-1,+1\}\)。其中所有的训练样本都服从一个未知的分布\(\mathcal{D}\),且它们都是在总体分布\(\mathcal{D}\)中独立采样得到,即独立同分布(independent and identically distributed,i.i.d.)。
令\(h\)为从\(\mathcal{X}\)到\(\mathcal{Y}\)的一个映射,其泛化误差为:
\(E(h;\mathcal{D})=P_{\boldsymbol{x}\sim\mathcal{D}}(h(\boldsymbol{x})\neq y)\)
\(h\)在D上的经验误差为:
\(\widehat{E}(h;D)=\frac{1}{m}\sum_{i=1}^{m}\mathbb{I}\big(h(x_{i})\neq y_{i}\big)\)
泛化误差指的是学习器在总体上的预测误差,经验误差则是学习器在某个特定数据集D上的预测误差。
几个常用不等式:
- Jensen 不等式:对任意凸函数\(f(x)\),有
\(f(\mathbb{E}(x))\leqslant\mathbb{E}(f(x))\)
- HoefIding 不等式[HoefIding , 1963]: 若\(x_{1},x_{2},\ldots,x_{m}\)为m 个独立随机变
量,且满足\(0\leqslant x_{i}\leqslant1\),则对任意\(\epsilon>0\)有\(\begin{gathered}
P\left(\frac{1}{m}\sum_{i=1}^{m}x_{i}-\frac{1}{m}\Big|\sum_{i=1}^{m}\mathbb{E}(x_{i})\geqslant\epsilon\right)\leqslant\exp(-2m\epsilon^{2}) \\
P\left(\left|\frac{1}{m}\sum_{i=1}^{m}x_{i}-\frac{1}{m}\sum_{i=1}^{m}\mathbb{E}(x_{i})\right|\geqslant\epsilon\right)\leqslant2\exp(-2m\epsilon^{2})
\end{gathered}\)
- McDiarmid 不等式[McDiarmid , 1989]:若\(x_{1},x_{2},\ldots,x_{m}\)为m 个独立随机变
量,且对任意\(1\leqslant i\leqslant m\),函数\(f\)满足\(\sup_{x_1,\ldots,x_m, x_i^{\prime}}|f(x_1,\ldots,x_m)-f(x_1,\ldots,x_{i-1},x_i^{\prime},x_{i+1},\ldots,x_m)|\leqslant c_i\)
则对任意\(\epsilon>0\) ,有
\(P\left(f\left(x_{1},\ldots,x_{m}\right)-\mathbb{E}\left(f\left(x_{1},\ldots,x_{m}\right)\right)\geqslant\epsilon\right)\leqslant\exp\left(\frac{-2\epsilon^{2}}{\sum_{i}c_{i}^{2}}\right) \\P\left(\left|f\left(x_{1},\ldots,x_{m}\right)-\mathbb{E}\left(f\left(x_{1},\ldots,x_{m}\right)\right)\right|\geqslant\epsilon\right)\leqslant2\exp\left(\frac{-2\epsilon^{2}}{\sum_{i}c_{i}^{2}}\right)\)
12.2 PAC学习
PAC学习原理(Probably Approximately Correct,概率近似正确)是计算学习理论中的一个核心概念。该原理旨在解释为什么一个假设(或模型、函数)在学习了训练样本后,能够在训练样本之外的数据上有效地进行预测。
PAC学习原理的基本思想是:对于一个给定的概念类(即所有可能的目标概念的集合),如果存在一个多项式时间的学习算法,它能够从训练样本中学习到一个假设,使得该假设在训练样本之外的数据上的错误率以很大的概率(通常接近于1)低于一个预先设定的阈值,并且所需的训练样本数量和学习时间都是多项式级别的,那么我们就称这个概念类是PAC可学习的。
\(C\):概念类。表示从样本空间到标记空间的映射,对任意样例,都能使得\(c(x)=y\)。
\(H\):假设类。学习算法会把认为可能的目标概念集中起来构成\(H\)。
若\(c\in H\),则说明假设能将所有示例按真实标记一致的方式完全分开,称为该问题对学习算法而言是"可分的";否则,称为"不可分的"
对于训练集,我们希望学习算法学习到的模型所对应的假设\(h\)尽可能接近目标概念\(c\)。我们是希望以比较大的把握学得比较好的模型,也就是说,以较大的概率学得误差满足预设上限的模型,这就是"概率近似正确"的含义。形式化地说,令\(\delta\)表示置信度,可定义:PAC辨识:对\(0\leq\epsilon,\delta<1\),所有的\(c\in \mathcal{C}\)和分布\(\mathcal{D}\),若存在学习算法,其输出假设\(h\in H\)满足:
\(\mathrm P(\mathrm E(\mathrm h)\leq\epsilon)\geq1-\delta \)
则称学习算法能从假设空间\(\mathcal{H}\)中PAC辨识概念类\(\mathcal{C}\)。这样的学习算法能以较大的概率(至少\(1-\delta\)学得目标概念\(c\)的近似 (误差最多为\(\epsilon \))。在此基础上可定义:
- PAC可学习:令\(m\)表示从分布\(\mathcal{D}\)中独立同分布采样得到的样例数目,\(0\leq\epsilon,\delta<1\),对所有分布\(\mathcal{D}\),若存在学习算法和多项式函数\(poly(1/\epsilon,1/delta,size(x),size(c))\)(样例数目m与误差\(\epsilon \)、置信度\(1-\delta\)、数据本身的复杂度size(x)、目标概念的复杂度size(c)都有关),使得对于任何\(m\ge poly(1/\epsilon,1/delta,size(x),size(c))\),学习算法能从假设空间中PAC辨识概念类\(\mathcal{C}\),则称概念类\(\mathcal{C}\)对假设空间而言是PAC可学习的,有时也简称概念类\(\mathcal{C}\)是PAC 可学习的。
- PAC学习算法:满足PAC可学习的算法。(假定学习算法处理每个样本的时间为常数,因此C 的时间复杂度等价于样本复杂度。于是,我们对算法时间复杂度的关心就转化为对样本复杂度的关心)
- 样本复杂度(Sample Complexity):满足\(m \ge poly(1/\epsilon,1/\delta,size(x),size(c))\)的最小的m。
PAC学习中一个关键因素是假设空间 \(\mathcal{H}\)的复杂度。\(\mathcal{H}\)包含了学习算法所有可能输出的假设,若在PAC学习中假设空间与概念类完全相同,即\(\mathcal{H}\)=\(\mathcal{C}\),这称为"恰PAC可学习" (properly PAC learnable)。直观地看,这意味着学习算法的能力与学习任务"恰好匹配"。然而,这种让所有候选假设都来自概念类的要求看似合理,但却并不实际,因为在现实应用中我们对概念类\(\mathcal{C}\)通常一无所知,更别说获得一个假设空间与概念类恰好相同的学习算法。显然,更重要的是研究假设空间与概念类不同的情形,即\(H \neq C\)。 一般而言,\(\mathcal{H}\)越大,其包含任意目标概念的可能性越大,但从中找到某个具体目标概念的难度也越大。\(|H|\)有限时,我们称究为"有限假设空间",否则称为"无限假设空间"。