PCA to właściwie tylko rotacja. Poważnie, to wszystko: to sprytny sposób na przeniesienie danych na nową podstawę. Ta podstawa ma właściwości, które sprawiają, że jest przydatna jako etap wstępnego przetwarzania dla kilku procedur.
Podstawa jest ortonormalna . Jest to niezwykle przydatne, jeśli twoje funkcje wykazują wielokolaryzację (dwie lub więcej funkcji jest liniowo zależnych): zastosowanie PCA gwarantuje, że będzie to podstawa tam, gdzie nie jest to już problemem. Ta procedura jest znana jako regresja głównego składnika
Wektory bazowe są istotne w odniesieniu do rozprzestrzeniania się danych: są wektory z macierzy kowariancji . Ta druga właściwość daje początek znanej użyteczności PCA jako techniki zmniejszania wymiarów: po obróceniu danych, rzutowanie danych na podzbiór wektorów podstawowych związanych ze znaczną częścią całkowitej wariancji daje reprezentację niższego wymiaru, która (często) zachowuje ( większość (interesujących) właściwości strukturalnych danych.
Więc: czy to algorytm uczenia się? To jest pytanie filozoficzne. Co czyni algorytm uczenia się? Z pewnością PCA nie jest „nadzorowanym” algorytmem uczenia się, ponieważ możemy to zrobić ze zmienną docelową lub bez niej, i ogólnie kojarzymy techniki „bez nadzoru” z klastrowaniem.
Tak, PCA jest procedurą wstępnego przetwarzania. Ale zanim całkowicie odpiszesz to jako „nie uczenie się” czegoś, chciałbym, abyś rozważył następujące: PCA można obliczyć dosłownie biorąc wektory własne macierzy kowariancji, ale nie jest to tak ogólnie robione w praktyce. Numerycznie równoważna i bardziej wydajna obliczeniowo procedura polega na pobraniu SVD danych. Dlatego PCA jest tylko specyficzną aplikacją SVD, więc pytanie, czy PCA jest algorytmem uczenia się, naprawdę pyta, czy SVD jest algorytmem uczenia się.
Teraz, choć możesz czuć się komfortowo, odpisując PCA jako algorytm uczenia się, oto dlaczego powinieneś czuć się mniej komfortowo, robiąc to samo z SVD: jest to zaskakująco potężna metoda modelowania tematów i filtrowania grupowego . Właściwości SVD, które czynią go użytecznym w tych aplikacjach, są dokładnie tymi samymi właściwościami, które czynią go użytecznym do redukcji wymiarów (tj. PCA).
SVD jest uogólnieniem składu eigend, który również jest niezwykle potężny, nawet jako ograniczona wersja SVD. Możesz przeprowadzić wykrywanie wspólnoty na wykresie, patrząc na wektory własne macierzy przylegania, lub określić prawdopodobieństwo stanu ustalonego modelu markowa , patrząc na wektory własne macierzy przejścia, które przypadkowo jest również zasadniczo sposobem obliczania PageRank .
Pod maską PCA wykonuje prostą operację algebry liniowej. Ale jest to dokładnie ta sama operacja, która leży u podstaw wielu aplikacji, do których większość ludzi nie kwestionowałaby zastosowania etykiety „uczenie maszynowe”. Ta klasa algorytmów nazywana jest faktoryzacją macierzy , a nawet rozciąga się na wyrafinowane techniki, takie jak word2vec : w rzeczywistości można uzyskać wyniki podobne do word2vec, dosłownie stosując PCA do macierzy współwystępowania słów . Uogólniając ponownie, innym słowem dla wyników PCA jest osadzanie . Word2vec jest prawdopodobnie najbardziej znanym przykładem osadzania, ale konstruowanie osadzania (jako pośredników) jest również ważnym elementem architektury kodera-dekodera stosowanej w RNNi GAN , które są obecnie najnowocześniejszymi badaniami ML.
Wracając do pytania: czy PCA jest „algorytmem uczenia maszynowego?” Jeśli tak nie jest, powinieneś być przygotowany na to samo, co do filtrowania grupowego, modelowania tematów, wykrywania społeczności, centralności sieci oraz modeli osadzania.
To, że jest to prosta algebra liniowa, nie oznacza, że nie jest też magią.