CVPR'22(基于1NN图可视化降维)-Hierarchica

2023-08-16  本文已影响0人  Caucher

标题:层次化最近邻图嵌入以高效降维
作者来自德国,代码开源好用。
https://github.com/koulakis/h-nne

编者的总结

  1. 本文基于之前的1-NN graph tree的聚类方法,将聚类信息作为原始数据的分布,以PCA做初始化降维,按照簇内调整,簇间间隔的方式优化降维后位置。
  2. 优势很显著,快,无参数,可解释。
  3. 另一个优点是这是一个广义的降维方法,可以降到任意维度,使用不同数量的PCA特征向量即可。

编者的思考

  1. 缺点是可视化后数据被分的特别细,每个小簇都很小,没有连续的区域,对于类别较少的数据集,看起来区分性没有很好
  2. 降维后的性质可以再看看,毕竟是线性的,所以可能有一些很好的性质。

Abstract & 1. Introduction

image.png

3. The h-NNE algorithm

本文方法分三步:

  1. 第一步构建1-NN图的树,捕捉数据集的全局和局部分布;
  2. PCA或者近似PCA降维所有的点和锚点(簇的中心);
  3. 根据降维后的簇中心和锚点的位置关系重新把簇内的点排列到锚点周边。

3.1. Nearest neighbor graph based hierarchy

自下而上建立1-NN图树

  1. 首先建立有向1-NN图, 根据连通性聚类,即每个簇是一个连通部分,这些簇就是树的叶子节点;
  2. 每个簇算出中心,提到上一层,再次建立1-NN图,重复上一步的操作,直到该层的点的数量比较少。
image.png

3.2. Preliminary linear embedding

3.3. Hierarchical point translation

自上而下在低维空间对数据位置优化调整:

  1. 考虑第一层和第二层,一个簇在降维后的中心,和该簇的中心(锚点)降维后产生的点,是有一定差距的。【编者:因为降维的锚点是代表原始分布,降维后的簇中心代表的是降维后的分布,我们要将降维后的分布向原始分布校正】
  2. 对于这个簇的某一个点,找出它和簇中心的偏差,将其长度和簇半径相除作归一化(这样簇中心离最远的点长度是1),然后长度上再乘一个scale放缩【后面讲为什么】(这样簇中心离最远的点长度是scale),调整后的残差向量和降维后的锚点向量相加,就是这个点的新位置了。
  3. 上层的点是下层簇的中心,因此算到最后一层,所有点的新位置就找到了。
image.png

【编者:机械翻译了一下,没看明白这样做的原因,比如“对齐”是想说什么? 为什么没对齐会让各个簇很乱?为什么最后要再把点簇旋转到PCA的特征向量方向上去然后再转回来?随机旋转再转回和旋转到PCA方向上再转回为什么几乎是等价的?请看懂的读者们评论区指教】

上一篇下一篇

猜你喜欢

热点阅读