Streszczenie AI
Redukcja wymiarowości, w tym PCA, LDA, t‑SNE i UMAP, służy do kompresji, wizualizacji i przyspieszania modeli, przy czym każda metoda ma inne podejście: PCA nienadzorowana, LDA wykorzystuje etykiety klas, t‑SNE i UMAP skupiają się na lokalnych sąsiedztwach. Wybór zależy od celów analizy (wizualizacja vs klasyfikacja) oraz oferty danej metody.
Spis treści:
Redukcja wymiarowości służy do zastąpienia dużej liczby cech mniejszym zbiorem reprezentacji, który zachowuje najważniejsze właściwości danych. Jest wykorzystywana między innymi do kompresji, wizualizacji, usuwania szumu oraz przyspieszania uczenia modeli.
Nie istnieje jednak jedna uniwersalna metoda. PCA szuka kierunków największej zmienności bez używania etykiet klas, LDA wykorzystuje klasy do znalezienia projekcji ułatwiającej separację, natomiast t-SNE i UMAP koncentrują się przede wszystkim na strukturze sąsiedztw. Różnice te mają bezpośredni wpływ na sposób interpretacji wyników.
PCA: projekcja na główne kierunki
Analiza głównych składowych, czyli PCA, jest metodą liniową i nienadzorowaną. Oznacza to, że algorytm analizuje wyłącznie macierz cech, bez informacji o klasie, wartości docelowej czy etykiecie badanego obiektu.
Załóżmy, że dane opisuje macierz X, której wiersze odpowiadają obserwacjom, a kolumny cechom. Pierwszym krokiem jest centrowanie danych:
X_c = X – \mugdzie \mu jest wektorem średnich poszczególnych cech. Następnie oblicza się macierz kowariancji:
C = \frac{1}{n – 1} X_c^T X_cMacierz ta opisuje zarówno zmienność każdej cechy, jak i współzależności między cechami. PCA rozwiązuje problem własny:
C v_i = \lambda_i v_iWektor v_i jest wektorem własnym macierzy kowariancji, a \lambda_i odpowiadająca mu wartość własna określa wariancję danych w tym kierunku. Wektory są porządkowane według malejących wartości własnych. Pierwszy komponent wskazuje kierunek największej wariancji, drugi — prostopadły do pierwszego — maksymalizuje pozostałą wariancję, a kolejne komponenty działają analogicznie.
Projekcję obserwacji do nowej przestrzeni otrzymuje się przez:
Z = X_c W_kgdzie W_k zawiera k wybranych wektorów własnych. W praktycznych bibliotekach PCA jest często obliczane za pomocą rozkładu SVD zamiast bezpośredniego tworzenia macierzy kowariancji. Dokumentacja scikit-learn wskazuje oba podejścia jako dostępne warianty obliczeń.
Interpretacja komponentów
Komponent główny nie jest pojedynczą istniejącą cechą, lecz liniową kombinacją wszystkich cech wejściowych. Współczynniki tej kombinacji, nazywane ładunkami, pomagają ocenić, które zmienne wpływają na dany kierunek.
Jeśli pierwszy komponent ma duże dodatnie współczynniki przy cechach opisujących rozmiar obiektu, można go interpretować jako ogólny indeks wielkości. Taka interpretacja nie jest jednak automatyczna. Znak komponentu jest umowny: pomnożenie całego wektora przez -1 daje tę samą oś i nie zmienia informacji zawartej w projekcji.
Element PCA | Znaczenie |
|---|---|
| Wektor własny | Kierunek nowej osi w przestrzeni cech. |
| Wartość własna | Wariancja danych wzdłuż danego kierunku. |
| Ładunek | Współczynnik cechy w komponencie. |
| Explained variance ratio | Udział całkowitej wariancji wyjaśniany przez komponent. |
| Transformacja | Współrzędne obserwacji w nowej przestrzeni. |
Przed użyciem PCA trzeba zwrócić uwagę na skalę cech. Jeżeli jedna zmienna jest mierzona w tysiącach, a druga w ułamkach, wariancja pierwszej może zdominować wynik, nawet jeśli nie jest ona ważniejsza merytorycznie. Dlatego często stosuje się standaryzację, choć nie zawsze jest ona właściwa — w przypadku cech, dla których skala absolutna ma znaczenie, zmiana skali może zniekształcić analizę.
Liczbę komponentów można dobierać na podstawie skumulowanego udziału wyjaśnionej wariancji, błędu rekonstrukcji albo jakości konkretnego modelu. Wysoka wyjaśniona wariancja nie oznacza automatycznie dobrej separacji klas. PCA może zachować dominujący kierunek związany z oświetleniem, rozmiarem lub aparaturą pomiarową, ignorując słabszy, ale istotny sygnał klasyfikacyjny.
LDA: redukcja podporządkowana klasom
Liniowa analiza dyskryminacyjna, czyli LDA, jest metodą nadzorowaną. Oprócz macierzy cech wymaga etykiet klas. Jej celem nie jest zachowanie największej całkowitej wariancji, lecz znalezienie takich kierunków, na których średnie klas są możliwie daleko od siebie, a punkty należące do tej samej klasy pozostają możliwie skupione.
Dla każdej klasy oblicza się średnią \mu_k, a także średnią globalną \mu. Rozrzut wewnątrzklasowy można zapisać jako:
S_W = \sum_k \sum_{x \in k} (x – \mu_k)(x – \mu_k)^TNatomiast rozrzut międzyklasowy ma postać:
S_B = \sum_k n_k (\mu_k – \mu)(\mu_k – \mu)^Tgdzie n_k oznacza liczbę obserwacji w klasie k. LDA szuka macierzy projekcji W, która maksymalizuje iloraz:
J(W) = \frac{|W^T S_B W|}{|W^T S_W W|}W praktyce prowadzi to do uogólnionego problemu własnego związanego z S_B i S_W. Kierunki o największych wartościach własnych najlepiej równoważą separację klas i zwartość grup.
Ważnym ograniczeniem jest liczba klas. LDA może zwrócić najwyżej c – 1 niezerowych kierunków dla c klas. Dla dwóch klas pozostaje więc tylko jedna oś dyskryminacyjna. Scikit-learn opisuje LDA jednocześnie jako klasyfikator oraz metodę projekcji do najbardziej rozróżniających kierunków.
W klasycznym ujęciu klasyfikacyjnym LDA zakłada rozkład normalny cech w każdej klasie oraz wspólną macierz kowariancji. Dzięki wspólnej kowariancji granice decyzyjne są liniowe; gdy klasy mają osobne macierze kowariancji, stosuje się pokrewną metodę QDA.
PCA a LDA
Właściwość | PCA | LDA |
|---|---|---|
| Rodzaj uczenia | Nienadzorowane. | Nadzorowane. |
| Główny cel | Zachowanie wariancji. | Separacja klas. |
| Wymaga etykiet | Nie. | Tak. |
| Charakter projekcji | Liniowy. | Liniowy. |
| Maksymalny wymiar | Zależny od rangi danych. | Najwyżej liczba klas minus jeden. |
| Typowe zastosowanie | Kompresja, odszumianie, przygotowanie danych. | Klasyfikacja i wizualizacja klas. |
Metody można też łączyć. Gdy danych jest bardzo dużo, a liczba cech przewyższa liczbę obserwacji, najpierw można użyć PCA do usunięcia kierunków o bardzo małej wariancji, a następnie zastosować LDA. Trzeba jednak pilnować, aby etap PCA nie usunął właśnie tych cech, które rozdzielają klasy.
t-SNE: lokalne sąsiedztwa
t-SNE jest nieliniową metodą przeznaczoną głównie do wizualizacji. Zamiast szukać jednej globalnej płaszczyzny, przekształca odległości między punktami w prawdopodobieństwa podobieństwa. Następnie rozmieszcza punkty w przestrzeni dwu- lub trójwymiarowej tak, aby sąsiedzi z przestrzeni wejściowej pozostali sąsiadami na wykresie.
Algorytm minimalizuje dywergencję Kullbacka-Leiblera między rozkładem podobieństw w danych wysokowymiarowych a rozkładem podobieństw w osadzeniu. Funkcja celu nie jest wypukła, dlatego różne inicjalizacje mogą prowadzić do różnych układów punktów.
Najczęściej omawianym parametrem jest perplexity. Można ją intuicyjnie traktować jako efektywną liczbę sąsiadów analizowanych przez algorytm. Małe wartości wzmacniają bardzo lokalne struktury, a większe uwzględniają szersze otoczenie. Dokumentacja scikit-learn sugeruje zwykle eksperymentowanie z wartościami od około 5 do 50, przy czym parametr musi być mniejszy od liczby próbek.
Wykres t-SNE łatwo jednak przecenić. Odległość między odległymi klastrami, ich powierzchnia, kształt oraz gęstość nie muszą odpowiadać relacjom w oryginalnej przestrzeni. Algorytm może pokazać wyraźne grupy nawet wtedy, gdy w danych istnieje ciągła zmienność. Dlatego t-SNE jest dobrym narzędziem do zadawania pytań o lokalne podobieństwa, ale nie powinien samodzielnie potwierdzać istnienia klas.
UMAP: sąsiedztwa i struktura rozmaitości
UMAP, czyli Uniform Manifold Approximation and Projection, również wykorzystuje lokalne sąsiedztwa, ale buduje z nich graf i próbuje zachować jego strukturę w przestrzeni o mniejszym wymiarze. Metoda opiera się na założeniu, że dane leżą w pobliżu niskowymiarowej rozmaitości, której lokalna geometria może być przybliżona na podstawie sąsiadów.
Najważniejszym parametrem jest n_neighbors. Mała wartość powoduje skupienie na bardzo lokalnych relacjach, natomiast większa przesuwa uwagę w stronę szerszej, bardziej globalnej struktury. Domyślna wartość wynosi 15, ale dokumentacja UMAP pokazuje zakresy od kilku do około stu lub więcej sąsiadów zależnie od celu analizy.
Parametr min_dist określa, jak blisko mogą zostać ułożone punkty w osadzeniu. Niska wartość sprzyja zwartym skupiskom, lecz może wzmacniać wrażenie sztucznej separacji. Z kolei większa wartość zachowuje luźniejszą strukturę. Wybór metryki, na przykład euklidesowej, kosinusowej lub odległości dla danych binarnych, powinien wynikać z charakteru cech.
UMAP bywa używany nie tylko do wykresów, ale także jako reduktor cech przekazywanych do dalszych modeli. W takim przypadku należy zachować ostrożność: ustawienia korzystne dla wizualizacji nie muszą być optymalne dla klasyfikacji lub klasteryzacji. Ponadto wynik zależy od parametrów, losowości i jakości metryki podobieństwa.
Praktyczny wybór metody
- PCA wybierz, gdy potrzebujesz stabilnej, liniowej transformacji, kompresji lub ograniczenia liczby cech przed kolejnym modelem.
- LDA stosuj, gdy masz wiarygodne etykiety i najważniejsza jest separacja klas, a nie zachowanie całej wariancji.
- t-SNE użyj do szczegółowej analizy lokalnych sąsiedztw i wizualizacji niewielkich lub średnich zbiorów.
- UMAP rozważ wtedy, gdy chcesz analizować lokalną geometrię, zachować więcej informacji o strukturze globalnej albo pracować z większym zbiorem danych.
Przykładowy proces dla danych obrazowych może wyglądać następująco: najpierw standaryzacja lub odpowiednie przeskalowanie cech, następnie PCA do kilkudziesięciu wymiarów, a dopiero potem t-SNE albo UMAP do dwóch wymiarów. W przypadku zadania klasyfikacyjnego warto osobno porównać PCA i LDA, oceniając wynik na wydzielonym zbiorze testowym, zamiast wybierać metodę wyłącznie na podstawie atrakcyjnego wykresu.
Najbezpieczniejsza interpretacja polega na sprawdzaniu stabilności. Należy uruchomić metodę z kilkoma wartościami parametrów, ustawić ziarno losowe, porównać sąsiedztwa oraz skonfrontować wykres z metrykami modelu i wiedzą dziedzinową. Redukcja wymiarowości jest przede wszystkim przybliżeniem — nie zamienia automatycznie złożonych danych w obiekty, które można bezpośrednio odczytać z dwuwymiarowej mapy.
Źródła
Często zadawane pytania (FAQ)
Pytanie: Co różni PCA od LDA?
Odpowiedź: PCA szuka kierunków o największej wariancji w danych bez uwzględniania etykiet, co ułatwia kompresję, natomiast LDA wykorzystuje etykiety klas, maksymalizując rozdzielczość między‑klasową i minimalizując rozrzut wewnątrzklasyczny, co jest przydatne w klasyfikacji.
Pytanie: Jak dobrać parametr %%WPOSCODEINLINE_0%% w t‑SNE?
Odpowiedź: %%WPOSCODEINLINE_1%% odpowiada efektywnej liczbie sąsiadów; typowe wartości mieszczą się między 5 a 50, ale powinny być mniejsze niż liczba próbek. Należy eksperymentować, obserwując konsystencję klastrów i stabilność wykresów przy różnych init‑ach.
Pytanie: Co kontroluje %%WPOSCODEINLINE2%% i %%WPOSCODEINLINE3%% w UMAP?
Odpowiedź: %%WPOSCODEINLINE4%% określa liczbę sąsiadów uwzględnianych przy budowie grafu – niewielka wartość skupia się na lokalnej strukturze, większa lepiej przedstawia globalne relacje. %%WPOSCODEINLINE5%% decyduje, jak blisko mogą leżeć punkty w osadzeniu; niskie wartości tworzą zwarte skupiska, wysokie utrzymują luźniejszą topologię.
Pytanie: Kiedy warto łączyć PCA z LDA?
Odpowiedź: W sytuacjach z dużą liczbą cech i ograniczoną liczbą obserwacji najpierw można zastosować PCA, aby usunąć rzadkie wariancje, a potem LDA w celu optymalnej separacji klas. Ważne, by etapy PCA nie usunęły cech kluczowych dla klasyfikacji.
Pytanie: Jak uniknąć przeinterpretacji wyników t‑SNE lub UMAP?
Odpowiedź: Należy oceniać ich stabilność przy różnych init‑ach i seedach, porównywać z metrykami modelu (np. dokładność klasyfikacji) oraz wiedzą dziedzinową, a nie polegać wyłącznie na wyglądzie wykresu. Te metody oferują wizualizację, nie gwarantują struktury klasyfycyjnej.





