-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using LargeVis instead t-SNE? #6
Comments
Wow, very easy to recognize that's a great suggestion actually! If you wish to do so yourself and create a pull request I would gladly accept it. Otherwise you can expect I'll probably get to it sooner or later. Thanks and all the best. |
I recently had great success with a very similar graph extraction technique on Wikipedia, prior to feeding it to the same type of collocation / nearest neighbor computation that word2vec implicitly computes, using Swivel, and I plan to push parts of these results here fairly soon... |
Cool, more interesting work coming up. The same authors of LargeVis create LINE for learning network embeddings. Cool and scalable algorithms in case you need them. Attached there is a visualization (without the clusters with nice colors) of the tech people using LargeVis. I didn't play much with the parameters, but you can see on the left side that Larry Page is much closer to Sergey Brin are closer compared with t-SNE visualization. I think LargeVis should be the state-of-the-art algorithm, especially because you should be careful setting the perplexity. |
Thanks for the tip to LINE as well - I'll have to analyze that one, but in any case very impressive and cool. I could agree right away from your LargeVis demo that it's better, especially if you didn't have to worry about that perplexity parameter, which makes-or-breaks the whole optimization. Also, Larry should never be too far from Sergey. :) |
I've doing tests of your recommendation HDBSCAN for the clustering and the results are promising when using the results of LargeVis. Here, I attached the output of the HDBSCAN clustering on the tech people (n=63, min_cluster_size=3) and mnist (n=70000, min_cluster_size=25) datasets. |
Amazing work demonstrating LargeVis on MNIST vectors. Was this dimensionality reduction from the raw pixel values? It's clear that LargeVis gives us 10 distinct clusters (especially when you're looking for them), but some are more grouped than others, and this seems to confuse HDBSCAN a bit. I think @lmcinnes would find these results interesting too. :) |
So I'm actually working on a (generalized) LargeVis implementation myself, more to explore some other fun things I believe you can do (LargeVis on arbitrary dataframes rather than just vector space data). O think it is important to note that at its core LargeVis really is just t-SNE -- mostly what it provides is some very clever ideas for improving the optimization, and hence can get better KL-divergence on large datasets. In practice I see LargeVis as important because of its scalability to very large datasets, if you have small data I would expect little difference with t-SNE. In the case of the MNIST dataset, yes, that's quite interesting -- you do actually get groups, but with the sub grouping going on (and the large gaps between larger groups) does make HDBSCAN lump them together (not unreasonably in some sense). I expect the condensed tree will have that substructure well described. I have been starting to explore alternative cluster selection methods than the direct Excess of Mass algorithm used right now, but I haven't really found anything great (except that leaves of the condensed tree are sometimes actually what you want for specific use cases). |
@legel yes, I used the raw pixel values to compute it.
I've seen differences even in small datasets. In my experience, with both methods LargeVis is superior. |
@lmcinnes thanks for all this, looking forward to hearing about / exploring any updates! Meanwhile for fun, I hacked a words2map 3D VR demo but haven't pushed code for it yet because it seems t-SNE is even more sensitive to hyperparameters for 3D, and haven't been able to get many good visualizations beyond the passions.txt there. |
Thanks for sharing your interesting work.
I would recommend using LargeVis instead of t-SNE to get the low-dimensionality representation.
The text was updated successfully, but these errors were encountered: