Skip to content

超球面上的 vMF 分布简介

von Mises–Fisher 分布(vMF)通常被视为正态分布在超球面上的对应物,因为它刻画了在单位超球面上围绕某一平均方向聚集的数据。

von Mises–Fisher 分布(vMF)通常被视为正态分布在超球面上的对应物,因为它刻画了在单位超球面上围绕某一平均方向聚集的数据。在欧氏空间中,正态分布通常用均值 μ\mu 和方差 σ2\sigma^2 参数化,在一维情形下其密度形成熟悉的钟形曲线。正如正态分布在给定均值和方差约束下是最大熵分布一样,vMF 分布在给定平均方向约束下是球面上的最大熵分布。根据中心极限定理(Central Limit Theorem):球面上随机游走或累积方向向量的极限分布也会趋向于 vMF 分布。

基本概念

定义域:(d−1)(d-1) 维单位球面

Sd−1={x∈Rd:∥x∥=1}\mathbb{S}^{d-1} = \{ \mathbf{x} \in \mathbb{R}^d : \|\mathbf{x}\|=1 \}

参数:

  • 平均方向 μ∈Sd−1\boldsymbol{\mu} \in S^{d-1}
  • 集中参数 κ≥0\kappa \ge 0

概率密度函数(关于球面上的均匀测度):

f(x∣μ,κ)=Cd(κ)exp⁡(κμ⊤x)f(\mathbf{x} \mid \boldsymbol{\mu}, \kappa) = C_d(\kappa) \exp(\kappa \boldsymbol{\mu}^\top \mathbf{x})

其中

Cd(κ)=κd2−1(2π)d/2Id2−1(κ)C_d(\kappa) = \frac{\kappa^{\frac{d}{2} - 1}}{(2\pi)^{d/2} I_{\frac{d}{2} - 1}(\kappa)}

IνI_\nu 是第一类修正贝塞尔函数。

直观理解

  • κ=0\kappa = 0:球面上的均匀分布(没有方向偏好)
  • κ>0\kappa > 0:分布集中在 μ\boldsymbol{\mu} 周围,κ\kappa 越大表示集中程度越高
  • κ→∞\kappa \to \infty:趋于在 μ\boldsymbol{\mu} 处的点质量

因此,vMF 分布提供了如下类比:

  • 在 Rp\mathbb{R}^p 中,正态分布通过精度矩阵控制集中程度
  • 在球面上,vMF 分布控制围绕 μ\boldsymbol{\mu} 的集中程度

性质

指数族性质

vMF 分布属于指数族。

其形式为:

f(x∣θ)=h(x)exp⁡(θTx−A(θ))f(x|\theta) = h(x)\exp(\theta^T x - A(\theta))

其中

θ=κμ\theta = \kappa \mu

因此,vMF 分布享有指数族的标准性质:

  • 存在充分统计量
  • 最大似然估计简单
  • 便于在 EM 算法中使用

充分统计量:

T(x)=xT(x) = x

一阶矩(均值)

E[x]=Ad(κ)μE[x] = A_d(\kappa)\mu

其中

Ad(κ)=Id/2(κ)Id/2−1(κ)A_d(\kappa) = \frac{I_{d/2}(\kappa)}{I_{d/2-1}(\kappa)}

函数 Ad(κ)A_d(\kappa) 称为平均合向量长度函数。

二阶矩

E[xxT]=Ad(κ)κI+(1−dAd(κ)κ)μμTE[xx^T] = \frac{A_d(\kappa)}{\kappa} I + \left(1 - \frac{dA_d(\kappa)}{\kappa}\right)\mu\mu^T

旋转不变性

对于任意正交矩阵 RR,

若

x∼vMF(μ,κ)x \sim \text{vMF}(\mu,\kappa)

则

Rx∼vMF(Rμ,κ)Rx \sim \text{vMF}(R\mu,\kappa)

这表明 vMF 分布在旋转群下具有不变性。

信息几何性质

vMF 分布族构成一个信息几何流形。

Fisher 信息:

I(κ)=−∂2∂κ2log⁡Cd(κ)I(\kappa) = -\frac{\partial^2}{\partial \kappa^2} \log C_d(\kappa)

这使得可以使用自然梯度和信息几何优化。

熵

vMF 分布的熵为:

H=−κAd(κ)+log⁡Cd(κ)+d2log⁡(2π)H = -\kappa A_d(\kappa) + \log C_d(\kappa) + \frac{d}{2}\log(2\pi)

性质:κ\kappa 越大,熵越小。

球谐展开

vMF 分布可以展开为:

f(x)=∑lalYl(x)f(x) = \sum_l a_l Y_l(x)

其中 YlY_l 是球谐函数。

球冠

在 von Mises–Fisher 分布中,概率质量主要集中在平均方向 μ\mu 周围。
因此,常用球冠来描述置信区域。

设 x∼vMF(μ,κ)x \sim \text{vMF}(\mu,\kappa),x,μ∈Sd−1x,\mu \in S^{d-1},并令 θ\theta 为两向量之间的夹角:

cos⁡θ=μTx\cos\theta = \mu^T x

置信区域可以写为

θ≤θc\theta \le \theta_c

即以 μ\mu 为轴心的球冠。

在单位超球面 Sd−1\mathbb{S}^{d-1} 上,

球冠的面积为:

A(θ)=12Ad−1 Isin⁡2θ(d−12,12)A(\theta) = \frac{1}{2} A_{d-1} \, I_{\sin^2\theta}\left(\frac{d-1}{2},\frac12\right)

其中 Ad−1A_{d-1} 是球面的总表面积,由下式给出:

Ad−1=2πd/2Γ(d/2)A_{d-1} = \frac{2\pi^{d/2}}{\Gamma(d/2)}

Ix(a,b)I_x(a,b) 是正则化不完全贝塔函数。

对于 d=3d=3:

球冠面积:

A(θ)=2π(1−cos⁡θ)A(\theta) = 2\pi (1-\cos\theta)

球面总面积:4π4\pi

面积占比:P(θ)=1−cos⁡θ2P(\theta) = \frac{1-\cos\theta}{2}。

在高维情形下,vMF 分布在球冠内的概率为:

P(θ≤θc)=∫0θceκcos⁡θ(sin⁡θ)d−2 dθ∫0πeκcos⁡θ(sin⁡θ)d−2 dθP(\theta \le \theta_c) = \frac{ \int_0^{\theta_c} e^{\kappa\cos\theta} (\sin\theta)^{d-2} \,d\theta }{ \int_0^{\pi} e^{\kappa\cos\theta} (\sin\theta)^{d-2} \,d\theta }

该式没有简单的闭式解。

通常使用近似方法。

当 κ\kappa 较大时,分布集中在 μ\mu 周围。利用

cos⁡θ≈1−θ22\cos\theta \approx 1 - \frac{\theta^2}{2}

可得

eκcos⁡θ≈eκe−κθ2/2e^{\kappa\cos\theta} \approx e^{\kappa} e^{-\kappa\theta^2/2}

因此,在局部范围内,vMF 分布近似于高斯分布:

θ∼N(0,1κ)\theta \sim \mathcal{N}\left(0,\frac1\kappa\right)

若置信概率为 pp,则

θc≈2κ zp\theta_c \approx \sqrt{\frac{2}{\kappa}} \, z_p

其中 zpz_p 是正态分布的分位数。

示例:

置信度zpz_p
90%1.64
95%1.96
99%2.58

因此,95% 置信锥角为:

θ95≈1.962κ\theta_{95} \approx 1.96\sqrt{\frac{2}{\kappa}}

在高维 dd 下,我们有

μTx≈N(Ad(κ),1−Ad(κ)2d)\mu^T x \approx \mathcal{N}\left(A_d(\kappa), \frac{1-A_d(\kappa)^2}{d}\right)

其中

Ad(κ)=Id/2(κ)Id/2−1(κ)A_d(\kappa) = \frac{I_{d/2}(\kappa)}{I_{d/2-1}(\kappa)}

因此,置信角满足:

cos⁡θc=Ad(κ)−zp1−Ad(κ)2d\cos\theta_c = A_d(\kappa) - z_p \sqrt{\frac{1-A_d(\kappa)^2}{d}}

对于小角度:

A(θ)≈Cd θd−1A(\theta) \approx C_d \, \theta^{d-1}

其中

Cd=2π(d−1)/2Γ((d−1)/2)C_d = \frac{2\pi^{(d-1)/2}}{\Gamma((d-1)/2)}

因此,球冠面积随 θd−1\theta^{d-1} 增长,这正是高维球体体积集中在赤道附近的一个关键原因。

在许多嵌入论文中,使用如下公式:

θ典型≈d−1κ\theta_{\text{典型}} \approx \sqrt{\frac{d-1}{\kappa}}

解释:vMF 分布的大部分概率质量位于

θ≲d−1κ\theta \lesssim \sqrt{\frac{d-1}{\kappa}}

直觉:κ\kappa 决定了方向噪声的大小:

θ∼O(1/κ)\theta \sim O(\sqrt{1/\kappa})

这些公式常用于球面嵌入、CLIP 嵌入、对比学习、球面聚类和方向统计。

例如,可以用 κ\kappa 来估计:嵌入中的角度噪声、聚类的角半径、原型的置信锥。

vMF 分布的概率质量集中在

θ∼O(1/κ)\theta \sim O(\sqrt{1/\kappa})

对应的置信区域是以 μ\mu 为轴心、角半径约为 1/κ\sqrt{1/\kappa} 的球冠。

参数估计

估计 κ\kappa 是最具挑战性的部分,因为它需要求解涉及修正贝塞尔函数的方程。

下面列出几种实用的近似算法或公式,用于估计 vMF 分布的 κ\kappa 参数,大体按常用程度排序。

给定样本 x1,...,xnx_1,...,x_n,每个 xi∈Sd−1x_i \in \mathbb{S}^{d-1}。

首先计算:

Rˉ=∣∑i=1nxi∣n\bar{R} = \frac{|\sum_{i=1}^n x_i|}{n}

平均方向:

μ=∑xi∣∑xi∣\mu = \frac{\sum x_i}{|\sum x_i|}

κ\kappa 的精确方程为:

Ad(κ)=RˉA_d(\kappa) = \bar{R}

其中

Ad(κ)=Id/2(κ)Id/2−1(κ)A_d(\kappa) = \frac{I_{d/2}(\kappa)}{I_{d/2-1}(\kappa)}

这涉及第一类修正贝塞尔函数,因此必须采用近似或数值求解。

Banerjee 近似(最常用)

来源:Arindam Banerjee,2005:「Clustering on the Unit Hypersphere using von Mises-Fisher」

适用于高维情形 d≥3d \ge 3

κ≈Rˉ(d−Rˉ2)1−Rˉ2\kappa \approx \frac{\bar{R}(d-\bar{R}^2)}{1-\bar{R}^2}

优点:非常简单,计算量为 O(1)O(1),在高维下表现良好。缺点:在低维下偏差较大。

这是球面 k-means 或 vMF 混合模型最常用的初始化公式。

Sra 近似 + Newton 精化(推荐)

来源:Suvrit Sra,2012:「A Short Note on Parameter Approximation for vMF」

初始值:

κ0=Rˉ(d−Rˉ2)1−Rˉ2\kappa_0 = \frac{\bar{R}(d-\bar{R}^2)}{1-\bar{R}^2}

然后应用 Newton 迭代:

κt+1=κt−Ad(κt)−Rˉ1−Ad(κt)2−d−1κtAd(κt)\kappa_{t+1} = \kappa_t - \frac{A_d(\kappa_t)-\bar{R}}{1-A_d(\kappa_t)^2-\frac{d-1}{\kappa_t}A_d(\kappa_t)}

优点:精度很高,只需 2–3 次迭代。

许多库都采用这种方法。

Minka 近似

来源:Thomas Minka

公式:

κ≈Rˉ(d−Rˉ2)1−Rˉ2+Rˉ2(d−1)\kappa \approx \frac{\bar{R}(d-\bar{R}^2)}{1-\bar{R}^2} + \frac{\bar{R}}{2(d-1)}

特点:比 Banerjee 近似略准确,且仍为闭式形式。

大 κ\kappa 渐近近似

当 κ\kappa 非常大时:

Ad(κ)≈1−d−12κA_d(\kappa) \approx 1 - \frac{d-1}{2\kappa}

求逆可得:

κ≈d−12(1−Rˉ)\kappa \approx \frac{d-1}{2(1-\bar{R})}

适用于嵌入高度集中的情形,例如对比学习中。

小 κ\kappa 近似

当 κ\kappa 非常小时:

Ad(κ)≈κdA_d(\kappa) \approx \frac{\kappa}{d}

因此,

κ≈dRˉ\kappa \approx d\bar{R}

适用于数据接近均匀分布的情形。

估计方法复杂度精度用途
Banerjee极低中等初始化
Sra + Newton中等高推荐
Minka低中高快速估计
大 κ\kappa极低高(大 κ\kappa 时)高集中度
小 κ\kappa极低高(小 κ\kappa 时)接近均匀