vis-data-reduction-alg

vis相关的论文中一个常用的方法是把data投影到某个可以看到的空间中,也就是所谓的低维度的空间中,三个常用的到的方法就是PCA,tSNE以及UMAP,如果对于这三个方法的原理理解的不是很透彻的话,就很难和做vis的人有一些比较深入的交流。

这个视频讲得非常好

PCA

简单的说,就是给定一个sample 为行,属性为列 抽象出来的矩阵,求解这个矩阵的协方差矩阵,之后再计算这个协方差矩阵的特征值,然后再排序,之后选择两个特征向量的方向,把原始的高位数据投影到这两个方向上,投影之后的值就是这个sample的新的坐标,可视化的时候就看这两个坐标就行。关键的操作就是:切方差计算,特征值计算,投影。

PCA所用到的操作都是线性代数里常用的,理解起来也比较简易,但是问题是最后一步的projection是线性映射,对于非线性的数据比如螺旋状排列的,即使是使用了PCA,区分出来的效果也不是太好,数据还是混成一团。

tSNE

latent space,中文也翻译成隐空间或者潜空间,这个概念感觉翻译的还是很好的。

首先要对流形的概念有一个基本的了解,流形( manifold)是一种“局部”类似于欧几里得空间(Euclidean space)的拓扑空间。

常见的就是瑞士卷的例子,跨越不同层的两个点实际上可能在二维的尺度上相聚很远,但是在高维的空间上它们距离比较近。

tsne就是在高位空间中找这个低维度的流形,也可能不存在,也可能存在,总之这是一种方法。比如数字3在提取特征之后,映射到一个高维的空间,各种各样的3还是符合某些分布的规律的。tsne的目的就是做这个事情。

比如tsne的结果是一团一团的,那可能找到了这个关键的变量,但是这个变量是什么?还需要我们再去结合着图片的特征去分析,所以tsne得结果具有一定的不可解释性。

特别是对于一个完全未知的数据来说,tsne是一个探索其内在规律的好方法。

k-l散度

UMAP

https://journals.sagepub.com/doi/10.1177/14738716261434908

Kmeans and DBSCAN

降维似乎和聚类总是关联在一起,比如景点的搭配是tsne之后用dbscan看下聚类的情况

推荐文章