Załóżmy, że mamy problem z klasyfikacją i na początku chcemy uzyskać wgląd w dane i wykonujemy t-SNE. Wynik t-SNE bardzo dobrze rozdziela klasy. Oznacza to, że możliwe jest zbudowanie modelu klasyfikacji, który również bardzo dobrze oddzieli klasy (jeśli t-SNE nie rozdzieli się dobrze, to nie będzie to oznaczało wiele).
Wiedząc, że t-SNE koncentruje się na strukturze lokalnej i że potrafi dobrze rozdzielić klasy: Jakie algorytmy klasyfikacji powinny dobrze działać na ten problem? Scikit sugeruje SVM z jądrem Gaussa RBF, ale jakie są inne?
classification
tsne
Tomek Tarczyński
źródło
źródło
Odpowiedzi:
Najpierw krótka odpowiedź, a następnie dłuższy komentarz:
Odpowiedź
Techniki SNE obliczają macierz podobieństwa N × N zarówno w pierwotnej przestrzeni danych, jak i w niskiej przestrzeni osadzania w taki sposób, że podobieństwa tworzą rozkład prawdopodobieństwa między parami obiektów. W szczególności prawdopodobieństwa są na ogół podawane przez znormalizowane jądro Gaussa obliczane na podstawie danych wejściowych lub osadzania. Jeśli chodzi o klasyfikację, od razu przypomina to metody uczenia się oparte na instancjach . Wymieniłeś jeden z nich: SVM z RBF, a @amoeba podał kNN. Istnieją także sieci radialnych funkcji bazowych , na których nie jestem ekspertem.
Komentarz
Powiedziawszy to, byłbym podwójnie ostrożny w dokonywaniu wnioskowania na zbiorze danych, patrząc tylko na wykresy t-SNE. t-SNE niekoniecznie koncentruje się na strukturze lokalnej. Możesz to jednak dostosować, dostosowując
perplexity
parametr, który reguluje (luźno) sposób równoważenia uwagi między lokalnymi i globalnymi aspektami twoich danych.W tym kontekście
perplexity
sama w sobie jest kłótnią w ciemności, ilu bliskich sąsiadów może mieć każda obserwacja i jest zapewniona przez użytkownika. W oryginalnego papieru stwierdza: „Działanie t-END wynosi dość odporny na zmiany w zakłopotanie i typowe są wartości pomiędzy 5 i 50.” Jednak z mojego doświadczenia wynika, że maksymalne wykorzystanie t-SNE może oznaczać analizę wielu wykresów z różnymi problemami.Innymi słowy, dostrajanie
learning rate
iperplexity
możliwe jest uzyskanie bardzo różniących się wykresów 2D dla tej samej liczby kroków treningowych i przy użyciu tych samych danych.Ten artykuł Distill Jak używać t-SNE Skutecznie daje świetne podsumowanie typowych pułapek analizy t-SNE. Punkty podsumowujące to:
Te hiperparametry (np. Szybkość uczenia się, zakłopotanie) naprawdę mają znaczenie
Rozmiary skupień na wykresie t-SNE nic nie znaczą
Odległości między klastrami mogą nic nie znaczyć
Losowy hałas nie zawsze wygląda losowo.
Czasami można zobaczyć niektóre kształty
Do topologii może być potrzebny więcej niż jeden wykres
W szczególności z punktów 2, 3 i 6 powyżej, dwa razy pomyślałbym o wyciągnięciu wniosków na temat możliwości rozdzielenia danych, patrząc na poszczególne wykresy t-SNE. Istnieje wiele przypadków, w których można „wytwarzać” wykresy pokazujące czyste klastry przy użyciu odpowiednich parametrów.
źródło