Skip to content

Commit

Permalink
Merge pull request #49 from datawhalechina/pac-bayes-theory
Browse files Browse the repository at this point in the history
添加PAC-Bayes理论
  • Loading branch information
zhimin-z authored Jul 15, 2024
2 parents bd4e1af + d15f537 commit 44a30c7
Show file tree
Hide file tree
Showing 2 changed files with 117 additions and 7 deletions.
88 changes: 83 additions & 5 deletions docs/chapter1/chapter1.md
Original file line number Diff line number Diff line change
Expand Up @@ -552,8 +552,7 @@ $$
1. **定义函数**:我们有一个凸函数 $f(x)$,其自变量为 $x$。
2. **定义共轭变量**:定义新的变量 $p$,它是原函数 $f(x)$ 的导数,即 $p = \frac{df(x)}{dx}$。
3. **定义共轭函数**:定义新的函数 $g(p)$,其形式为:
$$g(p) = x \cdot p - f(x)$$
3. **定义共轭函数**:定义新的函数 $g(p)$,其形式为:$$g(p) = x \cdot p - f(x)$$
这里,$x$ 是 $f(x)$ 的自变量,同时也是 $g(p)$ 的隐含变量。

4. **变换关系**:通过Legendre变换,我们从原来的函数 $f(x)$ 得到了新的函数 $g(p)$,这个新的函数 $g(p)$ 依赖于共轭变量 $p$。
Expand Down Expand Up @@ -664,6 +663,36 @@ $$



## 21. 先验和后验

先验(Prior)和后验(Posterior)是贝叶斯统计中的两个重要概念,它们用于描述不确定性和信息更新的过程。

### 先验概率(Prior Probability)

**定义**:先验概率是指在获得新数据之前,根据已有的知识或经验对某一事件或参数的初始估计。先验概率反映了在观察到新的数据之前我们对某一事件或参数的不确定性。

**表示方法**:用 $P(\theta)$ 表示,其中 $\theta$ 代表参数或事件。

**作用**:先验概率提供了一个起点,在进行贝叶斯推断时,它与新的数据结合,更新我们的认知。

### 后验概率(Posterior Probability)

**定义**:后验概率是指在获得新数据之后,根据贝叶斯定理更新的某一事件或参数的概率分布。后验概率反映了在观察到新数据之后我们对某一事件或参数的不确定性。

**表示方法**:用 $P(\theta | D)$ 表示,其中 $\theta$ 代表参数或事件, $D$ 代表新观察到的数据。

**计算方法**:根据贝叶斯定理,后验概率可以通过先验概率、似然函数和边际似然计算得到:
$$
P(\theta | D) = \frac{P(D | \theta) P(\theta)}{P(D)}
$$
其中,
- $P(\theta | D)$ 是后验概率。
- $P(D | \theta)$ 是似然函数,表示在给定参数 $\theta$ 时观察到数据 $D$ 的概率。
- $P(\theta)$ 是先验概率。
- $P(D)$ 是边际似然,表示观察到数据 $D$ 的总体概率。



# 常用不等式

记:X 和 Y 表示随机变量,$\mathbb{E}[X]$ 表示 X 的数学期望,$\mathbb{V}[X]$ 表示 X 的方差。
Expand Down Expand Up @@ -1568,7 +1597,56 @@ $$



## 定理 24: 广义二项式定理
## 定理 24: Bayes 定理

贝叶斯定理是概率论中的一个重要定理,它描述了在已知某些条件下更新事件概率的数学方法。
贝叶斯定理的公式为:
$$
P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)}
$$
其中:
- $P(A|B)$ 是在事件 B 发生的情况下事件 A 发生的后验概率。
- $P(B|A)$ 是在事件 A 发生的情况下事件 B 发生的似然函数。
- $P(A)$ 是事件 A 的先验概率。
- $P(B)$ 是事件 B 的边缘概率。

$Proof.$

根据条件概率的定义,事件 A 在事件 B 发生下的条件概率 $P(A|B)$ 表示为:
$$
P(A|B) = \frac{P(A \cap B)}{P(B)}
$$

同样地,事件 B 在事件 A 发生下的条件概率 $P(B|A)$ 表示为:
$$
P(B|A) = \frac{P(A \cap B)}{P(A)}
$$

通过这两个公式可以得到联合概率 $P(A \cap B)$ 的两种表示方式:
$$
P(A \cap B) = P(A|B) \cdot P(B)
$$

以及:
$$
P(A \cap B) = P(B|A) \cdot P(A)
$$

由于联合概率的性质,我们可以将上述两个等式等同:
$$
P(A|B) \cdot P(B) = P(B|A) \cdot P(A)
$$

将上述等式两边同时除以 $P(B)$,得到贝叶斯定理:
$$
P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)}
$$

通过先验和后验的更新过程,贝叶斯统计提供了一种动态的、不断修正认知的不确定性量化方法。



## 定理 25: 广义二项式定理

广义二项式定理(Generalized Binomial Theorem)是二项式定理的扩展,适用于任何实数或复数的指数$r$。
$$
Expand All @@ -1579,7 +1657,7 @@ $$



## 定理 25: Stirling 公式
## 定理 26: Stirling 公式

Stirling 公式是用于近似计算阶乘的一种公式,即使在$n$很小时也有很高的精度。
Stirling公式的一种形式为:
Expand Down Expand Up @@ -1687,7 +1765,7 @@ $$



## 定理 26: 分离/支撑超平面定理
## 定理 27: 分离/支撑超平面定理

超平面(Hyperplane)是指$n$维线性空间中维度为$n-1$的子空间,它可以把线性空间分割成不相交的两部分。
对于一个凸集,支撑超平面(Supporting Hyperplane)是与凸集边界切线的超平面,即它“支撑”了凸集,使得所有的凸集内的点都位于支撑超平面的一侧。
Expand Down
36 changes: 34 additions & 2 deletions docs/chapter2/chapter2.md
Original file line number Diff line number Diff line change
Expand Up @@ -225,8 +225,38 @@ $$
注意,这里的样本复杂度与之前的数据复杂度 $size(c)$ 不同,后者指的是一个数据本身的复杂程度,而这里的样本复杂度是关于假设空间$\mathcal{H}$需要样本数量的描述,也即对一个算法,我们需要多少样本才能获得一个 PAC 学习的解(probably approximately correct solution) 。



#### 6.【概念补充】PAC-Bayes理论

PAC学习理论主要研究如何在有限的样本和计算资源下,从给定的假设空间中找到一个近似正确的假设。PAC学习理论给出了学习算法在多大概率下能够找到一个误差不超过一定范围的假设的数学框架。
而贝叶斯(Bayes)统计利用先验知识和观察到的数据,通过贝叶斯定理更新概率分布,从而进行推断。贝叶斯方法强调利用先验分布和后验分布来进行推理和决策。

PAC-Bayes理论结合了PAC学习和贝叶斯方法的优点。其核心思想是,通过考虑假设空间中的概率分布来描述学习算法的行为,并给出关于学习算法在有限数据情况下的泛化误差的界限。具体来说,PAC-Bayes理论关注的是以下问题:
1. 先验分布和后验分布:在假设空间中定义一个先验分布,通过观测数据更新得到后验分布。
2. 泛化误差的界限:基于后验分布,给出学习算法的泛化误差上界。这些上界通常以概率的形式给出,确保在高概率下,算法的泛化误差不会超过某个界限。
PAC-Bayes界限的形式一般涉及到假设的复杂度(通过KL散度度量)和训练误差的综合衡量,从而给出一个平衡了模型复杂度和数据拟合程度的泛化误差上界。

PAC-Bayes不等式是PAC-Bayes理论的核心结果之一,它为后验分布下的泛化误差提供了一个上界。
典型的PAC-Bayes不等式形式如下:
$$
\mathbb{E}_{Q}[L(h)] \leq \mathbb{E}_{Q}[\hat{L}(h)] + \sqrt{\frac{KL(Q \| P) + \ln\frac{1}{\delta} + \ln m + \ln 2}{2m-1}}
$$

其中:
- $L(h)$ 是假设 $h$ 的真实误差(泛化误差)。
- $\hat{L}(h)$ 是假设 $h$ 在训练集上的经验误差。
- $Q$ 是假设的后验分布。
- $P$ 是假设的先验分布。
- $KL(Q \| P)$ 是后验分布 $Q$ 和先验分布 $P$ 之间的 KL 散度。
- $\delta$ 是置信参数,表示上界成立的概率。
- $m$ 是样本数量。

证明细节请参考文献 [McAllester, 2003]



## 2.3 分析实例
#### 6.【证明补充】布尔合取式
#### 7.【证明补充】布尔合取式

**P30**中提到了布尔合取式的PAC可学问题,在此对该证明进行补充。

Expand Down Expand Up @@ -263,7 +293,7 @@ $size(c)$是目标概念 $c$ 的复杂度 $size(c)$ 是合取式中布尔文字
因此,如果 $a$ 是一个负例(即 $c(a) = 0$),则 $h$ 也会评估为 $0$,因为 $h$ 不能在不违反 $c$ 中某个文字的情况下被 $a$ 满足。


#### 7.【案例补充】可知学习
#### 8.【案例补充】可知学习

**P31**提到了可知学习与不可知学习,这里用一个案例来进行说明,

Expand All @@ -290,6 +320,8 @@ $size(c)$是目标概念 $c$ 的复杂度 $size(c)$ 是合取式中布尔文字

[3] An Introduction to Computational Learning Theory:1.2

[4] McAllester, David A. "PAC-Bayesian stochastic model selection." Machine Learning 51.1 (2003): 5-21.

------

## 附录:时间复杂度严谨描述
Expand Down

0 comments on commit 44a30c7

Please sign in to comment.