机器学习理论 | 周志华西瓜书 第十二章:计算学习理论

2024-04-10 23:48

本文主要是介绍机器学习理论 | 周志华西瓜书 第十二章:计算学习理论,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第十二章 计算学习理论

此系列文章旨在提炼周志华《机器学习》的核心要点,不断完善中…


12.1 基础知识

1、概述
目的:分析学习任务的困难本质,为学习算法提供理论保证)

2、一些定义

  • 令h为从X到Y的映射,h的泛化误差: E ( h ; D ) = P x ∼ D ( h ( x ) ≠ y ) E(h;\mathcal{D})=P_{\bm x\sim\mathcal{D}}(h(\bm x)≠y) E(h;D)=PxD(h(x)=y)
  • h在D上的经验误差: 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(\bm x_i)≠y_i) E^(h;D)=m1i=1mI(h(xi)=yi)
  • 通过不合(disagreement)度量映射之间差别: d ( h 1 , h 2 ) = P x ∼ D ( h ( x 1 ) ≠ h ( x 2 ) ) d(h_1,h_2)=P_{\bm x\sim\mathcal{D}}(h(\bm x_1)≠h(\bm x_2)) d(h1,h2)=PxD(h(x1)=h(x2))

3、常用不等式
Jensen不等式:Hoeffding不等式:McDiarmid不等式:结论1结论2

12.2 PAC学习

1、概述
概率近似正确(Probably Approximately Correct)学习理论

2、一些定义
在这里插入图片描述
* PAC可学习(PAC Learnable):
* PAC学习算法:
* 样本复杂度(Sample Complexity):

12.3 有限假设空间

12.3.1 可分情形 ( c ∈ H ) (c\in\mathcal{H}) (cH)

12.3.2 不可分情形 ( c ∉ H ) (c\notin\mathcal{H}) (c/H)

引理12.1推论12.1定理12.1不可知PAC可学习:
在这里插入图片描述
在这里插入图片描述

12.4 VC维

1、几个概念
标记结果的表示: h ∣ D = { ( h ( x 1 ) , h ( x 2 ) , . . . , h ( x m ) ) } h|_D=\{(h(\bm x_1),h(\bm x_2),...,h(\bm x_m))\} hD={(h(x1),h(x2),...,h(xm))}
增长函数(growth function):
在这里插入图片描述
利用增长函数估计经验误差与泛化误差的关系:
在这里插入图片描述
对分(dichotomy):H中的假设对D中实例赋予标记的每种可能结果称为对D的一种对分
打散(shattering):假设空间H能实现示例集D上的所有对分

2、VC维的正式定义
定义12.7 假设空间H的VC维是能被H打散的最大示例集的大小:
VC维与增长函数的密切关系:
在这里插入图片描述
由此计算出增长函数的上界:
在这里插入图片描述
从而得到基于VC维的泛化误差界(分布无关、数据独立的):
在这里插入图片描述

经验风险最小化(Empirical Risk Minimization, ERM)定理12.4 任何VC维有限的假设空间H都是(不可知)PAC可学习的

12.5 Rademacher复杂度

1、概述
另一种刻画假设空间复杂度的途径,一定程度考虑数据分布
定义12.8 函数空间F关于Z的经验Rademacher复杂度:在这里插入图片描述

2、关于函数空间F的泛化误差界

  • 定理12.5(回归问题)
    函数空间F:区间[0,1]上的实值函数
    在这里插入图片描述
  • 定理12.6(二分类问题)
    给出基于Rademacher复杂度的泛化误差界
  • 定理12.7(从Rademacher复杂度和增长函数能推导出基于VC维的泛化误差界)
  • 在这里插入图片描述

12.6 稳定性

1、一些定义

  • 训练集D的变化
    移除D中第i个样例得到的集合替换D中第i个样例得到的集合
  • 几种损失
    泛化损失经验损失留一损失
    2、算法的均匀稳定性(uniform stability)
    定义12.10(移除示例稳定性包含替换示例稳定性)
    在这里插入图片描述
    定理12.8(给出基于稳定性分析推导出的学习算法学得假设的泛化误差界)
    在这里插入图片描述
    定理12.9 若学习算法 是ERM且稳定的,则假设空间H可学习

这篇关于机器学习理论 | 周志华西瓜书 第十二章:计算学习理论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/892499

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操