连续随机变量与常见分布
连续随机变量取值可以是实数轴上的任意值。正态(高斯)分布是 AI 中最重要的分布,没有之一。
概念解析
PDF:概率密度函数
PDF 不是概率本身,面积才是概率。某点的 PDF 值 f(x) 本身没有意义——连续变量恰好等于某个特定值的概率为 0。但 PDF 在区间上的积分 = X 落在该区间的概率。
正态分布 N(μ, σ²)
\[ f(x) = \frac{1}{\sigma\sqrt{2\pi}} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right) \]由均值 μ(位置)和标准差 σ(宽度)决定。约 68% 数据落在 μ±σ,约 95% 落在 μ±2σ。
中心极限定理
大量独立因素叠加 → 结果趋近正态分布。这解释了正态分布为何在自然界和 AI 中无处不在。
神经网络权重初始化、Batch Normalization、VAE 潜在空间、扩散模型的加噪去噪——都依赖于正态分布。
生活例子
人的身高:170.1、170.12、170.128 cm——身高可以取连续范围内的任意值,整体服从正态分布。
大多数人身高接近平均值,极高和极矮的人是少数——这就是钟形曲线。
Python 动手实践
实例
samples = np.random.normal(0, 1, 10000)
print(f"N(0,1) 采样: 均值={samples.mean():.3f}, 标准差={samples.std():.3f}")
# 68-95-99.7 法则
for k in [1, 2, 3]:
within = np.mean(np.abs(samples) < k)
theory = {1:0.6827, 2:0.9545, 3:0.9973}[k]
print(f"μ±{k}σ: {within:.4f} (理论 {theory:.4f})")
# 中心极限定理:12个骰子和 ≈ 正态
dice = np.random.randint(1,7,(100000,12)).sum(axis=1)
print(f"\n12个骰子和: 均值={dice.mean():.1f}(理论42), 接近正态")
运行输出:
N(0,1) 采样: 均值=-0.002, 标准差=1.001 μ±1σ: 0.6827 (理论 0.6827) μ±2σ: 0.9545 (理论 0.9545) μ±3σ: 0.9973 (理论 0.9973) 12个骰子和: 均值=42.0(理论42), 接近正态
正态分布直方图
AI 中的应用场景
权重初始化
神经网络的权重通常从正态分布或均匀分布中随机初始化。Kaiming 初始化(ReLU 网络用):\( W \sim N(0, \sqrt{2/n_{in}}) \);Xavier 初始化:\( W \sim U(-\sqrt{6/(n_{in}+n_{out})}, \sqrt{6/(n_{in}+n_{out})}) \)。精心选择的方差确保信号在前向和反向传播中稳定传递,不爆炸不消失。
Batch Normalization
BN 假设每层激活值近似正态分布,减均值除标准差将其标准化到 N(0,1),再通过可学习的 \(\gamma\) 和 \(\beta\) 缩放平移。这加速训练、允许更大学习率、减少对初始化的敏感度。BN 是深度学习史上最重要的训练技巧之一。
VAE 的潜在空间假设
变分自编码器假设潜在变量 z 服从标准正态分布 N(0, I)。编码器输出 μ 和 log(σ²),解码器从 N(μ, σ²) 中采样 z 重构输入。KL 散度损失约束 N(μ, σ²) 接近先验 N(0, I),防止编码器坍缩到 Dirac 分布。
扩散模型的加噪与去噪
扩散模型(DDPM)的前向过程逐步向数据加高斯噪声 \epsilon ∼ N(0, I),直到变为纯噪声。反向过程训练神经网络预测每步添加的噪声,从纯噪声开始逐步去噪生成图片。Stable Diffusion 和 DALL·E 都基于此原理。
