当前位置: 首页 > news >正文

计算学习理论(PAC学习、有限假设空间、VC维、Rademacher复杂度、稳定性)

  • 主要研究经验误差泛化误差之间的逼近程度。

  • 常用不等式:

    • \mathrm{Jensen} 不等式:对任意凸函数 f(x),有

      f\big(E(x)\big)\leqslant E\big(f(x)\big)\space.

    • \mathrm{Hoeffding} 不等式:若 x_1,x_2,\dots,x_mm 个独立随机变量,且满足 0\leqslant x_i\leqslant 1,则对任意 \epsilon>0,有
      P\Bigg(\frac{1}{m}\sum^m_{i=1}x_i-\frac{1}{m}\sum^m_{i=1}E(x_i)\geqslant\epsilon\Bigg)\leqslant e^{-2m\epsilon^2}\space,\\ P\Bigg(\Bigg|\frac{1}{m}\sum^m_{i=1}x_i-\frac{1}{m}\sum^m_{i=1}E(x_i)\Bigg|\geqslant\epsilon\Bigg)\leqslant 2e^{-2m\epsilon^2}\space.

    • \mathrm{McDiarmid} 不等式:若 x_1,x_2,\dots,x_mm 个独立随机变量,且对任意 1\leqslant i\leqslant m,函数 f 满足

      \sup_{x_1,\dots,x_m,x_i'}|f(x_1,\dots,x_m)-f(x_1,\dots,x_{i-1},x_i',x_{i+1},\dots,x_m)|\leqslant c_i\space,

      则对任意 \epsilon>0,有
      P(f(x_1,\dots,x_m)-E(f(x_1,\dots,x_m))\geqslant\epsilon)\leqslant e^{\frac{-2\epsilon^2}{\sum_ic_i^2}}\space,\\ P(|f(x_1,\dots,x_m)-E(f(x_1,\dots,x_m))|\geqslant\epsilon)\leqslant 2e^{\frac{-2\epsilon^2}{\sum_ic_i^2}}\space.

一、PAC 学习

  • 旨在形式化地定义“学习”的数学本质,并分析算法在何种条件下能够高效地从数据中学习。

  • 概念(c:样本空间到标记空间的映射(目标概念),目标概念构成的集合为概念类 (C

  • 假设空间 \mathcal{H}:对给定的学习算法(它会把所有可能的目标概念集中起来构成该空间)来说,它所考虑的所有可能概念的集合(里面的叫假设,也是样本到标记的映射)。

  • 最终的目的就是尽可能让算法学习到的假设接近目标概念。

  • \mathrm{PAC} 辨识:对 0<\epsilon,\delta<1,所有的 c\in C 和分布 \mathcal{D},若存在学习算法,其输出假设 h\in\mathcal{H} 满足

    P(E(h)\leqslant\epsilon)\geqslant1-\delta\space,

    则说明该学习算法能从假设空间 \mathcal{H}\mathrm{PAC} 辨识概念类 C(这里的理解其实就和数学里面极限的定义差不多)。

  • \mathrm{PAC} 可学习:在多项式时间内,利用合理数量的样本,以高概率学到一个近似正确的模型。

  • \mathrm{PAC} 学习算法:与可学习的要求差不多,样本来自未知分布,样本数满足多项式界 n=\mathrm{poly(\frac{1}{\epsilon},\frac{1}{\delta},size(c))},输出的假设 h 满足 \mathrm{err}(h)\leq\epsilon 的概率 \geq1-\delta,且算法运行时间为多项式级别。

  • 样本复杂度m\geqslant\mathrm{poly(\frac{1}{\epsilon},\frac{1}{\delta},size(c))},其中最小的 m 就是学习算法的样本复杂度。

二、有限假设空间

  • 可分情形:

    • 是指目标概念完全包含在假设类中,即存在至少一个假设能够完美拟合训练数据(误差为零,假设与样例标记一致);

    • 样本复杂度对数依赖假设空间大小,算法只需拟合训练数据;

  • 不可分情形(更加普遍):

    • 假设类不必完全包含目标概念;

    • 数据允许有噪声;

    • 引理 1\mathrm{Hoeffding} 不等式引出):若训练集 D 包含 m 个从分布 \mathcal{D} 上独立同分布采样而得的样例,0<\epsilon<1,则对任意 h\in\mathcal{H},有

      P(\hat{E}(h)-E(h)\geqslant\epsilon)\leqslant e^{-2m\epsilon^2}\space,\\ P(E(h)-\hat{E}(h)\geqslant\epsilon)\leqslant e^{-2m\epsilon^2}\space,\\ P(|E(h)-\hat{E}(h)|\geqslant\epsilon)\leqslant 2e^{-2m\epsilon^2}\space.

      • 推论:若训练集 D 包含 m 个从分布 \mathcal{D} 上独立同分布来样而得的样例,0<\epsilon<1,则对任意 h\in\mathcal{H},下式以至少 1-\delta 的概率成立:

        \hat{E}(h)-\sqrt{\frac{\ln(\frac{2}{\delta})}{2m}}\leqslant E(h)\leqslant\hat{E}(h)+\sqrt{\frac{\ln\frac{2}{\delta}}{2m}}\space.

        上式表明,样例数目比较大的时候,经验误差可以比较好的近似到泛化误差

    • 定理 1:若 \mathcal{H} 为有限假设空间,0<\delta<1,则对任意 h\in\mathcal{H},有

      P\Big(\big|E(h)-\hat{E}(h)\big|\leqslant\sqrt{\frac{\ln|\mathcal{H}|+\ln(\frac{2}{\delta})}{2m}}\Big)\geqslant1-\delta\space.

三、VC 维

  • 增长函数:对所有 m\in\mathbb{N},假设空间 \mathcal{H} 的增长函数 \prod_{\mathcal{H}}(m)

    \prod_{\mathcal{H}}(m)=\max_{\{x_1,\dots,x_m\}\subseteq \mathcal{X}}\big|\{(h(x_1),\dots,h(x_m))|h\in\mathcal{H}\}\big|\space.

    即增长函数表示假设空间 \mathcal{H}m 个示例所能赋予标记的最大可能结果数(越大能力越强)。

  • 定理 2:对假设空间 \mathcal{H},m\in\mathbb{N},0<\epsilon<1 和任意 h\in\mathcal{H}P(|E(h)-\hat{E}(h)|>\epsilon)\leqslant4\prod_\mathcal{H}(2m)e^{(-\frac{m\epsilon^2}{8})}.

    • 对分\mathcal{H} 中的假设对 D 中示例赋予标记的每种可能结果称为对 D 的一种“对分”;

    • 打散:若假设空间 \mathcal{H} 能实现示例集 D 上的所有对分,即 \prod_{\mathcal{H}}(m)=2^m,则称示例集 D 能被假设空间 \mathcal{H} 打散

  • \mathrm{VC}:假设空间 \mathcal{H}\mathrm{VC} 维是能被 \mathcal{H} 打散的最大示例集的大小,即

    \mathrm{VC}(\mathcal{H})=\max\{m:\prod_{\mathcal{H}}(m)=2^m\}\space.

    其中 \mathrm{VC}(\mathcal{H}) 等于多少,就意味着存在多大的示例集能被假设空间打散。

  • 引理 2(可算出增长函数的上届):若假设空间 \mathcal{H}\mathrm{VC} 维为 d 则对任意 m\in\mathbb{N}

    \prod_{\mathcal{H}}(m)\leqslant\sum_{i=0}^{d}\left(\,\begin{array}{c}m\\i\end{array}\,\right)

    • 推论 2:若假设空间 \mathcal{H}\mathrm{VC} 维为 d 则对任意整数 m\geqslant d

      \prod_{\mathcal{H}}(m)\leqslant(\frac{e\cdot m}{d})^d\space.

  • 定理 3:若假设空间 \mathcal{H}\mathrm{VC} 维为 d 则对任意 m>d,0<\delta<1h\in\mathcal{H}

    P\Bigg(E(h)-\hat{E}(h)\leqslant\sqrt{\frac{8d\ln{\frac{2em}{d}+8\ln{\frac{4}{\delta}}}}{m}}\Bigg)\geqslant1-\delta\space.

  • 定理 4:任何 \mathrm{VC} 维有限的假设空间 \mathcal{H} 都是(不可知)\mathrm{PAC} 可学习的。

四、Rademacher 复杂度

  • 用于衡量假设类复杂度的重要工具。它比 \mathrm{VC} 维更精细,能够提供数据依赖的泛化误差界。

  • 考虑实值函数空间 \mathcal{F}:\mathcal{Z}\rightarrow\mathbb{R},令 Z=\{z_1,z_2,\dots,z_m\},其中 z_i\in\mathcal{Z},\mathcal{Z}、\mathcal{F} 对应的就是 \mathcal{X}\mathcal{H}

    • 函数空间 \mathcal{F} 关于 Z 的经验 \mathrm{Rademacher} 复杂度

      \hat{R}_{Z}(\mathcal{F})=\mathbb{E}_\sigma\big[\sup_{f\in\mathcal{F}}\frac{1}{m}\sum^m_{i=1}\sigma_if(z_i)\big]\space.

    • 函数空间 \mathcal{F} 关于 \mathcal{Z} 上分布 D\mathrm{Rademacher} 复杂度

      R_m(\mathcal{F})=\mathbb{E}_{Z\subseteq\mathcal{Z}:|Z|=m}\big[\hat{R}_Z(\mathcal{F})\big]\space.

  • 函数空间 \mathcal{F} 的泛化误差界(定理 5):对实值函数空间 \mathcal{F:Z}\rightarrow[0,1],根据分布 \mathcal{D}\mathcal{Z} 中独立同分布采样得到示例集 Z=\{z_1,z_2,\dots,z_m\},z_i\in\mathcal{Z},0<\delta<1,对任意 f\in\mathcal{F},以至少 1-\delta 的概率有(这里的 \mathcal{F} 是区间 [0,1] 上的实值函数,所以只适用于回归问题):

    \mathbb{E}\big[f(z)\big]\leqslant\frac{1}{m}\sum^m_{i=1}f(z_i)+2R_m(\mathcal{F})+\sqrt{\frac{\ln(\frac{1}{\delta})}{2m}}\space,\\ \mathbb{E}\big[f(z)\big]\leqslant\frac{1}{m}\sum^m_{i=1}f(z_i)+2\hat{R}_Z(\mathcal{F})+3\sqrt{\frac{\ln(\frac{2}{\delta})}{2m}}\space.

  • 定理 6:(二分类问题)对假设空间 \mathcal{H:X}\rightarrow\{-1,+1\},根据分布 \mathcal{D}\mathcal{X} 中独立分布采样得到示例集 D=\{x_1,x_2,\dots,x_m\},x_i\in\mathcal{X},0<\delta<1,对任意 h\in\mathcal{H},以至少 1-\delta 的概率有

    E(h)\leqslant\hat{E}(h)+R_m(\mathcal{H})+\sqrt{\frac{\ln{\frac{1}{\delta}}}{2m}}\space,\\ E(h)\leqslant\hat{E}(h)+R_D(\mathcal{H})+3\sqrt{\frac{\ln{\frac{2}{\delta}}}{2m}}\space.

  • 基于 \mathrm{VC} 维的泛化误差界是分布无关、数据独立的,而基于 \mathrm{Rademacher} 复杂度的泛化误差界与分布 \mathcal{D} 有关,与数据 D 有关。换言之,基于 \mathrm{Rademacher} 复杂度的泛化误差界依赖于具体学习问题上的数据分布。

  • 定理 7:假设空间 \mathcal{H}\mathrm{Rademacher} 复杂度 R_m(\mathcal{H}) 与增长函数 \prod_{\mathcal{H}}(m) 满足

    R_m(\mathcal{H})\leqslant\sqrt{\frac{2\ln\prod_{\mathcal{H}}(m)}{m}}\space.

    然后可推得

    E(h)\leqslant\hat{E}(h)+\sqrt{\frac{2d\ln{\frac{em}{d}}}{m}}+\sqrt{\frac{\ln\frac{1}{\delta}}{2m}}\space.

五、稳定性

  • 泛化损失

    \ell{(\mathfrak{L},D)}=\mathbb{E}_{x\in\mathcal{X},z}[\ell{(\mathfrak{L},z)}]\space.

  • 经验损失

    \hat{\ell}(\mathfrak{L},D)=\frac{1}{m}\sum_{i=1}^m\ell{(\mathfrak{L},z_i)}\space.

  • 留一损失

    \ell_{\mathrm{loo}}(\mathfrak{L}, D) = \frac{1}{m} \sum_{i=1}^{m} \ell(\mathfrak{L}_{D^{\setminus i}}, z_i)

  • 算法的均匀稳定性

    • 定义:对任何 x\in\mathcal{X},z=(x,y),若学习算法 \mathfrak{L} 满足

      \big|\ell{(\mathfrak{L}_D,z)}-\ell{(\mathfrak{L}_{D^{\setminus i}},z)}\big|\leqslant\beta\space,\space i=1,2,\dots,m,

      则称 \mathfrak{L} 关于损失函数 \ell 满足 \beta-均匀稳定性。

    • 若损失函数 \ell 有界,即对所有 Dz=(x,y)0\leqslant l(\mathfrak{L}_D,z)\leqslant M,则有

      • 给定从分布 \mathcal{D} 上独立同分布采样得到的大小为 m 的示例集 D,若学习算法 \mathfrak{L} 满足关于损失函数 \ell\beta-均匀稳定性,且损失函数 \ell 的上界为 M,0<\delta<1,则对任意 m\geqslant1,以至少 1-\delta 的概率有:

        \ell{(\mathfrak{L},D)}\leqslant\hat{\ell}(\mathfrak{L},D)+2\beta+(4m\beta+M)\sqrt{\frac{\ln{\frac{1}{\delta}}}{2m}}\space,\\ \ell{(\mathfrak{L},D)}\leqslant\ell_{loo}(\mathfrak{L},D)+\beta+(4m\beta+M)\sqrt{\frac{\ln{\frac{1}{\delta}}}{2m}}\space.

注:稳定性分析不必考虑假设空间中所有可能的假设,只需根据算法自身的特性(稳定性)来讨论输出假设 \mathfrak{L}_D 的泛化误差界。

  • 对损失函数 \ell 若学习算法 \mathfrak{L} 所输出的假设满足经验损失最小化,则称算法 \mathfrak{L} 满足经验风险最小化原则,简称算法是 \mathrm{ERM} 的。

  • 若学习算法 \mathfrak{L}\mathrm{ERM} 且稳定的,则假设空间 \mathcal{H} 可学习。

http://www.dtcms.com/a/311585.html

相关文章:

  • PHP 与 MySQL 详解实战入门(2)
  • Linux中使用Qwen模型:Qwen Code CLI工具
  • stm32F407 实现有感BLDC 六步换相 cubemx配置及源代码(二)
  • JavaScript将String转为base64 笔记250802
  • 人工智能篇之计算机视觉
  • golang——viper库学习记录
  • 牛客 - 旋转数组的最小数字
  • 题单【模拟与高精度】
  • 先学Python还是c++?
  • 工具自动生成Makefile
  • 机器学习——K 折交叉验证(K-Fold Cross Validation),实战案例:寻找逻辑回归最佳惩罚因子C
  • 深入理解C++中的vector容器
  • VS2019安装HoloLens 没有设备选项
  • 大模型(五)MOSS-TTSD学习
  • 二叉树的层次遍历 II
  • 算法: 字符串part02: 151.翻转字符串里的单词 + 右旋字符串 + KMP算法28. 实现 strStr()
  • Redis数据库存储键值对的底层原理
  • 信创应用服务器TongWeb安装教程、前后端分离应用部署全流程
  • Web API安全防护全攻略:防刷、防爬与防泄漏实战方案
  • Dispersive Loss:为生成模型引入表示学习 | 如何分析kaiming新提出的dispersive loss,对扩散模型和aigc会带来什么影响?
  • 二、无摩擦刚体捉取——抗力旋量捉取
  • uniapp 数组的用法
  • 【c#窗体荔枝计算乘法,两数相乘】2022-10-6
  • Python Pandas.from_dummies函数解析与实战教程
  • 【语音技术】什么是动态实体
  • 【解决错误】IDEA启动SpringBoot项目 出现:Command line is too long
  • 5734 孤星
  • process_vm_readv/process_vm_writev 接口详解
  • 如何在 Ubuntu 24.04 或 22.04 LTS Linux 上安装 Guake 终端应用程序
  • Next.js 怎么使用 Chakra UI