深度学习笔记-2:概率分布、线性回归与偏差-方差权衡 - MuxiaoWF跳到主要内容

深度学习笔记-2:概率分布、线性回归与偏差-方差权衡

深度学习笔记-2,涵盖伯努利分布、多项式分布、多元高斯分布、线性回归的概率推导、决策理论以及偏差-方差权衡。对应《深度学习:基础与概念》第3-4章。

周一 9月 01 2025
11037 字 · 43 分钟

系列第 2/8 篇 ← 上一篇 | 下一篇 | 术语表

建议先看第1篇(概率论基础)。本篇讲常见的概率分布、线性回归的概率推导,以及偏差-方差权衡。

Chapter 3 标准分布

本章假设观测数据均为独立同分布

离散变量

伯努利分布

直觉:抛一枚硬币,结果要么正面(1)要么反面(0),正面朝上的概率是 μ\mu。伯努利分布(Bernoulli distribution)就是对这种”非黑即白”场景的数学描述,它刻画单个二元随机变量(binary random variable,只能取0或1的变量)x{0,1}x \in \{0, 1\} 的概率。其概率质量函数(probability mass function,离散变量的概率描述)为:

Bern(xμ)=μx(1μ)1x\mathrm{Bern}(x|\mu) = \mu^x (1 - \mu)^{1-x}

其中 μ\mux=1x=1 的概率,0μ10 \leq \mu \leq 1。该分布的期望和方差分别为:

E[x]=μ,var[x]=μ(1μ)\mathbb{E}[x] = \mu, \quad \mathrm{var}[x] = \mu(1 - \mu)

给定独立同分布(independent and identically distributed, i.i.d.,每次抽样互不影响且来自同一分布)的数据集 D={x1,...,xN}\mathcal{D} = \{x_1, ..., x_N\},其似然函数(likelihood function,衡量参数对数据的解释能力)为:

p(Dμ)=n=1Nμxn(1μ)1xnp(\mathcal{D}|\mu) = \prod_{n=1}^N \mu^{x_n} (1 - \mu)^{1-x_n}

对数似然函数为:

lnp(Dμ)=n=1N{xnlnμ+(1xn)ln(1μ)}\ln p(\mathcal{D}|\mu) = \sum_{n=1}^N \left\{ x_n \ln \mu + (1 - x_n) \ln(1 - \mu) \right\}

通过最大化对数似然(对参数求导令其为零),得到最大似然估计(Maximum Likelihood, ML,使数据出现概率最大的参数值):

μML=1Nn=1Nxn=mN\mu_{\mathrm{ML}} = \frac{1}{N} \sum_{n=1}^N x_n = \frac{m}{N}

也称为样本均值;其中 mm 是数据集中 x=1x=1 的观测次数。这表明最大似然估计就是样本中“成功”事件的比例。

二项分布

直觉:一枚硬币抛 NN 次,正面朝上恰好出现 mm 次的概率是多少?这就是二项分布(Binomial distribution)回答的问题——它描述在 NN 次独立的伯努利试验(每次都是独立抛硬币)中,“成功”总次数 mm 的概率。其概率质量函数为:

Bin(mN,μ)=(Nm)μm(1μ)Nm\mathrm{Bin}(m|N, \mu) = \binom{N}{m} \mu^m (1 - \mu)^{N-m}

该分布的期望和方差为:

E[m]=Nμ,var[m]=Nμ(1μ)\mathbb{E}[m] = N\mu, \quad \mathrm{var}[m] = N\mu(1 - \mu)

NN \to \infty 时,根据中心极限定理,二项分布会趋近于高斯分布(正态分布)。

二项分布会趋近于高斯分布

随着N增大,二项分布会趋近于高斯分布(正态分布)

多项分布

直觉:掷一颗骰子,六个面朝上的概率各不相同。如果掷 NN 次,每个面各出现多少次?多项分布(Multinomial distribution)就是伯努利分布从”抛硬币”到”掷骰子”的推广——它处理多个类别(KK 个状态)的情况。考虑一个 KK 状态的离散变量(discrete variable,只能取有限个值的变量)xx,用 11-of-KK 编码(KK 个位置中只有一个为1,其余为0,也叫 one-hot 编码)表示为 x=(x1,...,xK)Tx = (x_1, ..., x_K)^T 。令 μk\mu_kxk=1x_k=1 的概率,满足 k=1Kμk=1\sum_{k=1}^K \mu_k = 1。对于单次观测,其分布为:

p(xμ)=k=1Kμkxkp(\mathbf{x}| \mathbf{\mu}) = \prod_{k=1}^K \mu_k^{x_k}

对于 NN 次独立观测,令 mkm_k 为第 kk 个状态出现的次数(即 mk=n=1Nxnkm_k = \sum_{n=1}^N x_{nk}),则多项式分布为(证明略):

Mult(m1,...,mKN,μ)=N!m1!...mK!k=1Kμkmk\mathrm{Mult}(m_1,...,m_K|N,\mathbf{\mu}) = \frac{N!}{m_1!...m_K!} \prod_{k=1}^K \mu_k^{m_k}

其最大似然估计为:

μk,ML=mkN\mu_{k, \mathrm{ML}} = \frac{m_k}{N}

多元高斯分布 (正态分布)

单变量高斯分布

回顾一下前面讲到过的单变量(一元)正态分布:

单变量高斯分布(正态分布)的概率密度函数为:

N(xμ,σ2)=1(2πσ2)1/2exp{12σ2(xμ)2}\mathcal{N}(x|\mu, \sigma^2) = \frac{1}{(2\pi\sigma^2)^{1/2}} \exp\left\{ -\frac{1}{2\sigma^2} (x - \mu)^2 \right\}

其中 μ\mu 是均值,σ2\sigma^2 是方差,σ\sigma 是标准差,β=1/σ2\beta = 1/\sigma^2 是精度。式子的后面部分可以理解为标准化

多变量高斯分布

直觉:想象一团椭球形的云,数据点密集地聚集在中心附近,越往外越稀疏。多变量高斯分布(Multivariate Gaussian distribution,也叫多元正态分布)就是对这种”中间密、四周疏”的椭球形分布的数学描述。对于 DD 维随机向量(random vector,多个随机变量组成的向量)x\mathbf{x},多变量高斯分布为:

N(xμ,Σ)=1(2π)D/21Σ1/2exp{12(xμ)TΣ1(xμ)}\mathcal{N}(\mathbf{x}|\mathbf{\mu}, \mathbf{\Sigma}) = \frac{1}{(2\pi)^{D/2}} \frac{1}{|\mathbf{\Sigma}|^{1/2}} \exp\left\{ -\frac{1}{2} (\mathbf{x} - \mathbf{\mu})^T \mathbf{\Sigma}^{-1} (\mathbf{x} - \mathbf{\mu}) \right\}

(可以理解为是一维的累积结果)其中 μ\mathbf{\mu}DD 维均值向量(mean vector,各维度的平均值组成的向量),Σ\mathbf{\Sigma}D×DD \times D 协方差矩阵(covariance matrix,对称正定矩阵,描述各维度的散布程度和维度间的相关性)。Σ1\mathbf{\Sigma}^{-1} 称为精度矩阵(precision matrix,协方差矩阵的逆)。式子的后面部分同样可以理解为标准化

对于二维的,协方差矩阵写出来就是:

Σ=(var(x1)cov(x1,x2)cov(x2,x1)var(x2))\mathbf{\Sigma} = \begin{pmatrix} \text{var}(x_1) & \text{cov}(x_1, x_2) \\ \text{cov}(x_2, x_1) & \text{var}(x_2)\end{pmatrix}

对角线上是各维度自身的方差(自己跟自己的协方差),非对角线上是不同维度之间的协方差(x1x_1x2x_2 一起变化的趋势)。因为协方差矩阵是对称的,所以 cov(x1,x2)=cov(x2,x1)\text{cov}(x_1, x_2) = \text{cov}(x_2, x_1)


高斯几何:

高斯分布的等概率密度面(probability density contour,概率密度相等的点连成的曲面)由二次型 Δ2=(xμ)TΣ1(xμ)\Delta^2 = (\mathbf{x} - \mathbf{\mu})^T \mathbf{\Sigma}^{-1} (\mathbf{x} - \mathbf{\mu}) 决定,这个量称为马哈拉诺比斯距离(Mahalanobis distance,简称马氏距离,考虑了各维度尺度差异和相关性的”距离”度量)。当协方差矩阵 Σ\mathbf{\Sigma} 是单位矩阵时,马氏距离退化为普通的欧氏距离。

协方差矩阵影响分布形状

协方差矩阵的特征值和特征向量如何影响分布的形状(如椭圆的主轴方向和长短)

协方差矩阵 Σ\mathbf{\Sigma} 的特征向量(eigenvector,矩阵变换下方向不变的向量)和特征值(eigenvalue,对应伸缩比例)决定了高斯分布的形状。特征向量定义了主轴方向,特征值的平方根与主轴的长度成正比。(证明略)

直觉:如果把概率分布想象成一块形状不规则的薄板,那么”矩”(moments)就是在不同方向上描述这块薄板特征的统计量。一阶矩就是薄板的重心(center of gravity),二阶矩描述薄板绕重心的”胖瘦”程度。具体来说:

一阶矩的推导(点击展开)

一阶矩即随机向量 x\mathbf{x} 的期望值 E[x]E[\mathbf{x}]。对于参数为 μ\mathbf{\mu}Σ\mathbf{\Sigma} 的多元高斯分布 p(x)p(\mathbf{x}),其期望值计算如下:

E[x]=p(x)xdxE[\mathbf{x}] = \int p(\mathbf{x}) \mathbf{x} d\mathbf{x}

通过变量替换 z=xμ\mathbf{z} = \mathbf{x} - \mathbf{\mu}并展开,可以将积分转换为:

E[x]=1(2π)D/2Σ1/2exp{12zTΣ1z}(z+μ)dzE[\mathbf{x}] = \frac{1}{(2\pi)^{D/2} |\mathbf{\Sigma}|^{1/2}} \int \exp\left\{ -\frac{1}{2} \mathbf{z}^T \mathbf{\Sigma}^{-1} \mathbf{z} \right\} (\mathbf{z} + \mathbf{\mu}) d\mathbf{z}

指数项 exp{12zTΣ1z}\exp\left\{ -\frac{1}{2} \mathbf{z}^T \mathbf{\Sigma}^{-1} \mathbf{z} \right\}z\mathbf{z} 的偶函数,而积分区间为 (,)(-\infty, \infty)。因此,包含 z\mathbf{z} 的项(即 z\mathbf{z} 本身)在对称区间上的积分为零(由对称性可得)。剩下的项是:

E[x]=1(2π)D/2Σ1/2exp{12zTΣ1z}μdz=μE[\mathbf{x}] = \frac{1}{(2\pi)^{D/2} |\mathbf{\Sigma}|^{1/2}} \int \exp\left\{ -\frac{1}{2} \mathbf{z}^T \mathbf{\Sigma}^{-1} \mathbf{z} \right\} \mathbf{\mu} d\mathbf{z} = \mathbf{\mu}

因为高斯分布被归一化,其积分等于 1。因此,我们得出结论:

E[x]=μE[\mathbf{x}] = \mathbf{\mu}

这证实了参数 μ\mathbf{\mu} 就是该高斯分布的均值向量

结论:一阶矩(期望)等于参数 μ\mathbf{\mu},即分布的”重心”。数学上:

E[x]=μE[\mathbf{x}] = \mathbf{\mu}
二阶矩的推导(点击展开)

二阶矩涉及随机向量 x\mathbf{x} 的外积的期望 E[xxT]E[\mathbf{xx}^T]。这包含 D2D^2 个元素 E[xixj]E[x_i x_j] ,可以组合成一个 D×DD \times D 的矩阵。

计算 E[xxT]E[\mathbf{xx}^T] 的过程同样使用变量替换 z=xμ\mathbf{z} = \mathbf{x} - \mathbf{\mu}

E[xxT]=p(x)xxTdx=1(2π)D/2Σ1/2exp{12zTΣ1z}(z+μ)(z+μ)TdzE[\mathbf{xx}^T] = \int p(\mathbf{x}) \mathbf{xx}^T d\mathbf{x} = \frac{1}{(2\pi)^{D/2} |\mathbf{\Sigma}|^{1/2}} \int \exp\left\{ -\frac{1}{2} \mathbf{z}^T \mathbf{\Sigma}^{-1} \mathbf{z} \right\} (\mathbf{z} + \mathbf{\mu})(\mathbf{z} + \mathbf{\mu})^T d\mathbf{z}

展开 (z+μ)(z+μ)T(\mathbf{z} + \mathbf{\mu})(\mathbf{z} + \mathbf{\mu})^T ,得到四项:zzT\mathbf{zz}^T, zμT\mathbf{z}\mathbf{\mu}^T, μzT\mathbf{\mu}\mathbf{z}^T, 和 μμT\mathbf{\mu}\mathbf{\mu}^T 。由对称性,zμT\mathbf{z}\mathbf{\mu}^TμzT\mathbf{\mu}\mathbf{z}^T 的积分为零。μμT\mathbf{\mu}\mathbf{\mu}^T 是常数,可提出积分外,其积分值为 1。关键部分是 zzT\mathbf{zz}^T 的期望:

E[zzT]=1(2π)D/2Σ1/2exp{12zTΣ1z}zzTdzE[\mathbf{zz}^T] = \frac{1}{(2\pi)^{D/2} |\mathbf{\Sigma}|^{1/2}} \int \exp\left\{ -\frac{1}{2} \mathbf{z}^T \mathbf{\Sigma}^{-1} \mathbf{z} \right\} \mathbf{zz}^T d\mathbf{z}

利用协方差矩阵 Σ\mathbf{\Sigma} 的特征向量展开(z=jyjuj\mathbf{z} = \sum_j y_j \mathbf{u}_j ,其中 yj=ujTzy_j = \mathbf{u}_j^T \mathbf{z}uj\mathbf{u}_j 是特征向量,λj\lambda_j 是特征值),可以证明:

E[zzT]=ΣE[\mathbf{zz}^T] = \mathbf{\Sigma}

最终,我们得到:

E[xxT]=μμT+ΣE[\mathbf{xx}^T] = \mathbf{\mu}\mathbf{\mu}^T + \mathbf{\Sigma}

结论:二阶矩为 E[xxT]=μμT+ΣE[\mathbf{xx}^T] = \mathbf{\mu}\mathbf{\mu}^T + \mathbf{\Sigma}


协方差矩阵

在定义方差时,我们通常先减去均值——就像测量”偏离重心多远”。对于多元情况,随机向量 x\mathbf{x} 的协方差定义为:

cov[x]=E[(xE[x])(xE[x])T]\text{cov}[\mathbf{x}] = E\left[ (\mathbf{x} - E[\mathbf{x}])(\mathbf{x} - E[\mathbf{x}])^T \right]

E[x]=μE[\mathbf{x}] = \mathbf{\mu}E[xxT]=μμT+ΣE[\mathbf{xx}^T] = \mathbf{\mu}\mathbf{\mu}^T + \mathbf{\Sigma} 代入:

cov[x]=E[xxT]E[x]E[x]T=(μμT+Σ)μμT=Σ\text{cov}[\mathbf{x}] = E[\mathbf{xx}^T] - E[\mathbf{x}]E[\mathbf{x}]^T = (\mathbf{\mu}\mathbf{\mu}^T + \mathbf{\Sigma}) - \mathbf{\mu}\mathbf{\mu}^T = \mathbf{\Sigma}

其中 E[xxT]E[\mathbf{xx}^T] 是二阶矩,E[x]E[x]TE[\mathbf{x}]E[\mathbf{x}]^T 是一阶矩的平方。

因此,参数矩阵 Σ\mathbf{\Sigma} 正是该高斯分布的协方差矩阵,它决定了数据在各个方向上的散布程度和变量间的相关性。

条件和边缘高斯分布

直觉:有一团二维的椭球形数据云,如果你沿某条竖线”切一刀”,截面仍是一个一维高斯(钟形曲线);如果你把其中一个维度”投影掉”,剩下的也还是一个高斯。这就是高斯分布的封闭性质。

高斯分布的一个重要性质是其条件分布(conditional distribution,已知部分变量后剩余变量的分布)和边缘分布(marginal distribution,忽略某些变量后剩余变量的分布)也都是高斯分布。

x\mathbf{x} 分为两部分 xa\mathbf{x}_axb\mathbf{x}_b,并相应地划分均值 μ\mathbf{\mu} 和协方差矩阵 Σ\mathbf{\Sigma}

x=(xaxb),μ=(μaμb),Σ=(ΣaaΣabΣbaΣbb)\mathbf{x} = \begin{pmatrix} \mathbf{x}_a \\ \mathbf{x}_b \end{pmatrix}, \quad \mathbf{\mu} = \begin{pmatrix} \mathbf{\mu}_a \\ \mathbf{\mu}_b \end{pmatrix}, \quad \mathbf{\Sigma} = \begin{pmatrix} \mathbf{\Sigma}_{aa} & \mathbf{\Sigma}_{ab} \\ \mathbf{\Sigma}_{ba} & \mathbf{\Sigma}_{bb} \end{pmatrix}
  • 条件分布:(拆分)

    p(xaxb)=N(xaμab,Σab)p(\mathbf{x}_a|\mathbf{x}_b) = \mathcal{N}(\mathbf{x}_a|\mathbf{\mu}_{a|b}, \mathbf{\Sigma}_{a|b})

    其中:(证明略)

    μab=μa+ΣabΣbb1(xbμb),Σab=ΣaaΣabΣbb1Σba\mathbf{\mu}_{a|b} = \mathbf{\mu}_a + \mathbf{\Sigma}_{ab} \mathbf{\Sigma}_{bb}^{-1} (\mathbf{x}_b - \mathbf{\mu}_b), \quad \mathbf{\Sigma}_{a|b} = \mathbf{\Sigma}_{aa} - \mathbf{\Sigma}_{ab} \mathbf{\Sigma}_{bb}^{-1} \mathbf{\Sigma}_{ba}

    注意,条件分布的均值是 xb\mathbf{x}_b 的线性函数,协方差与 xb\mathbf{x}_b 无关。


    在证明中使用了分块矩阵求逆公式,一并贴出:

    (ABCD)1=(MMBD1D1CMD1+D1CMBD1)\begin{pmatrix} A & B \\ C & D \end{pmatrix}^{-1} = \begin{pmatrix} M & -MBD^{-1} \\ -D^{-1}CM & D^{-1} + D^{-1}CMBD^{-1} \end{pmatrix}

    其中定义了:

    M=(ABD1C)1M = (A - BD^{-1}C)^{-1}

    M1M^{-1} 被称为左侧矩阵关于子矩阵 DD 的舒尔补。

假设我们有二维高斯分布: x=(x1x2)N((00),(10.50.51))\mathbf{x} = \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} \sim \mathcal{N}\left(\begin{pmatrix} 0 \\ 0 \end{pmatrix}, \begin{pmatrix} 1 & 0.5 \\ 0.5 & 1 \end{pmatrix}\right) 现在已知 x2=1x_2 = 1,求 x1x_1 的条件分布:

μa=0\mathbf{\mu}_a = 0, μb=0\mathbf{\mu}_b = 0 Σab=0.5\mathbf{\Sigma}{ab} = 0.5, Σbb=1\mathbf{\Sigma}{bb} = 1 xb=1\mathbf{x}_b = 1

条件均值:

μ12=0+0.5×11×(10)=0.5\mu_{1|2} = 0 + 0.5 \times 1^{-1} \times (1 - 0) = 0.5

条件方差:

σ122=10.5×11×0.5=0.75\sigma_{1|2}^2 = 1 - 0.5 \times 1^{-1} \times 0.5 = 0.75

所以:p(x1x2=1)=N(x10.5,0.75)p(x_1|x_2=1) = \mathcal{N}(x_1|0.5, 0.75)


  • 边缘分布:(降维,只看xa\mathbf{x}_a的概率分布) p(xa)=N(xaμa,Σaa)p(\mathbf{x}_a) = \mathcal{N}(\mathbf{x}_a|\mathbf{\mu}_a, \mathbf{\Sigma}_{aa}) 如果 xN(μ,Σ)\mathbf{x} \sim \mathcal{N}(\mathbf{\mu}, \mathbf{\Sigma}),其中: μ=(μ1μ2μ3μ4),Σ=(σ11σ12σ13σ14σ21σ22σ23σ24σ31σ32σ33σ34σ41σ42σ43σ44)\mathbf{\mu} = \begin{pmatrix} \mu_1 \\ \mu_2 \\ \mu_3 \\ \mu_4 \end{pmatrix}, \quad \mathbf{\Sigma} = \begin{pmatrix} \sigma_{11} & \sigma_{12} & \sigma_{13} & \sigma_{14} \\ \sigma_{21} & \sigma_{22} & \sigma_{23} & \sigma_{24} \\ \sigma_{31} & \sigma_{32} & \sigma_{33} & \sigma_{34} \\ \sigma_{41} & \sigma_{42} & \sigma_{43} & \sigma_{44} \end{pmatrix} 那么 xa=(x1x2)\mathbf{x}_a = \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} 的边缘分布是: p(xa)=N(xaμa,Σaa)p(\mathbf{x}_a) = \mathcal{N}(\mathbf{x}_a|\mathbf{\mu}a, \mathbf{\Sigma}{aa}) 其中: μa=(μ1μ2)\mathbf{\mu}_a = \begin{pmatrix} \mu_1 \\ \mu_2 \end{pmatrix} Σaa=(σ11σ12σ21σ22)\mathbf{\Sigma}{aa} = \begin{pmatrix} \sigma_{11} & \sigma_{12} \\ \sigma_{21} & \sigma_{22} \end{pmatrix}

二维高斯分布的条件分布和边缘分布

  • 左侧图为二维高斯分布的概率密度函数(PDF),以等高线形式表示。

    等高线呈椭圆形(见上文高斯几何),中心为均值点 (μa,μb)=(0.5,0.5)(\mu_a, \mu_b) = (0.5, 0.5) ,椭圆的主轴方向由协方差矩阵决定(此处存在正相关性,因为 Σab>0\Sigma_{ab} > 0)。椭圆越密集,概率密度越高;外层椭圆代表低概率区域。 分布具有正相关性(xax_axbx_b 同向变化),表现为椭圆沿对角线拉伸。

    红色水平线表示 xb=0.7x_b = 0.7 的切片,用于提取条件分布。

  • 右侧图展示了一维分布曲线:

    蓝色曲线:p(xa)p(x_a)xax_a 的边缘分布(即忽略 xbx_b 的影响)。

    红色曲线:p(xaxb=0.7)p(x_a|x_b=0.7) 是在 xb=0.7x_b = 0.7 条件下 xax_a 的条件分布。

条件分布利用 xbx_b 的观测值,提供更精确的 xax_a 预测。

边缘分布仅反映 xax_a 的总体统计特性,不依赖具体 xbx_b 值。

同样可以看出:高斯分布的条件分布仍是高斯分布,且其均值和方差可通过协方差矩阵计算。

贝叶斯定理+高斯分布

为什么要看这一节? 这个结论在后面会反复用到——贝叶斯线性回归、高斯过程、概率PCA都依赖它。简单说就是:如果先验和似然都是高斯,后验也是高斯——计算上非常方便,因为高斯分布只需要均值和协方差就能完全描述。

当一个变量的先验分布(prior distribution,见第1篇-贝叶斯定理)和另一个变量的条件分布均为高斯时,后验分布(posterior distribution,观测数据后对参数的更新信念)也是高斯分布。

考虑两个随机变量 x\mathbf{x}y\mathbf{y}。我们有以下两个分布:

  1. 先验分布(prior distribution,观测数据前对参数的信念):p(x)=N(xμ,Λ1)p(\mathbf{x}) = \mathcal{N}(\mathbf{x} | \mathbf{\mu}, \mathbf{\Lambda}^{-1})
  • 这是对 x\mathbf{x} 的初始信念,是一个均值为 μ\mathbf{\mu}、协方差矩阵为 Λ1\mathbf{\Lambda}^{-1}Λ\mathbf{\Lambda} 是精度矩阵)的高斯分布。
  1. 似然分布(likelihood distribution,给定参数下观测数据的概率):p(yx)=N(yAx+b,L1)p(\mathbf{y}|\mathbf{x}) = \mathcal{N}(\mathbf{y} | \mathbf{A}\mathbf{x} + \mathbf{b}, \mathbf{L}^{-1})
  • 给定 x\mathbf{x} 的条件下,观察到 y\mathbf{y} 的概率。它也是一个高斯分布,其均值是 x\mathbf{x} 的线性函数 Ax+b\mathbf{A}\mathbf{x} + \mathbf{b},协方差矩阵为 L1\mathbf{L}^{-1}

我们的目标是利用贝叶斯定理来计算后验分布 p(xy)p(\mathbf{x}|\mathbf{y}),即在观察到 y\mathbf{y} 之后,对 x\mathbf{x} 的更新信念。


贝叶斯定理指出:

p(xy)=p(yx)p(x)p(y)p(\mathbf{x}|\mathbf{y}) = \frac{p(\mathbf{y}|\mathbf{x}) p(\mathbf{x})}{p(\mathbf{y})}

首先,我们构造 z=(xT,yT)T\mathbf{z} = (\mathbf{x}^T, \mathbf{y}^T)^T 的联合分布 p(z)=p(x,y)p(\mathbf{z}) = p(\mathbf{x}, \mathbf{y}) 。根据条件概率的定义:

p(z)=p(x,y)=p(x)p(yx)p(\mathbf{z}) = p(\mathbf{x}, \mathbf{y}) = p(\mathbf{x}) p(\mathbf{y}|\mathbf{x})

将两个高斯分布的表达式代入,并取对数,得到联合分布的对数形式:

lnp(z)=lnp(x)+lnp(yx)+const=12(xμ)TΛ(xμ)12(yAxb)TL(yAxb)+const\ln p(\mathbf{z}) = \ln p(\mathbf{x}) + \ln p(\mathbf{y}|\mathbf{x}) + \text{const} = -\frac{1}{2}(\mathbf{x} - \mathbf{\mu})^T \mathbf{\Lambda} (\mathbf{x} - \mathbf{\mu}) - \frac{1}{2}(\mathbf{y} - \mathbf{A}\mathbf{x} - \mathbf{b})^T \mathbf{L} (\mathbf{y} - \mathbf{A}\mathbf{x} - \mathbf{b}) + \text{const}

展开并整理后,可以发现 lnp(z)\ln p(\mathbf{z})z\mathbf{z} 的一个二次型。这表明联合分布 p(z)p(\mathbf{z}) 本身也是一个多元高斯分布。

对于一个多元高斯分布,其精度矩阵(即协方差矩阵的逆)可以从对数概率密度函数中的二次项系数得到。(二次项 12(xμ)TΣ1(xμ)-\frac{1}{2} (\mathbf{x} - \mathbf{\mu})^T \mathbf{\Sigma}^{-1} (\mathbf{x} - \mathbf{\mu})

从上式中提取 z\mathbf{z} 的二次项,可以得到联合分布的精度矩阵 R\mathbf{R}

R=(Λ+ATLAATLLAL)\mathbf{R} = \begin{pmatrix} \mathbf{\Lambda} + \mathbf{A}^T \mathbf{L} \mathbf{A} & -\mathbf{A}^T \mathbf{L} \\ -\mathbf{L} \mathbf{A} & \mathbf{L} \end{pmatrix}

通过分块矩阵求逆公式(见上,分块矩阵求逆),可以求得协方差矩阵 cov[z]=R1\text{cov}[\mathbf{z}] = \mathbf{R}^{-1}

cov[z]=(Λ1Λ1ATAΛ1L1+AΛ1AT)\text{cov}[\mathbf{z}] = \begin{pmatrix} \mathbf{\Lambda}^{-1} & \mathbf{\Lambda}^{-1}\mathbf{A}^T \\ \mathbf{A}\mathbf{\Lambda}^{-1} & \mathbf{L}^{-1} + \mathbf{A}\mathbf{\Lambda}^{-1}\mathbf{A}^T \end{pmatrix}

z\mathbf{z} 的期望为:

E[z]=(μAμ+b)\text{E}[\mathbf{z}] = \begin{pmatrix} \mathbf{\mu} \\ \mathbf{A\mu+b} \end{pmatrix}
  1. 边缘分布 p(y)p(\mathbf{y})
  • 从上面联合分布的均值和协方差中提取 y\mathbf{y} 对应的部分: p(y)=N(yAμ+b,L1+AΛ1AT)p(\mathbf{y}) = \mathcal{N}(\mathbf{y} | \mathbf{A}\mathbf{\mu} + \mathbf{b}, \mathbf{L}^{-1} + \mathbf{A}\mathbf{\Lambda}^{-1}\mathbf{A}^T)
  • 这表明 y\mathbf{y} 的均值是 x\mathbf{x} 的均值经过线性变换后的结果,其协方差是观测噪声协方差 (L1\mathbf{L}^{-1}) 和由 x\mathbf{x} 的不确定性 (Λ1\mathbf{\Lambda}^{-1}) 通过线性变换引入的协方差之和。
  1. 条件分布 p(xy)p(\mathbf{x}|\mathbf{y})
  • 利用分块精度矩阵的性质(见上,分块矩阵求逆),可以直接写出 p(xy)p(\mathbf{x}|\mathbf{y}) 的均值和协方差: p(xy)=N(xΣ{ATL(yb)+Λμ},Σ)p(\mathbf{x}|\mathbf{y}) = \mathcal{N}(\mathbf{x} | \mathbf{\Sigma} \{ \mathbf{A}^T \mathbf{L} (\mathbf{y} - \mathbf{b}) + \mathbf{\Lambda} \mathbf{\mu} \}, \mathbf{\Sigma}) 其中 Σ=(Λ+ATLA)1\mathbf{\Sigma} = (\mathbf{\Lambda} + \mathbf{A}^T \mathbf{L} \mathbf{A})^{-1}

因此:

  • 后验的协方差 Σ\mathbf{\Sigma} 由先验的精度 (Λ\mathbf{\Lambda}) 和似然的精度 (ATLA\mathbf{A}^T \mathbf{L} \mathbf{A}) 共同决定,反映了先验信息和观测信息的结合。
  • 后验的均值是先验均值和基于观测 y\mathbf{y} 的“预测”的加权平均,权重由各自的不确定性(协方差)决定。

最大似然估计

考虑一个独立同分布的数据集 D={x1,...,xN}\mathcal{D} = \{\mathbf{x}_1, ..., \mathbf{x}_N\} ,假设数据由多变量高斯分布 N(xμ,Σ)\mathcal{N}(\mathbf{x}|\mathbf{\mu}, \mathbf{\Sigma}) 生成。其对数似然函数为:

lnp(Dμ,Σ)=N2lnΣN2ln(2π)12n=1N(xnμ)Σ1(xnμ)\ln p(\mathcal{D}|\mathbf{\mu}, \mathbf{\Sigma}) = -\frac{N}{2} \ln |\mathbf{\Sigma}| - \frac{N}{2} \ln (2\pi) - \frac{1}{2} \sum_{n=1}^N (\mathbf{x}_n - \mathbf{\mu})^\top \mathbf{\Sigma}^{-1} (\mathbf{x}_n - \mathbf{\mu})

对均值 μ\mathbf{\mu} 和协方差矩阵 Σ\mathbf{\Sigma} 分别求导并令导数为零,可得最大似然估计:

μML=1Nn=1Nxn\mathbf{\mu}_{\mathrm{ML}} = \frac{1}{N} \sum_{n=1}^N \mathbf{x}_n ΣML=1Nn=1N(xnμML)(xnμML)\mathbf{\Sigma}_{\mathrm{ML}} = \frac{1}{N} \sum_{n=1}^N (\mathbf{x}_n - \mathbf{\mu}_{\mathrm{ML}})(\mathbf{x}_n - \mathbf{\mu}_{\mathrm{ML}})^\top

μML\mathbf{\mu}_{\mathrm{ML}} 是样本均值,ΣML\mathbf{\Sigma}_{\mathrm{ML}} 是样本协方差。与单变量情况类似,ΣML\mathbf{\Sigma}_{\mathrm{ML}} 对真实协方差的估计是有偏的。

贯序估计

直觉:想象你在跑步时戴着手环计算平均配速。每跑一公里,手环会用新数据修正之前的估计,而不是从头算一遍。贯序估计(sequential estimation)就是这种”边收数据边更新”的在线算法。

当数据是流式到达(streaming,数据不是一次性全部到达,而是逐个或分批到达)时,需要一种在线更新参数估计(而不需要全部重新计算)的方法。对于均值,可以使用:

μN=μN1+1N(xNμN1)\mathbf{\mu}_N = \mathbf{\mu}_{N-1} + \frac{1}{N} (\mathbf{x}_N - \mathbf{\mu}_{N-1})

这表明新的估计值等于旧的估计值加上一个“修正项”,该修正项是新数据点与旧估计值之差的 1/N1/N倍,因此,随着μN\mathbf{\mu}_N 越来越大,后面的贡献会越来越小。

高斯混合模型

直觉:如果数据明显有多个”团簇”(比如身高数据中男性和女性各形成一个峰),用一个高斯分布去拟合就像只用一个钟形曲线去盖住两个山峰,怎么盖都不合适。高斯混合模型(Gaussian Mixture Model, GMM)的思路是用多个钟形曲线叠加——每个”团簇”一个高斯,按比例混合在一起。

尽管高斯分布具有良好的解析性质,但单一的高斯分布(只有一个峰)无法捕捉复杂的数据结构,例如多模态(multimodal,有多个峰值)的数据。

高斯混合模型(GMM)通过将 KK 个高斯分布线性组合(多个高斯分布乘比例累加)来解决这个问题:

p(x)=k=1KπkN(xμk,Σk)p(\mathbf{x}) = \sum_{k=1}^K \pi_k \mathcal{N}(\mathbf{x}|\mathbf{\mu}_k, \mathbf{\Sigma}_k)

其中 πk\pi_k 是第 kk 个高斯分量的混合系数,满足 0πk10 \leq \pi_k \leq 1k=1Kπk=1\sum_{k=1}^K \pi_k = 1。每个 N(xμk,Σk)\mathcal{N}(\mathbf{x}|\mathbf{\mu}_k, \mathbf{\Sigma}_k) 称为一个分量

不混合与混合

左图为不混合的高斯分布拟合,右图为混合的高斯分布拟合(两个峰值)

  • 通过调整分量的数量 KK、每个分量的均值 μk\mathbf{\mu}_k、协方差 Σk\mathbf{\Sigma}_k 和混合系数 πk\pi_k ,高斯混合模型可以逼近任意连续的概率密度函数。
  • 为了方便分析,可以引入一个 KK 维的隐变量 z\mathbf{z}(区分多个不同的群体),采用 1-of-K 编码(可见第5章-1-of-K编码只有一个元素为1,其余元素都为0。为1的元素的位置表示该样本属于哪个类别)。zk=1z_k=1 表示数据点 x\mathbf{x} 由第 kk 个分量生成。混合系数 πk\pi_k 可以解释为 p(zk=1)p(z_k=1) ,即先验概率。条件概率 p(xzk=1)=N(xμk,Σk)p(\mathbf{x}|z_k=1) = \mathcal{N}(\mathbf{x}|\mathbf{\mu}_k, \mathbf{\Sigma}_k) 。通过边缘化隐变量 z\mathbf{z},可以得到边缘分布 p(x)p(\mathbf{x}),即高斯混合模型。
  • 给定数据点 x\mathbf{x},它属于第 kk 个分量的后验概率为: γ(zk)=p(zk=1x)=p(zk=1)p(xzk=1)j=1Kp(zj=1)p(xzj=1)=πkN(xμk,Σk)j=1KπjN(xμj,Σj)\gamma(z_k) = p(z_k=1|\mathbf{x}) = \frac{p(z_k=1) p(\mathbf{x}|z_k=1)}{\sum_{j=1}^K p(z_j=1) p(\mathbf{x}|z_j=1)} = \frac{\pi_k \mathcal{N}(\mathbf{x}|\mathbf{\mu}_k, \mathbf{\Sigma}_k)}{\sum_{j=1}^K \pi_j \mathcal{N}(\mathbf{x}|\mathbf{\mu}_j, \mathbf{\Sigma}_j)}

一维混合 二维混合

一维和二维高斯混合

周期变量建模 - 冯·米塞斯分布

直觉:想象一只钟表上的指针,它停在某个角度附近小幅摆动。如果用普通高斯分布去建模,角度 359359^\circ11^\circ 会被当作相距很远的两个点,但实际上它们只差 22^\circ。冯·米塞斯分布(von Mises distribution)就是为这种”圆形数据”设计的——它是定义在圆周上的高斯分布的类比。

周期变量(periodic variable,如角度 θ[0,2π)\theta \in [0, 2\pi)),无法用标准的高斯分布有效建模,因为高斯分布的支撑集(support,变量可以取值的范围)是整个实数轴,且无法处理 002π2\pi 的周期性连接。


冯·米塞斯分布也称为环形正态分布(circular normal distribution)。其概率密度函数为(推导略):

p(θθ0,m)=12πI0(m)exp{mcos(θθ0)}p(\theta|\theta_0, m) = \frac{1}{2\pi I_0(m)} \exp\{m \cos(\theta - \theta_0)\}

其中 θ0\theta_0 是均值方向,m0m \geq 0集中度参数 (类似于精度),I0(m)=1/2π0πexp(mcosθ)dθI_0(m) = 1 / 2\pi \int_0^\pi exp(m\cos\theta) d\theta 是零阶修正贝塞尔函数,用于归一化。当 mm 很大时,分布集中在 θ0\theta_0 附近,近似高斯分布;当 m=0m=0 时,分布退化为 [0,2π)[0, 2\pi) 上的均匀分布。

最大似然估计:对于数据集 {θ1,...,θN}\{\theta_1, ..., \theta_N\}θ0\theta_0 的最大似然估计 θ0ML\theta_{0}^\mathrm{ML} 满足:

cosθ0ML=1Nn=1Ncosθn,sinθ0ML=1Nn=1Nsinθn\cos \theta_{0}^\mathrm{ML} = \frac{1}{N} \sum_{n=1}^N \cos \theta_n, \quad \sin \theta_{0}^\mathrm{ML} = \frac{1}{N} \sum_{n=1}^N \sin \theta_n

这表明 θ0ML\theta_{0}^\mathrm{ML} 是数据点在单位圆上投影的质心的方向。mm 的最大似然估计需要数值求解方程 A(mML)=RA(m_{\mathrm{ML}}) = R ,其中 R=(cosθn)2+(sinθn)2/NR = \sqrt{(\sum \cos \theta_n)^2 + (\sum \sin \theta_n)^2}/NA(m)=I1(m)/I0(m)A(m) = I_1(m)/I_0(m)

冯·米塞斯分布同样是单峰的。为了建模多峰的周期性数据,可以使用冯·米塞斯分布的混合模型。

冯·米塞斯分布

冯·米塞斯分布(左边为笛卡尔坐标系,右边为极坐标系)

指数族分布

直觉:前面讲的伯努利、高斯等分布,看起来形状各异,但它们其实都是”一家人”——指数族分布(exponential family)。就像不同的饮料(咖啡、茶、果汁)都可以用”水+溶质”的框架来描述一样,指数族提供了一个统一的数学框架,把大多数常用分布纳入其中。

到目前为止,研究的概率分布基本都是指数族分布(混合模型除外)。

指数族分布是一大类重要的概率分布,其通用形式为:

p(xη)=h(x)g(η)exp{ηu(x)}p(x|\mathbf{\eta}) = h(x) g(\mathbf{\eta}) \exp\left\{ \mathbf{\eta}^\top \mathbf{u}(x) \right\}

其中:

  • η\mathbf{\eta}自然参数向量(natural parameter,将原始参数转换到指数族的标准形式),
  • u(x)\mathbf{u}(x)充分统计量向量(sufficient statistic,包含了从数据中提取参数所需的全部信息),
  • h(x)h(x) 是底层测度函数(通常与参数无关),
  • g(η)g(\mathbf{\eta}) 是归一化函数(normalizing function),确保分布的积分为 1: g(η)=[h(x)exp{ηu(x)}dx]1g(\mathbf{\eta}) = \left[ \int h(x) \exp\left\{ \mathbf{\eta}^\top \mathbf{u}(x) \right\} dx \right]^{-1}

有时也写作对数归一化形式(更常见):

p(xη)=h(x)exp{ηu(x)A(η)}p(x|\mathbf{\eta}) = h(x) \exp\left\{ \mathbf{\eta}^\top \mathbf{u}(x) - A(\mathbf{\eta}) \right\}

其中 A(η)=lng(η)A(\mathbf{\eta}) = -\ln g(\mathbf{\eta}) 称为对数配分函数或累积量生成函数。

用人话说:指数族分布就是把各种常见分布(伯努利、高斯、泊松等)用一个统一的”模板”写出来。η\mathbf{\eta} 是把原始参数(比如高斯的 μ,σ2\mu, \sigma^2)变换后的”自然参数”,u(x)\mathbf{u}(x) 是数据的”充分统计量”(概括数据所有信息的函数),A(η)A(\mathbf{\eta}) 负责归一化。这个统一框架的好处是:很多性质(比如最大似然估计怎么算、共轭先验存不存在)对所有指数族分布都成立,不用每个分布单独推导。


性质:

  1. 充分统计量(给定数据集可以准确推出参数)
  • 在最大似然估计中,参数的解仅依赖于数据的函数 n=1Nu(xn)\sum_{n=1}^N \mathbf{u}(x_n),而无需存储整个数据集。
  • 这意味着,一旦计算出 nu(xn)\sum_n \mathbf{u}(x_n),原始数据可以被丢弃,这对大规模数据处理非常高效。
  1. 矩的计算
  • 分布的矩(期望、方差等)可以通过对 A(η)A(\mathbf{\eta}) 进行微分得到: E[u(x)]=ηA(η)\mathbb{E}[\mathbf{u}(x)] = \nabla_{\mathbf{\eta}} A(\mathbf{\eta}) cov[u(x)]=ηηA(η)\mathrm{cov}[\mathbf{u}(x)] = \nabla_{\mathbf{\eta}} \nabla_{\mathbf{\eta}}^\top A(\mathbf{\eta})
  • 这使得期望和方差的计算变得系统化和可解析。
  1. 共轭先验存在性
  • 指数族分布都有一个对应的共轭先验,使得后验分布与先验属于同一分布族。
  1. 最大熵性质
  • 在给定约束(如固定均值和方差)下,指数族分布是熵最大的分布,即最“不确定”或最“无偏”的选择。

例子:

  1. 伯努利分布
  • x{0,1}x \in \{0,1\}p(xμ)=μx(1μ)1xp(x|\mu) = \mu^x (1-\mu)^{1-x}
  • 转换为指数族形式: p(xη)=exp{ηxln(1+eη)},其中 η=ln(μ1μ)p(x|\eta) = \exp\left\{ \eta x - \ln(1 + e^\eta) \right\}, \quad \text{其中 } \eta = \ln\left(\frac{\mu}{1-\mu}\right)
  • 对应关系:
    • η=ln(μ/(1μ))\eta = \ln(\mu/(1-\mu))(logit 变换),
    • u(x)=x\mathbf{u}(x) = x
    • h(x)=1h(x) = 1
    • A(η)=ln(1+eη)A(\eta) = \ln(1 + e^\eta)
  1. 单变量高斯分布 N(xμ,σ2)\mathcal{N}(x|\mu, \sigma^2)
  • 概率密度函数: p(xμ,σ2)=12πσ2exp{(xμ)22σ2}p(x|\mu, \sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left\{ -\frac{(x-\mu)^2}{2\sigma^2} \right\}
  • 改写为指数族形式: p(xη)=12πexp{η1x+η2x2A(η)}p(x|\mathbf{\eta}) = \frac{1}{\sqrt{2\pi}} \exp\left\{ \eta_1 x + \eta_2 x^2 - A(\mathbf{\eta}) \right\}
  • 其中:
    • 自然参数:η=(η1,η2)=(μσ2,12σ2)\mathbf{\eta} = (\eta_1, \eta_2)^\top = \left( \frac{\mu}{\sigma^2}, -\frac{1}{2\sigma^2} \right)^\top
    • 充分统计量:u(x)=(x,x2)\mathbf{u}(x) = (x, x^2)^\top
    • 对数配分函数:A(η)=η124η2+12ln(12η2)A(\mathbf{\eta}) = -\frac{\eta_1^2}{4\eta_2} + \frac{1}{2}\ln\left(-\frac{1}{2\eta_2}\right)

非参数方法

直觉:前面的方法都假设数据服从某种特定分布(如高斯),然后去估计参数。非参数方法(non-parametric methods)反其道而行——不预设分布形状,而是让数据自己”说话”。就像用尺子去量一个不规则物体的轮廓,而不是先假设它是圆形。

非参数方法不假设固定的分布函数形式,其复杂度(模型的”自由度”)通常随数据量增长而增加。

直方图密度估计

将变量范围划分为固定宽度的区间/组(bin),密度估计为每个区间内数据点的频率除以区间宽度和总数据量。优点是简单直观,缺点是:

  • 对 bin 宽度敏感:过窄导致噪声大,过宽导致细节丢失。
  • 不连续性:在 bin 边界处密度发生跳跃。
  • 维度灾难:在高维空间中,大部分 bin 为空。

直方图密度估计同样是充分统计量

核密度估计

核密度估计在每个数据点处放置一个核函数(在每个数据点周围放置一个”小山丘”并将所有这些”小山丘”叠加起来,形成整体的密度估计),然后求和。其形式为:

p(x)=1Nn=1N1hDk(xxnh)p(\mathbf{x}) = \frac{1}{N} \sum_{n=1}^N \frac{1}{h^D} k\left(\frac{\mathbf{x} - \mathbf{x}_n}{h}\right)

其中 NN 是数据点数量,DD 是数据的维度(比如二维数据 D=2D=2),hh 是带宽参数(每个”小山丘”的宽度),控制平滑程度,k(u)k(\mathbf{u}) 是核函数(需满足非负性和积分为1)。1hD\frac{1}{h^D} 确保每个核函数在整个空间上的积分为1(维度越高,需要的”缩放”越大)。高斯核 k(u)=N(u0,I)k(\mathbf{u}) = \mathcal{N}(\mathbf{u}|\mathbf{0}, \mathbf{I}) 是常用选择。

带宽h不同的影响

核密度估计中不同带宽h对估计结果的影响(过小导致噪声,过大导致过平滑)

缺点是评估新点的密度计算成本与数据量 NN 成正比,对于大数据集不实用。带宽 hh 的选择是关键,影响平滑程度。

K-近邻密度估计

K-近邻方法解决了核密度估计中带宽 hh 固定的问题。其核心思想是:在估计点 x\mathbf{x} 附近,x\mathbf{x} 为中心的球体包含恰好 KK 个数据点,球的体积 VV 由数据决定。密度估计为:

p(x)=KNVp(\mathbf{x}) = \frac{K}{N V}

其中 VV 是包含 KK 个最近邻的球体的体积。

K值不同的影响

K-近邻密度估计中不同K值对估计结果的影响(固定带宽和自适应带宽的区别)

优点是可以自适应平滑。在数据密集区域,VV 小,hh 小,能捕捉细节;在稀疏区域,VV 大,hh 大,避免噪声。 缺点是同样需要存储全部数据,计算新点的密度需要找到 KK 个最近邻,成本高昂。当 KK 较小时,估计可能不稳定。

习题1

你抛一枚硬币 10 次,结果 7 次正面。你猜这枚硬币正面朝上的概率 μ\mu 是多少?

最大似然估计直接告诉你:μ=0.7\mu = 0.7。就是正面出现的频率,简单粗暴。

但你想想,才抛 10 次就下结论,万一第 11 次到第 100 次全是反面呢?数据太少的时候,MLE 容易被”运气”带偏。

如果你觉得”这硬币大概率是均匀的”(先验 Beta(2,2)\text{Beta}(2,2)),用 MAP 估计结果会变成多少?

MAP 会把你的先验和数据”折中”一下:后验是 Beta(9,5)\text{Beta}(9, 5),众数约 0.670.67。比 MLE 的 0.70.70.50.5 方向靠了靠——先验在数据少的时候会”拽”你一把,不让你太相信小样本的运气。

习题2

做线性回归的时候,我们总假设误差服从高斯分布。为什么偏偏是高斯?这和”最小二乘法”有什么关系?

其实它们是一回事。假设误差是高斯的,那最大似然估计推出来恰好就是”让平方和误差最小”——也就是最小二乘法。所以你用最小二乘法,本质上就是在假设误差是高斯的。

模型越来越复杂(比如多项式次数越来越高),偏差和方差分别怎么变?

复杂度上去了,偏差降了(模型更能捕捉真实规律),但方差涨了(开始拟合噪声)。反过来,太简单则偏差高、方差低。最优模型就是在这两者之间找一个”甜蜜点”。


第3章小结

一句话版本:本章从最简单的”抛硬币”(伯努利)出发,一路扩展到”掷骰子”(多项式)、“椭球云”(多元高斯)、“圆形数据”(冯·米塞斯),最后用”统一配方”(指数族)把它们串起来,再补充了”让数据自己说话”的非参数方法。

知识地图

标准分布
├── 离散变量
│ ├── 伯努利分布(抛硬币:单次二元试验)
│ ├── 二项分布(抛N次硬币:成功次数)
│ └── 多项分布(掷骰子:多类别推广)
├── 连续变量
│ ├── 单变量高斯(一维钟形曲线)
│ └── 多变量高斯(椭球云)
│ ├── 几何:马氏距离 → 等概率密度面
│ ├── 矩:一阶=重心,二阶=散布程度
│ ├── 条件/边缘分布(切一刀/投影掉)
│ ├── 贝叶斯推断(高斯+高斯=高斯)
│ └── 高斯混合模型(多峰叠加)
├── 特殊分布
│ ├── 冯·米塞斯分布(圆形数据)
│ └── 指数族(统一框架)
└── 非参数方法
├── 直方图(划格子计数)
├── 核密度估计(每个点放小山丘)
└── K近邻(自适应球体)

选择分布的速查表:

  • 离散二元数据 → 伯努利分布
  • 计数数据 → 二项分布或多项分布
  • 连续数据且假设正态性 → 高斯分布
  • 周期性数据 → 冯·米塞斯分布
  • 复杂多模态数据 → 高斯混合模型

Chapter4 单层网络:回归

第1篇的概率论基础和上面第3章的常用概率分布之后,本章将探讨如何利用这些分布进行实际的预测建模——这正是第3篇(分类)的基础。我们将从最基础的线性回归开始,逐步建立完整的回归分析理论框架。

线性回归

直觉:在散点图上画一条”最佳拟合线”,让所有数据点到这条线的距离尽可能小——这就是线性回归(linear regression)的核心思想。它根据一个 DD 维输入向量(input vector,描述样本特征的向量)x\mathbf{x} 预测一个或多个连续目标变量(target variable,要预测的值)tt。给定一个包含 NN 个观测 {xn}\{\mathbf{x}_n\} 及其对应目标值 {tn}\{t_n\} 的训练集(training set),目标是为新的输入 x\mathbf{x} 预测 tt 的值。这通过一个函数 y(x,w)y(\mathbf{x}, \mathbf{w}) 实现,其中 w\mathbf{w} 是可学习的参数向量(parameter vector,模型通过调整这些参数来拟合数据)。

最简单的模型是输入变量的线性组合:

y(x,w)=w0+w1x1+...+wDxDy(\mathbf{x}, \mathbf{w}) = w_0 + w_1 x_1 + ... + w_D x_D

其中 x=(x1,...,xD)\mathbf{x} = (x_1, ..., x_D)^\top。该模型的关键特性是其关于参数 w\mathbf{w} 的线性性。然而,它也是输入变量 xix_i 的线性函数,这限制了其建模能力(只能学习线性关系)。

基函数

直觉:如果数据不是直线关系(比如是抛物线),直接用线性模型拟合效果不好。基函数(basis function)的思路是:先对原始输入做非线性变换(比如把 xx 变成 x2x^2exe^x 等),再对变换后的结果做线性组合。就像先把弯曲的铁丝拉直,再用直尺去量。

为了扩展模型能力(可以建模非线性关系),可以使用输入变量的固定非线性函数的线性组合:

y(x,w)=w0+j=1M1wjϕj(x)y(\mathbf{x}, \mathbf{w}) = w_0 + \sum_{j=1}^{M-1} w_j \phi_j(\mathbf{x})

其中 ϕj(x)\phi_j(\mathbf{x}) 称为基函数(basis function,对输入做非线性变换的固定函数)。参数 w0w_0 称为偏置参数 ,用于处理数据中的固定偏移。通常,通过定义一个虚拟基函数 ϕ0(x)=1\phi_0(\mathbf{x}) = 1,可以将模型写为更紧凑的向量形式:

y(x,w)=j=0M1wjϕj(x)=wϕ(x)y(\mathbf{x}, \mathbf{w}) = \sum_{j=0}^{M-1} w_j \phi_j(\mathbf{x}) = \mathbf{w}^\top \mathbf{\phi}(\mathbf{x})

其中 w=(w0,...,wM1)\mathbf{w} = (w_0, ..., w_{M-1})^\topϕ=(ϕ0,...,ϕM1)\mathbf{\phi} = (\phi_0, ..., \phi_{M-1})^\top

这个模型可以用一个简单的神经网络图来表示。

常见的基函数ϕj(x)\phi_j(\mathbf{x})

  1. 线性基:ϕj(x)=xj\phi_j(\mathbf{x}) = x_j
  2. 高斯函数:ϕj(x)=e12s2(xjμj)2\phi_j(\mathbf{x}) = e^{-\frac{1}{2s^2} (x_j - \mu_j)^2}
  3. sigmoid函数:ϕj(x)=11+exμjs\phi_j(\mathbf{x}) = \frac{1}{1 + e^{- \frac{x -\mu_j} {s}}}

最大似然与最小二乘

假设目标变量 tt 的条件分布是高斯分布,均值为模型输出 y(x,w)y(\mathbf{x}, \mathbf{w}),方差为 σ2\sigma^2

p(tx,w,σ2)=N(ty(x,w),σ2)p(t|\mathbf{x}, \mathbf{w}, \sigma^2) = \mathcal{N}(t|y(\mathbf{x}, \mathbf{w}), \sigma^2)

对于独立同分布(累积)的数据集,其对数似然函数(累加)为:

lnp(tX,w,σ2)=12σ2n=1N{y(xn,w)tn}2N2lnσ2+const\ln p(\mathbf{t}|\mathbf{X}, \mathbf{w}, \sigma^2) = -\frac{1}{2\sigma^2} \sum_{n=1}^N \{y(\mathbf{x}_n, \mathbf{w}) - t_n\}^2 - \frac{N}{2} \ln \sigma^2 + \mathrm{const}

最大化对数似然等价于最小化平方和误差函数(见上,第二章-最大化对数似然等价于最小化平方和误差函数):

ED(w)=12n=1N{tnwϕ(xn)}2E_D(\mathbf{w}) = \frac{1}{2} \sum_{n=1}^N \{t_n - \mathbf{w}^\top \mathbf{\phi}(\mathbf{x}_n)\}^2

将模型 y(x,w)=wϕ(x)y(\mathbf{x}, \mathbf{w}) = \mathbf{w}^\top \mathbf{\phi}(\mathbf{x}) 代入上面的误差函数 ED(w)E_D(\mathbf{w}) ,并对其关于 w\mathbf{w} 求导并令导数为零,得到最小二乘问题的正规方程

wML=(ΦΦ)1Φt\mathbf{w}_{\mathrm{ML}} = (\mathbf{\Phi}^\top \mathbf{\Phi})^{-1} \mathbf{\Phi}^\top \mathbf{t}

其中 Φ\mathbf{\Phi} 是设计矩阵(design matrix,每行是一个样本的基函数值向量),其元素为 Φnj=ϕj(xn)\Phi_{nj} = \phi_j(\mathbf{x}_n)

伪逆:当矩阵 Φ\mathbf{\Phi} 不满秩/非方阵时,最小二乘解不存在。此时,最小二乘解可以通过伪逆矩阵 Φ=Φ(ΦΦ)1\mathbf{\Phi}^\dagger = \mathbf{\Phi}^\top (\mathbf{\Phi} \mathbf{\Phi}^\top)^{-1} 得到。(此时视为 Φ=Φ1\mathbf{\Phi}^\dagger = \mathbf{\Phi}^{-1}


最小二乘的几何表示:

直觉:想象目标向量 t\mathbf{t} 是空间中的一个点,模型只能在某个平面上”落脚”。最小二乘就是找到平面上离 t\mathbf{t} 最近的那个点——也就是 t\mathbf{t} 在平面上的正交投影(orthogonal projection,垂直投影)。

最小二乘解可以理解为:模型预测 y=Φw\mathbf{y} = \mathbf{\Phi} \mathbf{w} 是目标向量 t\mathbf{t} 在由设计矩阵 Φ\mathbf{\Phi} 的列向量(即基函数在数据点上的值)所张成的线性子空间(linear subspace,列向量所有线性组合构成的空间)上的正交投影 。误差向量 ty\mathbf{t} - \mathbf{y} 与该子空间正交,这正是正规方程 Φ(tΦw)=0\mathbf{\Phi}^\top (\mathbf{t} - \mathbf{\Phi} \mathbf{w}) = \mathbf{0} 的几何含义。

最小二乘法的本质

最小二乘法的本质是将真实目标向量投影到模型可表达的子空间上

  1. 红色平面表示由设计矩阵 Φ\mathbf{\Phi} 的列向量张成的线性子空间 SS。 这个子空间是所有可能的模型输出 y=Φw\mathbf{y} = \mathbf{\Phi} \mathbf{w} 的集合(即模型能拟合的所有函数值的集合)。 每一列 ϕj(xn)\phi_j(\mathbf{x}_n) 是一个基函数在数据点上的取值,这些向量共同构成了这个子空间。
  2. 绿色箭头代表真实的目标值向量 t\mathbf{t},它是从原点指向某个不在子空间 SS 中的点。 它表示我们希望模型去逼近的真实观测结果。
  3. 蓝色箭头 y\mathbf{y}t\mathbf{t} 在子空间 SS 上的正交投影。 它是模型预测的结果,即 y=ΦwML\mathbf{y} = \mathbf{\Phi} \mathbf{w}_{\mathrm{ML}}。 最小二乘的目标就是找到这样一个 y\mathbf{y},使得它尽可能接近 t\mathbf{t}
  4. 黑色箭头表示残差(误差)e\mathbf{e},即实际值与预测值之间的差距。 它垂直于子空间 SS,说明误差向量与子空间中任意方向都正交。 这正是正规方程的核心含义: Φ(tΦw)=0\mathbf{\Phi}^\top (\mathbf{t} - \mathbf{\Phi} \mathbf{w}) = \mathbf{0} (即误差向量与所有基函数的方向正交)。
  5. φ1\varphi_1 φ2\varphi_2表示基函数,元素为 ϕj(xn)\phi_j(\mathbf{x}_n)

序贯学习

直觉:前面的正规方程需要一次性把所有数据”吞下去”才能算出结果。如果数据量巨大或者数据源源不断到来,怎么办?随机梯度下降(Stochastic Gradient Descent, SGD)的策略是:每来一个数据点,就沿着误差下降的方向小幅调整参数,就像下山时每走一步就调整方向。

当数据集很大或数据流式到达时,批量处理所有数据计算 wML\mathbf{w}_{\mathrm{ML}} 可能不切实际。在这里可以使用随机梯度下降 (SGD) 进行序贯学习。对于平方和误差函数,SGD 更新规则为:

w(τ+1)=w(τ)ηE=w(τ)+η(tnw(τ)ϕn)ϕn\mathbf{w}^{(\tau+1)} = \mathbf{w}^{(\tau)} - \eta \nabla E = \mathbf{w}^{(\tau)} + \eta (t_n - \mathbf{w}^{(\tau)\top} \mathbf{\phi}_n) \mathbf{\phi}_n

(E\nabla E使用上面的平方和误差函数)其中 ϕn=ϕ(xn)\mathbf{\phi}_n = \mathbf{\phi}(\mathbf{x}_n)η\eta 是学习率。这被称为最小二乘法/最小均方 (LMS) 算法。

正则化最小二乘

第1篇我们讲过:为了防止过拟合(overfitting,模型过度适应训练数据中的噪声,导致在新数据上表现差),尤其是在基函数数量多或数据量少时,可以在误差函数中加入正则化项(regularization term,惩罚模型复杂度的附加项)。最简单的形式是 L2 正则化(L2 regularization,也叫权重衰减 weight decay,惩罚参数的平方和):

E(w)=12n=1N{tnwϕ(xn)}2+λ2wwE(\mathbf{w}) = \frac{1}{2} \sum_{n=1}^N \{t_n - \mathbf{w}^\top \mathbf{\phi}(\mathbf{x}_n)\}^2 + \frac{\lambda}{2} \mathbf{w}^\top \mathbf{w}

最小化该函数得到的解为:

w=(ΦΦ+λI)1Φt\mathbf{w} = (\mathbf{\Phi}^\top \mathbf{\Phi} + \lambda \mathbf{I})^{-1} \mathbf{\Phi}^\top \mathbf{t}

正则化项确保了矩阵 (ΦΦ+λI)(\mathbf{\Phi}^\top \mathbf{\Phi} + \lambda \mathbf{I}) 总是可逆的,即使 ΦΦ\mathbf{\Phi}^\top \mathbf{\Phi} 是奇异的。(是wML\mathbf{w}_{ML}的拓展,见上wML\mathbf{w}_{ML}-最小二乘问题的正规方程

决策理论

直觉:你预测明天的气温是 25C25^\circ C,实际是 23C23^\circ C。这个预测”差了多少”?差 2C2^\circ C 意味着什么代价?决策理论(decision theory)就是回答”如何根据概率模型做出最优预测”的框架,详见第3篇(分类)中的进一步讨论。

下一章还会详细说明

决策理论指导我们如何根据概率模型做出最优预测。对于回归问题,我们使用损失函数(loss function,量化预测与真实值之间”代价”的函数)L(t,y(x))L(t, y(\mathbf{x})) 来量化预测 y(x)y(\mathbf{x}) 与真实值 tt 之间的代价。目标是选择预测函数 y(x)y(\mathbf{x})最小化期望损失

E[L]=L(t,y(x))p(x,t)dxdt\mathbb{E}[L] = \iint L(t, y(\mathbf{x})) p(\mathbf{x}, t) d\mathbf{x} dt

对于平方损失 L(t,y)={yt}2L(t, y) = \{y - t\}^2,最小化期望损失得到的最优预测函数是条件均值

y(x)=Et[tx]=tp(tx)dty(\mathbf{x}) = \mathbb{E}_t[t|\mathbf{x}] = \int t p(t|\mathbf{x}) dt

注意不要将误差函数和损失函数搞混,误差函数用于在训练过程中设置参数,而损失函数用于控制如何使用条件分布来达到预测函数f(x)以预测x,这正是线性回归模型试图学习的目标。

期望损失可以分解为两部分:

E[L]={y(x)E[tx]}2p(x)dx+var[tx]p(x)dx\mathbb{E}[L] = \int \{y(\mathbf{x}) - \mathbb{E}[t|\mathbf{x}]\}^2 p(\mathbf{x}) d\mathbf{x} + \int \mathrm{var}[t|\mathbf{x}] p(\mathbf{x}) d\mathbf{x}

第一项是预测函数与真实回归函数之间的均方误差(可以通过改进模型来减小),第二项是目标变量在给定输入下的方差(irreducible error,不可约误差,无论模型多好都无法消除的噪声)。

最小化平方损失的回归函数由条件分布的均值给出

最小化平方损失的回归函数由条件分布的均值给出


其他损失函数:

  • Minkowski 损失:Lq=ytqL_q = |y - t|^q
  • q=2q=2:最优解为条件均值。
  • q=1q=1:最优解为条件中位数。
  • q0q \to 0:最优解为条件众数。

q值不同的影响1 q值不同的影响2

q取不同值时的影响

偏差-方差权衡

直觉(打靶比喻):想象你在打靶。

  • **偏差(bias)**是你的枪口瞄得准不准——如果瞄准镜歪了,所有子弹都会偏离靶心,但弹孔很集中。
  • **方差(variance)**是你的手抖不抖——即使瞄准镜没问题,手抖会让弹孔散布在靶心周围。
  • 高偏差+低方差 = 枪口歪但手稳(简单模型,欠拟合)
  • 低偏差+高方差 = 枪口正但手抖(复杂模型,过拟合)
  • 最佳 = 枪口正且手稳(偏差和方差的平衡点)

在模型选择中,存在偏差(bias,模型的系统性预测偏差)和方差(variance,模型对训练数据变化的敏感程度)之间的权衡。偏差衡量模型的平均预测与真实函数之间的系统性偏差。方差衡量模型预测对特定训练数据集的敏感性。

考虑一个简单的回归问题,其中真实函数为 f(x)f(x),观测数据由 t=f(x)+ϵt = f(x) + \epsilon 生成,ϵ\epsilon 为零均值噪声。使用一个模型 y(x;D)y(x; \mathcal{D})(依赖于数据集 D\mathcal{D})进行预测。期望预测误差可以分解为:

E[(yt)2]=E[(yyˉ+yˉf+ft)2]=E[(yyˉ+yˉfϵ)2]=E[(yyˉ)2+(yˉf)2+ϵ2+]=(yˉ(x)f(x))2+E[(y(x;D)yˉ(x))2]+E[ϵ2]\begin{aligned} \mathbb{E}[(y - t)^2] &= \mathbb{E}[(y - \bar{y} + \bar{y} - f + f - t)^2] \\ &= \mathbb{E}[(y - \bar{y} + \bar{y} - f - \epsilon)^2] \\ &= \mathbb{E}[(y - \bar{y})^2 + (\bar{y} - f)^2 + \epsilon^2 + \cdots] \\ &= (\bar{y}(x) - f(x))^2 + \mathbb{E}[(y(x; \mathcal{D}) - \bar{y}(x))^2] + \mathbb{E}[\epsilon^2] \end{aligned}

其中 yˉ(x)=ED[y(x;D)]\bar{y}(x) = \mathbb{E}_\mathcal{D}[y(x; \mathcal{D})] 是模型在不同数据集上的平均预测(想象用无数个不同的训练集训练同一个模型,取预测的平均值)。

  • 高偏差,低方差(打靶时瞄准镜歪但手稳):简单模型(如低阶多项式)可能无法捕捉数据的复杂性,导致高偏差,但其预测对数据集的变化不敏感(低方差) -> 欠拟合(underfitting,模型太简单,连训练数据的规律都没学到)
  • 低偏差,高方差(打靶时瞄准镜正但手抖):复杂模型(如高阶多项式)可以很好地拟合训练数据(低偏差),但可能对训练数据中的噪声过度拟合,导致在不同数据集上预测差异很大(高方差) -> 过拟合

最优模型在偏差和方差之间取得平衡,使总误差最小。这个权衡是第1篇中模型选择问题的理论基础,也会在第3篇(分类)中再次出现。

偏差-方差权衡

偏差-方差权衡(左边方差越来越大,右边偏差越来越小)

习题3

你做线性回归,加了 L2 正则化之后测试集表现变好了。这玩意儿是怎么”歪打正着”改善泛化的?

正则化就是给模型加个”紧箍咒”——不让权重太大。这么一来模型复杂度降了,方差跟着降(没那么容易被噪声带跑了),但偏差会稍微涨一点(没那么灵活了)。不过只要正则化强度合适,方差降的那部分比偏差涨的那部分大,总误差反而变小了。

说白了就是:宁可稍微欠拟合一点,也别过拟合到训练集的噪声上。


第4章小结

一句话版本:线性回归 = 在散点图上画最佳拟合线;决策理论 = 告诉你”最佳”怎么定义(最小化损失);偏差-方差权衡 = 模型太简单会欠拟合、太复杂会过拟合,需要找平衡点。

知识地图

单层网络:回归
├── 线性回归
│ ├── 基础模型:y = w^T x(画直线)
│ ├── 基函数扩展:y = w^T phi(x)(画曲线)
│ ├── 参数学习
│ │ ├── 最大似然 ≡ 最小二乘(正规方程)
│ │ ├── 几何解释:正交投影
│ │ └── 序贯学习:SGD / LMS
│ └── 正则化:L2 权重衰减(防过拟合)
├── 决策理论
│ ├── 损失函数:量化预测代价
│ ├── 平方损失 → 最优预测 = 条件均值
│ └── 期望损失 = 可约误差 + 不可约误差
└── 偏差-方差权衡
├── 偏差:瞄准镜准不准(系统误差)
├── 方差:手抖不抖(对数据敏感度)
└── 最优模型 = 偏差与方差的平衡点

感谢您的阅读!如果可以,给俺点些关注吧~

深度学习笔记-2:概率分布、线性回归与偏差-方差权衡

周一 9月 01 2025
11037 · 43 分钟
封面
示例歌曲
示例艺术家
封面
示例歌曲
示例艺术家
0:00 / 0:00