Skip to content

超球面上的 vMF 分布简介

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

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

基本概念

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

Sd1={xRd:x=1}\mathbb{S}^{d-1} = \{ \mathbf{x} \in \mathbb{R}^d : \|\mathbf{x}\|=1 \}

参数:

  • 平均方向 μSd1\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(κ)=κd21(2π)d/2Id21(κ)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(θTxA(θ))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/21(κ)A_d(\kappa) = \frac{I_{d/2}(\kappa)}{I_{d/2-1}(\kappa)}

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

二阶矩

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

旋转不变性

对于任意正交矩阵 RR

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

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

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

信息几何性质

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

Fisher 信息:

I(κ)=2κ2logCd(κ)I(\kappa) = -\frac{\partial^2}{\partial \kappa^2} \log C_d(\kappa)

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

vMF 分布的熵为:

H=κAd(κ)+logCd(κ)+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 周围。
因此,常用球冠来描述置信区域。

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

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

置信区域可以写为

θθc\theta \le \theta_c

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

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

球冠的面积为:

A(θ)=12Ad1Isin2θ(d12,12)A(\theta) = \frac{1}{2} A_{d-1} \, I_{\sin^2\theta}\left(\frac{d-1}{2},\frac12\right)

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

Ad1=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π(1cosθ)A(\theta) = 2\pi (1-\cos\theta)

球面总面积:4π4\pi

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

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

P(θθc)=0θceκcosθ(sinθ)d2dθ0πeκcosθ(sinθ)d2dθ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,则

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

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

示例:

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

因此,95% 置信锥角为:

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

在高维 dd 下,我们有

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

其中

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

因此,置信角满足:

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

对于小角度:

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

其中

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

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

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

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

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

θd1κ\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,每个 xiSd1x_i \in \mathbb{S}^{d-1}

首先计算:

Rˉ=i=1nxin\bar{R} = \frac{|\sum_{i=1}^n x_i|}{n}

平均方向:

μ=xixi\mu = \frac{\sum x_i}{|\sum x_i|}

κ\kappa 的精确方程为:

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

其中

Ad(κ)=Id/2(κ)Id/21(κ)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」

适用于高维情形 d3d \ge 3

κRˉ(dRˉ2)1Rˉ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ˉ(dRˉ2)1Rˉ2\kappa_0 = \frac{\bar{R}(d-\bar{R}^2)}{1-\bar{R}^2}

然后应用 Newton 迭代:

κt+1=κtAd(κt)Rˉ1Ad(κt)2d1κ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ˉ(dRˉ2)1Rˉ2+Rˉ2(d1)\kappa \approx \frac{\bar{R}(d-\bar{R}^2)}{1-\bar{R}^2} + \frac{\bar{R}}{2(d-1)}

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

κ\kappa 渐近近似

κ\kappa 非常大时:

Ad(κ)1d12κA_d(\kappa) \approx 1 - \frac{d-1}{2\kappa}

求逆可得:

κd12(1Rˉ)\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 时)接近均匀