Skip to content

Fréchet 均值原型

Fréchet 均值原型是度量空间中使到所有数据点距离平方和最小的中心点。它将求平均的运算从平坦向量空间推广到任意弯曲空间或复杂对象。

当处理的数据不是简单向量(例如复杂矩阵、概率分布、曲面上的点),无法直接求和再除以 NN 时,Fréchet 均值就变得必不可少。

Fréchet 均值原型(Fréchet Mean Prototype)的核心价值在于,它将「求平均」这一运算从平坦向量空间推广到任意弯曲空间或复杂对象,使许多经典统计方法与机器学习算法能够处理非向量数据。

均值原型

一组向量的均值原型(Mean Prototype),是指对向量的各个对应分量分别求算术平均所得到的新向量。

更具体地说:假设有 mmnn 维向量:

v1,v2,,vm \mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_m

其中每个向量 vi=(vi1,vi2,,vin)\mathbf{v}_i = (v_{i1}, v_{i2}, \dots, v_{in})

均值原型 μ\boldsymbol{\mu} 简单地定义为:

μ=1mi=1mvi \boldsymbol{\mu} = \frac{1}{m} \sum_{i=1}^{m} \mathbf{v}_i

即:

μ=(1mi=1mvi1, 1mi=1mvi2, , 1mi=1mvin) \boldsymbol{\mu} = \left( \frac{1}{m}\sum_{i=1}^{m} v_{i1},\ \frac{1}{m}\sum_{i=1}^{m} v_{i2},\ \dots,\ \frac{1}{m}\sum_{i=1}^{m} v_{in} \right)

直观来看,均值向量就是这组向量的「中心点」或「平均位置」。在数据分析和机器学习(例如聚类、PCA)中,它常用于表示数据集的整体趋势。均值原型可以看作「在欧氏几何 + 高斯假设下的最优代表点」。如果你的样本嵌入在单位球面上,或服从 vMF 分布,那么欧氏均值就不再是最优的了。

几何中位数原型

几何中位数原型(Geometric Median Prototype)指的是:对于一组向量(数据点),找到一个点,使得到所有数据点的欧氏距离之和最小。这个点就是这组向量的几何中位数,并作为代表整个数据集的「原型」。

形式化定义:给定 mmnn 维向量 v1,v2,,vm\mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_m,几何中位数 p\mathbf{p} 满足:

p=argminxRni=1mxvi2\mathbf{p} = \arg\min_{\mathbf{x} \in \mathbb{R}^n} \sum_{i=1}^m \|\mathbf{x} - \mathbf{v}_i\|_2

其中 2\|\cdot\|_2L2L2 范数下的欧氏距离。

直观来看,在一维情形下:几何中位数就是通常的中位数(使绝对偏差之和最小)。推广到多维情形:它是空间中使得到所有数据点的「总直线距离」最小的点。可以想象在平面上找一个位置,使得到所有给定点的总旅行距离最小,类似于在几座城市之间找一个使总旅行距离最小的集合点。

几何中位数原型具有很强的稳健性,这是它最重要的特性——即使数据中包含少量异常值,几何中位数仍然能反映「大多数」点的中心。它在旋转和平移下是等变的:如果数据被旋转或平移,几何中位数也会相应变化。它可以位于数据点之间的任意位置(与 K-medoids 不同,后者只能选取实际的数据点)。

由于没有闭式解,通常使用 Weiszfeld 算法(迭代加权平均):

pt+1=i=1mviptvii=1m1ptvi\mathbf{p}_{t+1} = \frac{\sum_{i=1}^m \frac{\mathbf{v}_i}{\|\mathbf{p}_t - \mathbf{v}_i\|}}{\sum_{i=1}^m \frac{1}{\|\mathbf{p}_t - \mathbf{v}_i\|}}

初始值可以取均值向量,迭代直至收敛。注意:当 pt\mathbf{p}_t 恰好与某个数据点重合时需要进行特殊处理(跳过该点)。

当数据包含异常值或噪声时,它用于表示「典型样本」而非均值。因此,在一些聚类算法中,它被用作簇中心(比 K-means 更稳健)。

在视频背景建模中,多帧的几何中位数可以用作背景(不受前景运动物体影响)。它也用于在多个需求点之间寻找最优服务点(例如医院、仓库选址)。

几何中位数原型是数据点的「空间中心」,使得到所有点的总欧氏距离最小,并且比均值向量对异常值更稳健。

LpL_p 欧氏范数

欧氏范数是最为人熟知的「向量距离」。不同的范数本质上定义了「距离或大小意味着什么」,不同的定义会直接改变几何结构、优化行为乃至模型的偏好。一般来说,我们讨论的是 LpL_p 范数,其中 pp 是一个参数。

对于 nn 维向量 x=(x1,x2,...,xn)\mathbf{x} = (x_1, x_2, ..., x_n),Lp 范数定义为:

xp=(i=1nxip)1/p,p1\|\mathbf{x}\|_p = \left( \sum_{i=1}^{n} |x_i|^p \right)^{1/p}, \quad p \ge 1

pp 取不同值会得到不同范数下的距离。当 p=1p=1 时,得到 L1L_1 范数下的距离:

x1=i=1nxi=x1+x2+...+xn\|\mathbf{x}\|_1 = \sum_{i=1}^{n} |x_i| = |x_1| + |x_2| + ... + |x_n|

直观来看,它就是各分量绝对值之和。在二维平面中,L1L_1 距离就是曼哈顿距离(只能沿坐标轴方向移动)。例如,x=(3,4)\mathbf{x} = (3, -4)L1L_1 范数为 x1=3+4=3+4=7\|\mathbf{x}\|_1 = |3| + |-4| = 3 + 4 = 7

p=2p=2 时,L2L_2 范数下的距离定义为:

x2=i=1nxi2=x12+x22+...+xn2\|\mathbf{x}\|_2 = \sqrt{\sum_{i=1}^{n} x_i^2} = \sqrt{x_1^2 + x_2^2 + ... + x_n^2}

直观来看,它就是几何中从原点到该点的直线距离。例如,x=(3,4)\mathbf{x} = (3, -4)L2L_2 范数为 x2=32+(4)2=9+16=5\|\mathbf{x}\|_2 = \sqrt{3^2 + (-4)^2} = \sqrt{9+16} = 5。几何上,当 x2=1\|\mathbf{x}\|_2 = 1 时,向量落在单位圆上。

总而言之,L1L_1 范数下的距离是各坐标绝对值之和(曼哈顿距离),会产生稀疏解。L2L_2 范数是平方和的平方根(欧氏距离),光滑且易于优化。一般的 LpL_p 公式是各分量 pp 次幂之和的 (1/p)(1/p) 次方,当 pp \to \infty 时趋近于最大值。

逐坐标中位数原型

逐坐标中位数原型(Coordinate-wise Median Prototype)指的是:对于多维数据集,分别在每个维度(坐标)上计算中位数,然后将这些中位数组合成新向量,作为整个数据集的「原型」或中心代表。

假设有 mmnn 维向量 v1,v2,,vm\mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_m,其中

vi=(vi1,vi2,,vin)\mathbf{v}_i = (v_{i1}, v_{i2}, \dots, v_{in})

逐坐标中位数原型 p=(p1,p2,,pn)\mathbf{p} = (p_1, p_2, \dots, p_n) 定义为:

pj=中位数(v1j,v2j,,vmj),j=1,2,,np_j = \text{中位数}(v_{1j}, v_{2j}, \dots, v_{mj}), \quad j = 1, 2, \dots, n

也就是说,每个分量独立地取所有数据点在该维度上的中位数。

如果旋转 45 度,逐坐标中位数的结果会发生变化(不具有旋转等变性),而几何中位数则会相应旋转。

在计算上,它只需对每个维度排序 O(mlogm)O(m \log m) 或使用选择算法 O(m)O(m),并且最多可以抵抗 50% 的任意极端异常值。

然而,坐标轴的选择会影响结果。如果数据存在相关性(例如倾斜的椭圆),逐坐标中位数可能会完全偏离真实的中心。它必然落在每个维度的取值范围之内,因此位于数据沿坐标轴的包围盒内,但不一定位于数据点的凸包内(因为每个维度都是独立选取的)。在机器学习中,它缺乏全局优化目标,不同于中位数或几何中位数那样最小化某种距离之和。它不适合用于目标函数。

当数据存在异常值且各维度相对独立时,它对异常值具有稳健性。

例如,在三维空间中,我们有一个 4×34 \times 3 的向量矩阵:

(5374856712151013)\begin{pmatrix} 5 & 3 & 7 & 4 \\ 8 & 5 & 6 & 7 \\ 12 & 15 & 10 & 13 \end{pmatrix}

第 1 维的中位数是 4.54.5,第 2 维是 6.56.5,第 3 维是 12.512.5

它的逐坐标中位数原型为 (4.5,6.5,12.5)T(4.5, 6.5, 12.5)^T

推广到一般范数

在定义了欧氏范数之后,让我们重新审视均值原型、几何中位数原型和逐坐标中位数原型的定义。显然,我们可以用欧氏范数来定义它们。

均值原型是使得到所有点的欧氏距离平方和(L2L_2 距离范数)最小的点:

μ=argminxRni=1mxvi22\mathbf{\mu} = \arg\min_{\mathbf{x} \in \mathbb{R}^n} \sum_{i=1}^m \|\mathbf{x} - \mathbf{v}_i\|_2^2

几何中位数原型是使得到所有点的欧氏距离之和(L2L_2 距离范数)最小的点:

p=argminxRni=1mxvi2\mathbf{p} = \arg\min_{\mathbf{x} \in \mathbb{R}^n} \sum_{i=1}^m ||\mathbf{x} - \mathbf{v}_i||_2

逐坐标中位数原型是使得到所有点的曼哈顿距离之和(L1L_1 距离范数)最小的点:

p=argminxRni=1mxvi1\mathbf{p} = \arg\min_{\mathbf{x} \in \mathbb{R}^n} \sum_{i=1}^m ||\mathbf{x} - \mathbf{v}_i||_1

至此,我们可以统一上述所有概念:

p=argminxRni=1mxvipq\mathbf{p} = \arg\min_{\mathbf{x} \in \mathbb{R}^n} \sum_{i=1}^m \|\mathbf{x} - \mathbf{v}_i\|_p^q

其中 pp 是距离范数,qq 是该范数下距离所取的幂次。pp 决定了如何度量距离,而 qq 决定了对异常值的惩罚程度:qq 越大,对异常值越敏感。

这一公式也描述了广义 Weber 选址问题(Generalized Weber Location Problem)的核心目标函数。

ChongQing