服从一维高斯分布的随机变量KL散度
假设p和q均是服从正态分布的随机变量的概率密度函数 (probability density function) ,则从q到p的KL散度定义为:
已知正态分布的概率密度函数(probability density function)如下式:
我们先学几个定义和公式:
1.方差定义
Var(X) = E[(X - μ)²]
其中:
- X:随机变量
- μ:期望值(均值)
- E:期望运算
具体形式:
Var(X) = ∫ P(x) (x - μ)² dx(连续)
Var(X) = Σ P(x) (x - μ)²(离散)
2.期望定义
期望定义:
μ = E[X] = ∫ x P(x) dx
含义:
- μ是随机变量X的平均值
- μ是概率分布的中心位置
3.方差定义的推导
方差定义:
Var(X) = E[(X - μ)²]
展开:
Var(X) = ∫ P(x) (x - μ)² dx
关键:
- (x - μ)²:衡量x偏离均值μ的程度
- P(x):概率权重
- ∫:对所有可能的x积分
含义:
- 方差衡量分布的分散程度
- 方差衡量偏离均值的平均程度
4.为什么这个积分等于σ²?
关键理解:
对于高斯分布N(μ, σ²):
- μ:均值(期望)
- σ²:方差(分散程度)
方差定义:
σ² = Var(X) = E[(X - μ)²]
= ∫ P(x) (x - μ)² dx
所以:
∫ P(x) (x - μ)² dx = σ²
这是方差的定义!
5.我们来试试高斯分布和离散分布
高斯分布:
高斯分布N(μ, σ²):
P(x) = (1/(σ√(2π))) * exp(-(x-μ)²/(2σ²))
方差计算:
σ² = ∫ P(x) (x - μ)² dx
验证:
∫ (1/(σ√(2π))) * exp(-(x-μ)²/(2σ²)) * (x-μ)² dx
设y = x - μ:
∫ (1/(σ√(2π))) * exp(-y²/(2σ²)) * y² dy
利用高斯积分性质:
∫ y² * exp(-y²/(2σ²)) dy = σ²√(2πσ²)(这步下面我还会有推导步骤,别急)
所以:
σ² = (1/(σ√(2π))) * σ²√(2πσ²) = σ²
结论:∫ P(x) (x-μ)² dx = σ²
离散分布:
离散分布:
P(0) = 0.5, P(1) = 0.5
期望:
μ = 0*0.5 + 1*0.5 = 0.5
方差:
σ² =Σ P(x) (x - μ)² 【看好概率的作用】
= 0.5*(0-0.5)² + 0.5*(1-0.5)²
= 0.5*0.25 + 0.5*0.25
= 0.25
验证:
∫ P(x) (x-μ)² dx = σ² = 0.25
结论:方差定义正确
6.方差的其他形式
方差等价形式:
Var(X) = E[X²] - E[X]²
推导:
Var(X) = E[(X - μ)²]
= E[X² - 2μX + μ²]
= E[X²] - 2μE[X] + μ²
= E[X²] - 2μ² + μ²
= E[X²] - μ²
= E[X²] - E[X]²
验证:
E[X²] = ∫ x² P(x) dx
E[X]² = μ²
所以:
Var(X) = E[X²] - E[X]²
7.方差的物理意义
方差物理意义:
- 衡量分布的分散程度
- 衡量偏离均值的平均程度
- 衡量分布的"宽度"
例子:
分布1:N(0, 1) → σ²=1 → 分散程度小
分布2:N(0, 4) → σ²=4 → 分散程度大
直觉:
- σ²小 → 分布集中,偏离均值程度小
- σ²大 → 分散,偏离均值程度大
8.∫ y² * exp(-y²/(2σ²)) dy = σ²√(2πσ²)
这个是怎么来的?
σ² = ∫ P(x) (x - μ)² dx
我使用的是分部积分法:
分部积分公式:
∫ u dv = uv - ∫ v du
设:
u = y
dv = y * exp(-y²/(2σ²)) dy
计算v:
v = ∫ y * exp(-y²/(2σ²)) dy
设t = y²/(2σ²),则dt = y/σ² dy
所以:
v = σ² ∫ exp(-t) dt = -σ² exp(-t) = -σ² exp(-y²/(2σ²))
计算du:
du = dy
应用分部积分:
∫ y² * exp(-y²/(2σ²)) dy = y * (-σ² exp(-y²/(2σ²))) - ∫ (-σ² exp(-y²/(2σ²))) dy
= -σ² y exp(-y²/(2σ²)) + σ² ∫ exp(-y²/(2σ²)) dy
加号后面的那个的结果是:σ²√(2πσ²),你用对p(x)积分等于1就可以反推出来了
然后我们看前面这个,这个利用的是边界值
边界值计算:
当y → ±∞时:
- y exp(-y²/(2σ²)) → 0
原因:
- exp(-y²/(2σ²))衰减速度比y增长速度快
- 所以y exp(-y²/(2σ²)) → 0
具体:
当y → ∞:
y exp(-y²/(2σ²)) = y / exp(y²/(2σ²)) → 0
当y → -∞:
y exp(-y²/(2σ²)) = y / exp(y²/(2σ²)) → 0
这个对于衰减速度考研的时候都知道
为什么要计算边界值:
uv是分部积分后的边界项 - 必须计算边界值才能得到完整结果
要看清楚是积分还是需要计算边界值,积分的话是对于谁进行积分,边界值的话是带入正负无穷
现在是推断完了方差和p(x)之间的关系就是:σ² = ∫ P(x) (x - μ)² dx这个要记住
好的我们现在来推导连续随机变量的KL散度的计算公式:
这个推导的时候就用到了σ² = ∫ P(x) (x - μ)² dx,还用到了
这个是期望,离散的话是x和概率计算,这个就是积分
这个就用刚才推的公式:² = ∫ P(x) (x - μ)² dx,这个一展开就好了
然后还有一个多元连续变量的·KL散度,我先不学了,这样一看KL散度单纯的计算公式还是很简单的(如果不是多元的话)
复习一下