Czy najbliższy sąsiad ma jakiś sens z t-SNE?

10

Odpowiedzi tutaj stwierdzają, że wymiary w t-SNE są pozbawione znaczenia , a odległości między punktami nie są miarą podobieństwa .

Czy możemy jednak powiedzieć coś o punkcie na podstawie jego najbliższych sąsiadów w przestrzeni t-SNE? Ta odpowiedź na pytanie, dlaczego punkty, które są dokładnie takie same nie są skupione, sugeruje, że stosunek odległości między punktami jest podobny między reprezentacjami niższych i wyższych wymiarów.

Na przykład obrazek poniżej pokazuje t-SNE na jednym z moich zestawów danych (15 klas).

Czy mogę powiedzieć, że cro 479(u góry po prawej) jest wartością odstającą? Czy fra 1353(u dołu po lewej) jest bardziej podobny do cir 375innych obrazów w fraklasie itp.? Czy mogą to być po prostu artefakty, np. fra 1353Utknęły po drugiej stronie kilku gromad i nie mogły przedrzeć się do drugiej fraklasy?

wprowadź opis zdjęcia tutaj

geometrikal
źródło

Odpowiedzi:

8

Nie, nie jest to konieczne, jednak w zawiły sposób jest to cel T-SNE.

Zanim przejdziemy do sedna odpowiedzi, spójrzmy na niektóre podstawowe definicje, zarówno matematyczne, jak i intuicyjne.

Najbliżsi sąsiedzi : rozważ przestrzeń metryczną i zestaw wektorów , biorąc pod uwagę nowy wektor , chcemy znaleźć takie punkty, że. Intuicyjnie to tylko minimalne odległości przy użyciu odpowiedniej definicji normy w .RdX1,...,XnRdxRd||X1x||...||Xnx||Rd

Teraz dochodzę do wniosku, czy najbliżsi sąsiedzi rzeczywiście mają znaczenie, stosując redukcję wymiarowości. Zazwyczaj w moich odpowiedziach zamierzam zracjonalizować coś za pomocą matematyki, kodu i intuicji. Rozważmy najpierw intuicyjny aspekt rzeczy. Jeśli masz punkt, który jest w odległości od innego punktu, z naszego zrozumienia algorytmu t-sne wiemy, że odległość ta zostaje zachowana, gdy przechodzimy do wyższych wymiarów. Załóżmy dalej, że punkt jest najbliższym sąsiadem w pewnym wymiarze . Z definicji, istnieje związek pomiędzy odległością w idyxddd+k. Mamy więc intuicję polegającą na tym, że odległość jest utrzymywana w różnych wymiarach, a przynajmniej do tego dążymy. Spróbujmy to uzasadnić matematyką.

W tej odpowiedzi mówię o matematyce związanej z t-sne, aczkolwiek nie szczegółowo ( t-SNE: Dlaczego równe wartości danych nie są wizualnie bliskie? ). To, czym jest matematyka, polega na maksymalnym zwiększeniu prawdopodobieństwa, że ​​dwa punkty pozostaną blisko w rzutowanej przestrzeni, tak jak w oryginalnej przestrzeni, przy założeniu, że rozkład punktów jest wykładniczy. Patrząc na to równanie . Zauważ, że prawdopodobieństwo zależy od odległości między dwoma punktami, więc im dalej są one od siebie, tym dalej są one oddalane, gdy są rzutowane na mniejsze wymiary. Zauważ, że jeśli są daleko od siebie wpj|i=exp(||xjxi||22σ2)kiexp(||xjxi||22σ2)Rk, istnieje duża szansa, że ​​nie będą one zbliżone do wymiaru rzutowanego. Mamy więc matematyczne uzasadnienie, dlaczego punkty „powinny” pozostać blisko. Ponownie, ponieważ jest to rozkład wykładniczy, jeśli punkty te są znacznie od siebie oddalone, nie ma gwarancji, że właściwość Najbliższych sąsiadów zostanie zachowana, chociaż jest to cel.

Wreszcie fajny przykład kodowania, który pokazuje również tę koncepcję.

from sklearn.manifold import TSNE
from sklearn.neighbors import KNeighborsClassifier
X = [[0],[1],[2],[3],[4],[5],[6],[7],[8],[9]]
y = [0,1,2,3,4,5,6,7,8,9]
neighs = KNeighborsClassifier(n_neighbors=3)
neighs.fit(X, y)
X_embedded = TSNE(n_components=1).fit_transform(X)
neighs_tsne = KNeighborsClassifier(n_neighbors=3)
neighs_tsne.fit(X_embedded, y)
print(neighs.predict([[1.1]]))
>>>[0]
print(neighs_tsne.predict([[1.1]]))
>>>[0]

Chociaż jest to bardzo naiwny przykład i nie odzwierciedla złożoności, działa on eksperymentalnie w przypadku kilku prostych przykładów.

EDYCJA: Dodając także pewne punkty w odniesieniu do samego pytania, więc nie jest to konieczne, może być jednak racjonalizacja za pomocą matematyki, by udowodnić, że nie masz konkretnego wyniku (brak ostatecznego tak lub nie) .

Mam nadzieję, że wyjaśniło to niektóre z twoich obaw związanych z TSNE.

PSub
źródło
Dzięki za dobrą odpowiedź. Podsumowując: Punkty o wysokim podobieństwie mają duże prawdopodobieństwo pozostania blisko. Zgaduję, że parametr zakłopotania kontroluje liczbę punktów wykorzystywanych do obliczania prawdopodobieństwa, więc klastry mogą stać się rozłączne, jeśli zakłopotanie jest niskie. Czy możesz skomentować wczesną przesadę? Zakładam również, że prawdopodobieństwo, że punkty będą odstające lub błędnie sklasyfikowane (mając wszystkie swoje NN w innej klasie) przy użyciu przestrzeni TSNE, byłoby zwiększone, gdyby były one spójne po wielokrotnej inicjalizacji TSNE?
geometrikal
Tak, zakłopotanie jest jednym z głównych czynników, które wpływają na to, jak blisko siebie znajdują się punkty. Wczesna przesada, intuicyjnie jest to, jak ciasne skupiska w pierwotnej przestrzeni i ile przestrzeni będzie między nimi w przestrzeni osadzonej (więc jest to mieszanina zarówno zakłopotania, jak i wczesnej przesady, która wpływa na odległości między punktami. Jeśli chodzi o twoje ostatnie pytanie, odpowiedź tak, to z powodu potęgowania się normy, co może powodować problemy w przestrzeni osadzania, więc istnieje szansa na
błędną