Podstawy AI

Co czym jest Redukcja Wymiarowości?

mm
Dodaj Unite.AI do preferowanych źródeł w Google

Co czym jest Redukcja Wymiarowości?

Redukcja wymiarowości jest procesem używanym do zmniejszenia wymiarowości zbioru danych, biorąc wiele cech i reprezentując je jako mniej cech. Na przykład, redukcja wymiarowości mogłaby być użyta do zmniejszenia zbioru danych z dwudziestu cech do tylko kilku cech. Redukcja wymiarowości jest powszechnie używana w zadaniach uczenia bez nadzoru w celu automatycznego tworzenia klas z wielu cech. Aby lepiej zrozumieć dlaczego i jak redukcja wymiarowości jest używana, przyjrzymy się problemom związanym z wysokowymiarowymi danymi i najpopularniejszym metodom redukcji wymiarowości.

Więcej Wymiarów Prowadzi do Przeuczenia

Wymiarowość odnosi się do liczby cech/kolumn w zbiorze danych.

Często zakłada się, że w uczeniu maszynowym więcej cech jest lepsze, ponieważ tworzy bardziej dokładny model. Jednak więcej cech niekoniecznie przekłada się na lepszy model.

Cechy zbioru danych mogą się znacznie różnić pod względem ich użyteczności dla modelu, a wiele cech ma niewielkie znaczenie. Ponadto, im więcej cech zawiera zbior danych, tym więcej próbek jest potrzebnych, aby zapewnić, że różne kombinacje cech są dobrze reprezentowane w danych. Dlatego liczba próbek wzrasta wraz z liczbą cech. Więcej próbek i więcej cech oznacza, że model musi być bardziej złożony, a im modele są bardziej złożone, tym bardziej są wrażliwe na przeuczenie. Model uczy się wzorców w danych szkoleniowych zbyt dobrze i nie jest w stanie uogólnić do danych poza próbką.

Zmniejszanie wymiarowości zbioru danych ma kilka korzyści. Jak już wspomniano, prostsze modele są mniej podatne na przeuczenie, ponieważ model musi robić mniej założeń dotyczących relacji między cechami. Ponadto, mniej wymiarów oznacza mniejszą moc obliczeniową wymaganą do trenowania algorytmów. Podobnie, mniej miejsca na dysku jest potrzebne do przechowywania zbioru danych o mniejszej wymiarowości. Zmniejszanie wymiarowości zbioru danych może również pozwolić na użycie algorytmów, które nie są odpowiednie dla zbiorów danych z wieloma cechami.

Typowe Metody Redukcji Wymiarowości

Redukcja wymiarowości może być dokonana przez selekcję cech lub inżynierię cech. Selekcja cech polega na tym, że inżynier identyfikuje najbardziej istotne cechy zbioru danych, podczas gdy inżynieria cech jest procesem tworzenia nowych cech przez łączenie lub transformowanie innych cech.

Selekcja i inżynieria cech mogą być wykonywane programowo lub ręcznie. Podczas ręcznej selekcji i inżynierii cech, wizualizacja danych w celu odkrycia korelacji między cechami i klasami jest typowa. Wykonywanie redukcji wymiarowości w ten sposób może być dość czasochłonne, dlatego niektóre z najczęstszych sposobów redukcji wymiarowości obejmują użycie algorytmów dostępnych w bibliotekach takich jak Scikit-learn dla Python. Te powszechne algorytmy redukcji wymiarowości obejmują: Analizę Składowych Głównych (PCA), Rozkład Wartości Singularnych (SVD) i Liniową Analizę Dyskryminacyjną (LDA).

Algorytmy używane w redukcji wymiarowości do zadań uczenia bez nadzoru są zwykle PCA i SVD, podczas gdy te używane w redukcji wymiarowości do zadań uczenia z nadzorem są zwykle LDA i PCA. W przypadku modeli uczenia z nadzorem nowo wygenerowane cechy są po prostu wprowadzane do klasyfikatora maszynowego. Zwróć uwagę, że opisane tu zastosowania są tylko ogólnymi przypadkami użycia i nie są jedynymi warunkami, w których te techniki mogą być użyte. Opisane powyżej algorytmy redukcji wymiarowości są po prostu metodami statystycznymi i są używane poza modelami uczenia maszynowego.

Analiza Składowych Głównych

Zdjęcie: Macierz z zidentyfikowanymi składowymi głównymi

Analiza Składowych Głównych (PCA) jest metodą statystyczną, która analizuje cechy zbioru danych i podsumowuje cechy, które są najbardziej wpływowe. Cechy zbioru danych są łączone w przedstawienia, które zachowują większość cech danych, ale są rozłożone na mniej wymiarów. Można to porównać do “ściskania” danych z wyższej reprezentacji wymiarowej do jednej z tylko kilku wymiarów.

Na przykład, sytuacja, w której PCA mogłaby być użyteczna, to opisanie wina. Chociaż możliwe jest opisanie wina za pomocą wielu bardzo konkretnych cech, takich jak poziomy CO2, takie konkretnych cechy mogą być względnie bezużyteczne, gdy próbuje się zidentyfikować konkretny typ wina. Zamiast tego, byłoby bardziej praktyczne określenie typu na podstawie bardziej ogólnych cech, takich jak smak, kolor i wiek. PCA może być użyta do połączenia bardziej konkretnych cech i utworzenia cech, które są bardziej ogólne, użyteczne i mniej podatne na przeuczenie.

PCA jest wykonywana przez określenie, jak dane wejściowe różnią się od średniej w odniesieniu do siebie, określenie, czy istnieją jakieś relacje między cechami. Aby to zrobić, tworzy się macierz kowariancji, tworząc macierz składającą się z kowariancji w odniesieniu do możliwych par cech zbioru danych. Służy to do określenia korelacji między zmiennymi, z ujemną kowariancją wskazującą na odwrotną korelację, a dodatnią korelację wskazującą na pozytywną korelację.

Główne (najbardziej wpływowe) składowe zbioru danych są tworzone przez tworzenie liniowych kombinacji początkowych zmiennych, co jest robione z pomocą pojęć z algebry liniowej, takich jak wartości własne i wektory własne. Kombinacje są tworzone tak, aby główne składowe były niezależne od siebie. Większość informacji zawartych w początkowych zmiennych jest ściśnięta w pierwsze kilka głównych składowych, co oznacza, że nowe cechy (główne składowe) zostały utworzone, które zawierają informacje z oryginalnego zbioru danych w mniejszej przestrzeni wymiarowej.

Rozkład Wartości Singularnych

Zdjęcie: Przez Cmglee – Praca własna, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=67853297

Rozkład Wartości Singularnych (SVD) jest używany do uproszczenia wartości w macierzy, redukując macierz do jej składowych części i ułatwiając obliczenia z tą macierzą. SVD może być użyty zarówno dla macierzy rzeczywistych, jak i zespolonych, ale dla celów tego wyjaśnienia, przyjrzymy się, jak rozłożyć macierz wartości rzeczywistych.

Załóżmy, że mamy macierz składającą się z danych rzeczywistych, a naszym celem jest zmniejszenie liczby kolumn/cech w macierzy, podobnie jak w przypadku PCA. Podobnie jak PCA, SVD ściśnie wymiarowość macierzy, zachowując przy tym tyle variability macierzy, ile to możliwe. Jeśli chcemy operować na macierzy A, możemy reprezentować macierz A jako trzy inne macierze zwane U, D i V. Macierz A składa się z pierwotnych x * y elementów, podczas gdy macierz U składa się z elementów X * X (jest to macierz ortogonalna). Macierz V jest inną macierzą ortogonalną zawierającą y * y elementów. Macierz D zawiera elementy x * y i jest macierzą diagonalną.

Aby rozłożyć wartości dla macierzy A, musimy przekonwertować pierwotne wartości singularne na wartości diagonalne w nowej macierzy. Podczas pracy z macierzami ortogonalnymi, ich właściwości nie zmieniają się, jeśli są mnożone przez inne liczby. Dlatego możemy przybliżyć macierz A, wykorzystując tę właściwość. Gdy mnożymy macierze ortogonalne razem z transpozycją macierzy V, wynikiem jest macierz równoważna do oryginalnej A.

Gdy macierz A jest rozłożona na macierze U, D i V, zawierają one dane znalezione w macierzy A. Jednak kolumny po lewej stronie macierzy zawierają większość danych. Możemy wziąć tylko te pierwsze kilka kolumn i uzyskać reprezentację macierzy A, która ma znacznie mniej wymiarów i większość danych w A.

Liniowa Analiza Dyskryminacyjna

 

Lewy: Macierz przed LDA, Prawy: Oś po LDA, teraz rozdzielna

Liniowa Analiza Dyskryminacyjna (LDA) jest procesem, który bierze dane z wielowymiarowej tabeli i projektuje je na liniową tabelę. Można to wyobrazić sobie, myśląc o dwuwymiarowej tabeli wypełnionej punktami danych należącymi do dwóch różnych klas. Załóżmy, że punkty są rozproszone w taki sposób, że nie można narysować linii, która będzie ich oddzielać. Aby rozwiązać tę sytuację, punkty znalezione w 2D tabeli mogą być zmniejszone do 1D tabeli (linii). Ta linia będzie zawierać wszystkie punkty danych i można ją podzielić na dwa obszary, które reprezentują najlepszy możliwy podział danych.

Podczas wykonywania LDA są dwa główne cele. Pierwszym celem jest minimalizowanie wariancji dla klas, a drugim celem jest maksymalizowanie odległości między średnimi dwóch klas. Te cele są osiągane przez utworzenie nowej osi, która będzie istniała w 2D tabeli. Nowo utworzona oś działa w celu separacji dwóch klas na podstawie opisanych wcześniej celów. Po utworzeniu osi punkty znalezione w 2D tabeli są umieszczane wzdłuż osi.

Istnieją trzy kroki wymagane do przeniesienia oryginalnych punktów do nowej pozycji wzdłuż nowej osi. W pierwszym kroku odległość między średnimi klas (wariancja międzyklasowa) jest używana do obliczania separowalności klas. W drugim kroku wariancja wewnątrz różnych klas jest obliczana, co jest robione przez określenie odległości między próbką a średnią dla klasy. W ostatnim kroku tworzy się przestrzeń o niższej wymiarowości, która maksymalizuje wariancję między klasami.

Technika LDA osiąga najlepsze wyniki, gdy średnie dla klas docelowych są oddalone od siebie. LDA nie może skutecznie rozdzielić klas liniową osią, jeśli średnie dla rozkładów nakładają się.

W ostatnim kroku tworzy się przestrzeń o niższej wymiarowości, która maksymalizuje wariancję między klasami. Technika LDA osiąga najlepsze wyniki, gdy średnie dla klas docelowych są oddalone od siebie. LDA nie może skutecznie rozdzielić klas liniową osią, jeśli średnie dla rozkładów nakładają się.

Blogger i programista ze specjalnościami w Machine Learning i Deep Learning tematy. Daniel liczy, że pomoże innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.