Artsiom

Results 26 comments of Artsiom

I'm developing a fork of this repository. And I have already implemented possibility to use a precomputed distance matrix as long as several other distance metrics. https://github.com/asanakoy/Multicore-TSNE

`plt.cm.nipy_spectral` can be used instead

It happens to me sometimes as well. When the perplexity is high enough.

@DmitryUlyanov, thank you. I will write you back when I try the update.

@DmitryUlyanov, f5c5be1#diff-f8b3cce0b3183b4e02d913d9eb933c6eR210 didn't fix it. I believe the problem is in numerical instability when the point is being checked to lie in the bounds of the child [splittree.cpp#L149](https://github.com/DmitryUlyanov/Multicore-TSNE/blob/master/multicore_tsne/splittree.cpp#L149 )- >...

@DmitryUlyanov why quadtree is only suited for euclidean? If I just change a distance function when you instantiate VpTree from euclidean to cosine will it be sufficient?

> Now I realize that it is not that easy. Distance should also be changed in gradient computation and for now it is hardcoded to be euclidean. Could you please...

> Well, you still can get cosine similarity by normalizing your data to have unit norm. But this is not exactly the same as the cosine distance.

I have added not normalized cosine distance (basically it is dot product) in my fork https://github.com/asanakoy/Multicore-TSNE/commit/eebf7365e5f75ec772acb6212a47eef8d5aef0f6 But as you mentioned above it's not fully correct because I forgot to change...

I have investigated the implementation more carefully. VPTree works with any metric distance. And it can work well with [angular distance (arccosine distance)](https://en.wikipedia.org/wiki/Cosine_similarity#Angular_distance_and_similarity) as it is pseudo metric. No need...