流形学习,全称流形学习方法(Manifold Learning),自2000年在著名的科学杂志《Science》被首次提出以来,已成为信息科学领域的研究热点。在理论和应用上,流形学习方法都具有重要的研究意义。假设数据是均匀采样于一个高维欧氏空间中的低维流形,流形学习就是从高维采样数据中恢复低维流形结构,即找到高维空间中的低维流形,并求出相应的嵌入映射,以实现维数约简或者数据可视化。它是从观测到的现象中去寻找事物的本质,找到产生数据的内在规律。

流形学习方法是模式识别中的基本方法,分为线性流形学习算法和非线性流形学习算法,非线性流形学习算法包括等距映射(Isomap),拉普拉斯特征映射(Laplacian eigenmaps,LE),局部线性嵌入(Locally-linear embedding,LLE)等。而线性方法则是对非线性方法的线性扩展,如主成分分析(Principal component analysis,PCA),多维尺度变换(Multidimensional scaling,MDS)等。

深度学习巨头之一的Hinton大神在数据降维领域有一篇经典论文Visualizing Data using t-SNE。该方法是流形(非线性)数据降维的经典,从发表至今鲜有新的降维方法能全面超越。该方法相比PCA等线性方法能有效将数据投影到低维空间并保持严格的分割界面;缺点是计算复杂度大,一般推荐先线性降维然后再用tSNE降维。python sklearn有相应的实现。也可以用Tensorflow实现这个算法。

TSNE是由SNE衍生出的一种算法,SNE最早出现在2002年,它改变了MDS和ISOMAP中基于距离不变的思想,将高维映射到低维的同时,尽量保证相互之间的分布概率不变,SNE将高维和低维中的样本分布都看作高斯分布,而TSNE将低维中的样本当做T分布,这样做的好处是为了让距离大的簇之间距离拉大,从而解决了拥挤问题。从SNE到TSNE之间,还有一个对称SNE,其对SNE有部分改进作用。详见[3](理解:SNE假设低维和高维的样本分布都服从高斯分布,两个分布的差距用KL散度衡量,高维到低维映射的求解是使用最优化算法迭代计算使得两个分布的差异最小;而TSNE则假设低维样本的分布服从更一般的T分布)。

 

参考:

[1] https://baike.baidu.com/item/%E6%B5%81%E5%BD%A2%E5%AD%A6%E4%B9%A0/6336220

[2] http://blog.csdn.net/lpsl1882/article/details/58741475

[3] http://blog.csdn.net/zhangweiguo_717/article/details/70188517

posted on 2018-03-02 19:00  guoxiang  阅读(1294)  评论(0编辑  收藏  举报