t-SNE: Dlaczego równe wartości danych nie są wizualnie zbliżone?

9

Mam 200 punktów danych, które mają takie same wartości we wszystkich funkcjach.

Po zmniejszeniu wymiaru t-SNE nie wyglądają już tak równo, tak jak poniżej: wprowadź opis zdjęcia tutaj

Dlaczego nie są w tym samym punkcie wizualizacji, a nawet wydają się być podzieleni na dwa różne klastry?

ScientiaEtVeritas
źródło
4
Pamiętaj, aby przeczytać distill.pub/2016/misread-tsne
Emre
Czy może to być spowodowane używaną precyzją (double / float)?
El Burro
Większość wartości to liczby całkowite. I to jest bardzo rzadkie, około 500 funkcji z przeważnie zerami. Nie wiem, czy może to być spowodowane precyzją. Ale odległość między tymi klastrami i między tymi punktami danych jest stosunkowo duża.
ScientiaEtVeritas
Które klastry? Myślałem, że wszystkie są takie same - czy masz na myśli fabułę?
El Burro
Tak, mam na myśli skupiska na fabule.
ScientiaEtVeritas

Odpowiedzi:

3

Masz rację, że te same wartości w T-SNE można rozdzielić na różne punkty, dlatego dzieje się to jasne, jeśli spojrzysz na algorytm, na którym działa T-SNE.

Aby rozwiązać swoją pierwszą obawę, że punkty faktycznie nie są takie same po zastosowaniu algorytmu do zestawu danych. Zostawię ci ćwiczenie, aby je zweryfikować, rozważ prostą tablicę i i uruchom na nim algorytm i przekonaj się, że wynikowe punkty nie są w rzeczywistości identyczne Możesz odnieść się do odpowiedzi w tej odpowiedzi.x1=[0,1]x2=[0,1]

import numpy as np from sklearn.manifold import TSNE m = TSNE(n_components=2, random_state=0) m.fit_transform(np.array([[0,1],[0,1]]))

Zauważysz również, że zmiana random_statefaktycznie modyfikuje współrzędne wyjściowe modelu. Nie ma żadnej rzeczywistej korelacji między rzeczywistymi współrzędnymi a ich wynikiem. Od pierwszego kroku TSNE oblicza prawdopodobieństwo warunkowe.

Spróbujmy teraz zracjonalizować, wykorzystując algorytm, powód, dla którego tak się dzieje, używając matematyki, bez żadnej intuicji. Zauważ, że i są wektorami w tej sytuacji. . Teraz, jeśli widzimy, że wartość wynosi 1. Po zastosowaniu rozbieżności KL otrzymujemy wartości określone powyżej. A teraz zastosujmy do tego trochę intuicji. to nieformalnie prawdopodobieństwo warunkowe, że wybierzexixjpj|i=exp(||xjxi||22σ2)kiexp(||xjxi||22σ2)pij=pi|j+pj|i2Npijxixjjak to jest sąsiad. Uzasadnia to wynik 1 z dwóch powodów. Pierwszy polega na tym, że nie ma innego sąsiada, dlatego musi on wybrać jedyny inny wektor z listy współrzędnych. Ponadto punkty są identyczne, a szanse, że zostaną wybrane jako inni sąsiedzi, powinny być wysokie, jak widzimy.

Teraz dochodzę do wniosku, czy bezwzględne współrzędne w mają jakieś znaczenie. Naprawdę nie. Losowość może rozdzielić punkty, gdziekolwiek chcesz. Jednak bardziej interesujące są stosunki odległości między punktami i są one względne i względne, nawet gdy rzutujemy je na wyższe wymiary, co jest dość interesujące.R2

Tak więc prawda jest taka, że ​​zamiast patrzeć na te dwa gromady, spójrz na odległości między nimi, ponieważ przekazuje to więcej informacji niż samych koordynatów.

Mam nadzieję, że to odpowiedziało na twoje pytanie :)

PSub
źródło