Bootstrap

概率论相关知识随记

作为基础知识的补充,随学随记,方便以后查阅。

概率论相关知识随记

期望(Expectation)

在概率论和统计学中,期望(Expectation),也叫做数学期望,是一个随机变量的加权平均值,反映了随机变量的中心趋势平均水平。它是概率论中一个非常基础且重要的概念,用于描述一个随机实验或现象的长期平均结果

期望的定义

期望是随机变量的加权平均值,其中每个可能结果的权重是该结果发生的概率。对于离散型和连续型随机变量,期望的计算方法不同。

离散型随机变量的期望

对于一个离散型随机变量 X X X,假设它的可能取值为 x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1,x2,,xn,每个取值对应的概率为 P ( X = x i ) = p i P(X = x_i) = p_i P(X=xi)=pi,其中 i = 1 , 2 , … , n i = 1, 2, \dots, n i=1,2,,n,则该随机变量的期望值 E ( X ) E(X) E(X) 定义为:
E ( X ) = ∑ i = 1 n x i ⋅ p i E(X) = \sum_{i=1}^{n} x_i \cdot p_i E(X)=i=1nxipi

这意味着期望是所有可能取值 x i x_i xi 和其对应概率 p i p_i pi 的乘积的和。

示例:掷骰子的期望

假设我们掷一颗六面骰子,随机变量 X X X 表示掷出点数。骰子的点数为 1 , 2 , 3 , 4 , 5 , 6 1, 2, 3, 4, 5, 6 1,2,3,4,5,6,每个点数的概率都是 1 6 \frac{1}{6} 61,因此期望值计算如下:
E ( X ) = 1 ⋅ 1 6 + 2 ⋅ 1 6 + 3 ⋅ 1 6 + 4 ⋅ 1 6 + 5 ⋅ 1 6 + 6 ⋅ 1 6 E(X) = 1 \cdot \frac{1}{6} + 2 \cdot \frac{1}{6} + 3 \cdot \frac{1}{6} + 4 \cdot \frac{1}{6} + 5 \cdot \frac{1}{6} + 6 \cdot \frac{1}{6} E(X)=161+261+361+461+561+661

E ( X ) = 1 + 2 + 3 + 4 + 5 + 6 6 = 21 6 = 3.5 E(X) = \frac{1+2+3+4+5+6}{6} = \frac{21}{6} = 3.5 E(X)=61+2+3+4+5+6=621=3.5

所以,掷骰子的期望值是 3.5 3.5 3.5,即从长期来看,每次掷骰子的平均点数是 3.5 3.5 3.5

连续型随机变量的期望

对于一个连续型随机变量 X X X,它的取值是连续的,期望值(数学期望)定义为对所有可能的取值进行加权平均,权重是该值对应的概率密度函数 f ( x ) f(x) f(x)。具体来说,期望值 E ( X ) E(X) E(X) 定义为:
E ( X ) = ∫ − ∞ ∞ x ⋅ f ( x )   d x E(X) = \int_{-\infty}^{\infty} x \cdot f(x) \, dx E(X)=xf(x)dx

其中, f ( x ) f(x) f(x) 是随机变量 X X X 的概率密度函数。

示例:均匀分布的期望

假设有一个均匀分布的连续随机变量 X X X,它的取值范围是从 a a a b b b,即 X ∼ U ( a , b ) X \sim U(a, b) XU(a,b),其概率密度函数为:
f ( x ) = 1 b − a , a ≤ x ≤ b f(x) = \frac{1}{b - a}, \quad a \leq x \leq b f(x)=ba1,axb

对于这个均匀分布的随机变量 X X X,其期望值 E ( X ) E(X) E(X) 计算如下:
E ( X ) = ∫ a b x ⋅ 1 b − a   d x E(X) = \int_{a}^{b} x \cdot \frac{1}{b - a} \, dx E(X)=abxba1dx

计算该积分,得到:
E ( X ) = 1 b − a ⋅ [ x 2 2 ] a b = 1 b − a ⋅ ( b 2 2 − a 2 2 ) E(X) = \frac{1}{b - a} \cdot \left[ \frac{x^2}{2} \right]_a^b = \frac{1}{b - a} \cdot \left( \frac{b^2}{2} - \frac{a^2}{2} \right) E(X)=ba1[2x2]ab=ba1(2b22a2)

E ( X ) = b + a 2 E(X) = \frac{b + a}{2} E(X)=2b+a

所以,均匀分布的期望是区间 [ a , b ] [a, b] [a,b] 的中点,即 E ( X ) = a + b 2 E(X) = \frac{a + b}{2} E(X)=2a+b

期望的性质

期望作为一种运算,也具有许多重要的性质,这些性质在概率论和统计学中具有广泛的应用。

线性性质

期望是一个线性算子,具有以下性质:

  1. 加法性
    如果 X X X Y Y Y 是两个随机变量,那么:
    E ( X + Y ) = E ( X ) + E ( Y ) E(X + Y) = E(X) + E(Y) E(X+Y)=E(X)+E(Y)

  2. 常数乘法性
    如果 X X X 是一个随机变量, c c c 是一个常数,那么:
    E ( c X ) = c ⋅ E ( X ) E(cX) = c \cdot E(X) E(cX)=cE(X)

    这表明,期望运算对常数具有可分配性。

期望的无偏性

如果一个估计量 θ ^ \hat{\theta} θ^ 是某个参数 θ \theta θ 的估计,那么如果 E ( θ ^ ) = θ E(\hat{\theta}) = \theta E(θ^)=θ,则称 θ ^ \hat{\theta} θ^ 是无偏估计量。

例如,样本均值是总体均值的无偏估计量。

期望与方差的关系

期望和方差是描述随机变量分布的两个重要量。期望描述了随机变量的中心位置,而方差描述了随机变量取值的分散程度。期望和方差的关系通过以下公式给出:

  1. 方差的定义
    随机变量 X X X 的方差定义为:
    Var ( X ) = E [ ( X − E ( X ) ) 2 ] \text{Var}(X) = E\left[ (X - E(X))^2 \right] Var(X)=E[(XE(X))2]

    这表示 X X X 与其期望之间的偏差的平方的期望值。

  2. 方差的展开公式
    方差可以通过期望展开为:
    Var ( X ) = E ( X 2 ) − [ E ( X ) ] 2 \text{Var}(X) = E(X^2) - [E(X)]^2 Var(X)=E(X2)[E(X)]2

    这里, E ( X 2 ) E(X^2) E(X2) X X X 的二次期望,表示 X X X 平方的期望值。

期望的作用

期望在概率论中具有许多重要应用,主要包括:

  • 描述随机变量的平均行为:期望告诉我们在重复实验中,随机变量的平均值。
  • 优化与决策:在决策问题中,期望常常用于找到最优策略,例如在投资、保险和赌博等领域中。
  • 无偏估计:期望可以用来检验某个统计量是否是无偏估计量,即其期望值是否等于参数的真实值。

期望的应用

  • 在赌博中的应用:期望可以帮助我们评估赌博游戏的风险和收益。例如,在掷骰子时,期望值可以告诉我们每次游戏的平均损益。
  • 在统计学中的应用:期望是统计推断中非常重要的工具,它用于构建各种统计量(如样本均值、样本方差等),并通过这些统计量来进行参数估计和假设检验。
  • 在机器学习中的应用:期望常常用于损失函数的计算,尤其是在强化学习中,期望用于描述行动的长期回报。

概率、似然、条件概率、联合概率、边缘概率

在概率论中,概率、条件概率、联合概率和边缘概率是描述随机事件发生的可能性和事件之间相关性的基础概念。

概率(Probability)

概率是用来描述某个事件发生的可能性的数值,通常表示为 P ( A ) P(A) P(A),其中 A A A 是一个事件。概率值介于 0 0 0 1 1 1 之间:

  • P ( A ) = 0 P(A) = 0 P(A)=0 表示事件 A A A 不可能发生。
  • P ( A ) = 1 P(A) = 1 P(A)=1 表示事件 A A A 必然发生。
  • P ( A ) ∈ ( 0 , 1 ) P(A) \in (0, 1) P(A)(0,1) 表示事件 A A A 有一定的可能性发生。

概率的性质

  • 非负性:对于任何事件 A A A P ( A ) ≥ 0 P(A) \geq 0 P(A)0
  • 规范性:样本空间 S S S 的概率为 1 1 1,即 P ( S ) = 1 P(S) = 1 P(S)=1
  • 可加性:如果事件 A A A 和事件 B B B 是互斥的(即 A ∩ B = ∅ A \cap B = \emptyset AB=),则 P ( A ∪ B ) = P ( A ) + P ( B ) P(A \cup B) = P(A) + P(B) P(AB)=P(A)+P(B)

公式

P ( A ) = 事件 A 发生的概率 P(A) = \text{事件} A \text{发生的概率} P(A)=事件A发生的概率

似然(Likelihood)

似然是一个与概率类似但定义不同的概念。它用于描述在给定观测数据的情况下,某个模型的参数的“可能性”。似然函数的关键在于它是关于模型参数的函数,而概率是关于数据的函数。

  • 形式上,似然函数 L ( θ ; x ) L(\theta; x) L(θ;x) 是在给定观测数据 x x x 时,参数 θ \theta θ 的“可能性”或“适应度”。我们通常通过似然函数来进行参数估计。

似然的定义:

给定一个统计模型,该模型由一个未知参数 θ \theta θ 定义。观测数据 x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1,x2,,xn 是根据该模型生成的。似然函数是关于参数 θ \theta θ 的函数,它表示在给定观测数据 x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1,x2,,xn 的条件下,参数 θ \theta θ 使得这些数据“发生”的可能性。
L ( θ ; x 1 , x 2 , … , x n ) = P ( x 1 , x 2 , … , x n ∣ θ ) L(\theta; x_1, x_2, \dots, x_n) = P(x_1, x_2, \dots, x_n \mid \theta) L(θ;x1,x2,,xn)=P(x1,x2,,xnθ)

  • 这里, L ( θ ; x 1 , x 2 , … , x n ) L(\theta; x_1, x_2, \dots, x_n) L(θ;x1,x2,,xn)似然函数,它表示给定数据的情况下,参数 θ \theta θ 使得数据发生的“可能性”。
  • P ( x 1 , x 2 , … , x n ∣ θ ) P(x_1, x_2, \dots, x_n \mid \theta) P(x1,x2,,xnθ)条件概率,它表示给定参数 θ \theta θ 下,数据 x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1,x2,,xn 发生的概率。

对数似然函数

由于似然函数通常是一个乘积,直接计算似然函数可能比较麻烦。为了简化计算,通常使用对数似然函数。对数函数具有单调性,因此最大化对数似然函数等价于最大化原始的似然函数。对数变换将乘法转换为加法,计算起来更方便。

对数似然函数为:
ℓ ( θ ; x 1 , x 2 , … , x n ) = log ⁡ L ( θ ; x 1 , x 2 , … , x n ) = ∑ i = 1 n log ⁡ f ( x i ; θ ) \ell(\theta; x_1, x_2, \dots, x_n) = \log L(\theta; x_1, x_2, \dots, x_n) = \sum_{i=1}^{n} \log f(x_i; \theta) (θ;x1,x2,,xn)=logL(θ;x1,x2,,xn)=i=1nlogf(xi;θ)

似然函数的应用

参数估计

通过最大化似然函数或对数似然函数,可以得到参数的估计值。例如,在正态分布的情况下,假设数据来自一个均值为 μ \mu μ、方差为 σ 2 \sigma^2 σ2 的正态分布,我们可以通过最大化似然函数来估计这两个参数。

  • 正态分布的概率密度函数为:
    f ( x ; μ , σ 2 ) = 1 2 π σ 2 exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) f(x; \mu, \sigma^2) = \frac{1}{\sqrt{2\pi \sigma^2}} \exp\left( -\frac{(x - \mu)^2}{2\sigma^2} \right) f(x;μ,σ2)=2πσ2 1exp(2σ2(xμ)2)

  • 似然函数为:
    L ( μ , σ 2 ; x 1 , x 2 , … , x n ) = ∏ i = 1 n 1 2 π σ 2 exp ⁡ ( − ( x i − μ ) 2 2 σ 2 ) L(\mu, \sigma^2; x_1, x_2, \dots, x_n) = \prod_{i=1}^{n} \frac{1}{\sqrt{2\pi \sigma^2}} \exp\left( -\frac{(x_i - \mu)^2}{2\sigma^2} \right) L(μ,σ2;x1,x2,,xn)=i=1n2πσ2 1exp(2σ2(xiμ)2)

  • 对数似然函数为:
    ℓ ( μ , σ 2 ) = − n 2 log ⁡ ( 2 π σ 2 ) − 1 2 σ 2 ∑ i = 1 n ( x i − μ ) 2 \ell(\mu, \sigma^2) = -\frac{n}{2} \log(2\pi \sigma^2) - \frac{1}{2\sigma^2} \sum_{i=1}^{n} (x_i - \mu)^2 (μ,σ2)=2nlog(2πσ2)2σ21i=1n(xiμ)2

通过对对数似然函数求导并令其为零,可以得到最大似然估计:

  • μ ^ = 1 n ∑ i = 1 n x i \hat{\mu} = \frac{1}{n} \sum_{i=1}^{n} x_i μ^=n1i=1nxi
  • σ 2 ^ = 1 n ∑ i = 1 n ( x i − μ ^ ) 2 \hat{\sigma^2} = \frac{1}{n} \sum_{i=1}^{n} (x_i - \hat{\mu})^2 σ2^=n1i=1n(xiμ^)2

这些估计是最常用的参数估计方法,广泛应用于统计分析中。

模型选择与比较

似然函数还可用于不同模型之间的比较。例如,在选择不同的统计模型(如线性回归与逻辑回归)时,我们可以比较它们的似然函数值(或对数似然函数值),选择似然值较大的模型。

似然函数与贝叶斯推断的对比

与最大似然估计(MLE)不同,贝叶斯推断不仅仅使用似然函数,还结合了先验分布来进行推断。在贝叶斯框架中,参数的估计通过后验分布来完成:
P ( θ ∣ x 1 , x 2 , … , x n ) = L ( θ ; x 1 , x 2 , … , x n ) P ( θ ) P ( x 1 , x 2 , … , x n ) P(\theta \mid x_1, x_2, \dots, x_n) = \frac{L(\theta; x_1, x_2, \dots, x_n) P(\theta)}{P(x_1, x_2, \dots, x_n)} P(θx1,x2,,xn)=P(x1,x2,,xn)L(θ;x1,x2,,xn)P(θ)

这里:

  • L ( θ ; x 1 , x 2 , … , x n ) L(\theta; x_1, x_2, \dots, x_n) L(θ;x1,x2,,xn) 是似然函数,表示给定数据的情况下,参数的“可能性”。
  • P ( θ ) P(\theta) P(θ) 是参数的先验分布,反映我们对参数的先验知识。
  • P ( x 1 , x 2 , … , x n ) P(x_1, x_2, \dots, x_n) P(x1,x2,,xn) 是数据的证据,作为归一化常数。

贝叶斯方法结合了先验分布和似然函数,通过后验分布来提供参数的估计,而最大似然估计只依赖于似然函数。

概率与似然的区别

虽然概率似然在形式上看起来很相似,但它们的含义和用途是不同的。

在这里插入图片描述

条件概率(Conditional Probability)

条件概率描述了在已知某个事件 B B B 发生的前提下,另一个事件 A A A 发生的概率。条件概率记作 P ( A ∣ B ) P(A \mid B) P(AB),它表示在事件 B B B 发生的情况下,事件 A A A 发生的可能性。

条件概率的定义为:
P ( A ∣ B ) = P ( A ∩ B ) P ( B ) , P ( B ) > 0 P(A \mid B) = \frac{P(A \cap B)}{P(B)}, \quad P(B) > 0 P(AB)=P(B)P(AB),P(B)>0
其中:

  • P ( A ∣ B ) P(A \mid B) P(AB) 是在事件 B B B 已经发生的条件下,事件 A A A 发生的概率。
  • P ( A ∩ B ) P(A \cap B) P(AB) 是事件 A A A 和事件 B B B 同时发生的联合概率。
  • P ( B ) P(B) P(B) 是事件 B B B 发生的概率。

直观理解

  • 条件概率表示在已知事件 B B B 已经发生的情况下,事件 A A A 发生的概率。例如,假设在一场比赛中,知道一方已经获胜,那么这时计算另一方的得分(事件 A A A)的概率就是一个条件概率问题。

条件概率的链式法则(Chain Rule of Conditional Probability)

假设我们有 n n n 个随机变量 X 1 , X 2 , … , X n X_1, X_2, \dots, X_n X1,X2,,Xn,其联合分布为 P ( X 1 , X 2 , … , X n ) P(X_1, X_2, \dots, X_n) P(X1,X2,,Xn)。根据条件概率的链式法则,我们可以将这个联合概率分解成一系列条件概率的乘积:
P ( X 1 , X 2 , … , X n ) = P ( X 1 ) ⋅ P ( X 2 ∣ X 1 ) ⋅ P ( X 3 ∣ X 1 , X 2 ) ⋅ ⋯ ⋅ P ( X n ∣ X 1 , X 2 , … , X n − 1 ) P(X_1, X_2, \dots, X_n) = P(X_1) \cdot P(X_2 \mid X_1) \cdot P(X_3 \mid X_1, X_2) \cdot \dots \cdot P(X_n \mid X_1, X_2, \dots, X_{n-1}) P(X1,X2,,Xn)=P(X1)P(X2X1)P(X3X1,X2)P(XnX1,X2,,Xn1)

或者更一般地,链式法则可以表示为:
P ( X 1 , X 2 , … , X n ) = ∏ i = 1 n P ( X i ∣ X 1 , X 2 , … , X i − 1 ) P(X_1, X_2, \dots, X_n) = \prod_{i=1}^{n} P(X_i \mid X_1, X_2, \dots, X_{i-1}) P(X1,X2,,Xn)=i=1nP(XiX1,X2,,Xi1)

链式法则的理解

这个公式的含义是,我们可以通过逐步地条件化每个变量,并将条件概率的乘积表示出联合概率。

  1. 第一个项 P ( X 1 ) P(X_1) P(X1) 是第一个变量 X 1 X_1 X1 的边缘概率。
  2. 第二个项 P ( X 2 ∣ X 1 ) P(X_2 \mid X_1) P(X2X1) 是在给定 X 1 X_1 X1 的条件下, X 2 X_2 X2 的条件概率。
  3. 第三个项 P ( X 3 ∣ X 1 , X 2 ) P(X_3 \mid X_1, X_2) P(X3X1,X2) 是在给定 X 1 X_1 X1 X 2 X_2 X2 的条件下, X 3 X_3 X3 的条件概率。
  4. 以此类推,最后一个项 P ( X n ∣ X 1 , X 2 , … , X n − 1 ) P(X_n \mid X_1, X_2, \dots, X_{n-1}) P(XnX1,X2,,Xn1) 是在给定 X 1 , X 2 , … , X n − 1 X_1, X_2, \dots, X_{n-1} X1,X2,,Xn1 的条件下, X n X_n Xn 的条件概率。
链式法则的例子

假设我们有三个随机变量 A A A, B B B C C C,我们想要计算它们的联合概率 P ( A , B , C ) P(A, B, C) P(A,B,C)

根据链式法则,我们可以将其分解为:
P ( A , B , C ) = P ( A ) ⋅ P ( B ∣ A ) ⋅ P ( C ∣ A , B ) P(A, B, C) = P(A) \cdot P(B \mid A) \cdot P(C \mid A, B) P(A,B,C)=P(A)P(BA)P(CA,B)

这意味着联合概率 P ( A , B , C ) P(A, B, C) P(A,B,C)可以通过以下步骤计算:

  • 首先计算 P ( A ) P(A) P(A),即变量 A A A 的边缘概率。
  • 然后计算在 A A A 已知的条件下, B B B 的条件概率 P ( B ∣ A ) P(B \mid A) P(BA)
  • 最后计算在已知 A A A B B B 的条件下, C C C 的条件概率 P ( C ∣ A , B ) P(C \mid A, B) P(CA,B)

联合概率(Joint Probability)

联合概率描述了两个或多个事件同时发生的概率。对于两个事件 A A A B B B,它们的联合概率表示为 P ( A ∩ B ) P(A \cap B) P(AB),即事件 A A A 和事件 B B B 同时发生的概率。

联合概率的计算可以通过条件概率来表示:
P ( A ∩ B ) = P ( A ∣ B ) ⋅ P ( B ) = P ( B ∣ A ) ⋅ P ( A ) P(A \cap B) = P(A \mid B) \cdot P(B) = P(B \mid A) \cdot P(A) P(AB)=P(AB)P(B)=P(BA)P(A)
其中:

  • P ( A ∩ B ) P(A \cap B) P(AB) 是事件 A A A 和事件 B B B 同时发生的联合概率。
  • P ( A ∣ B ) P(A \mid B) P(AB) 是在事件 B B B 发生的条件下,事件 A A A 发生的条件概率。
  • P ( B ∣ A ) P(B \mid A) P(BA) 是在事件 A A A 发生的条件下,事件 B B B 发生的条件概率。

直观理解

  • 联合概率表示事件 A A A 和事件 B B B 同时发生的可能性。例如,投掷两颗骰子的实验中,联合概率 P ( 骰子1 = 3 ∩ 骰子2 = 5 ) P(\text{骰子1} = 3 \cap \text{骰子2} = 5) P(骰子1=3骰子2=5) 表示第一颗骰子掷出 3 并且第二颗骰子掷出 5 的概率。

公式

P ( A ∩ B ) = P ( A ∣ B ) ⋅ P ( B ) = P ( B ∣ A ) ⋅ P ( A ) P(A \cap B) = P(A \mid B) \cdot P(B) = P(B \mid A) \cdot P(A) P(AB)=P(AB)P(B)=P(BA)P(A)

联合概率的计算

联合概率通常可以通过以下几种方式计算:

如果已知条件独立性:

如果 X X X Y Y Y 是独立的,即它们之间没有任何关联或影响,则它们的联合概率可以通过它们的边际概率的乘积来计算:
P ( X = x , Y = y ) = P ( X = x ) ⋅ P ( Y = y ) P(X=x,Y=y)=P(X=x)⋅P(Y=y) P(X=x,Y=y)=P(X=x)P(Y=y)

这意味着,两个事件独立时,它们同时发生的概率等于它们各自独立发生的概率的乘积。

通过条件概率计算:

联合概率也可以通过条件概率来计算。如果我们知道一个事件已经发生,则可以使用条件概率来计算联合概率:
P ( X = x , Y = y ) = P ( X = x ∣ Y = y ) ⋅ P ( Y = y ) P(X=x,Y=y)=P(X=x∣Y=y)⋅P(Y=y) P(X=x,Y=y)=P(X=xY=y)P(Y=y)

其中:

  • P ( X = x ∣ Y = y ) P(X=x∣Y=y) P(X=xY=y) 是在 Y = y Y=y Y=y 条件下, X = x X=x X=x 发生的概率(即条件概率)。
  • P ( Y = y ) P(Y=y) P(Y=y) 是事件 Y = y Y=y Y=y 发生的概率。

这个公式意味着,我们首先计算 Y = y Y=y Y=y 发生的概率,再乘以在 Y = y Y=y Y=y 的条件下 X = x X=x X=x 发生的条件概率。

边缘概率(Marginal Probability)

边缘概率是指在多重事件中,只考虑其中一个事件的概率,不考虑其他事件的影响。它通过对联合概率求和(离散情况)或积分(连续情况)来得到。边缘概率表示为 P ( A ) P(A) P(A) P ( B ) P(B) P(B),是从联合分布中获取的单一事件的概率。

边缘概率的计算公式为:

  • 对于离散情况,边缘概率是联合概率对其他变量求和:
    P ( A ) = ∑ B P ( A ∩ B ) P(A) = \sum_{B} P(A \cap B) P(A)=BP(AB)

  • 对于连续情况,边缘概率是联合概率对其他变量积分:
    P ( A ) = ∫ P ( A , B )   d B P(A) = \int P(A, B) \, dB P(A)=P(A,B)dB

边缘概率告诉我们,给定某个事件发生的情况下,忽略其他事件的影响,单独考虑该事件的发生概率。

直观理解

  • 边缘概率是指在多个随机变量中,单独关注某一个变量的概率。例如,在一个包含多个特征的模型中,边缘概率表示某一特征的单独发生的概率,不考虑其他特征的影响。

公式

P ( A ) = ∑ B P ( A ∩ B ) (离散情况) P(A) = \sum_{B} P(A \cap B) \quad \text{(离散情况)} P(A)=BP(AB)(离散情况)

P ( A ) = ∫ P ( A , B )   d B (连续情况) P(A) = \int P(A, B) \, dB \quad \text{(连续情况)} P(A)=P(A,B)dB(连续情况)

概率之间的关系

  1. 全概率公式:如果一个样本空间 S S S 被划分为若干互斥事件 B 1 , B 2 , … , B n B_1, B_2, \dots, B_n B1,B2,,Bn,则任意事件 A A A 的概率可以表示为:
    P ( A ) = ∑ i = 1 n P ( A ∣ B i ) P ( B i ) P(A) = \sum_{i=1}^{n} P(A \mid B_i) P(B_i) P(A)=i=1nP(ABi)P(Bi)

  2. 贝叶斯定理:贝叶斯定理提供了一种计算条件概率的方法,它通过联合概率来更新概率。贝叶斯定理公式为:
    P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A \mid B) = \frac{P(B \mid A) P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)

    其中:

    • P ( A ∣ B ) P(A \mid B) P(AB) 是事件 B B B 已知的条件下,事件 A A A 发生的概率。
    • P ( B ∣ A ) P(B \mid A) P(BA) 是事件 A A A 已知的条件下,事件 B B B 发生的概率。
    • P ( A ) P(A) P(A) 是事件 A A A 的先验概率。
    • P ( B ) P(B) P(B) 是事件 B B B 的先验概率。

总结

  • 概率 P ( A ) P(A) P(A):表示某个事件 A A A 发生的可能性。
  • 条件概率 P ( A ∣ B ) P(A \mid B) P(AB):表示在事件 B B B 已经发生的条件下,事件 A A A 发生的概率。
  • 联合概率 P ( A ∩ B ) P(A \cap B) P(AB):表示事件 A A A 和事件 B B B 同时发生的概率。
  • 边缘概率 P ( A ) P(A) P(A):表示在联合概率中,只考虑某个事件的概率,不考虑其他事件的影响。

先验分布(Prior Distribution)和后验分布(Posterior Distribution)

在贝叶斯统计中,先验分布后验分布是两个核心概念。它们描述了我们对一个随机变量或参数的知识(或不确定性)如何随着新数据的引入而更新。

先验分布(Prior Distribution)

先验分布,简称先验,是我们在没有任何观察数据时,对随机变量或参数的信念或假设。它表达了在收集数据之前,我们对某个事件或参数的初步知识或预测。

  • 先验分布是通过先验知识、历史数据或专家经验等获取的。这些信息在没有观察到新数据之前就已经存在。
  • 它是对参数值的一种假设,反映了我们在没有任何观测信息时对参数的可能性分布。

先验分布的类型

  • 非信息性先验(Non-informative prior):这种先验分布用于当我们对参数值没有任何偏好或先验知识时,通常选择一种均匀分布或其他类似分布。这种先验尽可能不影响后验结果,目的是让数据主导推断。
  • 信息性先验(Informative prior):当我们有较为明确的先验知识时,选择一个较为集中的先验分布。例如,如果我们知道某个参数应该接近某个值,可以用一个高斯分布来描述。

先验分布的公式

假设我们有一个参数 θ \theta θ,则先验分布 P ( θ ) P(\theta) P(θ) 表示在没有任何数据观察的情况下, θ \theta θ 可能的分布情况。

例如,如果我们使用均匀分布作为先验分布,表示我们对参数的所有值有相同的信念,那么先验分布可以写作:
P ( θ ) = 1 b − a for θ ∈ [ a , b ] P(\theta) = \frac{1}{b - a} \quad \text{for} \quad \theta \in [a, b] P(θ)=ba1forθ[a,b]

后验分布(Posterior Distribution)

后验分布,简称后验,是指在观察到数据之后,对参数的信念或假设的更新版本。换句话说,后验分布是先验分布数据(通过似然函数)结合后的结果。它是我们根据数据所得到的关于参数的新的概率分布。

  • 后验分布基于先验分布和观测数据的结合,使用贝叶斯定理来更新对参数的信念。
  • 后验分布提供了在观察到数据之后,参数的可能性分布,这有助于我们进行推断和决策。

贝叶斯定理

贝叶斯定理给出了如何从先验分布和数据的似然函数(Likelihood)得到后验分布的公式。贝叶斯定理的形式为:
P ( θ ∣ D ) = P ( D ∣ θ ) P ( θ ) P ( D ) P(\theta \mid D) = \frac{P(D \mid \theta) P(\theta)}{P(D)} P(θD)=P(D)P(Dθ)P(θ)

其中:

  • P ( θ ∣ D ) P(\theta \mid D) P(θD) 是后验分布,表示在观察到数据 D D D 之后,参数 θ \theta θ 的分布。
  • P ( D ∣ θ ) P(D \mid \theta) P(Dθ) 是似然函数,表示在给定参数 θ \theta θ 的情况下,数据 D D D 出现的概率。
  • P ( θ ) P(\theta) P(θ) 是先验分布,表示在没有任何数据时,对参数 θ \theta θ 的信念。
  • P ( D ) P(D) P(D) 是边际似然,表示数据 D D D 的总概率(常常是一个归一化常数,用来确保后验分布的总和为 1)。

简单应用示例

现在,假设我们有一个潜在变量 z z z 和观测变量 x x x,以及参数 ϕ \phi ϕ,在贝叶斯定理的框架下,我们可以写出条件概率 p ( z ∣ x , ϕ ) p(z|x,\phi) p(zx,ϕ) 的表达式。
p ( z ∣ x , ϕ ) = p ( z , x ∣ ϕ ) p ( x ∣ ϕ ) p(z|x,\phi) = \frac{p(z,x|\phi)}{p(x|\phi)} p(zx,ϕ)=p(xϕ)p(z,xϕ)

实际上是 贝叶斯定理 的应用,它在概率论和统计学中非常常见,尤其是在涉及条件概率的推导时。让我们详细分析一下这个公式的含义和推导过程。

  1. p ( z ∣ x , ϕ ) p(z|x, \phi) p(zx,ϕ) 是条件概率
    这是我们希望计算的目标:给定观测值 x x x 和参数 ϕ \phi ϕ,求潜在变量 z z z 的条件概率分布。

  2. p ( z , x ∣ ϕ ) p(z, x|\phi) p(z,xϕ) 是联合概率
    联合概率 p ( z , x ∣ ϕ ) p(z, x|\phi) p(z,xϕ) 表示给定参数 ϕ \phi ϕ 时, z z z x x x 同时发生的概率。这个项包含了关于 z z z x x x 的所有信息。

  3. p ( x ∣ ϕ ) p(x|\phi) p(xϕ) 是边缘化的概率
    p ( x ∣ ϕ ) p(x|\phi) p(xϕ) 是给定参数 ϕ \phi ϕ 时,观测数据 x x x 的边缘概率。它是通过对潜在变量 z z z 进行边缘化得到的:
    p ( x ∣ ϕ ) = ∫ p ( z , x ∣ ϕ )   d z p(x|\phi) = \int p(z, x|\phi) \, dz p(xϕ)=p(z,xϕ)dz
    这表示我们对所有可能的 z z z 值进行求和(或积分),从而得到观测数据 x x x 的边缘分布。

基于条件概率的定义:
p ( z ∣ x , ϕ ) = p ( z , x ∣ ϕ ) p ( x ∣ ϕ ) = p ( z ∣ x , ϕ ) p ( x ∣ ϕ ) p ( x ∣ ϕ ) p(z|x,\phi) = \frac{p(z, x|\phi)}{p(x|\phi)} = \frac{p(z|x,\phi) p(x|\phi)}{p(x|\phi)} p(zx,ϕ)=p(xϕ)p(z,xϕ)=p(xϕ)p(zx,ϕ)p(xϕ)

先验分布和后验分布的关系

  • 先验分布是我们在没有观察到数据之前,对参数的信念,通常是根据专家的经验或理论假设给出的。
  • 后验分布是根据我们观察到的数据更新后的信念。它通过贝叶斯定理从先验分布和似然函数得到,表示在数据条件下,参数的可能性分布。

因此,后验分布是对先验分布的修正,它综合了先验信息和通过数据获得的证据。

先验分布、似然和后验的示例

假设我们希望估计一个硬币的偏向性 θ \theta θ,即硬币正面朝上的概率。我们有以下信息:

  • 先验分布:我们认为硬币是公平的,因此,最初假设 θ \theta θ 是均匀分布在 [ 0 , 1 ] [0, 1] [0,1] 上,即 P ( θ ) = 0.5 P(\theta) = 0.5 P(θ)=0.5
  • 数据:我们抛了 10 次硬币,结果是 7 次正面,3 次反面。
  • 似然函数:硬币的正面概率为 θ \theta θ,因此似然函数为: P ( D ∣ θ ) = θ 7 ( 1 − θ ) 3 P(D \mid \theta) = \theta^7 (1 - \theta)^3 P(Dθ)=θ7(1θ)3,即正面出现 7 次,反面出现 3 次的概率。
  • 后验分布:我们可以使用贝叶斯定理来计算后验分布:

P ( θ ∣ D ) ∝ P ( D ∣ θ ) P ( θ ) = θ 7 ( 1 − θ ) 3 P(\theta \mid D) \propto P(D \mid \theta) P(\theta) = \theta^7 (1 - \theta)^3 P(θD)P(Dθ)P(θ)=θ7(1θ)3

这个后验分布反映了在观察到 7 次正面和 3 次反面后,参数 θ \theta θ 的新的概率分布。

高斯分布(Gaussian Distribution)——正态分布

高斯分布(Gaussian distribution),又称为正态分布,是概率论和统计学中最重要的概率分布之一。它广泛用于描述自然界和社会现象中的随机变量,尤其是在各种误差分析、自然过程、经济学、工程学和社会科学中。

高斯分布的定义

高斯分布是一种连续的概率分布,其概率密度函数(PDF)呈钟形曲线,通常称为钟形曲线钟型曲线。它由两种参数决定:均值(mean)和标准差(standard deviation)。

高斯分布的概率密度函数(PDF)为:
f ( x ) = 1 2 π σ 2 exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) f(x) = \frac{1}{\sqrt{2\pi \sigma^2}} \exp \left( -\frac{(x - \mu)^2}{2\sigma^2} \right) f(x)=2πσ2 1exp(2σ2(xμ)2)

其中:

  • x x x 是随机变量。
  • μ \mu μ 是均值,表示分布的中心(或期望值)。
  • σ \sigma σ 是标准差,表示分布的宽度(或数据的离散程度)。
  • σ 2 \sigma^2 σ2 是方差,表示数据的方差。
  • exp ⁡ \exp exp 是自然对数的指数函数。

这意味着高斯分布的曲线是一个关于均值对称的钟型曲线,其位置由均值 μ \mu μ 决定,宽度由标准差 σ \sigma σ 决定。

在这里插入图片描述

高斯分布的特点

  1. 对称性
    高斯分布是关于均值 μ \mu μ 对称的。均值是分布的中心点,分布在均值左右的概率相同。

  2. 68-95-99.7 法则
    对于一个高斯分布:

    • 68% 的数据位于均值 μ \mu μ 左右 1 个标准差范围内,即 [ μ − σ , μ + σ ] [\mu - \sigma, \mu + \sigma] [μσ,μ+σ]
    • 95% 的数据位于均值 μ \mu μ 左右 2 个标准差范围内,即 [ μ − 2 σ , μ + 2 σ ] [\mu - 2\sigma, \mu + 2\sigma] [μ2σ,μ+2σ]
    • 99.7% 的数据位于均值 μ \mu μ 左右 3 个标准差范围内,即 [ μ − 3 σ , μ + 3 σ ] [\mu - 3\sigma, \mu + 3\sigma] [μ3σ,μ+3σ]
  3. 单峰性
    高斯分布只有一个峰值,它在均值 μ \mu μ 处达到最大值。随着 x x x 远离 μ \mu μ,概率密度逐渐减小。

  4. 无偏性
    高斯分布的均值 μ \mu μ 就是其期望值。随机变量的期望值与其分布的中心位置相同。

  5. 标准化
    如果一个高斯分布的均值为 0,标准差为 1,则它被称为标准正态分布,其概率密度函数为:
    f ( x ) = 1 2 π exp ⁡ ( − x 2 2 ) f(x) = \frac{1}{\sqrt{2\pi}} \exp \left( -\frac{x^2}{2} \right) f(x)=2π 1exp(2x2)

    标准正态分布是高斯分布的特殊情况,通常用 N ( 0 , 1 ) N(0,1) N(0,1) 来表示。

高斯分布的参数

高斯分布有两个重要的参数:

  • 均值 μ \mu μ:决定了高斯分布的中心位置,是分布的期望值。均值越大,分布的中心就越向右,均值越小,分布的中心就越向左。
  • 标准差 σ \sigma σ:决定了分布的“宽度”或“散布”程度。标准差越大,曲线越平缓,数据点越分散;标准差越小,曲线越陡峭,数据点越集中。

两个高斯分布的乘积之所以仍然是高斯分布,这一性质来源于高斯分布在数学上的一些特殊性质。我们可以通过推导来理解这一点。

两个高斯分布的乘积

假设我们有两个高斯分布 f 1 ( x ) = N ( μ 1 , σ 1 2 ) f_1(x) = \mathcal{N}(\mu_1, \sigma_1^2) f1(x)=N(μ1,σ12) f 2 ( x ) = N ( μ 2 , σ 2 2 ) f_2(x) = \mathcal{N}(\mu_2, \sigma_2^2) f2(x)=N(μ2,σ22),它们的概率密度函数分别为:
f 1 ( x ) = 1 2 π σ 1 2 exp ⁡ ( − ( x − μ 1 ) 2 2 σ 1 2 ) f_1(x) = \frac{1}{\sqrt{2\pi \sigma_1^2}} \exp\left( -\frac{(x - \mu_1)^2}{2\sigma_1^2} \right) f1(x)=2πσ12 1exp(2σ12(xμ1)2)

f 2 ( x ) = 1 2 π σ 2 2 exp ⁡ ( − ( x − μ 2 ) 2 2 σ 2 2 ) f_2(x) = \frac{1}{\sqrt{2\pi \sigma_2^2}} \exp\left( -\frac{(x - \mu_2)^2}{2\sigma_2^2} \right) f2(x)=2πσ22 1exp(2σ22(xμ2)2)

当我们计算这两个分布的乘积时,得到:
f 1 ( x ) ⋅ f 2 ( x ) = [ 1 2 π σ 1 2 exp ⁡ ( − ( x − μ 1 ) 2 2 σ 1 2 ) ] ⋅ [ 1 2 π σ 2 2 exp ⁡ ( − ( x − μ 2 ) 2 2 σ 2 2 ) ] f_1(x) \cdot f_2(x) = \left[ \frac{1}{\sqrt{2\pi \sigma_1^2}} \exp\left( -\frac{(x - \mu_1)^2}{2\sigma_1^2} \right) \right] \cdot \left[ \frac{1}{\sqrt{2\pi \sigma_2^2}} \exp\left( -\frac{(x - \mu_2)^2}{2\sigma_2^2} \right) \right] f1(x)f2(x)=[2πσ12 1exp(2σ12(xμ1)2)][2πσ22 1exp(2σ22(xμ2)2)]

简化得到:
f 1 ( x ) ⋅ f 2 ( x ) = 1 2 π σ 1 σ 2 exp ⁡ ( − [ ( x − μ 1 ) 2 2 σ 1 2 + ( x − μ 2 ) 2 2 σ 2 2 ] ) f_1(x) \cdot f_2(x) = \frac{1}{2\pi \sigma_1 \sigma_2} \exp\left( -\left[ \frac{(x - \mu_1)^2}{2\sigma_1^2} + \frac{(x - \mu_2)^2}{2\sigma_2^2} \right] \right) f1(x)f2(x)=2πσ1σ21exp([2σ12(xμ1)2+2σ22(xμ2)2])

乘积转化为高斯分布

接下来,我们对指数部分进行合并。我们将这两个平方项展开并组合:
( x − μ 1 ) 2 2 σ 1 2 + ( x − μ 2 ) 2 2 σ 2 2 = 1 2 [ ( x − μ 1 ) 2 σ 1 2 + ( x − μ 2 ) 2 σ 2 2 ] \frac{(x - \mu_1)^2}{2\sigma_1^2} + \frac{(x - \mu_2)^2}{2\sigma_2^2} = \frac{1}{2} \left[ \frac{(x - \mu_1)^2}{\sigma_1^2} + \frac{(x - \mu_2)^2}{\sigma_2^2} \right] 2σ12(xμ1)2+2σ22(xμ2)2=21[σ12(xμ1)2+σ22(xμ2)2]

展开每个平方项,得到:
= 1 2 [ x 2 − 2 x μ 1 + μ 1 2 σ 1 2 + x 2 − 2 x μ 2 + μ 2 2 σ 2 2 ] = \frac{1}{2} \left[ \frac{x^2 - 2x\mu_1 + \mu_1^2}{\sigma_1^2} + \frac{x^2 - 2x\mu_2 + \mu_2^2}{\sigma_2^2} \right] =21[σ12x22xμ1+μ12+σ22x22xμ2+μ22]

x 2 x^2 x2 项合并,得到:
= 1 2 [ ( 1 σ 1 2 + 1 σ 2 2 ) x 2 − 2 x ( μ 1 σ 1 2 + μ 2 σ 2 2 ) + ( μ 1 2 σ 1 2 + μ 2 2 σ 2 2 ) ] = \frac{1}{2} \left[ \left( \frac{1}{\sigma_1^2} + \frac{1}{\sigma_2^2} \right) x^2 - 2x \left( \frac{\mu_1}{\sigma_1^2} + \frac{\mu_2}{\sigma_2^2} \right) + \left( \frac{\mu_1^2}{\sigma_1^2} + \frac{\mu_2^2}{\sigma_2^2} \right) \right] =21[(σ121+σ221)x22x(σ12μ1+σ22μ2)+(σ12μ12+σ22μ22)]

我们可以将这个表达式重写为:
f 1 ( x ) ⋅ f 2 ( x ) = 1 2 π σ 1 σ 2 exp ⁡ ( − 1 2 [ A x 2 − B x + C ] ) f_1(x) \cdot f_2(x) = \frac{1}{2\pi \sigma_1 \sigma_2} \exp\left( -\frac{1}{2} \left[ A x^2 - Bx + C \right] \right) f1(x)f2(x)=2πσ1σ21exp(21[Ax2Bx+C])

其中:

  • A = 1 σ 1 2 + 1 σ 2 2 A = \frac{1}{\sigma_1^2} + \frac{1}{\sigma_2^2} A=σ121+σ221
  • B = μ 1 σ 1 2 + μ 2 σ 2 2 B = \frac{\mu_1}{\sigma_1^2} + \frac{\mu_2}{\sigma_2^2} B=σ12μ1+σ22μ2
  • C = μ 1 2 σ 1 2 + μ 2 2 σ 2 2 C = \frac{\mu_1^2}{\sigma_1^2} + \frac{\mu_2^2}{\sigma_2^2} C=σ12μ12+σ22μ22
新的均值 μ new \mu_{\text{new}} μnew

μ new = σ 2 2 μ 1 + σ 1 2 μ 2 σ 1 2 + σ 2 2 \mu_{\text{new}} = \frac{\sigma_2^2 \mu_1 + \sigma_1^2 \mu_2}{\sigma_1^2 + \sigma_2^2} μnew=σ12+σ22σ22μ1+σ12μ2

新的方差 σ new 2 \sigma_{\text{new}}^2 σnew2

σ new 2 = σ 1 2 σ 2 2 σ 1 2 + σ 2 2 \sigma_{\text{new}}^2 = \frac{\sigma_1^2 \sigma_2^2}{\sigma_1^2 + \sigma_2^2} σnew2=σ12+σ22σ12σ22

因此,两个高斯分布的乘积是一个新的高斯分布,其均值为上述加权均值,方差为上述加权方差。

两个高斯分布的和

这个结果可以通过高斯分布的卷积来理解。对于两个独立的高斯随机变量 X 1 X_1 X1 X 2 X_2 X2,它们的概率密度函数(PDF)分别为:
f X 1 ( x ) = 1 2 π σ 1 2 exp ⁡ ( − ( x − μ 1 ) 2 2 σ 1 2 ) f_{X_1}(x) = \frac{1}{\sqrt{2\pi \sigma_1^2}} \exp\left( -\frac{(x - \mu_1)^2}{2\sigma_1^2} \right) fX1(x)=2πσ12 1exp(2σ12(xμ1)2)

f X 2 ( x ) = 1 2 π σ 2 2 exp ⁡ ( − ( x − μ 2 ) 2 2 σ 2 2 ) f_{X_2}(x) = \frac{1}{\sqrt{2\pi \sigma_2^2}} \exp\left( -\frac{(x - \mu_2)^2}{2\sigma_2^2} \right) fX2(x)=2πσ22 1exp(2σ22(xμ2)2)

这两个高斯分布的和 X 3 = X 1 + X 2 X_3 = X_1 + X_2 X3=X1+X2 的概率密度函数 f X 3 ( x ) f_{X_3}(x) fX3(x) 是这两个密度函数的卷积
f X 3 ( x ) = ∫ − ∞ ∞ f X 1 ( x − y ) f X 2 ( y )   d y f_{X_3}(x) = \int_{-\infty}^{\infty} f_{X_1}(x - y) f_{X_2}(y) \, dy fX3(x)=fX1(xy)fX2(y)dy

通过数学推导可以证明,卷积的结果仍然是一个高斯分布,而且新的均值和方差分别是原来两个高斯分布均值和方差的和。

和的分布

根据高斯分布的性质,如果 X 1 X_1 X1 X 2 X_2 X2独立的高斯随机变量,那么它们的和 X 3 = X 1 + X 2 X_3 = X_1 + X_2 X3=X1+X2 仍然是高斯分布,而且它的均值和方差可以通过以下公式得到:

  • 均值:两个高斯分布的和的均值是它们的均值之和:
    μ 3 = μ 1 + μ 2 \mu_3 = \mu_1 + \mu_2 μ3=μ1+μ2

  • 方差:两个高斯分布的和的方差是它们的方差之和:
    σ 3 2 = σ 1 2 + σ 2 2 \sigma_3^2 = \sigma_1^2 + \sigma_2^2 σ32=σ12+σ22

因此, X 3 = X 1 + X 2 X_3 = X_1 + X_2 X3=X1+X2 的分布也是高斯分布:
X 3 ∼ N ( μ 1 + μ 2 , σ 1 2 + σ 2 2 ) X_3 \sim \mathcal{N}(\mu_1 + \mu_2, \sigma_1^2 + \sigma_2^2) X3N(μ1+μ2,σ12+σ22)

正态分布的叠加性

给定两个独立的正态分布 X 1 ∼ N ( μ 1 , σ 1 2 ) X_{1} \sim N\left(\mu_{1},\sigma_{1}^{2}\right) X1N(μ1,σ12) X 2 ∼ N ( μ 2 , σ 2 2 ) X_{2} \sim N \left( \mu_{2}, \sigma_{2}^{2}\right) X2N(μ2,σ22),且 a a a b b b均为实数


a X + b Y ∼ N ( a μ 1 + b μ 2 , a 2 σ 1 2 + b 2 σ 2 2 ) \mathrm{aX}+\mathrm{bY} \sim {N}\left(\mathrm{a} \mu_1+b \mu_2,\mathrm{a}^{2} \sigma_1^2+b^2\sigma_2^2\right) aX+bYN(aμ1+bμ2,a2σ12+b2σ22)

a X + b ∼ N ( a μ 1 + b , a 2 σ 1 2 ) aX+b∼N(aμ_1+b,a^2σ_1^2) aX+bN(aμ1+b,a2σ12)

马尔可夫性质(Markov Property)和马尔可夫链(Markov Chain)

马尔可夫性质马尔可夫链式法则是马尔可夫过程(Markov Process)和马尔可夫链(Markov Chain)的核心概念,它们在概率论、统计学、计算机科学等领域有着广泛的应用。下面将详细解释这两个概念。

马尔可夫性质

马尔可夫性质(Markov Property)是指在一个随机过程(如马尔可夫链)中,未来的状态只与当前的状态有关,而与过去的状态(即更早的状态)无关。换句话说,一个过程具有马尔可夫性质时,它的未来状态是条件独立的,给定当前状态之后,未来的演化不再依赖于过去的历史。

形式化表达:

对于一个随机过程 { X t } \{ X_t \} {Xt},如果对于任意的时刻 t t t,满足以下条件:
P ( X t + 1 ∣ X t , X t − 1 , … , X 0 ) = P ( X t + 1 ∣ X t ) P(X_{t+1} \mid X_t, X_{t-1}, \dots, X_0) = P(X_{t+1} \mid X_t) P(Xt+1Xt,Xt1,,X0)=P(Xt+1Xt)

则称该过程具有马尔可夫性质。也就是说,给定当前状态 X t X_t Xt 后,未来的状态 X t + 1 X_{t+1} Xt+1 与过去的状态无关

马尔可夫链

马尔可夫链(Markov Chain)是一个满足马尔可夫性质的随机过程。在马尔可夫链中,系统的状态可以在一个离散的时间步骤中发生转移,并且每次转移只依赖于当前的状态,而不依赖于历史状态。马尔可夫链的每一个状态都是一个随机变量,并且这些状态之间的转移是根据某些概率分布来进行的。

马尔可夫链可以通过以下几个要素来描述:

  • 状态空间(State Space):表示所有可能的状态集合,通常记作 S S S
  • 转移概率(Transition Probabilities):表示从一个状态到另一个状态的转移概率。记作 P ( X t + 1 = x t + 1 ∣ X t = x t ) P(X_{t+1} = x_{t+1} \mid X_t = x_t) P(Xt+1=xt+1Xt=xt),即从状态 x t x_t xt 到状态 x t + 1 x_{t+1} xt+1 的概率。
  • 初始分布(Initial Distribution):描述初始状态的概率分布 P ( X 0 = x 0 ) P(X_0 = x_0) P(X0=x0)

马尔可夫链的转移矩阵

在马尔可夫链中,状态转移的概率可以用转移矩阵来表示。假设状态空间 S = { s 1 , s 2 , … , s n } S = \{ s_1, s_2, \dots, s_n \} S={s1,s2,,sn},那么转移矩阵 P P P 的元素 P i j P_{ij} Pij 表示从状态 s i s_i si 转移到状态 s j s_j sj 的概率:

P i j = P ( X t + 1 = s j ∣ X t = s i ) P_{ij} = P(X_{t+1} = s_j \mid X_t = s_i) Pij=P(Xt+1=sjXt=si)

因此,转移矩阵是一个 n × n n \times n n×n 的矩阵,矩阵中的每一行表示从当前状态到其他所有状态的转移概率。

马尔可夫链式法则

马尔可夫链式法则(Markov Chain Rule)是指通过马尔可夫性质来分解条件概率。它允许我们将一个多步的转移过程分解为多个一阶条件概率的乘积,从而简化计算。

形式化地,假设 X 1 , X 2 , … , X n X_1, X_2, \dots, X_n X1,X2,,Xn 是一个马尔可夫链,其转移概率矩阵为 P P P,那么马尔可夫链式法则可以表示为:
P ( X 1 , X 2 , … , X n ) = P ( X 1 ) ⋅ P ( X 2 ∣ X 1 ) ⋅ P ( X 3 ∣ X 2 ) ⋅ ⋯ ⋅ P ( X n ∣ X n − 1 ) P(X_1, X_2, \dots, X_n) = P(X_1) \cdot P(X_2 \mid X_1) \cdot P(X_3 \mid X_2) \cdot \dots \cdot P(X_n \mid X_{n-1}) P(X1,X2,,Xn)=P(X1)P(X2X1)P(X3X2)P(XnXn1)

这一法则的关键点在于,每个步骤的条件概率仅依赖于前一个状态,而不依赖于更早的状态。这是马尔可夫性质的直接应用。

马尔可夫性质和马尔可夫链式法则的区别与联系

  • 马尔可夫性质:描述的是一个随机过程的特性,即未来状态只依赖于当前状态,与过去的历史状态无关。
  • 马尔可夫链式法则:是基于马尔可夫性质的一个公式,提供了一种方法来分解联合概率,即如何通过一系列的条件概率来表示一个多步的转移过程。

Jensen不等式

Jensen不等式(Jensen’s Inequality)是凸分析中的一个重要结果,广泛应用于概率论、信息论、统计学、机器学习等领域。它揭示了在某些情况下,函数的期望值与期望值的函数之间的关系。具体来说,Jensen不等式用于描述凸函数(或凹函数)在期望下的行为。

Jensen不等式的基本形式

假设 f ( x ) f(x) f(x) 是一个凸函数, X X X 是一个随机变量,且 E [ X ] \mathbb{E}[X] E[X] 表示 X X X 的期望。根据Jensen不等式,对于任意的凸函数 f f f,我们有:
f ( E [ X ] ) ≤ E [ f ( X ) ] f(\mathbb{E}[X]) \leq \mathbb{E}[f(X)] f(E[X])E[f(X)]

如果 f ( x ) f(x) f(x) 是凹函数,则不等式的方向相反:
f ( E [ X ] ) ≥ E [ f ( X ) ] f(\mathbb{E}[X]) \geq \mathbb{E}[f(X)] f(E[X])E[f(X)]

Jensen不等式的直观解释

Jensen不等式的核心思想是:对于一个凸函数,函数值的期望总是大于等于期望值的函数,即:先求期望,再应用函数,和先应用函数,再求期望不一样。

  • 凸函数:如果一个函数是凸的(比如指数函数、平方函数等),那么对于一个随机变量,先计算其期望值,再对期望值应用函数,得到的值通常比直接对随机变量应用函数后再取期望值要小。
  • 凹函数:如果一个函数是凹的(比如对数函数、平方根函数等),则先对随机变量应用函数,再取期望值,通常会得到比直接对期望值应用函数的结果更大的值。

这可以通过下图来解释:对于一个凸函数,曲线的形状是向下的,函数值的期望比期望值的函数要大。

在这里插入图片描述

Jensen不等式的推导

假设 f ( x ) f(x) f(x) 是一个凸函数, X X X 是一个随机变量, p ( x ) p(x) p(x) 是随机变量 X X X 的概率密度函数。那么,Jensen不等式可以通过积分的方式推导出来。我们希望证明:
f ( E [ X ] ) ≤ E [ f ( X ) ] f(\mathbb{E}[X]) \leq \mathbb{E}[f(X)] f(E[X])E[f(X)]

  1. 假设 f ( x ) f(x) f(x) 是一个凸函数,那么对于任意的 x 1 , x 2 x_1, x_2 x1,x2 λ ∈ [ 0 , 1 ] \lambda \in [0, 1] λ[0,1],根据凸函数的定义,有:
    f ( λ x 1 + ( 1 − λ ) x 2 ) ≤ λ f ( x 1 ) + ( 1 − λ ) f ( x 2 ) f(\lambda x_1 + (1 - \lambda) x_2) \leq \lambda f(x_1) + (1 - \lambda) f(x_2) f(λx1+(1λ)x2)λf(x1)+(1λ)f(x2)
    在这里插入图片描述

  2. 接下来考虑随机变量 X X X 的分布。对于随机变量 X X X,我们有:
    E [ f ( X ) ] = ∫ − ∞ ∞ p ( x ) f ( x ) d x \mathbb{E}[f(X)] = \int_{-\infty}^{\infty} p(x) f(x) dx E[f(X)]=p(x)f(x)dx
    其中 p ( x ) p(x) p(x) X X X 的概率密度函数。

  3. 由于 f ( x ) f(x) f(x) 是凸的,根据上面的不等式,对于随机变量 X X X 的期望 E [ X ] \mathbb{E}[X] E[X],有:
    E [ f ( X ) ] = ∫ − ∞ ∞ p ( x ) f ( x ) d x ≥ f ( ∫ − ∞ ∞ p ( x ) x d x ) = f ( E [ X ] ) \mathbb{E}[f(X)] = \int_{-\infty}^{\infty} p(x) f(x) dx \geq f(\int_{-\infty}^{\infty} p(x) x dx) = f(\mathbb{E}[X]) E[f(X)]=p(x)f(x)dxf(p(x)xdx)=f(E[X])
    E [ f ( X ) ] ≥ f ( E [ X ] ) \mathbb{E}[f(X)] \geq f(\mathbb{E}[X]) E[f(X)]f(E[X])

Jensen不等式的应用

Jensen不等式在很多地方都有广泛的应用,特别是在推导贝叶斯推断、信息论和优化问题时。以下是一些典型应用:

变分推断中的应用

在变分推断中,Jensen不等式常常用于推导变分下界(ELBO)。变分推断的目标是最小化KL散度,并通过Jensen不等式引入变分下界(ELBO):
log ⁡ p ( x ) = log ⁡ ∫ p ( x , z ) d z \log p(x) = \log \int p(x, z) dz logp(x)=logp(x,z)dz

通过Jensen不等式,得到:
log ⁡ p ( x ) ≥ E q ( z ) [ log ⁡ p ( x , z ) ] − E q ( z ) [ log ⁡ q ( z ) ] \log p(x) \geq \mathbb{E}_{q(z)}[\log p(x, z)] - \mathbb{E}_{q(z)}[\log q(z)] logp(x)Eq(z)[logp(x,z)]Eq(z)[logq(z)]

从而得到变分下界(ELBO),可以用来训练变分自编码器(VAE)等模型。

信息论中的应用

在信息论中,Jensen不等式与交叉熵KL散度密切相关。例如,KL散度本质上是两个概率分布之间的相对熵:
D K L ( p ∥ q ) = E p [ log ⁡ p ( x ) − log ⁡ q ( x ) ] D_{KL}(p \parallel q) = \mathbb{E}_p[\log p(x) - \log q(x)] DKL(pq)=Ep[logp(x)logq(x)]

通过Jensen不等式,可以证明KL散度总是大于等于零。

期望和方差的关系

在统计学中,Jensen不等式用于证明某些期望和方差的关系。例如,对于一个凸函数 f ( x ) f(x) f(x),有:
E [ f ( X ) ] ≥ f ( E [ X ] ) \mathbb{E}[f(X)] \geq f(\mathbb{E}[X]) E[f(X)]f(E[X])

f ( x ) = x 2 f(x) = x^2 f(x)=x2 时,Jensen不等式可以帮助推导出方差的非负性
Var ( X ) = E [ X 2 ] − ( E [ X ] ) 2 ≥ 0 \text{Var}(X) = \mathbb{E}[X^2] - (\mathbb{E}[X])^2 \geq 0 Var(X)=E[X2](E[X])20

KL散度(Kullback-Leibler Divergence)和JS散度(Jensen-Shannon Divergence)

KL散度(Kullback-Leibler Divergence)

KL散度,全名为Kullback-Leibler Divergence,是一种衡量两个概率分布之间差异的非对称性度量。KL散度本质上量化了用一个分布来逼近另一个分布时产生的信息损失,它在信息论、统计学、机器学习等领域都有广泛的应用。

定义

对于两个概率分布 p ( x ) p(x) p(x) q ( x ) q(x) q(x),KL散度(通常记作 D K L ( p ∥ q ) D_{KL}(p \parallel q) DKL(pq))定义为:
D K L ( p ∥ q ) = E p ( x ) [ log ⁡ ( p ( x ) q ( x ) ) ] = ∑ x p ( x ) log ⁡ ( p ( x ) q ( x ) ) D_{KL}(p \parallel q) = \mathbb{E}_{p(x)}[\log \left( \frac{p(x)}{q(x)} \right)] = \sum_x p(x) \log \left( \frac{p(x)}{q(x)} \right) DKL(pq)=Ep(x)[log(q(x)p(x))]=xp(x)log(q(x)p(x))

对于连续分布,KL散度的定义变为:
D K L ( p ∥ q ) = E p ( x ) [ log ⁡ ( p ( x ) q ( x ) ) ] = ∫ p ( x ) log ⁡ ( p ( x ) q ( x ) ) d x D_{KL}(p \parallel q) = \mathbb{E}_{p(x)}[\log \left( \frac{p(x)}{q(x)} \right)] = \int p(x) \log \left( \frac{p(x)}{q(x)} \right) dx DKL(pq)=Ep(x)[log(q(x)p(x))]=p(x)log(q(x)p(x))dx

其中:

  • p ( x ) p(x) p(x) 是真实的概率分布,表示实际数据的分布。
  • q ( x ) q(x) q(x) 是近似的概率分布,表示我们假设或选择的模型分布。

直观解释

KL散度度量了从 q ( x ) q(x) q(x)(近似分布)生成数据所需要的额外信息量,相较于从 p ( x ) p(x) p(x)(真实分布)生成数据所需要的信息量。它实际上衡量了“ q ( x ) q(x) q(x)”如何偏离“ p ( x ) p(x) p(x)”的程度。

  • KL散度的非对称性:KL散度是非对称的,这意味着 D K L ( p ∥ q ) ≠ D K L ( q ∥ p ) D_{KL}(p \parallel q) \neq D_{KL}(q \parallel p) DKL(pq)=DKL(qp),即从 p p p q q q 的信息损失与从 q q q p p p 的信息损失可能不同。
  • KL散度的值:KL散度的值总是大于或等于0,即 D K L ( p ∥ q ) ≥ 0 D_{KL}(p \parallel q) \geq 0 DKL(pq)0,并且当且仅当 p ( x ) = q ( x ) p(x) = q(x) p(x)=q(x) 对所有 x x x 都成立时, D K L ( p ∥ q ) = 0 D_{KL}(p \parallel q) = 0 DKL(pq)=0

KL散度的应用

  • 贝叶斯推断:KL散度常用于贝叶斯推断中的变分推断(Variational Inference)。通过最小化KL散度来优化近似分布,使其尽可能接近真实的后验分布。
  • 生成模型:在生成模型(如变分自编码器VAE)中,KL散度用来衡量潜在空间分布和真实分布之间的差异。
  • 机器学习:KL散度可以用作损失函数,用于训练模型时调整模型参数,使得模型分布更接近真实分布。

反向KL散度

注意到上面是一般的KL散度的定义,也可以叫做正向KL散度,是 D K L ( p ∥ q ) D_{KL}(p \parallel q) DKL(pq),用后面的分布 q q q 近似前面的分布 p p p。而反向KL散度则是 D K L ( q ∥ p ) D_{KL}(q \parallel p) DKL(qp),用前面的分布 q q q近似后面的分布 p p p。那么实际求解时二者有什么区别呢?

首先看正向KL散度: D K L ( p ∥ q ) = E p ( x ) [ log ⁡ ( p ( x ) q ( x ) ) ] = ∑ x p ( x ) log ⁡ ( p ( x ) q ( x ) ) D_{KL}(p \parallel q) = \mathbb{E}_{p(x)}[\log \left( \frac{p(x)}{q(x)} \right)] = \sum_x p(x) \log \left( \frac{p(x)}{q(x)} \right) DKL(pq)=Ep(x)[log(q(x)p(x))]=xp(x)log(q(x)p(x))。对于任意的 p ( x ) > 0 p(x)>0 p(x)>0 的点,如果 q ( x ) → 0 q(x)→0 q(x)0,则KL散度会无限大,所以要避免这种情况,近似的结果就会尽量的平摊在整个区域上,就一定不会出现下图中靠上一副图的情况,近似的结果一般是下面一副图的情况。

在这里插入图片描述

如果是反向KL散度, D K L ( q ∥ p ) = E p ( x ) [ log ⁡ ( q ( x ) p ( x ) ) ] = ∑ x p ( x ) log ⁡ ( q ( x ) p ( x ) ) D_{KL}(q \parallel p) = \mathbb{E}_{p(x)}[\log \left( \frac{q(x)}{p(x)} \right)] = \sum_x p(x) \log \left( \frac{q(x)}{p(x)} \right) DKL(qp)=Ep(x)[log(p(x)q(x))]=xp(x)log(p(x)q(x))。在 p ( x ) = 0 p(x)=0 p(x)=0的地方,为了不让KL散度无限大, q ( x ) q(x) q(x) 一定也为0,就一定不会出现下图中靠上一副图的情况,近似的结果一般是下面一副图的情况。

在这里插入图片描述

JS散度(Jensen-Shannon Divergence)

JS散度是对KL散度的改进,它弥补了KL散度非对称性的问题,同时具有对称性。JS散度在度量两个概率分布的相似性时,常常被认为比KL散度更为常用。

定义

Jensen-Shannon散度是KL散度的一种对称化形式,它通过计算两个分布的中间分布来衡量两个分布的差异。给定两个概率分布 p ( x ) p(x) p(x) q ( x ) q(x) q(x),JS散度定义为:
D J S ( p ∥ q ) = 1 2 ( D K L ( p ∥ m ) + D K L ( q ∥ m ) ) D_{JS}(p \parallel q) = \frac{1}{2} \left( D_{KL}(p \parallel m) + D_{KL}(q \parallel m) \right) DJS(pq)=21(DKL(pm)+DKL(qm))

其中, m m m p ( x ) p(x) p(x) q ( x ) q(x) q(x) 的平均分布:
m ( x ) = 1 2 ( p ( x ) + q ( x ) ) m(x) = \frac{1}{2} \left( p(x) + q(x) \right) m(x)=21(p(x)+q(x))

直观解释

JS散度通过计算两个分布 p ( x ) p(x) p(x) q ( x ) q(x) q(x) 相对于它们的平均分布 m ( x ) m(x) m(x) 的KL散度,从而获得一个对称的距离度量。相比KL散度,JS散度具有以下优点:

  • 对称性 D J S ( p ∥ q ) = D J S ( q ∥ p ) D_{JS}(p \parallel q) = D_{JS}(q \parallel p) DJS(pq)=DJS(qp),与KL散度不同,JS散度是对称的。
  • 有界性:JS散度的值总是位于 [ 0 , log ⁡ 2 ] [0, \log 2] [0,log2] 范围内。具体来说,当 p ( x ) = q ( x ) p(x) = q(x) p(x)=q(x) 时, D J S ( p ∥ q ) = 0 D_{JS}(p \parallel q) = 0 DJS(pq)=0,而当 p ( x ) p(x) p(x) q ( x ) q(x) q(x) 完全不同(即一个是零分布,另一个是单位分布)时, D J S ( p ∥ q ) = log ⁡ 2 D_{JS}(p \parallel q) = \log 2 DJS(pq)=log2

JS散度的应用

  • 文本生成和比较:JS散度广泛用于文本生成和文本相似性度量,特别是在自然语言处理中。
  • 生成对抗网络(GANs):在GANs中,JS散度用来衡量生成数据与真实数据之间的差异。
  • 模型评估:在评估模型生成能力时,JS散度常用作衡量模型生成分布与真实数据分布的差异。

KL散度与JS散度的区别

特性KL散度JS散度
对称性非对称对称
计算公式 D K L ( p ∥ q ) = ∑ x p ( x ) log ⁡ ( p ( x ) q ( x ) ) D_{KL}(p \parallel q) = \sum_x p(x) \log \left( \frac{p(x)}{q(x)} \right) DKL(pq)=xp(x)log(q(x)p(x)) D J S ( p ∥ q ) = 1 2 ( D K L ( p ∥ m ) + D K L ( q ∥ m ) ) D_{JS}(p \parallel q) = \frac{1}{2} \left( D_{KL}(p \parallel m) + D_{KL}(q \parallel m) \right) DJS(pq)=21(DKL(pm)+DKL(qm))
有界性没有上界(可能为无限大)总是有上界,最大为 ( \log 2 )
结果的解释衡量 p ( x ) p(x) p(x) 相对 q ( x ) q(x) q(x) 的“信息损失”衡量 p ( x ) p(x) p(x) q ( x ) q(x) q(x) 的相似性
应用场景通常用于变分推断、贝叶斯推断、信息论等通常用于生成模型、文本比较等

重参数化技巧(Reparameterization Trick)

重参数化技巧(Reparameterization Trick) 是一种用于优化和采样的技术,广泛应用于 变分自编码器(VAE) 等生成模型中,旨在解决通过随机梯度下降(SGD)或变分推断优化模型时出现的难题。通过重参数化技巧,我们可以将随机性从模型的参数中分离出来,使得梯度能够通过随机采样计算,从而使得模型训练过程更加高效。

背景问题

在很多生成模型中,尤其是在变分自编码器(VAE)中,我们需要从潜在变量(latent variable) z z z 的分布中进行采样,进而生成数据。一般来说,我们希望最大化数据的对数似然 log ⁡ p ( x ) \log p(x) logp(x),但是直接进行这种优化时,由于样本的随机性,计算梯度变得非常困难,因为标准的随机梯度下降(SGD)不能直接处理通过随机采样引入的随机性。

具体来说,假设我们有一个生成模型,其中数据 x x x 由潜在变量 z z z 和模型参数 θ \theta θ 共同决定。我们的目标是通过最大化数据的对数似然 log ⁡ p ( x ) \log p(x) logp(x) 来训练模型。然而,在许多生成模型中,潜在变量 z z z 的分布是未知的,并且通常通过某种条件分布 q ( z ∣ x ) q(z|x) q(zx) 来近似。

由于直接从这个分布 q ( z ∣ x ) q(z|x) q(zx) 中采样,并且优化过程中对这种采样的依赖使得计算梯度变得复杂,因此在训练过程中无法直接使用标准的反向传播(backpropagation)方法。

重参数化技巧的基本思想

重参数化技巧的核心思想是将随机性从模型的分布中提取出来,转化为与模型参数无关的随机噪声。这样,优化过程可以通过反向传播计算梯度。

变分自编码器(VAE) 的例子中,假设我们要从一个潜在变量的分布 q ( z ∣ x ) q(z|x) q(zx) 中采样,其中 z z z 的分布通常是一个高斯分布:
z ∼ N ( μ , σ 2 ) z \sim \mathcal{N}(\mu, \sigma^2) zN(μ,σ2)

这表示潜在变量 z z z 服从均值为 μ \mu μ 和方差为 σ 2 \sigma^2 σ2 的高斯分布。我们希望从这个分布中进行采样。

然而,直接从这个分布中采样是不容易的,尤其是在优化过程中涉及到梯度计算时。为了解决这个问题,重参数化技巧提供了一种方法:我们通过将潜在变量 z z z 的采样过程转化为与噪声相关的过程,使得我们可以通过标准的反向传播计算梯度。

重参数化技巧的具体形式

对于正态分布 N ( μ ( x ) , σ 2 ( x ) ) \mathcal{N}(\mu(x), \sigma^2(x)) N(μ(x),σ2(x)),我们可以通过以下方式进行重参数化:
z = μ ( x ) + σ ( x ) ⋅ ϵ z = \mu(x) + \sigma(x) \cdot \epsilon z=μ(x)+σ(x)ϵ

其中 ϵ ∼ N ( 0 , 1 ) \epsilon \sim \mathcal{N}(0, 1) ϵN(0,1) 是标准正态分布中的噪声变量。通过这种方式,采样过程就不再依赖于潜在变量的分布,而是依赖于与噪声相关的随机变量 ϵ \epsilon ϵ。这样,我们将原本由分布引入的随机性转化为与噪声变量 ϵ \epsilon ϵ 的乘积,从而使得梯度可以通过反向传播计算。

重参数化技巧的优势

  • 梯度传播:通过将随机性从潜在分布中提取出来,重参数化技巧使得我们能够通过标准的反向传播算法进行优化,从而可以使用随机梯度下降(SGD)来训练模型。
  • 更高效的优化:在传统的采样方法中,梯度计算是无法通过反向传播得到的,这会导致训练过程不稳定或效率低下。重参数化技巧通过引入标准正态分布的噪声,使得梯度计算变得可能,从而提高了训练效率。
  • 控制模型的随机性:通过重参数化,我们不再依赖于采样过程,而是将采样操作与噪声分离开来,使得我们可以在训练过程中控制潜在变量的分布,更加灵活地进行优化。

VAE中的应用

在变分自编码器(VAE)中,重参数化技巧是非常核心的概念。VAE的目的是通过优化变分下界(ELBO)来最大化对数似然。变分下界的推导中涉及到对潜在变量的采样,重参数化技巧在这里的作用是允许我们在变分推断过程中进行有效的梯度计算。

VAE的变分下界(ELBO)可以表示为:
E q [ log ⁡ p ( x ∣ z ) ] − D K L ( q ( z ∣ x ) ∥ p ( z ) ) \mathbb{E}_q[\log p(x|z)] - D_{KL}(q(z|x) \parallel p(z)) Eq[logp(xz)]DKL(q(zx)p(z))

其中:

  • E q [ log ⁡ p ( x ∣ z ) ] \mathbb{E}_q[\log p(x|z)] Eq[logp(xz)] 表示重建误差,衡量生成数据与真实数据的相似度。
  • D K L ( q ( z ∣ x ) ∥ p ( z ) ) D_{KL}(q(z|x) \parallel p(z)) DKL(q(zx)p(z)) 是KL散度,衡量潜在变量的先验分布与后验分布之间的差异。

通过重参数化技巧,我们能够在反向传播过程中计算 q ( z ∣ x ) q(z|x) q(zx) 的采样梯度,从而有效优化这两个项。

Python实现示例

以下是一个简单的Python实现,展示了如何在变分自编码器中使用重参数化技巧进行采样:

import torch
import torch.nn as nn
import torch.nn.functional as F

class VAE(nn.Module):
    def __init__(self, input_dim, latent_dim):
        super(VAE, self).__init__()
        self.fc1 = nn.Linear(input_dim, 256)
        self.fc2_mu = nn.Linear(256, latent_dim)
        self.fc2_logvar = nn.Linear(256, latent_dim)
        self.fc3 = nn.Linear(latent_dim, 256)
        self.fc4 = nn.Linear(256, input_dim)

    def encode(self, x):
        h1 = F.relu(self.fc1(x))
        mu = self.fc2_mu(h1)
        logvar = self.fc2_logvar(h1)
        return mu, logvar

    def reparameterize(self, mu, logvar):
        std = torch.exp(0.5 * logvar)  # 对数方差转为标准差
        epsilon = torch.randn_like(std)  # 生成标准正态分布噪声
        return mu + std * epsilon  # 重参数化

    def decode(self, z):
        h3 = F.relu(self.fc3(z))
        return torch.sigmoid(self.fc4(h3))

    def forward(self, x):
        mu, logvar = self.encode(x)
        z = self.reparameterize(mu, logvar)
        return self.decode(z), mu, logvar

# 使用示例
input_dim = 784  # MNIST图像的维度
latent_dim = 20  # 潜在变量的维度
model = VAE(input_dim, latent_dim)
input_data = torch.randn(64, input_dim)  # 假设64个样本
reconstructed, mu, logvar = model(input_data)

在这个例子中,encode函数生成了潜在空间的均值 μ \mu μ 和对数方差 log ⁡ σ 2 \log \sigma^2 logσ2,然后使用reparameterize函数进行重参数化采样,从而得到潜在变量 z z z

p ( z ∣ x , ϕ ) = p ( z , x ∣ ϕ ) p ( x ∣ ϕ ) p(z|x,ϕ)=p(z,x|ϕ)p(x|ϕ) p(zx,ϕ)=p(z,xϕ)p(xϕ)

;