💻
QMMMS的笔记
博客
  • QMMMS的笔记
  • agent
    • MCP的背景、原理和开发
    • Agent 历史与背景
    • Agentic Workflows
    • 环境检查与基础工具
    • Tool Call
    • 工具与运行时的值
    • temp
    • 处理 Tool Call error
    • trick
  • algorithm
    • 线性结构
    • 二叉树
    • 图
    • 查找
    • 排序
    • 动态规划
    • 优化方法
    • 数学
    • 迁移至Java
  • computer_composition
    • 系统总线
    • 存储器
    • 输入输出系统
    • 计算机的运算方法
    • 指令系统
    • 补充
  • computer_network
    • 引入
    • 应用层
    • 传输层
    • 网络层(数据平面)
    • 网络层(控制平面)
    • 链路层
    • 常见问答
    • 实验
  • database
    • SQL实战
    • 关系代数
    • 数据库设计
    • 规范化
    • 数据库基本概念
    • 查询原理
    • 数据库恢复技术
    • 并发控制
  • dev_tools
    • Git
    • Nginx
    • Spring
    • LangChain
    • PyTorch Cheat Sheet
    • MyBatis
    • MySQL Cheat Sheet
    • MySQL 补充
    • Redis
    • Docker
    • RocketMQ
    • Chrome
  • linux
    • Linux基础命令与使用
    • 文件与权限
    • 文件与目录操作
    • 权限属性高级
    • 命令与文件的查找
    • 文件压缩和打包
    • vim编辑器
    • shell变量
    • 命令补充
    • 数据流重定向
    • 管道命令
    • shell脚本
    • 用户管理
    • 用户间交流
    • 计划任务
    • 进程管理
    • 软件管理
    • 认识系统服务
    • 运维常用命令
    • 常用命令
  • llm
    • 大规模语言模型概述
    • 分布式训练概述
    • 有监督微调概述
    • 强化学习与LLM
    • LLM评估概述
    • 大模型应用
    • 理解大模型
    • 量化
    • 预训练
    • 上下文学习
  • machine_learning
    • 引入
    • 大致正确学习
    • 一致收敛
    • 偏差还是过拟合?
    • 可学习的充要条件
    • 非均匀可学习性
    • 计算复杂性
  • mathematics
    • 概率与统计基础
    • 线性代数基础
  • operating_system
    • 操作系统基本概念
    • 进程和线程
    • 同步,互斥与死锁
    • 内存管理
    • 文件系统
    • I/O系统
    • 保护与安全
    • 《现代操作系统》
  • statistical_learning
    • 统计学习引入
    • 线性回归
    • 分类
    • 重抽样方法
    • 线性模型选择与正则化
    • 非线性模型
    • 基于树的方法
    • 支持向量机
    • 无指导学习
    • 马尔科夫链和蒙托卡罗方法简明理解
    • R语言速查
  • deep_learning
    • basic_concepts
      • 逻辑回归与损失函数
      • 神经网络
      • 正则化、预处理、权重初始化
      • 优化算法
      • 机器学习策略
      • 复习:从计算机视觉的角度
      • 卷积神经网络
      • 深度卷积网络示例
      • 计算机视觉任务
      • 循环神经网络
      • 自然语言处理任务
      • 注意力
      • Transformers 家族
      • 显卡扫盲
      • 强化学习概述
    • semi-supervise
      • 半监督学习简介
      • Consistency Regularization
      • Proxy-label Methods
      • Holistic Methods
      • Generative Models
      • Graph-Based SSL
      • Self-Supervision for SSL
      • Other SSL methods
  • programming
    • cpp
      • STL
      • C++基础
      • 内存管理
      • 面向对象
    • java
      • 环境和介绍
      • 注释
      • String
      • 面向对象思想
      • Object
      • 包
      • 访问权限修饰符
      • 初始化块
      • 接口
      • 内部类
      • 注解
      • 枚举
      • 集合框架
      • List
      • Map
      • 泛型
      • 迭代
      • IO与流
      • 序列化
      • 异常
      • Lambda
      • Stream流
      • Socket
      • 缓冲
      • 命名规范
      • 拆箱装箱
      • 值传递
      • 深拷贝
      • 反射
      • JVM
      • 并发编程基础
    • python
      • 并发编程
      • 环境管理
  • software_engineering
    • basic_concepts
      • 系统分析与设计概述
      • 规划
      • 需求分析与原型设计
      • 项目管理
      • 建模
      • 数据库设计
      • 架构
      • 配置管理
      • 测试管理
      • 安全
      • 编码原则
      • 微服务
      • 补充内容
    • software_testing
      • CMMI基础
      • PPQA与SQA
      • 软件测试基础
      • 黑盒测试
      • 白盒测试
      • 集成测试
      • 系统测试
      • 测开面试补充
由 GitBook 提供支持
在本页
在GitHub上编辑
  1. machine_learning

一致收敛

上一页大致正确学习下一页偏差还是过拟合?

最后更新于6个月前

之前,我们已经证明了在可实现性假设下,任何有限假设类都是PAC可学习的。在本章中,我们将开发一个通用工具,一致收敛,并应用它来证明只要损失函数是有界的,那么具有一般损失函数的不可知PAC模型中的任何有限类都是可学习的。

回想一下,对于一个假设类 H\mathcal{H}H,经验风险最小化(ERM)学习范式的工作如下:在收到训练样本 SSS 后,学习算法评估每个 h∈Hh\in\mathcal{H}h∈H 在给定样本上的风险(或误差),并输出一个最小化这个经验风险的 H\mathcal{H}H 的成员。并且希望相对于真实数据概率分布损失也会小。

为此,只需确保 H\mathcal{H}H 所有成员的经验风险都是其真实风险的良好近似。换句话说,我们需要假设类中的所有假设的经验风险一致地接近真实风险。

定义4.1:如果一个训练集 SSS 被称为 ϵ\epsilonϵ-代表,那么:

∀h∈H, ∣LS(h)−LD(h)∣≤ϵ.\forall h \in \mathcal{H}, \ |L_S(h) - L_D(h)| \leq \epsilon.∀h∈H, ∣LS​(h)−LD​(h)∣≤ϵ.

推论4.2:假设训练集 SSS 是 ϵ/2\epsilon/2ϵ/2-代表,那么,任何 ERMH(S)ERM_\mathcal{H}(S)ERMH​(S) 的输出,即任何 hS∈arg⁡min⁡h∈HLS(h)h_S \in \arg \min_{h\in\mathcal{H}}L_S(h) hS​∈argminh∈H​LS​(h),满足:

LD(hS)≤min⁡h∈HLD(h)+ϵ.L_\mathcal{D}(h_S) \leq \min_{h \in \mathcal{H}} L_\mathcal{D}(h) + \epsilon.LD​(hS​)≤h∈Hmin​LD​(h)+ϵ.

证明:

LD(hS)≤LS(hS)+ϵ2≤LS(h)+ϵ2≤LD(h)+ϵ2+ϵ2=LD(h)+ϵL_\mathcal{D}(h_S) \leq L_S(h_S) + \frac{\epsilon}{2} \leq L_S(h) + \frac{\epsilon}{2} \leq L_\mathcal{D}(h) + \frac{\epsilon}{2} + \frac{\epsilon}{2} = L_\mathcal{D}(h) + \epsilonLD​(hS​)≤LS​(hS​)+2ϵ​≤LS​(h)+2ϵ​≤LD​(h)+2ϵ​+2ϵ​=LD​(h)+ϵ

其中,第一个和第三个不等式是由于假设 SSS 是 ϵ/2\epsilon/2ϵ/2-代表,第二个不等式成立是因为 hSh_ShS​ 是一个ERM预测器。

同时,该类是不可知PAC可学习的,使用ERM算法,其样本复杂度为

这意味着,ERM规则是一个不可知PAC学习者,只要在训练集的随机选择中,以至少 1−δ1-\delta1−δ 的概率,它将是一个 ϵ\epsilonϵ-代表的训练集。一致收敛条件(uniform convergence condition)形式化了这一要求。

定义4.3:如果假设类 H\mathcal{H}H 具有一致收敛性质,那么存在一个函数 mHUC:(0,1)2→Nm_{\mathcal{H}}^{\text{UC}} : (0,1)^2 \to \mathbb{N}mHUC​:(0,1)2→N,对于一个独立同分布样本集 SSS 大小 m≥mHUC(ϵ,δ)m \geq m_{\mathcal{H}}^{\text{UC}}(\epsilon, \delta)m≥mHUC​(ϵ,δ),至少 1−δ1-\delta1−δ 的概率,SSS 将是一个 ϵ\epsilonϵ-代表的训练集

简单点说,函数 mHUCm_{\mathcal{H}}^{\text{UC}}mHUC​ 衡量获得一致收敛性质的(最小)样本复杂度,即需要多少例子才能确保样本以至少 1−δ1-\delta1−δ 的概率是 ϵ\epsilonϵ-代表的。“一致”代表这个固定的样本大小,适用于所有 H\mathcal{H}H 的成员和域上的所有可能的概率分布。

推论4.4:如果一个类 H\mathcal{H}H 具有一个函数 mHUCm_{\mathcal{H}}^{\text{UC}}mHUC​ 的一致收敛性质,那么类是不可知PAC可学习的,并且样本复杂度 mH(ϵ,δ)≤mHUC(ϵ/2,δ)m_{\mathcal{H}}(\epsilon, \delta) \leq m_{\mathcal{H}}^{\text{UC}}(\epsilon/2, \delta)mH​(ϵ,δ)≤mHUC​(ϵ/2,δ)。此外,在这种情况下,ERMH\text{ERM}_\mathcal{H}ERMH​ 范式是一个成功的不可知PAC学习算法。

(证明略)推论4.6:设 H\mathcal{H}H 为一个有限假设类,那么它具有一致收敛性质,其样本复杂度为

mHUC(ϵ,δ)≤⌈log⁡(2∣H∣/δ)2ϵ2⌉m_{\mathcal{H}}^{\text{UC}}(\epsilon, \delta) \leq \left\lceil \frac{\log(2|\mathcal{H}|/\delta)}{2\epsilon^2} \right\rceilmHUC​(ϵ,δ)≤⌈2ϵ2log(2∣H∣/δ)​⌉
mH(ϵ,δ)≤mHUC(ϵ/2,δ)≤⌈2log⁡(2∣H∣/δ)ϵ2⌉.m_{\mathcal{H}}(\epsilon, \delta) \leq m_{\mathcal{H}}^{\text{UC}}(\epsilon/2, \delta) \leq \left\lceil \frac{2\log(2|\mathcal{H}|/\delta)}{\epsilon^2} \right\rceil.mH​(ϵ,δ)≤mHUC​(ϵ/2,δ)≤⌈ϵ22log(2∣H∣/δ)​⌉.

虽然上述推论仅适用于有限假设类,但有一个简单的技巧可以让我们很好地估计无限假设类的实际样本复杂度。考虑一个由 ddd 个参数参数化的假设类。

举个例子,令 X=R,Y={±1}\mathcal{X}=\mathbb{R}, \mathcal{Y}=\{±1\}X=R,Y={±1},假设类 H\mathcal{H}H 为所有形式为 hθ(x)=sign(x−θ)h_{\theta}(x)=\text{sign}(x-\theta)hθ​(x)=sign(x−θ) 的函数。

也就是说,每个假设由一个参数 θ∈R\theta\in \mathbb{R}θ∈R 参数化,对所有大于 θ\thetaθ 的实例输出1,反之输出-1。这是一个无限大小的假设类。然而,如果我们在实践中使用计算机学习这个假设类,我们可能会用浮点表示法维护真实数,假设使用64位表示。

因此,在实践中,我们的假设类由可以用64位浮点数表示的标量集参数化,64位数最多可以表示 2642^{64}264 个数,也就有那么多假设类。ddd 个数字就是 264d2^{64d}264d 个假设类。至此我们将一个无限假设类变成了有限的,就可以套用推论4.6以及其他结论。