我尝试过其他距离度量,如切比雪夫距离或曼哈顿距离等,这些都是在 Matlab 的 tsne 中实现的。其中一些实现了与欧几里得距离度量相同的良好性能。所以我对为什么tsne总是使用欧几里得距离来计算距离有一些疑问。与其他距离度量相比,此距离度量有什么优势吗?我希望有人可以帮助我解决我的问题。提前致谢!
问问题
1044 次
2 回答
0
TSNE 总是使用欧几里得距离函数来测量距离,因为它是方法定义中的默认参数集。如果您希望更改用于特定问题的距离函数,则需要在方法调用中更改“metric”参数。
这是一个链接,列出了您可以用作参数而不是欧几里得的不同距离函数。
希望这可以帮助!
于 2019-06-26T23:01:11.917 回答
0
不确定您在谈论哪种实现,但通常 tSNE 适用于距离矩阵,您可以根据对数据实际有意义的内容来计算此距离矩阵。
Euclidean
并且Jaccard
距离通常效果很好,我也得到了一些不错的结果,方法TSVD
是将数据减少到约 50 维,然后tSNE
对Euclidean
距离矩阵进行处理。
于 2019-06-30T22:10:40.333 回答