43-机器学习与大模型开发数学教程-4-5 期望、方差、协方差与相关系数

一句话版:
期望 = "长期平均";方差 = "波动大小";协方差 = "两者是否同涨同跌";相关系数 = "去掉量纲后的协方差"。

在机器学习里,它们无处不在:风险最小化 是把损失的期望 降到最低;小批量 训练是在用样本均值近似期望;PCA 直接分解协方差矩阵集成/Bagging 用"平均"把方差减小。


1. 先立语义:为什么这四个量重要?

  • 看一场足球赛的平均进球(期望),知道典型水平;
  • 但有的队进球忽高忽低(方差大),有的队很稳(方差小);
  • "上半场多,下半场也多"说明上下半场协方差为正
  • 若不同队之间量纲不同(身高 cm、体重 kg),直接比协方差没意义,得看相关系数(-1...1)。

2. 定义:离散 vs 连续(统一记号)

设随机变量 X,YX, YX,Y。

2.1 期望(Expectation)

  • 离散:E[X]=∑xx p(x)\displaystyle \mathbb{E}[X]=\sum_x x\,p(x)E[X]=x∑xp(x)
  • 连续:E[X]=∫−∞∞x f(x) dx\displaystyle \mathbb{E}[X]=\int_{-\infty}^{\infty} x\,f(x)\,dxE[X]=∫−∞∞xf(x)dx

LOTUS(无意识统计学家法则):E[g(X)]=∑g(x)p(x)\mathbb{E}[g(X)] = \sum g(x)p(x)E[g(X)]=∑g(x)p(x) 或 ∫g(x)f(x) dx\int g(x)f(x)\,dx∫g(x)f(x)dx。

2.2 方差(Variance)与标准差(Std)

Var(X)=E ⁣[(X−EX)2]=E[X2]−(EX)2,σX=Var(X).\mathrm{Var}(X)=\mathbb{E}\!\left[(X-\mathbb{E}X)^2\right] =\mathbb{E}[X^2]-(\mathbb{E}X)^2,\quad \sigma_X=\sqrt{\mathrm{Var}(X)}.Var(X)=E[(X−EX)2]=E[X2]−(EX)2,σX=Var(X) .

2.3 协方差(Covariance)

Cov(X,Y)=E ⁣[(X−EX)(Y−EY)]=E[XY]−EX EY.\mathrm{Cov}(X,Y)=\mathbb{E}\!\left[(X-\mathbb{E}X)(Y-\mathbb{E}Y)\right] = \mathbb{E}[XY]-\mathbb{E}X\,\mathbb{E}Y.Cov(X,Y)=E[(X−EX)(Y−EY)]=E[XY]−EXEY.

  • 同涨同跌为正,反向为负,互不相关为 0(注意:零协方差 ≠ 独立,除非在高斯族)。

2.4 相关系数(Correlation)

ρXY=Cov(X,Y)σXσY,−1≤ρ≤1.\rho_{XY}=\frac{\mathrm{Cov}(X,Y)}{\sigma_X\sigma_Y},\quad -1\le \rho\le 1.ρXY=σXσYCov(X,Y),−1≤ρ≤1.

  • 来自 Cauchy--Schwarz,不受单位影响,易于比较强弱。

3. 性质:写代码前该背的"口令"

  • 线性:E[aX+b]=a EX+b\mathbb{E}[aX+b]=a\,\mathbb{E}X+bE[aX+b]=aEX+b。

  • 缩放:Var(aX+b)=a2Var(X)\mathrm{Var}(aX+b)=a^2\mathrm{Var}(X)Var(aX+b)=a2Var(X)。

  • 和的方差:Var(X+Y)=Var(X)+Var(Y)+2 Cov(X,Y)\mathrm{Var}(X+Y)=\mathrm{Var}(X)+\mathrm{Var}(Y)+2\,\mathrm{Cov}(X,Y)Var(X+Y)=Var(X)+Var(Y)+2Cov(X,Y)。

    若独立 ⇒ 协方差 0 ⇒ 方差可加。

  • 协方差双线性:Cov(aX+b, cY+d)=ac Cov(X,Y)\mathrm{Cov}(aX+b,\,cY+d)=ac\,\mathrm{Cov}(X,Y)Cov(aX+b,cY+d)=acCov(X,Y)。

  • Jensen(凹函数版本):φ(E[X])≥E[φ(X)]\varphi(\mathbb{E}[X])\ge \mathbb{E}[\varphi(X)]φ(E[X])≥E[φ(X)](φ\varphiφ 凸)。

  • 总期望/总方差

    E[X]=EY ⁣[E[X∣Y]];Var(X)=EY ⁣[Var(X∣Y)]+VarY ⁣(E[X∣Y]).\mathbb{E}[X]=\mathbb{E}_Y!\big[\mathbb{E}[X\mid Y]\big];\qquad \mathrm{Var}(X)=\mathbb{E}_Y!\big[\mathrm{Var}(X\mid Y)\big]+\mathrm{Var}_Y!\big(\mathbb{E}[X\mid Y]\big).

    (分母记不住?就想"总方差 = 类内方差 + 类间方差"。)

flowchart TD X[总方差 Var(X)] --> A[类内方差 E[Var(X|Y)]] X --> B[类间方差 Var(E[X|Y])]

说明:图示的是"方差分解"公式的两部分来源。


4. 向量与矩阵视角(工程最常用)

4.1 均值向量与协方差矩阵

设 Z∈RdZ\in\mathbb{R}^dZ∈Rd:

μ=E[Z]∈Rd,Σ=E[(Z−μ)(Z−μ)⊤]∈Rd×d.\mu=\mathbb{E}[Z]\in\mathbb{R}^d,\quad \Sigma=\mathbb{E}\big[(Z-\mu)(Z-\mu)^\top\big]\in\mathbb{R}^{d\times d}.μ=E[Z]∈Rd,Σ=E[(Z−μ)(Z−μ)⊤]∈Rd×d.

  • Σ\SigmaΣ 对称半正定(PSD),对角线是各维方差,非对角是成对协方差。
  • 相关矩阵 R=D−1/2ΣD−1/2R=D^{-1/2}\Sigma D^{-1/2}R=D−1/2ΣD−1/2(D=diag(Σ)D=\mathrm{diag}(\Sigma)D=diag(Σ))。

4.2 样本估计(无偏版本)

样本 {zi}i=1n\{z_i\}_{i=1}^n{zi}i=1n:

μ^=1n∑izi,Σ^=1n−1∑i(zi−μ^)(zi−μ^)⊤.\hat\mu=\frac{1}{n}\sum_i z_i,\qquad \hat\Sigma=\frac{1}{n-1}\sum_i (z_i-\hat\mu)(z_i-\hat\mu)^\top.μ^=n1∑izi,Σ^=n−11∑i(zi−μ^)(zi−μ^)⊤.

  • n−1n-1n−1 是 Bessel 校正 ,保证在 i.i.d. 情形下 E[Σ^]=Σ\mathbb{E}[\hat\Sigma]=\SigmaE[Σ^]=Σ。

PCA 就是对 Σ^\hat\SigmaΣ^ 做特征分解/对 XXX 做 SVD;最大特征值方向 = 最大方差方向。


5. 例子:从 0/1 到骰子到"身高--体重"

5.1 伯努利

令 X∈{0,1}, P(X=1)=pX\in\{0,1\},\ P(X=1)=pX∈{0,1}, P(X=1)=p。
E[X]=p, Var(X)=p(1−p)\mathbb{E}[X]=p,\ \mathrm{Var}(X)=p(1-p)E[X]=p, Var(X)=p(1−p)。

(分类正确率/点击率的数学原型。)

5.2 两枚独立骰子之和

单个骰子:E=3.5, Var=3512\mathbb{E}=3.5,\ \mathrm{Var}=\frac{35}{12}E=3.5, Var=1235。

和 S=X1+X2S=X_1+X_2S=X1+X2:E[S]=7, Var(S)=2⋅3512\mathbb{E}[S]=7,\ \mathrm{Var}(S)=2\cdot\frac{35}{12}E[S]=7, Var(S)=2⋅1235,

因为独立 ⇒ 协方差为 0 ⇒ 方差可加。

5.3 协方差的符号

  • 正相关 :身高高的人体重也往往更高 ⇒ Cov>0\mathrm{Cov}>0Cov>0。
  • 负相关 :固定"时间预算",学习时间长则娱乐时间短 ⇒ Cov<0\mathrm{Cov}<0Cov<0。
  • 零相关但不独立 :令 X∼Uniform(−1,1)X\sim\mathrm{Uniform}(-1,1)X∼Uniform(−1,1),Y=X2Y=X^2Y=X2。Cov(X,Y)=0\mathrm{Cov}(X,Y)=0Cov(X,Y)=0,但它们显然不独立。

6. 在机器学习中的"指定座位"

6.1 风险最小化 = 期望最小化

期望风险 :R(f)=E(x,y)∼P[ℓ(f(x),y)]R(f)=\mathbb{E}_{(x,y)\sim P}[\ell(f(x),y)]R(f)=E(x,y)∼P[ℓ(f(x),y)]。

训练用 经验风险 R^=1n∑iℓ(f(xi),yi)\hat R=\frac1n\sum_i \ell(f(x_i),y_i)R^=n1∑iℓ(f(xi),yi) 来近似 RRR(大数定律)。

6.2 小批量 SGD 的"无偏+有噪声"

小批量 B\mathcal{B}B 的梯度 g^=1∣B∣∑i∈B∇ℓi\hat g=\frac{1}{|\mathcal{B}|}\sum_{i\in\mathcal{B}}\nabla\ell_ig^=∣B∣1∑i∈B∇ℓi:
E[g^]=∇R^\mathbb{E}[\hat g]=\nabla \hat RE[g^]=∇R^,但 Var(g^)∝1∣B∣\mathrm{Var}(\hat g)\propto \frac{1}{|\mathcal{B}|}Var(g^)∝∣B∣1。

  • 增大 batch 降方差(到头有收益递减);
  • 动量/Adam 做时间上的"平均",也在降方差

6.3 集成学习:平均可把方差除以 KKK

独立同分布的 KKK 个基模型平均:
Var(fˉ)=Var(1K∑fk)=1KVar(f)\mathrm{Var}(\bar f)=\mathrm{Var}\big(\frac1K\sum f_k\big)=\frac{1}{K}\mathrm{Var}(f)Var(fˉ)=Var(K1∑fk)=K1Var(f)。

现实中相关性 ρ>0\rho>0ρ>0 时变为 1−ρKVar+ρ Var\frac{1-\rho}{K}\mathrm{Var}+ \rho\,\mathrm{Var}K1−ρVar+ρVar(相关越小越好)。

这解释了 Bagging/随机森林 的"去相关 + 平均"策略。

6.4 标准化与相关

Z-score :x~=(x−μ)/σ\tilde x = (x-\mu)/\sigmax~=(x−μ)/σ ⇒ 均值 0 方差 1。

  • 让特征"同量纲",协方差=相关,有利于优化(等高线更圆)。
  • BatchNorm/LayerNorm 正在做"在线版本"的标准化,稳定训练。

6.5 PCA:最大化投影方差

方向 vvv 上的方差 v⊤Σ^vv^\top \hat\Sigma vv⊤Σ^v;

第一主成分 v1=arg⁡max⁡∥v∥=1v⊤Σ^vv_1=\arg\max_{\|v\|=1} v^\top \hat\Sigma vv1=argmax∥v∥=1v⊤Σ^v;

协方差矩阵的最大特征向量等价。


7. 代码速写(NumPy):估计与验证

python 复制代码
import numpy as np
rng = np.random.default_rng(0)

# 1) 样本均值/方差(无偏与有偏对比)
x = rng.normal(loc=0., scale=2., size=1000)
mu = x.mean()
var_biased = ((x - mu)**2).mean()        # /n
var_unbiased = ((x - mu)**2).sum()/(len(x)-1)  # /(n-1)

# 2) 协方差与相关矩阵
X = rng.normal(size=(1000, 3))
X = X @ np.array([[1., 0.8, 0.0],
                  [0.0, 1.0, 0.5],
                  [0.0, 0.0, 1.0]])      # 引入相关
X = (X - X.mean(0)) / X.std(0, ddof=1)
Sigma = np.cov(X.T, bias=False)          # (n-1) 归一
Corr = np.corrcoef(X.T)

# 3) 总方差分解(条件在二类标签上)
y = rng.integers(0, 2, size=1000)
m0, m1 = X[y==0,0], X[y==1,0]
var_total = X[:,0].var(ddof=1)
var_within = (m0.var(ddof=1)*(len(m0)-1) + m1.var(ddof=1)*(len(m1)-1)) / (len(X)-2)
var_between = ((m0.mean()-X[:,0].mean())**2*len(m0) + (m1.mean()-X[:,0].mean())**2*len(m1)) / (len(X)-1)

8. 常见误区(避坑清单)

  1. 零相关 ≠ 独立(除非在高斯族);
  2. 协方差受单位影响 :身高 cm 改成 m,协方差会变;所以跨变量比较看相关
  3. 方差可能不存在:Cauchy 分布等厚尾分布没有有限方差,均值/方差都不稳定;
  4. 样本方差分母用 n 还是 n-1? 推断总体时用 n−1n-1n−1(无偏);
  5. 不做中心化 就求协方差/相关会严重偏差;
  6. 数据泄露 :标准化必须只在训练集拟合 μ,σ\mu,\sigmaμ,σ,再用于验证/测试;
  7. 把非线性关系当线性相关 :ρ\rhoρ 只看线性关系;对非线性可用 Spearman 等秩相关或直接看散点。

9. 练习(含提示)

  1. Bernoulli 方差 :证明 Var(X)=p(1−p)\mathrm{Var}(X)=p(1-p)Var(X)=p(1−p)。
    提示 :用 E[X2]=E[X]\mathbb{E}[X^2]=\mathbb{E}[X]E[X2]=E[X]。
  2. 和的方差:推导 $\mathrm{Var}(\sum_i X_i)=\sum_i\mathrm{Var}(X_i)+2\sum_{i。
  3. 总方差分解 :证明 Var(X)=E[Var(X∣Y)]+Var(E[X∣Y])\mathrm{Var}(X)=\mathbb{E}[\mathrm{Var}(X|Y)]+\mathrm{Var}(\mathbb{E}[X|Y])Var(X)=E[Var(X∣Y)]+Var(E[X∣Y])。
    提示 :把 XXX 写成 (X−E[X∣Y])+E[X∣Y](X-\mathbb{E}[X|Y]) + \mathbb{E}[X|Y](X−E[X∣Y])+E[X∣Y]。
  4. 相关上界 :用 Cauchy--Schwarz 证明 ∣ρXY∣≤1|\rho_{XY}|\le 1∣ρXY∣≤1,且等号成立当且仅当 X=aY+bX=aY+bX=aY+b。
  5. PCA 一步到位 :给出中心化矩阵 XXX,证明在 ∥v∥=1\|v\|=1∥v∥=1 上最大化 v⊤Σ^vv^\top \hat\Sigma vv⊤Σ^v 的解是 Σ^\hat\SigmaΣ^ 的主特征向量。
  6. 方差缩减 :模拟 KKK 个相关系数为 ρ\rhoρ 的基学习器均值,验证 Var\mathrm{Var}Var 的理论公式。
  7. 小批量方差 :固定一个数据集,改变 batch size,估计梯度方差,画出与 1/batch1/\text{batch}1/batch 的关系(近似线性)。

10. 小结

  • 期望 把随机世界变成一个"平均数";方差/标准差 衡量"稳定性";协方差/相关刻画"联动关系"。
  • 向量化后得到协方差矩阵,它是 PCA 等方法的"舞台"。
  • 工程口诀:"均值先对齐,方差再衡量;相关看方向,PCA看主轴;训练用批均值,集成能减方差。"

下一节将继续把这些量放进"大数定律与中心极限定理"的框架里,解释为什么"样本平均 ≈ 期望"、为什么很多东西最终"近似高斯"。

相关推荐
m0_571186602 小时前
第二十八周周报
人工智能
许泽宇的技术分享2 小时前
当AI学会“画“界面:A2UI如何让智能体拥有UI表达能力
人工智能·生成式ai·前端开发·用户界面·a2ui
狮子也疯狂2 小时前
【天翼AI-星辰智能体平台】| 基于Excel表实现智能问数助手智能体开发实战
人工智能·oracle·excel
小陈又菜2 小时前
【计算机网络】网络层知识体系全解:从基础概念到路由协议
服务器·人工智能·计算机网络·机器学习·智能路由器
PNP Robotics2 小时前
聚焦具身智能,PNP机器人展出力反馈遥操作,VR动作捕捉等方案,获得中国科研贡献奖
大数据·人工智能·python·学习·机器人
小霖家的混江龙2 小时前
数学不好也能懂:解读 AI 经典论文《Attention is All You Need》与大模型生成原理
人工智能·llm·aigc
njsgcs2 小时前
ai控制鼠标生成刀路系统2 环境搭建 尝试
人工智能
喜欢吃豆2 小时前
大语言模型(LLM)全栈技术深度综述:理论、系统与工程实践
人工智能·语言模型·自然语言处理·大模型
渡我白衣2 小时前
计算机组成原理(8):各种码的作用详解
c++·人工智能·深度学习·神经网络·其他·机器学习