AxiSketcher: 基于用户绘制的非线性数轴映射

线性建模是一类典型的高维数据分析方法,它假设数据服从线性分布,并寻求拟合度最优的线性模型。然而在现实世界中,大多数数据分布都是非线性的,如对数分布、幂律分布,甚至是难以描述的高维流形分布。我们对事物的认知,往往也只能通过非线性模型来解释,但这些模型却通常难以获得,且需要借助大量的机器学习方法。那么,有没有可能通过简单交互,快速产生贴合用户认知的非线性模型呢?这篇InfoVis 2016的文章[1]给出了一种可行的思路。

AxisSketcher是一种基于用户绘制的非线性数轴映射方法,它的思路其实比较简单,具体分为三步:

1). 绘制曲线:在降维投影图中,用户依据自己的认知绘制一条曲线,按某种顺序连接不同的数据区域

2). 数轴构建:根据用户绘制,产生一条高维曲线作为新的数据轴,轴上的数据顺序便反映了用户的知识

3). 数据投影:将数据投影到非线性轴上,并以此更新散点图

绘制曲线

首先,AxisSketcher提供了数据的t-SNE (t-distributed stochastic neighbor embedding) 投影作为起点。用户可以通过三种方式在投影图中绘制一条曲线:

(1) 数据点选:即顺次连接特定数据点,例如“人 -> 动物 -> 植物 -> 石头”;

(2) 绘制折线:折线穿过不同的数据区域,无须指明特定的数据;

(3) 绘制自由曲线:系统会将曲线自动拆分为分段折线,因此等价于前一种方式。

图1. 绘制曲线的三种方式

图1. 绘制曲线的三种方式

数轴构建

根据绘制结果,我们需要在高维空间中构造一条等价的曲线作为新的坐标轴。由于数据邻域是用户决定每个折线节点的基本准则,因此,我们需要在高维空间保持每个节点的数据邻域与投影平面上一致。不同的绘制方式有不同的曲线重构方法:对于点选的结果,我们只要连接各个节点的高维数据就能得到一条高维折线。但自由折线的节点并不对应任何数据,需要进行高维插值:

图2.插值高维节点

图2.插值高维节点

这里U代表折线节点,D代表投影平面上节点附近的数据,h区分了投影点(无上标)与高维点(有上标),d为距离函数。由公式可见,算法先确定了节点在投影平面上的数据邻域,然后利用该邻域的高维点进行插值,从而得到节点对应的高维点。插值之后,连接所有高维点就能得到一条高维折线。

数据投影

根据得到的高维折线,每个数据点垂直投影到离其最近的折线段上,就得到其轴上位置。数据离轴的距离定义为“不确定性”,表达了折线对该数据的拟合优度。不确定性越低,数轴对数据的拟合越好。最后,将折线“拉直”放置到一维空间便得到了新的坐标轴。

图3.非线性轴的数据投影

图3.非线性轴的数据投影

AxisSketcher原型系统的用户界面大致分为四部分:(a).控制面板,(b).数轴(Axis Rainbow)(c).散点图和 (d).细节视图。其中,散点图上每个数据用一个Aster Plot表示,不同颜色代表不同维度,扇区的半径表示数值大小,不透明度则反映了数据的不确定性。细节视图提供了四种不同的可视化形式:维度列表、数据表格、平行坐标和Aster Plot,用以表现所选数据在各个维度的分布信息。而在Axis Rainbow里,作者们利用了Theme River的方式,将各节点的多维度数值以条带宽度的形式表现在数轴上,以此反映各维度取值沿数轴的变化。用户可以调节每一个节点的维度值,从而改变节点、更新非线性数轴。

图4.Axis Sketcher的用户界面

图4.Axis Sketcher的用户界面

案例分析

利用AxisSketcher,用户能够快速地建立起符合自己概念模型(Mental Model)的数据投影。例如在一份食物数据的散点图中,用户依次点选了水、糖果、柴郡奶酪三种食物,并生成了新的Y轴。在结果散点图中(见图5),数据被大致分成了三部分,分别是各种饮品(含大量水分但营养较低)、含有大量糖分的食物,以及少量的奶酪(高钙、含丰富蛋白质)。可见新数轴确实捕捉到数据在特定方向上的非线性特征,且符合用户预期。

图5.案例分析:食物数据

图5.案例分析:食物数据

 

与去年的InterAxis [2]相比,Axis Sketcher建立的非线性坐标轴能够更好地拟合用户的概念模型,但该方法也存在一些不足。首先,用户绘制的曲线很大程度上依赖于已有投影的质量,而且绘制的细微变化可能对算法结果产生较大影响。其次,InterAxis中数据保持线性投影,保证了数据关系不失真。但Axis Sketcher的非线性坐标轴对数据局部产生了扭曲,即文章提到的数据“不确定性”,这种扭曲会影响用户对数据事实的把握与解读。如何在挖掘非线性特征的同时,降低数据失真、提高数据语义性,仍然是一个值得探讨的课题。

 

[1] Kwon, B. C., Kim, H., Wall, E., Choo, J., Park, H., & Endert, A. AxiSketcher: Interactive Nonlinear Axis Mapping of Visualizations through User Drawings. IEEE transactions on visualization and computer graphics (TVCG), 2016.

[2] H. Kim, J. Choo, H. Park, and A. Endert. InterAxis: Steering scatterplot axes via observation-level interaction. IEEE Transactions on Visualization and Computer Graphics (TVCG), 22(1):131–140, 2016.

评论关闭。