一、介绍

    Multiple Maps t-SNE 是一种对t-SNE的改进算法。Multiple Maps t-SNE是通过构造一系列的图来展示数据点之间的相似性,可以解决t-SNE的不能区分语义相似的缺点。相对于t-SNE,我们在Multiple Maps t-SNE中引入权重的概念,在Multiple Maps t-SNE中同一个点在不同的图中,会展现出不同的权重。Multiple Maps t-SNE 主要解决了非度量的相似数据的降维问题,例如包含语义相似的数据集的降维或者是论文的联合作者的分类等。

二、算法过程

    Multiple Maps t-SNE 中我们设置M个图,每个图中有N个点,每个点在不同的图中的权重是不同的,每个图都有一个索引为m,点i在m图中的权重我们使用πi(m)表示。在Multiple Maps t-SNE 中我们对πi(m)进行限制,要求i:πi(m) ≥ 0 and :∑πi(m) 1. 在Multiple Maps t-SNE中我们重新定义Qij:

Machine Learning —— Multiple Maps t-SNE

    和t-SNE一样, 我们将qii设置为0。

    Multiple Maps t-SNE中,我们对于Cost函数的最小化,不只最小化Y的值,还要通过梯度迭代最小化πi(m),但是直接使用πi(m)计算会很繁琐,所以我们定义了一个不设限制的值wi(m),使用wi(m)来表示πi(m)

                                                Machine Learning —— Multiple Maps t-SNE

    Cost函数的表达式:

            Machine Learning —— Multiple Maps t-SNE

    Cost函数对y的梯度下降公式:

    Machine Learning —— Multiple Maps t-SNE

    Cost函数对πi(m)的梯度下降公式:

Machine Learning —— Multiple Maps t-SNEMachine Learning —— Multiple Maps t-SNE

三、优点

    Multiple Maps t-SNE解决了两个主要的问题:

    (1)不可转换的相似性

              不可转换的相似性是指,在数据集中会有这样的数据,即A与B相似,B与C相似,但是B与C不相似,对于这样的数据在t-SNE中,A与B相似,A与C相似,那么B与C就会都分布在A的周围,我们会认为B与C也相似,所以我们使用Multiple Maps t-SNE来表示这样的数据。

Machine Learning —— Multiple Maps t-SNE

               在Multiple Maps t-SNE中,引入权重的概念,接着说上面的例子,A与B且A与C相似但是B与C不相似,那么就将A与B的相似放在一个图中,将A与C的相似放在另一个图中。

Machine Learning —— Multiple Maps t-SNE

    (2)中心对象在二维空间的可视化   

               在二维空间中,一个点周围可视化5个点,但是在我们的实践中,会遇到过于中心化的现象,即一个中心的周围的点依然是中心点,这样就会造成可视化效果并不理想,所以可以使用Multiple Maps t-SNE来解决。

*(图中表示的是中心化的问题,红色的点表示的是中心点)

Machine Learning —— Multiple Maps t-SNE

               对于过中心化的点,我们可以将中心点分布在不同的图中,例如A与DEFGHI6个点都相似,可二维空间中一个点周围只能可视化5个点,所以我们可以将前三个点放在一个图中,后三个点放在另一个图中。

Machine Learning —— Multiple Maps t-SNE

四、实验效果

    这里我使用8个图展示wiki语料中的1000个数据,但是我只截取了一个例子展示一下。

Machine Learning —— Multiple Maps t-SNE

五、总结

    Multiple Maps t-SNE是对t-SNE算法的延展,在t-SNE上增加了权重的概念,它主要解决了不可传递的相似和过中心化两个主要问题。

实现Multiple Maps t-SNE的代码在这里:https://download.csdn.net/download/zzzzhy/10494698


    


    


    

相关文章: