Strona główna▸Artykuły▸Nauka Danych

PCA, t-SNE i UMAP: Trzy Różne Metody Spłaszczania Danych o Wysokiej Wymiarowości

Dekompozycja wartości własnych w sposób liniowy, optymalizacja dopasowania prawdopodobieństwa oraz przybliżenie wielościan topologiczne – to samo cele, trzy różne matematyki.

mysimulator teamZaktualizowano — czerwiec 2026≈ 9 min czytania▶ Otwórz symulację

Problem: zbyt wiele osi do obejrzenia

Rzeczywiste zbiory danych często żyją w dziesiątkach, setkach lub tysiącach wymiarów, a ludzkie wzrokowanie działa tylko w dwóch lub trzech. Redukcja wymiarowości znajduje niskowymiarowe układ współrzędnych, które jak najbardziej zachowują istotną strukturę wysokowymiarowych danych, tak aby klastry, gradienty i wartości odstępczego były niewidoczne w tabeli liczb, stały się widoczne na wykresie rozrzutowym. Trzy techniki porównane tutaj – PCA, t-SNE i UMAP – rozwiązują ten problem przy użyciu fundamentalnie różnych matematyki i fundamentalnie różnych koncepcji tego, co oznacza „zachowanie struktury”.

demo na żywo · powiązana symulacja● LIVE

Analiza Głównych Składowych (PCS): najlepsza możliwa liniowa projekcja cienia

Analiza Głównych Składowych (PCS) zadaje czysto liniowe pytanie: który kierunek w danych uchwyca najwięcej zmienności? Centralizuj dane, oblicz macierz kowariancji Σ i przekształć ją następująco:

Σ = (1/n) XᵀX (Dane zcentralizowane liniowo, wiersze = próbki) Σ vi = λi vi wektory własne vi = składowe główna wartości własne λi = zmienność wzdłuż vi przekształć na k najlepszych wektorów własnych → widok o wymiarze k, który zachowuje jak największą całkowitą zmienność dla dowolnej projekcji liniowej Równoważnie, PCS wypływa bezpośrednio z rozkładu wartości osobliwych X = UΣVᵀ: wektory osobliwe prawe V są składowymi głównymi, a wartości osobliwe w Σ są proporcjonalne do pierwiastków kwadratowych z powyższych wartości własnych. Ponieważ jest to sztywna projekcja liniowa – dosłownie obracając dane i odrzucając osie o niskiej zmienności – PCS jest szybka (jedna dekompozycja ejszena, bez iteracji), deterministyczna i odwracalna w sensie, że zawsze wiemy dokładnie, jaką zmienność wyrzucono (stosunek odrzuconych do całkowitych wartości własnych).

Σ = (1/n) XᵀX                      (X mean-centred, rows = samples)
Σ vi = λi vi                       eigenvectors vi = principal components
                                    eigenvalues λi  = variance along vi

project onto the top k eigenvectors → the k-dimensional view that
                                       preserves the most total variance
                                       of any linear projection

t-SNE: Zachowanie sąsiadów, nie odległości

Uczenie się dystrybucji t-rozłożonych (t-SNE), wprowadzone przez van der Maaten i Hintona w 2008 roku, rezygnuje z zachowania odległości globalnie i zamiast tego próbuje zachować relacje sąsiedztwa. W przestrzeni o wysokiej wymiarowości przekształca parzyste odległości w prawdopodobieństwa warunkowe, wskazujące, że punkt j jest sąsiadem punktu i, używając rozkładu Gaussa, którego szerokość pasma jest dostosowywana dla każdego punktu na podstawie docelowej perplexity (luźno mówiąc, skuteczny licznik sąsiadów – typowe wartości 5 do 50):

pj|i ∝ exp( −||xi − xj||² / 2σi² ) szerokość pasma σi ustawiana na podstawie docelowej perplexity pij = (pj|i + pi|j) / 2n symmetryzowane prawdopodobieństwo warunkowe in przestrzeni o niskiej wymiarowości, używany jest rozkład Student-t o ciężkich ogonach: qij ∝ (1 + ||yi − yj||²)⁻¹ minimalizować KL(P ‖ Q) = Σ pij log(pij / qij) gradientem opadającym na yi Ciężki ogon rozkładu Student-t w przestrzeni o niskiej wymiarowości (zamiast innej Gaussi) jest kluczowym trikiem i rozwiązuje problem zagęszczenia, którego van der Maaten i Hinton nazwali: przestrzeń o wysokiej wymiarowości po prostu ma miejsce na znacznie więcej sąsiadów o równych odległościach niż płaszczyzna 2D, więc symetryczne embedding Gaussa jest zmuszone albo ścisną blisko siebie umiarkowane odległości, albo użyć nieuzasadnionych dużych odległości dla oddalonych punktów. Ogony rozkładu t są grubsze, co pozwala umiarkowanie różnym punktom wygodnie rozmieścić się daleko od siebie na mapie bez konieczności rozmieszczania blisko siebie również innych punktów, co nadaje t-SNE jego charakterystyczne ciasne, dobrze oddzielone klastry. Ceny to fakt, że tylko lokalna struktura jest niezawodna: rozmiary klastrów, odległości między klastrami i nawet liczba punktów znajdujących się w klastrze mogą być artefaktami perplexity i losowej inicjalizacji, a nie prawdziwej geometrii danych – klasyczną pułapką jest wyciąganie znaczenia z tego, jak daleko od siebie są t-SNE klastry, które algorytm w ogóle nie próbuje zachować.

pj|i ∝ exp( −||xi − xj||² / 2σi² )      per-point σi set by target perplexity
pij  = (pj|i + pi|j) / 2n               symmetrised joint probability

in the low-dimensional map, use a heavier-tailed Student-t distribution:
qij ∝ (1 + ||yi − yj||²)⁻¹

minimise  KL(P ‖ Q) = Σ pij log(pij / qij)   by gradient descent on the yi

UMAP: topologia zamiast prawdopodobieństwa

Uniform Manifold Approximation and Projection (McInnes, Healy & Melville, 2018) opiera się na innej koncepcji, zakorzenionej w analizie danych topologicznych: założenie, że dane o wysokiej wymiarowości leżą na (lub blisko) niweli o niższej wymiarowości, oraz próba odtworzenia rozmytej reprezentacji topologicznej tej niwy – dla każdego punktu tworzy się rozmyty zbiór symplicialny zbudowany z jego k najbliższych sąsiadów, gdzie wagi krawędzi maleją wraz z odległością tak samo jak prawdopodobieństwa w t-SNE, ale skala lokalnej odległości każdego punktu jest skalowana do jego własnego odległości od najbliższego sąsiada zamiast globalnego celu perplexity. Następnie optymalizuje się układ o niskiej wymiarowości, aby uzyskać najbardziej podobną topologię rozmytej, minimalizując entropię krzyżową między wysokowymiarowymi i nizmowymiarowymi zbiorami rozmyтыми, przy użyciu efektywnej stochastycznej metody gradientowej z próbkowaniem negatywnym zbliżonej w duchu do word2vec.

W praktyce UMAP zwykle działa zauważnie szybciej niż t-SNE na dużych zbiorach danych, a jego podstawy teoretyczne dają mu realną przewagę w zachowaniu bardziej globalnej struktury – względne położenia klastrów przenoszą nieco więcej informacji niż w t-SNE – choć nadal nie powinno się go interpretować jako zachowania prawdziwych odległości. Obie metody dzielą tę samą podstawową zasadę: są nieliniowe i stochastyczne, więc osie wykresu wyjściowego nie mają bezpośredniego znaczenia fizycznego (w przeciwieństwie do PCA, gdzie każda oś jest konkretną kombinacją liniową oryginalnych cech o znanym wariancie), a ponowne uruchomienie z innym ziarnem losowym lub parametrem może widocznie przemieszczać układ nawet wtedy, gdy relacje sąsiedzkie są podobne.

Które, i kiedy

PCA jest szybkie, deterministyczne, liniowe, osie są interpretowalne → pierwszy krok, przetwarzanie wstępne, struktura liniowa t-SNE jest wolniejsze (czasami), stochastyczne, doskonałe lokalne klastry, brak globalnej reprezentacji → eksploracja wizualna znaczenia odległości, wrażliwe na perplexity struktury klastrów UMAP jest szybsze niż t-SNE, lepiej zachowuje globalną strukturę, → dla dużych zbiorów danych, jest oparte na teorii, nadal nie zachowuje odległości w sposób dokładny w procesie/do użytku produkcyjnego Często stosowane i skuteczne podejście to łańcuch operacji: najpierw uruchamiamy PCA, aby zredukować, powiedzmy, 500 szumnych wymiarów do 30-50, które nadal uchwycą większość wariancji (co również redukuje szum i ogromnie przyspiesza to, co następuje), a następnie przekazujemy tę zmniejszoną reprezentację t-SNE lub UMAP do ostatecznego, nieliniowego embeddingu 2D lub 3D używanego do wizualizacji.

PCA      fast, deterministic, linear, axes are interpretable        →  first pass,
                                                                          preprocessing,
                                                                          linear structure
t-SNE    slow(er), stochastic, excellent local clusters, no global      →  visual exploration
         distance meaning, sensitive to perplexity                         of cluster structure
UMAP     faster than t-SNE, more global structure preserved,            →  large datasets,
         theoretically grounded, still not distance-preserving             pipeline/production use

Frequently asked questions

Czy powinnam ufać odległościom między klastrami w wykresie t-SNE lub UMAP?

Nie w pełni, a w przypadku t-SNE prawie w ogóle nie. Obie metody zostały zaprojektowane do zachowania lokalnych sąsiedztw, a nie globalnych odległości, więc rozmiar klastra, przerwa między dwoma klastrami oraz nawet aspekt klastra mogą być artefaktami parametrów algorytmu, a nie rzeczywistymi właściwościami danych. UMAP w pewnym stopniu zachowuje strukturę globalną niż t-SNE dzięki konstrukcji, ale żadna z nich nie powinna być interpretowana jak wykres PCA, gdzie położenie osi ma precyzyjny, liniowy sens.

Dlaczego PCA zawodzi na danych zakrzywionych, takich jak szwajcarski wózek?

PCA może jedynie obracać i liniowo projektować dane; nie ma sposobu na reprezentację rozmaitego, zakrzywionego pędu. Dwa 'końce' wózka szwajcarskiego mogą być liniowo blisko siebie w przestrzeni 3D, a jednocześnie oddalone od siebie wzdłuż powierzchni samego pędu, a PCA nie ma mechanizmu na zauważenie tej różnicy. Metody nieliniowe, takie jak t-SNE i UMAP, które rozważają lokalne sąsiedztwa zamiast pojedynczej, globalnej linii prostej, mogą je 'rozwińć'.

Co kontroluje parametr perplexity w t-SNE?

Ustawia on efektywną liczbę sąsiadów, które każdy kernel Gaussa bierze pod uwagę podczas budowania rozkładu prawdopodobieństwa o wysokiej wymiarowości – nieformalnie, jak lokalnie lub globalnie algorytm patrzy. Niska perplexity podkreśla bardzo szczegółową strukturę lokalną i może fragmentować prawdziwe klastry; wysoka perplexity wygładza szczegóły i może łączyć ze sobą oddzielne klastry. Typowe wartości to między 5 a 50, a wyniki należy sprawdzać w kilku ustawieniach zamiast ufać jednemu uruchomieniu.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Dimensionality Reduction i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.

▶ Otwórz symulację Dimensionality Reduction

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)