两个重要的概率密度#
类条件概率 p(x∣ωi) 和先验概率 P(ωi)
- 方法A(参数法):假设已知 p(x∣ωi) 的参数形式(如高斯分布、伯努利分布)。唯一未知的是参数 θi(如 μ,Σ)。
- 方法B(非参数法):不假设任何分布形式,直接从数据中“拼凑”出密度函数。如parzen窗口法、k近邻法等。
重点关注 p(x∣ωi) 的估计方法。
类条件概率的参数估计#
假设前提:
- 假设类条件概率的分布长这样:p(x∣ωi)=p(x∣ωi;θi)。
- 独立同分布:同一类别(ωi 相同)的样本是独立同分布的随机变量。可以把联合概率写成乘积的形式:p(Di∣ωi)=∏j=1Nip(xj∣ωi)。其中 Di={xj∣yj=ωi} 是第 i 类的训练样本集合,Ni 是第 i 类的样本数。
方便起见通常把类 ωi 省略掉,参数 θi 简称为 θ
最大似然估计(MLE)#
最大似然估计的核心思想是:在给定数据的前提下,找到使得 数据出现概率 p(Di∣θi) 最大的参数值 θi^。
似然L(θi)=p(Di∣θi)=∏j=1Nip(xj∣ωi;θi)。
-
对数化 l(θi)=lnp(Di∣θi)=∑j=1Nilnp(xj∣ωi;θi)。
-
目标函数 θi^=argmaxθil(θi)=argmaxθilnp(Di∣θi)。
-
计算:解方程 ∂θ∂l(θ)=0
对于服从高斯分布的类条件概率,参数 θi 包括均值 μi 和协方差矩阵 Σi,MLE 的解为:
μ^ML=Ni1j=1∑Nixj,Σ^ML=Ni1j=1∑Ni(xj−μ^ML)(xj−μ^ML)T最大后验估计(MAP)#
核心思想:在 MLE 的基础上,引入对参数 θi 的先验知识 p(θi),最大化后验概率 p(θi∣Di) 而非似然:
p(θi∣Di)=p(Di)p(Di∣θi)p(θi)∝p(Di∣θi)p(θi)与 MLE 相比,目标函数仅多了一项 lnp(θi),其余结构完全相同:
l(θi)=MLElnp(Di∣θi)+lnp(θi)=j=1∑Nilnp(xj∣ωi;θi)+lnp(θi)θi^=argmaxθil(θi),计算:解 ∂θi∂l(θi)=0。
先验 p(θi) 起到了正则化的作用:
- 高斯先验 → Ridge回归(L2正则化)
- 拉普拉斯先验 → Lasso回归(L1正则化)
贝叶斯估计(Bayesian Estimation)#
计算参数 θi 的 后验分布 p(θi∣Di),而不是单一的点估计 θi^。
学习过程#
计算后验分布 p(θi∣Di)=p(Di)p(Di∣θi)p(θi)=∫p(Di∣θi)p(θi)dθip(Di∣θi)p(θi)。分母那一坨是归一化用的。
分类过程(预测)#
对于一个新的样本 x,计算其类条件概率的 预测分布:
p(x∣ωi)=p(x∣Di)=∫p(x∣θi)p(θi∣Di)dθi与 MAP 用 θ^ 这一个点不同,Bayesian 估计里 θ 服从后验分布 p(θi∣Di),积分就是在对 θ 的不确定性做平均(边际化)。如果后验本身很尖(数据足够多),结果接近 MAP;如果后验很宽(数据少),积分会自动分散权重,不会过度自信。
然后根据最小错误率准则,计算后验概率 P(ωi∣x)∝p(x∣Di)P(ωi),选择后验概率最大的类别 ωi 作为预测结果。
附:偏差-方差分解(Bias-Variance Decomposition)#
MLE、MAP、Bayesian 三种估计方法的差异可以由偏差-方差分解来解释。对于参数 θ 的任意估计量 θ^,其均方误差(MSE)可分解为:
- 偏差:Bias(θ^)=E[θ^]−θ,衡量估计的系统性偏离
- 方差:Var(θ^)=E[(θ^−E[θ^])2],衡量估计对样本的敏感程度
分解公式#
MSE(θ^)=E[(θ^−θ)2]=E[(θ^−E[θ^]+E[θ^]−θ)2]=Var(θ^)E[(θ^−E[θ^])2]+2=0E[(θ^−E[θ^])](E[θ^]−θ)+Bias(θ^)2(E[θ^]−θ)2=Var(θ^)+Bias(θ^)2其中交叉项为 0 是因为 E[θ^−E[θ^]]=0。
与三种方法的关系#
| 方法 | 偏差 | 方差 | 说明 |
|---|
| MLE | 渐近无偏(Bias→0 当 N→∞) | 高(完全由数据驱动) | 样本少时易过拟合 |
| MAP | 有偏(被先验拉向 p(θ) 的峰值) | 比 MLE 低(先验起约束作用) | 先验是正则项,N 增大时先验影响衰减 |
| Bayesian | 不适用(无点估计) | 不适用(全分布) | 天然避免了”单点估计”的风险 |
核心权衡:偏差和方差是跷跷板——降低一个通常会抬升另一个。MLE 追求无偏但方差大,MAP 引入偏差来压低方差,Bayesian 则跳出”点估计”框架不再做这个权衡。三种参数估计方法的递进正是在探索不同的偏差-方差折衷策略。
类条件概率的非参数估计#
令 R 是包含样本点 x 的一个区域,其体积为 V,设有 n 个训练样本,其中有 k 个落在区域 R 中,则可对概率密度作出一个估计:
p(x)≈nVk关于此估计的收敛性:
选择一系列包含样本点 x 的区域 Rn(n代表样本数量),其体积为 Vn,包含的训练样本数为 kn,估计记作 p^n(x)=nVnkn,则当 n→∞ 时,p^n(x) 以概率1收敛于真实的概率密度 p(x) 的充分必要条件是:
- limn→∞Vn→0,即区域 Rn 的体积趋于0。
- limn→∞kn→∞,即区域 Rn 中的训练样本数趋于无穷大。
- limn→∞nkn→0,即区域 Rn 中的训练样本数占总样本数的比例趋于0。
核心矛盾在于:固定 n 时,如何平衡 V 和 k?由此衍生出两大经典流派:
Parzen窗口法#
先讲方窗的形式:
假设区域 Rn 是正方形/立方体窗口,其边长为 hn,则 Vn=hnd(d为维度)。
定义窗口函数 φ(u):
φ(u)={1,0,∥u∥∞≤1/2otherwise把这个窗口中心放在待估计点 x 上,那么窗口函数可以写成 φ(hnx−xj),括号中的一坨理解为:当其他样本 xj 落在窗口内(区域 Rn)时,函数值为1,否则为0。
通过推导过程可以得到窗函数的必要条件:
∫φ(u)du=1φ(u)≥0其他窗函数:
- 高斯窗:φ(u)=2π1exp(−21uTu)
- 指数窗:φ(u)=exp(−21∥u∥1)
计算落在窗口内的训练样本数 kn:
kn=j=1∑nφ(hnx−xj)因此概率密度的估计为:
p^n(x)=nVn1j=1∑nφ(hnx−xj)=nhnd1j=1∑nφ(hnx−xj)关键超参数:窗口宽度 hn 的选择
- hn 太大:窗口内包含过多样本,密度估计值是 n 个宽度较⼤、变化缓慢的函数的叠加估计过于平滑,其分辨率很低无法捕捉数据的细节。
- hn 太小:窗口内包含样本过少,密度估计值是 n 个以样本为中⼼的尖峰函数的叠加,估计方差较大,噪声敏感。
K近邻法#
固定点数 kn , kn 是样本总量n的函数,随着n的增加而增加,例如 kn=n
围绕待估计点 x 不断 扩大区域 Rn 范围 ,直到恰好包含预设的 kn 个训练样本为止,此时该邻域的体积即为 Vkn。
-
在样本密集的高密度区域,邻域体积 V 会自动缩小(提供精细分辨率)
-
在样本稀疏的低密度区域, V 会自动放大(避免估计值为零)。
-
但估计出的密度不是严格概率密度(积分不一定等于 1),且密度曲线不平滑(存在不连续点)。