Es ist nicht ungewöhnlich, dass jemand es als unbeaufsichtigte Technik bezeichnet. Sie können einige Analysen der Eigenvektoren durchführen, um das Verhalten der Daten zu erklären. Wenn Ihre Transformation noch viele Funktionen enthält, kann dieser Prozess natürlich ziemlich schwierig sein. Trotzdem ist es möglich, daher halte ich es für maschinelles Lernen.
Bearbeiten:
Da meine Antwort ausgewählt wurde (keine Ahnung warum), dachte ich, ich werde weitere Detals hinzufügen.
PCA macht zwei Dinge, die gleichwertig sind. Erstens und was allgemein erwähnt wird, maximiert es die Varianzen. Zweitens wird der Rekonstruktionsfehler minimiert, indem paarweise Abstände betrachtet werden.
Durch Betrachten der Eigenvektoren und Eigenwerte wird es ziemlich einfach abzuleiten, welche Variablen und Merkmale zur Varianz beitragen und wie sich verschiedene Variablen in Verbindung mit anderen bewegen.
Am Ende kommt es wirklich darauf an, wie Sie "Lernen" definieren. PCA lernt einen neuen Funktionsbereich, der die Eigenschaften des ursprünglichen Bereichs erfasst. Ich neige dazu zu denken, dass das sinnvoll sein kann.
Ist es komplex? Nein, nicht wirklich, aber verringert das den Algorithmus? Nein, das glaube ich nicht.
PCA ist eigentlich nur eine Rotation. Im Ernst, das ist alles: Es ist eine clevere Möglichkeit, die Daten auf eine neue Basis zu bringen. Diese Basis verfügt über Eigenschaften, die sie als Vorverarbeitungsschritt für mehrere Verfahren nützlich machen.
Die Basis ist orthonormal . Dies ist unglaublich nützlich, wenn Ihre Funktionen Multicolinearität aufweisen (zwei oder mehr Funktionen sind linear abhängig): Durch die Anwendung von PCA erhalten Sie garantiert eine Grundlage, auf der dies kein Problem mehr darstellt. Dieses Verfahren wird als Hauptkomponentenregression bezeichnet
Die Basisvektoren sind hinsichtlich der Verbreitung der Daten von Bedeutung: Sie sind die Eigenvektoren der Kovarianzmatrix . Diese zweite Eigenschaft führt zu PCAs berühmtem Nutzen als Technik zur Reduzierung der Dimensionalität: Nach dem Drehen der Daten ergibt das Projizieren der Daten auf eine Teilmenge der Basisvektoren, die einem signifikanten Teil der Gesamtvarianz zugeordnet sind, eine Darstellung mit niedrigeren Dimensionen, die (häufig) erhalten bleibt ( die meisten) (interessanten) strukturellen Eigenschaften der Daten.
Also: Ist es ein Lernalgorithmus? Dies ist eine Art philosophische Frage. Was macht etwas zu einem Lernalgorithmus? Sicherlich ist PCA kein "überwachter" Lernalgorithmus, da wir dies mit oder ohne Zielvariable tun können, und wir assoziieren im Allgemeinen "unbeaufsichtigte" Techniken mit Clustering.
Ja, PCA ist ein Vorverarbeitungsverfahren. Bevor Sie es jedoch vollständig abschreiben, um etwas nicht zu "lernen", sollten Sie Folgendes berücksichtigen: PCA kann berechnet werden, indem die Eigenvektoren der Kovarianzmatrix wörtlich genommen werden. In der Praxis wird dies jedoch im Allgemeinen nicht so durchgeführt. Ein numerisch äquivalentes und rechnerisch effizienteres Verfahren besteht darin, nur die SVD der Daten zu erfassen. Daher ist PCA nur eine spezifische Anwendung von SVD. Wenn Sie also fragen, ob PCA ein Lernalgorithmus ist, fragen Sie wirklich, ob SVD ein Lernalgorithmus ist.
Obwohl Sie sich wohl fühlen, wenn Sie PCA als keinen Lernalgorithmus abschreiben, sollten Sie sich mit SVD weniger wohl fühlen: Es ist eine überraschend leistungsstarke Methode zur Themenmodellierung und kollaborativen Filterung . Die Eigenschaften von SVD, die es für diese Anwendungen nützlich machen, sind genau die gleichen Eigenschaften, die es für die Dimensionsreduzierung (dh PCA) nützlich machen.
SVD ist eine Verallgemeinerung der Eigendekomposition, und auch das ist selbst als eingeschränkte Version von SVD äußerst leistungsfähig. Sie können eine Community-Erkennung in einem Diagramm durchführen, indem Sie die Eigenvektoren der Adjazenzmatrix betrachten, oder die stationären Wahrscheinlichkeiten eines Markov-Modells bestimmen, indem Sie die Eigenvektoren der Übergangsmatrix betrachten, die zufällig auch im Wesentlichen die Berechnung des PageRank ist.
Unter der Haube führt PCA eine einfache lineare Algebraoperation durch. Dies ist jedoch genau derselbe Vorgang, der vielen Anwendungen zugrunde liegt, auf die die meisten Menschen das Label "Maschinelles Lernen" nicht in Frage stellen würden. Diese Klasse von Algorithmen heißt Matrix - Faktorisierung und erstreckt sich sogar bis hin zu anspruchsvollen Techniken wie word2vec : In der Tat, können Sie tatsächlich durch buchstäblich word2vec artige Ergebnisse erhalten nur PCA Anwendung auf ein Wort Co-occrrence Matrix . Noch einmal verallgemeinernd, ein anderes Wort für die Ergebnisse von PCA ist eine Einbettung . Word2vec ist wahrscheinlich das bekannteste Beispiel für eine Einbettung, aber das Erstellen von Einbettungen (als Vermittler) ist auch ein wichtiger Bestandteil der in RNNs verwendeten Encoder-Decoder-Architekturund GANs , die derzeit der neueste Stand der ML-Forschung sind.
Zurück zu Ihrer Frage: Ist PCA ein "Algorithmus für maschinelles Lernen"? Wenn dies nicht der Fall ist, sollten Sie bereit sein, dasselbe über kollaboratives Filtern, Themenmodellierung, Community-Erkennung, Netzwerkzentralität und das Einbetten von Modellen zu sagen.
Nur weil es eine einfache lineare Algebra ist, heißt das nicht, dass es nicht auch magisch ist.
quelle
Absolut, es ist kein Lernalgorithmus, da Sie in PCA nichts lernen. Es kann jedoch in verschiedenen Lernalgorithmen verwendet werden, um eine bessere Leistung in der Realität zu erzielen, wie die meisten anderen Methoden zur Dimensionsreduzierung.
quelle
PCA wird verwendet, um redundante Funktionen zu eliminieren. Es findet Richtungen , die Daten hoch in verteilt ist. Es kümmert sich nicht um die Etiketten der Daten, weil es ein Projektionen ist , die darstellt , Daten in der kleinsten Quadrate Sinn.
MDA
Versuchen Sie bei der Mehrfachdiskriminanzanalyse , Projektionen zu finden, die die Daten am besten trennen . Letzterer berücksichtigt das Etikett und findet Anweisungen, dass Daten am besten getrennt werden können, obwohl es einige Details über die Art der Entscheidung enthält, die gefunden wird. Zum AbschlussPCA
ist kein Lernalgorithmus. Es wird nur versucht, Richtungen zu finden, in denen Daten stark verteilt sind, um korrelierte Merkmale zu eliminieren. Ähnliche Ansätze wie derMDA
Versuch, Anweisungen zu finden, um die Daten zu klassifizieren. ObwohlMDA
es so ähnlich istPCA
, aber das erstere wird für die Klassifizierung verwendet, es berücksichtigt die Bezeichnungen, aber das letztere wird nicht direkt für die Klassifizierung verwendet.quelle