我们生活在三维空间中,很难直接理解三维以上的空间(爱因斯坦等牛人除外)。但是爱因斯坦这样的人毕竟在人群中是少数,对大多数人来说,高维数据如何进行可视化呢?
聪明的人可以用其他的视觉通道对一些维度进行视觉编码,比如颜色、形状、朝向、体积、半径、表面覆盖物等等。。。不过有两个很显然的问题,1)用户理解起来,不那么方便了。可能要想半天才能反应过来,因为要对这些视觉通道进行一一的反编码,记住这些本身就挺难的。2)维度比较大,不多说,就十几维,恐怕视觉通道已经捉襟见肘,不够用了。
那咋办呢?目前,对高维数据进行可视化主要有三大类方法。
得益于机器学习的发展,降维的方法越来越多。把维度降到2或者3,就可以用非常传统的散点图来将结果进行可视化了。但是降维带来的问题也是显然的,降维的初衷是将原始维度中冗余无用的信息滤掉,不过这个过程很可能不能避免的将有用的信息也丢失掉了。
为了避免上面的问题,第二类方法决定不降维了,直接用散点矩阵把维度直接的两两关系全部展现出来,,这样用户就可以很清楚的看到维度之间的两两关系了嘛。但是你很快就头疼了,10维的散点矩阵,足足有个小的散点图,这可咋看呀!
第三种方法呢,是想不降维,但同时也不希望出现太多的图让用户去看,最好就一张图。典型的代表方法有平行坐标轴、RadViz、Starcoordinates等,以及最近华人学者曹楠老师提出来的UnTangleMap,感兴趣的可以看后面列出来的参考文献。
详情“阅读原文”。
原文链接: