From c3522e4ab2e1a94fbe32de55518aba81a89bf640 Mon Sep 17 00:00:00 2001 From: mlw67 Date: Thu, 21 Mar 2024 11:18:54 +0800 Subject: [PATCH] =?UTF-8?q?Changes=20to=20be=20committed:=20=09modified:?= =?UTF-8?q?=20=20=20docs/chapter0/chapter0.md=20=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E4=BA=86FML=E7=9A=84=E5=BC=95=E7=94=A8=E6=95=B4=E7=90=86?= =?UTF-8?q?=E8=AF=B4=E6=98=8E=20=09modified:=20=20=20docs/chapter2/chapter?= =?UTF-8?q?2.md=20=E6=B7=BB=E5=8A=A0=E4=BA=86PAC=E5=8F=AF=E8=A1=8C?= =?UTF-8?q?=E6=80=A7=E7=9A=84=E5=9F=BA=E7=A1=80=E6=A6=82=E5=BF=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/chapter0/chapter0.md | 2 ++ docs/chapter2/chapter2.md | 64 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) diff --git a/docs/chapter0/chapter0.md b/docs/chapter0/chapter0.md index d2aec51..45c85b1 100644 --- a/docs/chapter0/chapter0.md +++ b/docs/chapter0/chapter0.md @@ -69,6 +69,8 @@ Update datetime: 2024/03/15 4. 其他章节之前内容的校订 5. 统一全书markdown的格式 +!!!特别注明:由于《Understanding Machine Learning》 和 《Foundations of Machine Learning》中有大量很好的理论说明材料,未避免重复造轮子,减少项目工作量,在项目中将会大量引用其中的材料,大家也可以将此项目视为《机器学习理论导引》、《Understanding Machine Learning》 和 《Foundations of Machine Learning》的融合整理。 + ## 4.项目成员 [王茂霖](https://github.com/mlw67):第2、3、4、5、6、7章内容的编辑,项目的二期更新修订 diff --git a/docs/chapter2/chapter2.md b/docs/chapter2/chapter2.md index ac424d2..3f53423 100644 --- a/docs/chapter2/chapter2.md +++ b/docs/chapter2/chapter2.md @@ -3,10 +3,74 @@ *Edit: 李一飞,王茂霖,Hao ZHAN* ------ +0.本章前言 本章的内容围绕学习理论中的可学性理论展开,主要讨论「事件否能够通过机器学习来解决」这一问题。通过学习理论事先辨别某个问题是否能够被学习,将节省大量的时间与资源。 +什么是可行性? +在书中的概念说:对于一个任务,通常我们先要考虑它“是不是可学的(learnable)”. +我们来进一步深入讨论,首先,我们来重新思考一下这个名称“可学性”,我们在设计一个算法之前,我们是不是会首先想这样一些问题,比如说,这个问题是不是能被解决的(从模型的角度说就这个问题是不是可学习的),以及哪些内容是容易学习的(比如两个凸集是好分的),哪些内容是难学习的(比如两个非凸集之间可能是难分的),如果在可学习的情况下,只是需要多少的样本才能保证模型的误差在一定范围内(样本量的问题),有没有一般话的通用的学习模型? +在本章中,我们将通过介绍 "概率近似正确的"(PAC)学习框架,开始正式讨论这些问题。PAC 框架有助于根据实现近似解所需的样本点数量、样本复杂度以及学习算法的时间/空间复杂度(取决于概念的计算表示成本)来定义可学习的概念。 + +我们首先会描述 PAC 框架并对其进行了说明,然后针对所用假设集包含要学习的概念的一致情况和相反的不一致情况,介绍了当所用假设集有限时该框架内的一些一般学习保证。 + +--- +1.基础概念 + +在具体的介绍 PAC 模型之前,首先给出所需的几个定义和符号,这些定义和符号也将贯穿本书的大部分内容: + +> $X$:表示所有可能的例子或实例的集合。$X$有时也被称为输入空间。 +$Y$:表示所有可能的标签或目标值的集合。$X$有时也被称为输出空间。 + +*注明1:在本介绍性章节中,我们将仅限于把 $Y$ 简化为两个标签的情况,即 $Y = \{0, 1\}$,这相当于所谓的二元分类问题。虽然做了这样的简化假设,这样的先验假设并不影响后续很多推论的路径以及思路,只是多分类的问题相当于二分类的扩展,从证明和论证方面更为复杂,所以这样的假设是不失一般性的,后面的相关章节将把这些结果扩展到更一般的情况。* + +*注明2:由于PAC可学性等很多机器学习理论基础是建立在统计理论基础之上的,所以本书的绝大部分知识点,都是从统计概率的角度出发的。* + +**从数学的角度** 来考虑机器学习概念: +从数学的角度来说,机器/深度学习可以定义为学习一个映射函数,我们给出定义如下: + +> 映射 $c : X → Y$ 是一个从 $X$ 到 $Y$ 的映射。由于 $Y = \{0, 1\}$,我们也可以将 $c$ 视为从$X$中得到为其取值为 $1$ 部分的 $X$ 子集。 + +*解释: 想象一下,如果我们能得到 $X$中关于其中取值为 $1$ 部分的子集,那么我们通过加一个指示函数,自然就构造出了 $c$,所以从子集角度和从映射的角度是等价的,但从子集角度有一个好处,就是我们将机器学习定位为了集合的划分(或者说样本空间的划分),这将更好的理解机器学习的概念, +举一个简单例子来说,我们可以将$X$定义为一个有限集合:e.g. $\{-1,0,1,2,3\}$, 然后 $c$ 等价于从其中找一个子集:e.g. $\{-1,0,3\}$; 也可以将$X$定义为一个无限集合的子集:e.g. 整个一维实数空间$R$/一个有限区间,e.g. $[-10,10]$, 然后 $c$ 等价于从其中找一个子集:e.g. $[-2,-1]\cup[3,4]$;* + +因此,在下文中,我们将学习的概念等同于从 $X$ 到 $\{0, 1\}$ 的映射,或 $X$ 的子集。例如,子集可以是三角形内部的点集或这些点的指示函数。在这种情况下,我们会简短地说要学习的概念是一个三角形。概念类是我们希望学习的概念的集合,用 $C$ 表示。例如,它可以是平面中所有三角形的集合。 + +*解释:这里对于三角形的理解是重要的(如果不理解也没关系,因为后面会多次提及),三角形只是一个概念,相当于一个$X$的子集,我们在前文中刚刚提到,从数学角度来说 $c$ 可以视为从$X$中得到为其取值为 $1$ 部分的 $X$ 子集,比如二维平面$R^2$中的一个三角形区域就可以视为其子集,所以三角形可以视为一个映射$c$。* + + +--- +2.基础假设 + +我们首先假设【实例/样本】是独立且同分$(i.i.d.)$的,且其符合某种固定但未知的分布$D$。 + +学习者会考虑一组固定的可能概念类 $H$(称为假设集),这组概念不一定与目标的概念类 $C$ 一致。学习者会收到根据 从$D$中按照独立同分布抽取的样本集 $X = (x_1, . . , x_m)$ 以及标签集 $Y=(c(x_1), . , c(x_m))$,这些标签基于要学习的特定目标概念 $c \in C$。 + + +--- +3.基本定义 + +假设 $h \in \mathcal{H}$ 的泛化误差(也称为 $h$ 的风险或真实误差(或简称误差)),用 $R(h)$ 表示,我们对其定义如下。 + +> Definition 2.1 (泛化误差:Generalization error) +给定一个假设$h\in\mathcal{H}$、一个目标概念$c\in\mathcal{C}$以及一个基础分布$\mathcal{D}$,$h$的泛化误差或风险定义为 +$$ +R(h)=\underset{x\sim\mathcal{D}}{\operatorname*{\mathbb{P}}}\left[h(x)\neq c(x)\right]=\underset{x\sim\mathcal{D}}{\operatorname*{\mathbb{E}}}\left[1_{h(x)\neq c(x)}\right],\quad\quad\quad(2.1) +$$ +其中,$1_{\omega}$ 是事件 $\omega$ 的指示函数。 + +*注释: +这里我们提到了一个新名词:**事件(Event)**,**事件**是概率和统计中经常提到的一个概念。 +在概率论中,**事件** 是一个基本概念,它指的是在某个【实例/样本】空间(Sample Space)中可能发生的一个或一组结果的集合(或者说出现了某种结果性质的情况)。样本空间是所有可能结果的集合,而事件则是对这个空间的子集。事件可以是单个结果,也可以是多个结果的组合,它们满足某些特定的条件或性质。 +例如,当我们抛掷一枚硬币时,样本空间是所有可能的结果,即 {正面, 反面}。如果我们定义一个事件为 "正面出现",那么这个事件就是样本空间的一个子集,包含了结果 "正面"。 +由此在概率论中,事件的概念用于定义和计算概率。给定一个事件,我们可以计算它发生的概率。事件的概率是指该事件发生的可能性,通常用0到1之间的数值表示。 +在机器学习中,事件的概念更为广泛一些,也被用来描述数据集中的特定模式或类别。例如,在分类任务中,每个类别可以被视为一个事件,算法的目标是学习如何根据输入数据正确地识别这些事件(即类别)。 +而在这里来说 **事件 $\omega$** 代指 $h(x)\neq c(x)$,也就是“假设概念$h$和目标概念$c$不等价”这一事件。所以这里也近一步也定义了事件的概率(事件发生的可能性),并将这种可能性定义为泛化误差。* + +**To be continued...** + +--- ## 1.【证明补充】经验误差的期望等于其泛化误差