为什么tsne方法使用欧氏距离来计算高维数据的相似性?
Why tsne method use Euclidean distance to compute the similarities in high dimensional data?
我尝试过其他距离度量,比如chebychev distance或Manhatten distance等,它们都是在Matlab中的tsne中实现的。其中一些实现了与欧氏距离度量相同的良好性能。所以我有一些
关于为什么tsne总是用欧氏距离来计算距离的问题。与其他距离度量相比,这个距离度量有什么优势吗?我希望有人能帮我解决我的问题。提前致谢!
TSNE 总是使用欧氏距离函数来测量距离,因为它是方法定义中的默认参数集。如果您希望更改用于特定问题的距离函数,则需要在方法调用中更改 'metric' 参数。
Here 是一个 link,它列出了您可以用作参数而不是欧几里得的不同距离函数。
希望对您有所帮助!
不确定你说的是哪个实现,但通常 tSNE 在距离矩阵上工作,你可以根据对你的数据实际有意义的内容来计算这个距离矩阵。
Euclidean
和 Jaccard
距离通常效果很好,我也通过使用 TSVD
将数据减少到 ~50 维然后执行 tSNE
得到了一些不错的结果在 Euclidean
距离矩阵上。
我尝试过其他距离度量,比如chebychev distance或Manhatten distance等,它们都是在Matlab中的tsne中实现的。其中一些实现了与欧氏距离度量相同的良好性能。所以我有一些 关于为什么tsne总是用欧氏距离来计算距离的问题。与其他距离度量相比,这个距离度量有什么优势吗?我希望有人能帮我解决我的问题。提前致谢!
TSNE 总是使用欧氏距离函数来测量距离,因为它是方法定义中的默认参数集。如果您希望更改用于特定问题的距离函数,则需要在方法调用中更改 'metric' 参数。
Here 是一个 link,它列出了您可以用作参数而不是欧几里得的不同距离函数。
希望对您有所帮助!
不确定你说的是哪个实现,但通常 tSNE 在距离矩阵上工作,你可以根据对你的数据实际有意义的内容来计算这个距离矩阵。
Euclidean
和 Jaccard
距离通常效果很好,我也通过使用 TSVD
将数据减少到 ~50 维然后执行 tSNE
得到了一些不错的结果在 Euclidean
距离矩阵上。