18、地理空间映射中视觉点聚类的质量度量

地理空间映射中视觉点聚类的质量度量

1. 引言

在地理空间映射中,我们常常需要对数据点进行聚类并以圆形表示。然而,不同的聚类算法和空间划分策略在解决这一问题时各有优劣。同时,为了评估圆形表示的质量,我们需要定义一系列质量度量指标。

2. 聚类算法与空间划分
  • DBSCAN算法 :DBSCAN能够找到任意形状的聚类,但在我们需要输出圆形表示数据的问题中不太方便。
  • 空间划分策略 :除了聚类算法,还有一些空间划分策略可以提供分区内的密度信息。常见的有热图和等值线图,前者用等大小网格(或六边形等其他形状)表示点的频率,后者描述等频率计数的区域。此外,还有基于密度估计的热点图,以及更复杂的划分技术,如Voronoi图或树状图。这些方法基于Voronoi图或多维树结构(如R树)进行不规则划分,且密集区域划分更多,这与我们用不同大小圆形表示密度的问题设定相悖。
3. 质量度量

为了评估圆形表示点集的质量,我们需要考虑不同缩放级别对评估的影响。通过线性变换将点映射到[0, 1]²区间,可消除缩放级别的影响。
- 初步定义
- 对于点p,用p.x和p.y表示其x和y坐标;对于圆c,用c.r表示其半径。
- 计算圆心和点之间的距离:$pdist(c, p) := \sqrt{(c.x - p.x)^2 + (c.y - p.y)^2}$
- 计算点集$P’$的质心:$centroid(P’) := \left(\frac{1}{|P’|}\sum_{p\in P’} p.x, \frac{1}{|P’|}\sum_{p\in P’} p.y\right)$
- 计算对象o的面积:用函数A(o),对于圆c,面积为$(c.r)^2 \cdot \pi$,其他对象用蒙特卡罗模拟近似计算。
- 定义圆的交集和并集:$c_i \cap c_j$和$c_i \cup c_j$分别表示圆$c_i$和$c_j$的几何交集和并集。
- 视觉分配
- 最近邻分配 :$N_{c_i} := {p \in P | c_i = arg \min_{c\in C} dist(c, p)}$,其中$dist(c, p) := \begin{cases} pdist(c, p) - c.r, & \text{if } c.r \geq pdist(c, p) \ -\sqrt{2} + pdist(c, p), & \text{else} \end{cases}$,将点分配到最近的圆。
- 包围分配 :$E_{c_i} := {p \in P | contains(c_i, p)}$,其中$contains(c, p) := pdist(c, p) \leq c.r$,还有剩余分配$E_{\varnothing}= P \setminus (E_{c_1} \cup \cdots \cup E_{c_m})$,将点分配到包围它的圆,在圆重叠时,点可分配到多个圆。
- 质量度量指标
| 指标名称 | 描述 | 计算公式 |
| ---- | ---- | ---- |
| 面积比例 | 圆的面积应与所代表的点数成比例,要求所有圆的密度几乎相等 | $\nu_{area} := \frac{\sqrt{Var({d_1, \cdots, d_m})}}{E({d_1, \cdots, d_m})}$,其中$d_i := \frac{|N_{c_i}|}{A(c_i)}$ |
| 圆心与点质心接近度 | 分配到圆的点的质心应接近圆心,计算各圆中心与分配点质心的距离的平均值 | $\nu_{centered} := \frac{1}{m} \sum_{i=1}^{m} pdist(c_i, centroid(N_{c_i}))$ |
| 圆重叠度 | 最优解中不应有圆重叠,用修改后的Jaccard系数衡量与最优解的偏差 | $\nu_{overlap} := \frac{A(C_1 \cap \cdots \cap C_m)}{A(C_1 \cup \cdots \cup C_m)}$ |
| 点与圆距离 | 点应尽量在其代表圆内,计算点平均在代表圆外的距离 | $\nu_{distance} := \frac{1}{m} \sum_{c\in C} \sum_{p\in N_c} I_{c,p} \cdot (pdist(c, p) - c.r)$,其中$I_{c,p}$为指示函数 |
| 未分配点 | 点应尽量被圆覆盖,计算未被圆覆盖的点的比例 | $\nu_{unassigned} := \frac{|E_{\varnothing}|}{n}$ |
| 点均匀分布 | 圆内点的分布应均匀,用方差系数衡量与均匀分布的偏差 | $\nu_{uniform} := \frac{1}{m} \sum_{c_i\in C} \frac{\sqrt{Var(histogram(c_i))}}{E(histogram(c_i))}$ |
| 缩放一致性 | 缩放时聚类应分解,提供更详细的点分布视图,衡量不同缩放级别圆的相对重叠 | $\nu_{zoom} := \frac{1}{m} \sum_{c\in C(z)} \frac{A(\left(\bigcup_{c’\in C(z+1)} c’\right) \cap c)}{A(c)}$ |

以下是这些步骤的流程图:

graph LR
    A[开始] --> B[选择聚类算法]
    B --> C[选择空间划分策略]
    C --> D[进行视觉分配]
    D --> E[计算质量度量指标]
    E --> F[结束]
4. 实验评估

为了评估所选方法在我们问题设定中的适用性,我们进行了实验。
- 方法
- 聚类方法分类
- 分区聚类 :评估了k - Means和EM算法,使用Apache Commons Math2的k - Means++实现和OpenCV的EM实现,参数k表示要检测的聚类数。
- 层次聚类 :应用了单链接(SLINK)、完全链接(C - LINK)和质心聚类,使用ELKI库,还实现了基于Delaunay三角剖分的GeoTemCo算法。
- 密度聚类 :使用ELKI的DBSCAN算法,参数为MinPts和ϵ。
- 转换函数 :将聚类转换为圆形表示,使用了三种方法:
- 外接圆 :$\tau_{cc}(G_i) := \left(centroid(G_i), \max_{p’\in G_i} (pdist (centroid(G_i), p’))\right)$
- Log2 :$\tau_{Log2}(G_i) := \left(centroid(G_i), \sqrt{\frac{A_{min} + \frac{|G_i| - 1}{n - 1} (A_{max} - A_{min})}{\pi}}\right)$
- Log10 :定义$A_{max} := (log_{10}(n) \cdot r_{min})^2 \cdot \pi$,使用与Log2相同的转换函数。
- 数据集 :选择了五个不同大小的数据集,四个来自生物多样性研究领域,一个来自兴趣点领域。
| 数据集名称 | 领域 | 点数 |
| ---- | ---- | ---- |
| Loxodonta cyclotis | 生物多样性 | 23 |
| Puma concolor | 生物多样性 | 1992 |
| Macropus giganteus | 生物多样性 | 23039 |
| Alnus Glutinosa | 生物多样性 | 185259 |
| german libraries | 兴趣点 | 3383 |
- 评估
- 参数搜索 :对每个聚类方法的参数进行网格搜索,参数范围为$m \in [1, 15000]$,$\epsilon \in [2.5, 25]$,$MinPts \in [1, 10]$,$\tau \in {log2, log10, cc}$。
- 聚类方法评估 :考虑前六个质量度量指标,忽略缩放一致性。通过去除劣势解得到Pareto前沿,比较不同方法的性能。例如,在Alnus glutinosa数据集上,k - Means在面积比例指标上表现最好,DBSCAN受非凸聚类影响,SLINK易受管状聚类影响,CLINK输出的聚类更接近圆形。
- 转换函数评估 :评估不同转换函数的效果,结果表明,在小数据集上,基于对数的转换函数表现良好,但在大数据集上,外接圆方法表现最佳。
- 缩放一致性评估 :选择三个缩放级别评估缩放一致性,所有方法都能产生较好结果,但DBSCAN的许多参数设置导致缩放一致性较差,GeoTemCo在这方面表现更稳健。

地理空间映射中视觉点聚类的质量度量(下半部分)

5. 实验结果分析
  • 聚类方法性能对比
    • 从Pareto前沿的结果来看,不同聚类方法在各个质量度量指标上表现各异。在面积比例指标上,k - Means具有明显优势,能够完全满足该指标要求,而其他方法如DBSCAN和SLINK则表现较差。DBSCAN由于其能找到任意形状的聚类,在处理非凸聚类时效果不佳,难以形成符合面积比例要求的圆形。SLINK对管状聚类较为敏感,很难用圆形进行近似表示。相比之下,CLINK通过不同的距离函数,输出的聚类更接近圆形,在该指标上有较好的质量表现。
    • 对于圆心与点质心接近度、圆重叠度、点与圆距离和未分配点这几个指标,所有方法都至少存在一种参数设置可以达到完美结果,即指标值为1。这说明在合适的参数下,这些方法都能够较好地满足这些基本的视觉质量要求。
    • 然而,在点均匀分布指标上,所有方法都未能充分满足要求。这主要是因为底层点数据集本身缺乏均匀分布,导致很难拟合出均匀的圆形区域。GeoTemCo在该指标上有轻微偏离最优值的情况,可能是由于算法每一步中圆的位移造成的。
    • 在处理不同指标组合时,不同方法也有不同的优势。例如,在均匀 - 重叠指标组合中,如果用户关注均匀性,SLINK在至少一种参数设置下能提供最佳结果;如果关注重叠度,GeoTemCo是最佳选择;而要获得两者的最佳折衷方案,则需要对SLINK采用不同的参数设置。
  • 转换函数效果分析
    • 通过计算每个数据集、方法和转换函数在Pareto前沿内的劣势点数量,我们可以评估转换函数的优劣。结果显示,在小数据集上,基于对数的转换函数(Log2和Log10)表现出色。这是因为小数据集的点数较少,对数函数能够根据点数合理地调整圆的半径。
    • 但随着数据集规模的增大,即使是对数函数也无法提供合适的圆半径,圆的半径会变得过大。在这种情况下,外接圆方法表现最佳,如在Alnus Glutinosa数据集上,外接圆方法在特定方法和参数设置下表现优于其他转换函数。这表明最大圆面积的计算应该考虑绘图区域,而不仅仅依赖于输入点的数量。
  • 缩放一致性分析
    • 从缩放一致性的箱线图结果可以看出,所有方法都有至少一种参数设置能够获得接近1的质量值,这说明这些方法在理论上都能够满足缩放一致性的要求。
    • 然而,DBSCAN的大多数参数设置导致缩放一致性较差。由于参数设置对于用户来说至关重要,DBSCAN在实际应用中可能较难使用。相比之下,GeoTemCo在缩放一致性方面表现更为稳健,无论参数如何设置,都能保持较好的缩放一致性。
6. 总结与建议
  • 总结
    • 在地理空间映射中,选择合适的聚类方法和转换函数对于获得高质量的圆形表示至关重要。不同的聚类方法在不同的质量度量指标上表现各异,没有一种方法能够在所有指标上都表现出色。同时,转换函数的选择也受到数据集大小的影响,小数据集适合使用基于对数的转换函数,而大数据集则更适合外接圆方法。
    • 缩放一致性是一个重要的质量指标,虽然所有方法都能在一定程度上满足该指标,但DBSCAN在参数设置上存在较大挑战,而GeoTemCo表现更为稳健。
  • 建议
    • 对于面积比例要求较高的应用场景,优先考虑k - Means算法。如果需要处理任意形状的聚类,但对圆形表示要求不高,可以使用DBSCAN。对于希望输出接近圆形聚类的情况,CLINK是一个不错的选择。
    • 在选择转换函数时,根据数据集的大小进行决策。对于小数据集,尝试使用Log2或Log10转换函数;对于大数据集,优先选择外接圆方法。
    • 在实际应用中,如果对缩放一致性有较高要求,建议使用GeoTemCo算法,以确保在不同缩放级别下都能获得稳定的视觉效果。

以下是整个实验评估过程的流程图:

graph LR
    A[选择数据集] --> B[选择聚类方法]
    B --> C[选择转换函数]
    C --> D[进行参数网格搜索]
    D --> E[计算质量度量指标]
    E --> F[生成Pareto前沿]
    F --> G[评估聚类方法性能]
    F --> H[评估转换函数效果]
    F --> I[评估缩放一致性]
    G --> J[分析结果并总结]
    H --> J
    I --> J
    J --> K[提出建议]

通过以上的实验评估和分析,我们可以更好地理解不同聚类方法和转换函数在地理空间映射中视觉点聚类质量度量方面的表现,从而为实际应用提供更有针对性的选择和优化方案。

黎曼曲率度量聚类算法中的应用主要体现在高维非线性数据结构的建模上。传统的聚类算法(如K-Means、层次聚类)通常假设数据分布在欧几里得空间中,即空间是平坦的。然而,在许多实际应用中,数据往往存在于非欧几里得空间中,例如流形结构。在这种情况下,使用黎曼几何中的曲率度量可以更准确地刻画数据之间的相似性,从而提升聚类的性能。 ### 黎曼曲率度量的基本原理 在黎曼几何中,曲率度量用于描述空间的弯曲程度。通过定义黎曼度量张量 $ g_{ij} $,可以计算两之间的测地距离(geodesic distance),而不是传统的欧几里得距离。测地距离考虑了空间的弯曲特性,因此在流形上更为合理。对于聚类任务,可以使用该距离度量来替代传统的欧几里得距离,从而构建更符合数据内在结构的相似性度量。 在基于黎曼曲率度量聚类算法中,核心思想是: - 将数据视为嵌入在某个黎曼流形上的; - 使用黎曼度量张量计算数据之间的测地距离; - 在此基础上应用聚类算法(如K-Means、谱聚类等)。 例如,在谱聚类中,相似性矩阵通常由欧几里得距离构造,而基于黎曼曲率度量的谱聚类则使用测地距离作为相似性度量,从而更好地捕捉数据的非线性结构。 ### 模型结构图 基于黎曼曲率度量聚类算法模型结构可以分为以下几个步骤: 1. **数据预处理**:将原始数据映射到黎曼流形上,通常需要估计局部几何结构; 2. **度量张量估计**:根据局部邻域估计度量张量 $ g_{ij} $; 3. **测地距离计算**:基于度量张量计算数据之间的测地距离; 4. **相似性矩阵构建**:使用测地距离构建相似性矩阵; 5. **聚类算法应用**:将传统聚类算法应用于新的相似性矩阵,完成聚类任务。 以下是一个简化的模型结构图: ``` 原始数据 ↓ 流形嵌入 ↓ 度量张量估计 ↓ 测地距离计算 ↓ 相似性矩阵构建 ↓ 聚类算法(如谱聚类、K-Means) ``` ### 示例代码(基于测地距离的谱聚类) 以下是一个基于Scikit-Learn的简化示例,展示如何将测地距离用于谱聚类[^3]: ```python import numpy as np from sklearn.datasets import make_swiss_roll from sklearn.manifold import MDS, Isomap from sklearn.cluster import SpectralClustering from sklearn.metrics import pairwise_distances # 生成瑞士卷数据(非线性结构) X, color = make_swiss_roll(n_samples=1000, noise=0.1) # 使用Isomap估计测地距离 isomap = Isomap(n_neighbors=10, n_components=2) X_isomap = isomap.fit_transform(X) # 计算测地距离矩阵 geodesic_distances = isomap.dist_matrix_ # 构建相似性矩阵(使用高斯核) sigma = 1.0 S = np.exp(-geodesic_distances**2 / (2 * sigma**2)) # 应用谱聚类 sc = SpectralClustering(n_clusters=3, affinity='precomputed') labels = sc.fit_predict(S) # 输出聚类结果 print("聚类标签:", labels) ``` ### 优势与挑战 基于黎曼曲率度量聚类算法具有以下优势: - 更好地处理高维非线性数据; - 能够捕捉数据的局部几何结构; - 在复杂结构(如流形)上的聚类性能优于传统方法。 然而,也存在一些挑战: - 度量张量的估计需要大量计算资源; - 对于高维数据,邻域选择对结果影响较大; - 测地距离的计算可能受到噪声干扰。 ### 应用领域 该方法已被应用于多个领域,包括: - **计算机视觉**:图像分割、目标识别; - **生物信息学**:基因表达数据分析; - **自然语言处理**:文本分类与语义分析; - **机器人学**:路径规划与环境建模。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值