T 分布随机近邻嵌入(T-Distribution Stochastic Neighbour Embedding)是一种用于降维的机器学习方法,它能帮我们识别相关联的模式。t-SNE 主要的优势就是保持局部结构的能力。这意味着高维数据空间中距离相近的点投影到低维中仍然相近。t-SNE 同样能生成漂亮的可视化。
理论方面可查看Hinton 在 2008 年发表的论文:《Visualizing Data using t-SNE》
我的理解是:高位空间和低维空间理论上相似性应该得到保留,为了让低维空间近似于高位空间的距离,通过概率分布来建模点与点之间的关系,然后利用高位空间和低维空间的同样分布,用KL散度作为loss来训练,使低维空间最大近似保留高位空间的距离。
SKLearn 代码如下:
#visualize : t-SNE
from sklearn.manifold import TSNE
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib.path