von Mises–Fisher 分布(vMF)通常被视为正态分布在超球面上的对应物,因为它刻画了在单位超球面上围绕某一平均方向聚集的数据。在欧氏空间中,正态分布通常用均值 μ 和方差 σ2 参数化,在一维情形下其密度形成熟悉的钟形曲线。正如正态分布在给定均值和方差约束下是最大熵分布一样,vMF 分布在给定平均方向约束下是球面上的最大熵分布。根据中心极限定理(Central Limit Theorem):球面上随机游走或累积方向向量的极限分布也会趋向于 vMF 分布。
定义域:(d−1) 维单位球面
Sd−1={x∈Rd:∥x∥=1}参数:
- 平均方向 μ∈Sd−1
- 集中参数 κ≥0
概率密度函数(关于球面上的均匀测度):
f(x∣μ,κ)=Cd(κ)exp(κμ⊤x)其中
Cd(κ)=(2π)d/2I2d−1(κ)κ2d−1Iν 是第一类修正贝塞尔函数。
- κ=0:球面上的均匀分布(没有方向偏好)
- κ>0:分布集中在 μ 周围,κ 越大表示集中程度越高
- κ→∞:趋于在 μ 处的点质量
因此,vMF 分布提供了如下类比:
- 在 Rp 中,正态分布通过精度矩阵控制集中程度
- 在球面上,vMF 分布控制围绕 μ 的集中程度
vMF 分布属于指数族。
其形式为:
f(x∣θ)=h(x)exp(θTx−A(θ))其中
θ=κμ因此,vMF 分布享有指数族的标准性质:
- 存在充分统计量
- 最大似然估计简单
- 便于在 EM 算法中使用
充分统计量:
T(x)=xE[x]=Ad(κ)μ其中
Ad(κ)=Id/2−1(κ)Id/2(κ)函数 Ad(κ) 称为平均合向量长度函数。
E[xxT]=κAd(κ)I+(1−κdAd(κ))μμT对于任意正交矩阵 R,
若
x∼vMF(μ,κ)则
Rx∼vMF(Rμ,κ)这表明 vMF 分布在旋转群下具有不变性。
vMF 分布族构成一个信息几何流形。
Fisher 信息:
I(κ)=−∂κ2∂2logCd(κ)这使得可以使用自然梯度和信息几何优化。
vMF 分布的熵为:
H=−κAd(κ)+logCd(κ)+2dlog(2π)性质:κ 越大,熵越小。
vMF 分布可以展开为:
f(x)=l∑alYl(x)其中 Yl 是球谐函数。
在 von Mises–Fisher 分布中,概率质量主要集中在平均方向 μ 周围。
因此,常用球冠来描述置信区域。
设 x∼vMF(μ,κ),x,μ∈Sd−1,并令 θ 为两向量之间的夹角:
cosθ=μTx置信区域可以写为
θ≤θc即以 μ 为轴心的球冠。
在单位超球面 Sd−1 上,
球冠的面积为:
A(θ)=21Ad−1Isin2θ(2d−1,21)其中 Ad−1 是球面的总表面积,由下式给出:
Ad−1=Γ(d/2)2πd/2Ix(a,b) 是正则化不完全贝塔函数。
对于 d=3:
球冠面积:
A(θ)=2π(1−cosθ)球面总面积:4π
面积占比:P(θ)=21−cosθ。
在高维情形下,vMF 分布在球冠内的概率为:
P(θ≤θc)=∫0πeκcosθ(sinθ)d−2dθ∫0θceκcosθ(sinθ)d−2dθ该式没有简单的闭式解。
通常使用近似方法。
当 κ 较大时,分布集中在 μ 周围。利用
cosθ≈1−2θ2可得
eκcosθ≈eκe−κθ2/2因此,在局部范围内,vMF 分布近似于高斯分布:
θ∼N(0,κ1)若置信概率为 p,则
θc≈κ2zp其中 zp 是正态分布的分位数。
示例:
| 置信度 | zp |
|---|
| 90% | 1.64 |
| 95% | 1.96 |
| 99% | 2.58 |
因此,95% 置信锥角为:
θ95≈1.96κ2在高维 d 下,我们有
μTx≈N(Ad(κ),d1−Ad(κ)2)其中
Ad(κ)=Id/2−1(κ)Id/2(κ)因此,置信角满足:
cosθc=Ad(κ)−zpd1−Ad(κ)2对于小角度:
A(θ)≈Cdθd−1其中
Cd=Γ((d−1)/2)2π(d−1)/2因此,球冠面积随 θd−1 增长,这正是高维球体体积集中在赤道附近的一个关键原因。
在许多嵌入论文中,使用如下公式:
θ典型≈κd−1解释:vMF 分布的大部分概率质量位于
θ≲κd−1直觉:κ 决定了方向噪声的大小:
θ∼O(1/κ)这些公式常用于球面嵌入、CLIP 嵌入、对比学习、球面聚类和方向统计。
例如,可以用 κ 来估计:嵌入中的角度噪声、聚类的角半径、原型的置信锥。
vMF 分布的概率质量集中在
θ∼O(1/κ)对应的置信区域是以 μ 为轴心、角半径约为 1/κ 的球冠。
估计 κ 是最具挑战性的部分,因为它需要求解涉及修正贝塞尔函数的方程。
下面列出几种实用的近似算法或公式,用于估计 vMF 分布的 κ 参数,大体按常用程度排序。
给定样本 x1,...,xn,每个 xi∈Sd−1。
首先计算:
Rˉ=n∣∑i=1nxi∣平均方向:
μ=∣∑xi∣∑xiκ 的精确方程为:
Ad(κ)=Rˉ其中
Ad(κ)=Id/2−1(κ)Id/2(κ)这涉及第一类修正贝塞尔函数,因此必须采用近似或数值求解。
来源:Arindam Banerjee,2005:「Clustering on the Unit Hypersphere using von Mises-Fisher」
适用于高维情形 d≥3
κ≈1−Rˉ2Rˉ(d−Rˉ2)优点:非常简单,计算量为 O(1),在高维下表现良好。缺点:在低维下偏差较大。
这是球面 k-means 或 vMF 混合模型最常用的初始化公式。
来源:Suvrit Sra,2012:「A Short Note on Parameter Approximation for vMF」
初始值:
κ0=1−Rˉ2Rˉ(d−Rˉ2)然后应用 Newton 迭代:
κt+1=κt−1−Ad(κt)2−κtd−1Ad(κt)Ad(κt)−Rˉ优点:精度很高,只需 2–3 次迭代。
许多库都采用这种方法。
来源:Thomas Minka
公式:
κ≈1−Rˉ2Rˉ(d−Rˉ2)+2(d−1)Rˉ特点:比 Banerjee 近似略准确,且仍为闭式形式。
当 κ 非常大时:
Ad(κ)≈1−2κd−1求逆可得:
κ≈2(1−Rˉ)d−1适用于嵌入高度集中的情形,例如对比学习中。
当 κ 非常小时:
Ad(κ)≈dκ因此,
κ≈dRˉ适用于数据接近均匀分布的情形。
| 估计方法 | 复杂度 | 精度 | 用途 |
|---|
| Banerjee | 极低 | 中等 | 初始化 |
| Sra + Newton | 中等 | 高 | 推荐 |
| Minka | 低 | 中高 | 快速估计 |
| 大 κ | 极低 | 高(大 κ 时) | 高集中度 |
| 小 κ | 极低 | 高(小 κ 时) | 接近均匀 |