Strona głównaArtykuły

PCA i Zredukowanie Rozmiaru: Znalezienie Kierunków, które Mają Znaczenie

Jak analiza głównych komponent obraca zestaw danych na nowe osie, które są rangowane według ilości wariancji, jaką one przekazują, co pozwala skompresować dane wielowymiarowe, przedstawić je graficznie i oczyszczyć od szumów.

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

Problem z za dużo wymiarów

Dane rzeczywiste często mają znacznie więcej kolumn niż ludzkie pole widzenia może zarazem przetworzyć. Danych dotyczącego klienta mogą śledzić setki zmiennych zachowawczych i demograficznych; dane genetyczne mogą rejestrować poziom wyrażania tysięcy genów na próbkę; a obraz, w najprostszej formie, to zestaw danych o jednym wymiarze na piksel. Wysoka wielowymiarowość powoduje nie tylko praktyczne problemy związane z trudnością analizy: wiele tych zmiennych jest wzajemnie skorelowanych (redundantnych), algorytmy oparte na odległościach zachowują się źle, gdy wielkość wymiarowości rośnie (jej często nazywane są mądrością wymiaru, gdzie punkty danych zaczynają wyglądać prawie równo oddalone od siebie), a modele szkoleniowe na bardzo wysokiej wielowymiarowości ze skromną ilością przykładów są podatne na nadadapcje.

Zmniejszanie wymiarowości to rodzina technik pozwalających skompresować dane tego typu do mniejszej liczby zmiennych, zachowując jak najwięcej struktury znaczącej. Analiza głównych komponentów, lub PCA (Principal Component Analysis), rozwinięta w podobnej formie modernizowanej przez Harolda Hotellinga w 1933 roku (z budynku wcześniejszej pracy Karla Pearsona z 1901 roku), jest najstarszą i nadal najczęściej stosowaną z tych technik, ceniona ze względu na swoją prostotę, szybkość oraz podstawy w algebrze liniowej, która produkuje dokładne, interpretowalne wyniki, a nie przybliżone ani stochastyczne.

Odchylenie standardowe jako proxy dla informacji

PCA opiera się na konkretnym i przydatnym założeniu: kierunki, w których wartości najbardziej się różnią, to właśnie kierunki przekazujące największą ilość informacji. Wyobraźmy sobie zestaw danych zawierający dwie powiązane cechy, na przykład wzrost i masa ciała osoby, przedstawione jako rozproszone punkty. Kluczowy obszar tych punktów nie jest równomiernie rozmieszczony w każdym kierunku; zazwyczaj rozciąga się poziomie, ponieważ wyższe osoby tendują do być cięższe. Jest więcej rozproszenia wzdłuż tego poziomego kierunku niż pionowo.

PCA formalizuje tę intuicję matematycznym sposobem. Szuka on jednego kierunku, nazywanego pierwszym komponentem głównym, w którym odchylenie standardowe (rozproszenie) danych jest maksymalne. Następnie szuka drugiego kierunku, prostopadłego do pierwszego, w którym pozostaje największa odrobinę rozproszenia, i tak dalej, każda nowa osi główna jest prostopadła do wszystkich poprzednich. Dla zestawu danych z n oryginalnymi cechami PCA może znaleźć aż n tych komponentów głównych, ale kluczowym praktycznym korzyścią jest to, że w większości rzeczywistych zestawów danych mało ilość pierwszych komponentów przekazuje większość całkowitego odchylenia standardowego, ponieważ rzeczywiste cechy tendują do być powiązane zamiast niezależne. Zatrzymanie się tylko na dwóch lub trzech pierwszych komponentach i odrzucenie reszty często zachowuje 80%, 90% lub więcej odchylenia standardowego zestawu danych, zmniejszając setki lub tysiące oryginalnych kolumn do kilku nowych.

Jak PCA rzeczywiście oblicza składowe

Pod kątem teorii, PCA jest zastosowaniem algebry liniowej do macierzy covariacji zbioru danych, która rejestruje, jak każdą parę oryginalnych cech sięgają. Konkretnie, standardowy procedurę centruje dane (odejmując średnią każdego cechy, aby cała baza danych była centrum w punkcie źródłowym), oblicza macierz covariacji centrów cech i następnie znajduje eigenvektory i wartości własne tej macierzy. Każdy eigenvector wskazuje kierunek maksymalnej wariancji opisanej wyżej, a jego odpowiadająca mu wartość własna mówi dokładnie ile wariancji leży po tej stronie. Posortowanie eigenvktorów według wartości własnych, od największej do najmniejszej, daje składowe główne w kolejności ich ważności: pierwszy eigenvector (z największą wartością własną) jest pierwszą składową główną, a dalej tak dalej.

Aby rzeczywiście przekształcić dane na nowy system współrzędnych, każdy oryginalny punkt danych jest projectowany na wybrane eigenvektory — proste mnożenie macierzy, które tworzy nową zestaw koordynatów, jeden dla każdej zachowanej składowej, dla każdego oryginalnego punktu. To przekształcone dane są używane dalej, czyli w visualizacji, jako skompresowane cechy wejściowe do innego modelu lub do przechowywania. Ponieważ składowe główne to tylko liniowe kombinacje oryginalnych cech (np. ważona suma wzrostu, wagi i wieku), przekształcenie jest całkowicie odwracalne do informacji utraconych przez zignorowanie późniejszych składowych: można odtworzyć przybliżoną oryginalną datę na podstawie zachowanych składowych, a błąd odtworzenia jest bezpośrednio powiązany z tym ile wariancji została zostawiona.

Wybór liczby komponentów i to, co zostaje zignorowane

Standardowym narzędziem do decyzji o ilości zachowywanych komponentów jest wykres scree, który przedstawia proporcję wariacji całkowitej wyjaśnione przez każdy kolejny komponent, zwykle jako diagram słupkowy z linią kumulatywną nałożoną. W praktyce analiści szukają „kolana”, gdzie dodatkowe komponenty wyjaśniają wariację oznaczoną jako nagle spadającą, lub prosto wybierają najmniejszą liczbę komponentów, dla których kumulatywna wyjaśniona wariacja przekracza określony próg, często 90 lub 95 procent. Oba podejścia zawężają zasięg między kompresją a wiarygodnością: mniejsza liczba komponentów oznacza większą kompresję i łatwiejsze wizualizowanie, ale także więcej informacji jest ignorowane.

To, co zostaje zignorowane, ma znaczenie. Komponenty PCA są posortowane jedynie według wariacji, bez uwzględnienia, czy ta wariacja okazuje się przydatna dla zadania dolinearnego, takiego jak klasyczacja. W pełni możliwe jest, choć nie typowe, że ważny, ale o małej wariacji sygnał zostanie zignorowany, podczas gdy wysoka wariacyjna, ale niewykorzystywana dla zadania kierunek zostanie zachowany, co jest powodem opisania PCA jako techniki niesupervised: nigdy nie analizuje on etykiet, tylko rozproszenia samych cech. Warto też jasno zaznaczyć, że wynikowe komponenty są nowymi osiami syntetycznymi, a nie żadną z oryginalnych cech; pierwszy główny komponent zestawu danych klienta to nie „wymiar dochodów” ani „wiek”, ale pewien konkretne mieszanie ważone wielu oryginalnych zmiennych, dlatego komponenty PCA są często opisane jako mniej interpretowalne niż oryginalne cechy, nawet jeśli matematycznie precyzyjne i wyznaczone deterministycznie zamiast nauczone przez niejasny sieć neuronową.

Gdzie PCA jest stosowany w praktyce

Najbardziej natychmiastowym i widocznie użyciem PCA jest wizualizacja eksploracyjna: zprojectowanie zestawu danych o setkach cech na pierwsze dwa lub trzy komponenty główny pozwala na narysowanie go na wykresie dwuwymiarowym i widoczne badanie, czy istnieją naturalne klastry lub struktura, czego nie da się ocenić bezpośrednio w pierwotnym wielowymiarowym przestrzeni. Ta transformacja zyskuje na interaktywnym widoku 3D, ponieważ obracanie trójkomponentowej projektury PCA pozwala zobaczyć strukturę klastrów pod różnymi kątami, co ukryłoby się lub deformowałoby w jednostajnie dwuwymiarowym wykresie.

PCA jest również stosowany jako etap przetwarzania przed innymi algorytmami: zmniejszenie wymiarowości zestawu danych przed podaniem go do metody opartej na odległości, takiej jak k-najbliższych sąsiadów lub k-srednich, może nie tylko przyspieszyć obliczenia, ale i zwalczyć morderstwo wymiarowości; zmniejszenie wymiarowości przed treningiem modelu na zestawie danych o wiele więcej cech niż przykładów może zmniejszyć nadmierną dopasowanie; a ponieważ późniejsze komponenty główne tendują do odzwierciedlania szumu zamiast sygnału (ponieważ szum jest zwykle niskowariancji i niezależny), odrzucanie ich może pełnić rolę prostej formy dezawansowania, co jest jedną z powodów, dla których PCA historycznie był stosowany w kompresji obrazów i przetwarzaniu przedstawianym do systemów rozpoznawania twarzy, gdzie technika stosowana do obrazów twarzy nazywana jest czasem eigenface. Warto zauważyć, że PCA przyjmuje liniowe relacje między cechami; gdy istotna struktura danych jest rzeczywiście nieciągła, techniki takie jak t-SNE lub UMAP, choć bardziej obciążające obliczeniowo i mniej interpretowalne, często odkrywają strukturę, którą projekcje proste PCA pomijają.

Często zadawane pytania

Czy trzeba skalować cechy przed wykonaniem PCA?

Praktycznie zawsze, tak. PCA szuka kierunków o największej odwariodliwości, a odwariodliwość jest bezpośrednio zależna od jednostek i skali każdej cechy. Cecha pomiarzana w tysiącach (np. roczny dochód) dominuje w obliczeniach odwariodliwości i zastępuje cechę pomiarzaną w małych ułamkach (np. proporcja między 0 a 1), nawet jeśli mała skala jest równie informatywna. Standardizacja każdej cechy do średniej równej zero i odchylenia standardowego równe jedności przed wykonaniem PCA zapewnia, że każda oryginalna cecha ma szanse uczestniczyć w głównych komponentach na podstawie rzeczywistej informatywności, a nie przypadkowej skali pomiaru.

Czy PCA to taka sama rzecz co selekcja cech?

Nie, i ta różnica ma znaczenie. Selekcja cech wybiera podzbior oryginalnych, nadal zrozumiałych cech i odrzuca pozostałe (na przykład zachowuje wzrost i wagę, ale odpuszcza rozmiar buta). Natomiast PCA tworzy nowe, całkowicie nowe cechy, każda to kombinacja matematyczna wszystkich oryginalnych, a żadna z oryginalnych cech nie przetrwa indywidualnie w wynikach. Selekcja cech zachowuje zrozumiałość; PCA odrzucenie zrozumiałości za cenę często bardziej skoefekcyjnej kompresji, ponieważ pojedynczy główny komponent może przypasować odwariodliwość, której inaczej wymagałby kilka oryginalnych cech.

Jaką część odwariodliwości powinny wyjaśniać zachowane komponenty przed zaczęciem dodawania więcej?

Nie ma uniwersalnej odpowiedzi, ale popularna reguła palcami celu to między 90 a 99 procentu sumarycznej wyjaśnionej odwariodliwości, w zależności od tego ile kompresji versus wiarygodności potrzebuje dalsza procedura. Wizualizacja eksploracyjna często zdecydowanie zachowuje tylko dwie lub trzy komponenty niezależnie od to, jak mało odwariodliwości wyjaśniają one, ponieważ to jest to, co można narysować, podczas gdy przetwarzanie przed modelem predykcyjnym może zachować wiele więcej komponentów aby uniknąć odrzucenia potencjalnie użytecznego sygnału.

Czy PCA może być użyta do danych kategorialnych?

Nie bezpośrednio. PCA działa na strukturze kowariancji zmiennych liczbowych, więc zmienne kategorialne muszą być najpierw przekonwertowane w formę liczbową, najczęściej za pomocą kodowania jednokropek. Jednakże PCA na danych przekonwertowanych jednokropek często zachowuje się niezbyt dobrze, ponieważ struktura odwariodliwości wynikająca nie reprezentuje znaczącej podobieństwa w taki sposób jak dla ciągłych zmiennych liczbowych. Dla zestawów danych przede wszystkim kategorialnych, techniki związane są zwykle lepszym wyborem alternatywnym do prostego PCA.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz PCA and Dimensionality Reduction: Finding the Directions That Matter 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ę PCA and Dimensionality Reduction: Finding the Directions That Matter

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)