为什么tsne方法使用欧几里得距离来计算高维数据中的相似度?

时间:2019-06-26 21:54:23

标签: machine-learning data-visualization euclidean-distance dimension-reduction

我尝试了其他距离度量标准,例如chebychev距离或Manhatten距离等,这些都在Matlab的tsne中实现。它们中的一些实现了与欧几里德距离度量相同的良好性能。所以我有一些 为什么tsne总是使用欧几里得距离来计算距离。与其他距离度量相比,此距离度量有什么优势吗?我希望有人可以帮助我解决我的问题。预先感谢!

2 个答案:

答案 0 :(得分:0)

TSNE始终使用欧几里得距离功能来测量距离,因为它是方法定义内的默认参数集。如果您想更改用于特定问题的距离函数,则需要在方法调用中更改“ metric”参数。

Here是一个链接,列出了可以用作参数而不是欧几里得的不同距离函数。

希望这会有所帮助!

答案 1 :(得分:0)

不确定您要讨论的是哪种实现,但是通常tSNE可以在距离矩阵上工作,并且由您根据实际对数据有意义的方式来计算此距离矩阵。

EuclideanJaccard的距离通常效果很好,通过使用TSVD将数据缩小到〜50维,然后在{ {1}}距离矩阵。