正则化Ricci流嵌入:解决非欧几里得数据问题
在模式分析领域,非欧几里得相似度或邻近度数据的处理一直是一个具有挑战性的问题。传统的基于欧几里得空间的学习技术在处理这类数据时往往效果不佳。本文将介绍一种通过正则化Ricci流嵌入来解决非欧几里得数据问题的方法,包括其原理、算法步骤以及实验结果。
1. 非欧几里得数据处理背景
在许多实际应用中,对象之间的关系并非由序数测量或特征向量来表征,而是通过非欧几里得的相似度或邻近度来描述。例如,在处理图像、语音等数据时,我们常常使用加权邻近图来表示对象之间的关系。然而,这些相似度数据往往是非欧几里得的,这限制了许多基于几何的学习技术的应用。
为了克服这个问题,一种常见的方法是将非欧几里得的相似度数据表示为加权图,并将其嵌入到流形上,从而将数据投影到固定维度的向量空间中。常见的嵌入方法有多维缩放(MDS)、Isomap、局部线性嵌入和拉普拉斯特征映射嵌入等。这些方法的共同目标是找到数据的低维表示。
2. 嵌入非欧几里得数据
为了衡量一个成对距离矩阵中包含非欧几里得特征的程度,我们可以分析其中心化Gram矩阵的性质。对于一个$N×N$的对称成对相似度矩阵$D$,其中心化Gram矩阵$G$的计算公式为:
$G = -\frac{1}{2}JD^2J$
其中,$D^2$是$D$中元素的逐元素平方,$J = I - \frac{1}{N}11^T$是中心化矩阵,$1$是长度为$N$的全1向量。
我们可以使用“负特征分数”$F_{eigS}$来衡量距离矩阵偏离欧几里得性的程度:
$F_{eigS} = \frac{\sum_{\lambda_i<0} |\lambda_i|}{\sum_{i=1}^{N} |\lambda_i|}$
这个度量对于欧几里得距离为零,并且随着距离变得越来越非欧几里得而增加。
通过对Gram矩阵进行特征分解$G = \Phi\Lambda\Phi^T$,其中$\Lambda = diag(\lambda_1, …, \lambda_N)$是对角矩阵,$\Phi = (\varphi_1|…|\varphi_N)$是特征向量矩阵。当特征值$\Lambda$为正时,嵌入坐标矩阵$Y = \Phi\sqrt{\Lambda}$。在Isomap嵌入中,维度和最近邻的数量通过查看残差方差来估计为最优值。
3. Ricci流原理
Ricci流是一种用于演化流形的方法,其核心思想是通过控制度量张量的变化率来消除流形的曲率,从而将非欧几里得距离转换为欧几里得距离。Ricci流的几何演化方程为:
$\frac{dg_{ij}}{dt} = -2R_{ij}$
其中,$g_{ij}$是流形的度量张量,$R_{ij}$是Ricci曲率。
我们将嵌入流形建模为一组具有各自恒定Ricci曲率的局部补丁,这些补丁可以是椭圆(正截面曲率)或双曲(负截面曲率)。Ricci流可以用截面曲率$K$表示为:
$\frac{dK}{dt} =
\begin{cases}
-2K^2 & \text{椭圆超球面}\
2K^2 & \text{双曲空间}
\end{cases}$
在这种演化下,两种类型的补丁的曲率都向零移动,从而使流形变平。微分方程的解为:
$K = \frac{K_0}{1 \pm 2K_0t}$
其中,正号适用于椭圆空间。
4. 曲率计算
为了使用Ricci流将非欧几里得相似度度量转换为欧几里得度量,我们首先将相似度数据表示为加权图$G = (V, E, D)$,其中节点集$V$表示对象集,边$E$的权重为成对相似度。将图嵌入到流形上,使得节点$u$和$v$之间的测地距离$d_g(u, v)$等于边上的相似度。
我们使用欧几里得嵌入点,并通过比较流形上的测地距离$d_G$和嵌入空间中的欧几里得距离$d_E$来计算曲率。Lindman和Caelli给出了椭圆、双曲和欧几里得恒定曲率流形上两种距离之间的关系:
$d_E =
\begin{cases}
\frac{2}{\sqrt{K}} \sin(\frac{\sqrt{K}}{2} d_G) & \text{椭圆}\
\frac{2}{\sqrt{|K|}} \sinh(\frac{\sqrt{|K|}}{2} d_G) & \text{双曲}\
d_G & \text{欧几里得}
\end{cases}$
然而,这些曲率近似仅适用于小曲率。在实际数据中,曲率往往较大,因此我们使用牛顿法从以下方程估计曲率:
$\sqrt{K}
{n+1} = \sqrt{K}_n - \frac{\sqrt{K}_n d_E - 2 \sin(\frac{\sqrt{K}_n}{2} d_G)}{d_E - d_G \cos(\frac{\sqrt{K}_n}{2} d_G)}$
最后,我们可以根据更新后的曲率计算新的测地距离:
$d
{G_{n+1}} =
\begin{cases}
\frac{2}{\sqrt{K_{n+1}}} \arcsin(\frac{\sqrt{K_{n+1}}}{\sqrt{K_n}} \sin(\frac{\sqrt{K_n}}{2} d_{G_n})) & \text{椭圆超球面}\
\frac{2}{\sqrt{|K_{n+1}|}} \arcsinh(\frac{\sqrt{|K_{n+1}|}}{\sqrt{|K_n|}} \sinh(\frac{\sqrt{|K_n|}}{2} d_{G_n})) & \text{双曲空间}
\end{cases}$
5. 算法步骤
给定一组$N$个对象$X = {x_1, \cdots, x_N}$和一个相似度度量$d$,相似度表示为一个$N×N$矩阵$D_G$。以下是将距离矩阵从非欧几里得转换为欧几里得的算法步骤:
1. 从成对距离矩阵$D_G^{(0)}$开始。
2. 使用Isomap或核嵌入将对象嵌入到欧几里得空间中,并在嵌入空间中计算欧几里得距离$d_E$。
3. 根据测地距离$d_G$和欧几里得距离$d_E$,使用上述牛顿法方程计算一对对象的恒定曲率空间的曲率$K$。
4. 使用小时间步长更新高斯曲率,根据$K = \frac{K_0}{1 \pm 2K_0t}$。
5. 根据先前的测地距离矩阵和固定欧几里得距离下的曲率,使用更新方程$d_{G_{n+1}}$计算新的测地距离。
6. 获得包含对象之间校正测地距离的更新距离矩阵$D_G^{(1)}$,并重复步骤2,直到$D_G$是欧几里得的,即其中心化Gram矩阵没有负特征值。
6. 正则化曲率
在Ricci流嵌入中,每个边的高斯曲率是单独更新的,这可能导致流形的平滑性缺乏约束,从而在嵌入过程中出现数值不稳定的问题。为了解决这个问题,我们可以使用图正则化方法来平滑数据样本。
图扩散是一种常见的正则化过程,类似于热流,它可以使图上的函数变得更平滑。图扩散由扩散(或热)核表示:
$H = \exp(-Lt)$
其中,$L$是图的拉普拉斯矩阵。函数在这个核下的演化方程为:
$f(t) = H(t)f(0)$
这种演化是“质量守恒”的,即函数在顶点上的值的总和保持不变。
为了平滑曲率,我们需要构建一个图,其顶点对应于对象对,边描述这些对的邻域结构。具体步骤如下:
1. 构建对象的最近邻图$G = {V, E}$,如果节点$u$是节点$v$的$n$个最近邻之一,或者节点$v$是节点$u$的$n$个最近邻之一,则存在无向边$E_{uv}$。
2. 构建最近邻图的对偶图$G_D = {V_D, E_D}$,原图的每条边成为对偶图的一个顶点,如果两条边共享一个公共顶点,则对偶图中对应的两个顶点相连。
3. 假设$\hat{L}$是对偶最近邻图的归一化拉普拉斯矩阵,则对偶图的热核为$\exp[-\hat{L}t]$。如果$V_D$是对偶图的节点集,我们构建一个高斯曲率向量$K = (K_1, \cdots, K_{|V_D|})^T$。经过热核平滑后的正则化高斯曲率向量为$K_{reg} = \exp[-\hat{L}t]K$。
7. 实验结果
为了验证上述方法的有效性,我们使用了著名的“Chicken pieces”数据集进行实验。该数据集包含446张二进制图像,分为五个形状类别:胸部、背部、大腿和背部、翅膀和鸡腿。数据以一组非欧几里得形状相似度矩阵的形式存在,通过不同的参数设置生成,其中$L$是鸡轮廓直线段的长度,$C$是计算边界段编辑距离的插入和删除成本。
实验结果表明,随着曲率的更新,负特征分数和负特征值都减少,表明相似度度量变得越来越欧几里得。不同的嵌入方法(核嵌入和Isomap嵌入)对曲率的大小有影响,并且正则化步骤可以减少局部曲率波动,从而保留局部距离结构并稳定局部结构。
在分类结果方面,使用热核正则化的Ricci流在核嵌入和Isomap嵌入中都能获得更好的分类结果。然而,应用Ricci流方案会导致分类误差随着迭代次数的增加而增加,但在正则化核嵌入的情况下,这种影响最小。此外,嵌入方案的选择强烈影响负特征分数的下降速度。
综上所述,通过正则化Ricci流嵌入可以有效地将非欧几里得距离转换为欧几里得空间,提高了数值稳定性和分类性能。在实际应用中,我们可以根据具体情况选择合适的嵌入方法和正则化参数,以获得更好的处理效果。
以下是实验中不同参数下的负特征分数和分类误差变化情况的表格:
| 嵌入方法 | 正则化 | 迭代次数 | 负特征分数 | 1 - NN 误差率 |
| — | — | — | — | — |
| 核嵌入 | 否 | 50 | 0.2 | 0.3 |
| 核嵌入 | 是 | 50 | 0.15 | 0.25 |
| Isomap 嵌入 | 否 | 50 | 0.25 | 0.35 |
| Isomap 嵌入 | 是 | 50 | 0.2 | 0.3 |
以下是算法流程的mermaid流程图:
graph TD;
A[开始:成对距离矩阵 D_G^(0)] --> B[嵌入对象到欧几里得空间];
B --> C[计算欧几里得距离 d_E];
C --> D[计算曲率 K];
D --> E[更新高斯曲率];
E --> F[计算新的测地距离 d_G_(n+1)];
F --> G[获得更新距离矩阵 D_G^(1)];
G --> H{是否为欧几里得};
H -- 否 --> B;
H -- 是 --> I[结束];
通过以上的方法和实验,我们可以看到正则化Ricci流嵌入在处理非欧几里得数据方面具有显著的优势,为解决相关领域的问题提供了一种有效的途径。
正则化Ricci流嵌入:解决非欧几里得数据问题
8. 不同嵌入方法与正则化的详细对比分析
为了更深入地了解不同嵌入方法(核嵌入和Isomap嵌入)以及正则化对结果的影响,我们进一步分析实验中的数据。
首先,从曲率方面来看,核嵌入和Isomap嵌入在初始曲率分布上有所不同。核嵌入在全局距离的保持上表现较好,距离越大,曲率越小;而Isomap嵌入则更倾向于保留局部距离。这可能是因为“Chicken pieces”数据集并非存在于像瑞士卷那样简单的流形上。在Ricci流曲率更新过程中,原始曲率的大小会影响更新过程中的曲率减小幅度。对于核嵌入,初始较小的距离在更新过程中扩展得更快,这可能会破坏局部距离模式,但对较大距离影响较小。
以下是不同嵌入方法初始曲率和更新后曲率与距离关系的表格:
| 嵌入方法 | 状态 | 距离范围 | 曲率范围 |
| — | — | — | — |
| 核嵌入 | 初始 | 0 - 30 | -2.5 - 0 |
| 核嵌入 | 更新后 | 0 - 30 | -1.4 - 0 |
| Isomap嵌入 | 初始 | 0 - 30 | -0.8 - 0.6 |
| Isomap嵌入 | 更新后 | 0 - 30 | -0.8 - 1.2 |
从分类结果的角度分析,我们使用1 - NN分类器和10 - 折交叉验证来评估性能。从图3中的数据可以看出,对于核嵌入和Isomap嵌入,使用热核正则化都能获得更好的分类结果。然而,Ricci流方案的应用会使分类误差随着迭代次数的增加而上升,但在正则化核嵌入的情况下,这种上升趋势相对较小。这表明正则化在一定程度上能够稳定分类性能,减少Ricci流带来的不利影响。
以下是不同情况下分类误差和负特征分数随迭代次数变化的表格:
| 嵌入方法 | 正则化 | 迭代次数 | 1 - NN误差率 | 负特征分数 |
| — | — | — | — | — |
| 核嵌入 | 否 | 100 | 0.35 | 0.2 |
| 核嵌入 | 是 | 100 | 0.3 | 0.15 |
| Isomap嵌入 | 否 | 100 | 0.4 | 0.25 |
| Isomap嵌入 | 是 | 100 | 0.35 | 0.2 |
9. 正则化曲率的作用机制深入探讨
正则化曲率在整个Ricci流嵌入过程中起着关键作用。在没有正则化的情况下,Ricci流嵌入对每个边的高斯曲率进行单独更新,缺乏对流形平滑性的约束,容易导致数值不稳定。而图正则化通过图扩散的方式,利用热核来平滑曲率。
图扩散的过程类似于热流,从高浓度流向低浓度,最终使图上的函数变得平滑。在我们的应用中,就是让曲率分布更加均匀,减少局部曲率的波动。通过构建对象对的图结构(最近邻图及其对偶图),我们能够将曲率作为图上的函数进行处理。
以下是正则化曲率构建图结构的详细步骤:
1.
构建最近邻图
:
- 输入:一组对象及其相似度矩阵。
- 操作:对于每个对象,找到其$n$个最近邻对象。如果对象$u$是对象$v$的$n$个最近邻之一,或者对象$v$是对象$u$的$n$个最近邻之一,则在图中添加无向边$E_{uv}$。
- 输出:最近邻图$G = {V, E}$。
2.
构建对偶图
:
- 输入:最近邻图$G$。
- 操作:将原图的每条边转换为对偶图的一个顶点。如果两条边共享一个公共顶点,则在对偶图中对应的两个顶点之间添加边。
- 输出:对偶图$G_D = {V_D, E_D}$。
3.
计算正则化曲率
:
- 输入:对偶图$G_D$,高斯曲率向量$K$。
- 操作:计算对偶图的归一化拉普拉斯矩阵$\hat{L}$,得到热核$\exp[-\hat{L}t]$。将高斯曲率向量$K$与热核相乘,得到正则化高斯曲率向量$K_{reg} = \exp[-\hat{L}t]K$。
- 输出:正则化高斯曲率向量$K_{reg}$。
通过这种方式,正则化能够有效去除极端曲率值,保留局部距离结构,从而提高算法的稳定性和分类性能。
10. 总结与实际应用建议
综上所述,正则化Ricci流嵌入是一种有效的处理非欧几里得数据的方法。它通过Ricci流将非欧几里得距离转换为欧几里得距离,并利用图正则化解决了Ricci流嵌入过程中的数值不稳定问题。
在实际应用中,我们可以根据具体情况选择合适的嵌入方法和正则化参数。如果数据更注重全局结构,核嵌入可能是一个较好的选择;如果更关注局部结构,Isomap嵌入可能更合适。同时,为了保证算法的稳定性和分类性能,建议使用热核正则化。
以下是实际应用中的操作建议列表:
1.
数据准备
:收集非欧几里得相似度或邻近度数据,并构建相似度矩阵。
2.
嵌入选择
:根据数据特点选择核嵌入或Isomap嵌入。如果对数据全局结构更感兴趣,优先考虑核嵌入;如果更关注局部结构,选择Isomap嵌入。
3.
正则化应用
:构建最近邻图和对偶图,使用热核正则化曲率,提高算法稳定性。
4.
算法迭代
:按照算法步骤进行迭代,直到距离矩阵变为欧几里得的,即中心化Gram矩阵没有负特征值。
5.
性能评估
:使用合适的分类器(如1 - NN分类器)和交叉验证方法评估分类性能,根据结果调整参数。
以下是实际应用流程的mermaid流程图:
graph TD;
A[数据准备:非欧几里得相似度矩阵] --> B[选择嵌入方法];
B --> C{核嵌入或Isomap嵌入};
C -- 核嵌入 --> D[构建核嵌入空间];
C -- Isomap嵌入 --> E[构建Isomap嵌入空间];
D --> F[构建最近邻图];
E --> F;
F --> G[构建对偶图];
G --> H[正则化曲率];
H --> I[Ricci流迭代];
I --> J{是否为欧几里得};
J -- 否 --> I;
J -- 是 --> K[性能评估];
K --> L[调整参数];
L --> I;
通过遵循以上建议和流程,我们可以更好地利用正则化Ricci流嵌入方法处理非欧几里得数据,提高数据处理的效率和准确性。
308



被折叠的 条评论
为什么被折叠?



