Kiedy użyjesz PCA zamiast LDA w klasyfikacji?

10

Czytam ten artykuł na temat różnicy między zasadową analizą składową a analizą wielokrotnych dyskryminacji (liniowa analiza dyskryminacyjna) i próbuję zrozumieć, dlaczego kiedykolwiek używałbyś PCA zamiast MDA / LDA.

Wyjaśnienie podsumowano w następujący sposób:

z grubsza mówiąc w PCA staramy się znaleźć osie o maksymalnych wariancjach, w których dane są najbardziej rozproszone (w obrębie klasy, ponieważ PCA traktuje cały zestaw danych jako jedną klasę), aw MDA dodatkowo maksymalizujemy rozproszenie między klasami.

Czy nie zawsze chciałbyś zarówno zmaksymalizować wariancję, jak i zmaksymalizować rozrzut między klasami?

Chris
źródło
1
przepraszam, miałem na myśli wielokrotną analizę dyskryminacyjną, która wydaje się być również nazywana wielokrotną liniową analizą dyskryminacyjną
Chris
1
Powinieneś wyjaśnić swoje pytanie, ponieważ odtąd jest to trywialne: powinieneś preferować PCA niż MDA, gdy w twoich danych nie ma żadnych klas do dyskryminacji. Myślę, że powinieneś sprecyzować, że chodzi o klasyfikację w pytaniu.
Firebug,
1
LDA jest znacznie bardziej powszechnym terminem niż MDA. Nie trzeba mówić „wielokrotny liniowy”, wystarczy „liniowy”.
ameba

Odpowiedzi:

11

Brakuje czegoś głębszego: PCA nie jest metodą klasyfikacji.

PCA w uczeniu maszynowym jest traktowana jako metoda inżynierii cech. Kiedy zastosujesz PCA do swoich danych, gwarantujesz, że nie będzie korelacji między wynikowymi funkcjami. Korzysta z tego wiele algorytmów klasyfikacji.

Zawsze należy pamiętać, że algorytmy mogą przyjmować założenia dotyczące danych, a jeśli takie założenia się nie utrzymają, mogą być gorsze.

LDA musi obliczyć odwrócenie macierzy kowariancji, aby rzutować dane (sprawdź te wątki i odpowiedzi: Czy PCA należy wykonać przed dokonaniem klasyfikacji? I Czy sensowne jest połączenie PCA i LDA? ). Jeśli masz mało danych, jest to niestabilne, a projekcje są niedopasowane w stosunku do punktów danych, tj. Pojedynczej macierzy kowariancji wewnątrz klasy. PCA zwykle stosuje się, aby tego uniknąć, zmniejszając wymiarowość problemu.

Zatem odpowiedź brzmi: nigdy nie używasz PCA do klasyfikacji, ale możesz go użyć, aby spróbować poprawić wydajność LDA.

Firebug
źródło
7

Podczas gdy poprzednia odpowiedź Firebuga jest poprawna, chcę dodać inną perspektywę:

Uczenie się bez nadzoru i pod nadzorem:

LDA jest bardzo przydatna do znajdowania wymiarów, które mają na celu oddzielenie gromady, dlatego wcześniej musisz znać klastry. LDA niekoniecznie jest klasyfikatorem, ale może być używany jako jeden. Zatem LDA można wykorzystywać tylko w nadzorowanym uczeniu się

PCA jest ogólnym podejściem do odszumiania i redukcji wymiarów i nie wymaga żadnych dodatkowych informacji, takich jak etykiety klasowe w nadzorowanym uczeniu się. Dlatego może być stosowany w uczeniu się bez nadzoru.

Nikolas Rieble
źródło
2
+1, szczególnie dla LDA is not neccesarily a classifier. Zaleca się również czytelnikowi (OP) przeczytanie tego powiązanego pytania: w jaki sposób LDA, technika klasyfikacji, służy również jako technika redukcji wymiarów, taka jak PCA .
ttnphns
i odpowiedzi tutaj porównują wyniki i wykresy LDA i PCA jako dim. redukcje.
ttnphns
(+1) LDA to tak naprawdę technika redukcji wymiarów, uogólnienie liniowej dyskryminacji Fishera, którą ludzie zwykle traktują jako kryterium klasyfikacji.
Firebug
2

LDA służy do rzeźbienia przestrzeni wielowymiarowej.

PCA służy do zwijania przestrzeni wielowymiarowej.

Na przykład: obiekty 3D rzucają cienie 2D. PCA często pozwala nam zwinąć setki wymiarów przestrzennych w garść niższych wymiarów przestrzennych, zachowując 70% - 90% ważnych informacji.

Jak widzę rozmiar i kształt dłoni z jej cienia. Nie mogę ci powiedzieć wszystkiego o kształcie twojej dłoni. Ale dzięki kolekcji 3 lub 4 cieni pod optymalnymi znanymi kątami. Wtedy mógłbym ci powiedzieć większość rzeczy o wielkości i kształcie dłoni.

Ćwiek
źródło