Jakiego algorytmu klasyfikacji należy użyć po zobaczeniu, że t-SNE dobrze oddziela klasy?

12

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?

Tomek Tarczyński
źródło
3
(+1) K-najbliżsi sąsiedzi mogą być jednym bardzo prostym i łatwym do wdrożenia naturalnym wyborem.
ameba

Odpowiedzi:

7

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 perplexityparametr, który reguluje (luźno) sposób równoważenia uwagi między lokalnymi i globalnymi aspektami twoich danych.

W tym kontekście perplexitysama 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 ratei perplexitymoż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:

  1. Te hiperparametry (np. Szybkość uczenia się, zakłopotanie) naprawdę mają znaczenie

  2. Rozmiary skupień na wykresie t-SNE nic nie znaczą

  3. Odległości między klastrami mogą nic nie znaczyć

  4. Losowy hałas nie zawsze wygląda losowo.

  5. Czasami można zobaczyć niektóre kształty

  6. 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.

Zhubarb
źródło
1
Berkmeister: Wszystko, co napisałeś, ma sens. Mój problem jest dość łatwy do opisania: chcę, aby model klasyfikacji był jak najlepszy. Jak mogę go użyć do poprawy jakości modelu? Podejrzewam, że t-SNE może „zasugerować”, która metoda może być odpowiednia dla danego problemu.
Tomek Tarczynski
2
Zobacz edycję, metody uczenia oparte na instancjach byłyby kompatybilne z wszelkimi wskazówkami, jakie możesz uzyskać z wykresów t-SNE.
Zhubarb,
2
(+1): Dzięki za odpowiedź, szukałem dokładnie tego. Przyjmę odpowiedź w ciągu dwóch dni.
Tomek Tarczyński