Questions tagged «tsne»

T分布随机邻居嵌入(t-SNE)是van der Maaten和Hinton在2008年提出的一种非线性降维算法。


1
PCA仅保留较大的成对距离是什么意思?
我目前正在阅读t-SNE可视化技术,有人提到使用主成分分析(PCA)来可视化高维数据的缺点之一是它仅保留了点之间的较大成对距离。在高维空间中相距较远的意义点在低维子空间中也将相距较远,但除此之外,所有其他成对距离都将被搞砸。 有人可以帮助我理解为什么会这样吗?它在图形上意味着什么?

1
混合连续变量和二进制变量的t-SNE
我目前正在研究使用t-SNE进行高维数据的可视化。我有一些包含二进制和连续变量混合的数据,并且数据似乎很容易将二进制数据聚类。当然,这是按比例缩放(介于0和1之间)数据的预期:二进制变量之间的Euclidian距离将始终最大/最小。如何使用t-SNE处理混合的二进制/连续数据集?我们应该删除二进制列吗?它有一个不同的metric,我们可以使用? 作为示例,请考虑以下python代码: x1 = np.random.rand(200) x2 = np.random.rand(200) x3 = np.r_[np.ones(100), np.zeros(100)] X = np.c_[x1, x2, x3] # plot of the original data plt.scatter(x1, x2, c=x3) # … format graph 所以我的原始数据是: 其中颜色是第三个特征(x3)的值-在3D中,数据点位于两个平面(x3 = 0平面和x3 = 1平面)中。 然后,我执行t-SNE: tsne = TSNE() # sci-kit learn implementation X_transformed = StandardScaler().fit_transform(X) tsne = TSNE(n_components=2, …

3
当n,p都大时,PCA太慢:替代方案?
问题设定 我有高维度(4096)的数据点(图像),我正尝试以2D方式进行可视化。为此,我以类似于以下Karpathy示例代码的方式使用t- sne。 该scikit学习文档,建议使用PCA先降低数据的维度: 如果特征数量非常多,强烈建议使用另一种降维方法(例如,对于密集数据使用PCA或对于稀疏数据使用TruncatedSVD)将尺寸数量减少到合理的数量(例如50个)。 我正在使用Darks.Liu的以下代码在Java中执行PCA: //C=X*X^t / m DoubleMatrix covMatrix = source.mmul(source.transpose()).div(source.columns); ComplexDoubleMatrix eigVal = Eigen.eigenvalues(covMatrix); ComplexDoubleMatrix[] eigVectorsVal = Eigen.eigenvectors(covMatrix); ComplexDoubleMatrix eigVectors = eigVectorsVal[0]; //Sort sigen vector from big to small by eigen values List<PCABean> beans = new ArrayList<PCA.PCABean>(); for (int i = 0; i < eigVectors.columns; i++) { …

2
可扩展的尺寸缩减
考虑到特征数量恒定,Barnes-Hut t-SNE的复杂度为,随机投影和PCA的复杂度为使它们对于非常大的数据集“负担得起”。O (n )O(nlogn)O(nlog⁡n)O(n\log n)O(n)O(n)O(n) 另一方面,依赖多维缩放的方法具有复杂度。O(n2)O(n2)O(n^2) 是否存在其他复杂度低于降维技术(除了琐碎的降维技术,例如,看前列?O (n log n )kkkO(nlogn)O(nlog⁡n)O(n\log n)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.