[PYTHON] Dies und das der Hauptkomponentenanalyse

Dies und das der Hauptkomponentenanalyse

Vergleich der probabilistischen Hauptkomponentenanalyse, der Bayes'schen Hauptkomponentenanalyse und der Kernel-Hauptkomponentenanalyse, die Erweiterungen der Hauptkomponentenanalyse sind.

Hauptkomponentenanalyse (PCA)

So reduzieren Sie hochdimensionale Daten auf niedrigdimensionale Daten Es gibt verschiedene Möglichkeiten, es zu erhalten, aber es ist schnell als Singularwertzerlegung zu interpretieren.

X = UDV^T

Weiterer Dimensionsreduktionsvektor

X_{pca} = XV_{pca}

Kann mit erhalten werden. $ V_ {pca} $ wird jedoch aus der Anzahl der Dimensionen erstellt, die aus der Matrix V reduziert wurden. (Wenn die Dimension auf 2 Dimensionen reduziert wird, ist $ V_ {pca} = V [:, [0,1]] $)

Probabilistische PCA

Probabilistische Dimensionsreduktion unter Verwendung der Gaußschen Verteilung Es gibt mehrere Möglichkeiten, es zu finden, aber wenn Sie es mit dem EM-Algorithmus finden, Im E-Schritt

M = W^TW+\sigma^2I \\
E[z_n] = M^{-1}W^T(x_n-\bar{x}) \\
E[z_{n}z_{n}^T]=\sigma^2M^{-1}+E[z_n]E[z_n]^T

Jedoch,

Im M-Schritt

W = \bigl[\sum_{n=1}^{N}(x_n-\bar{x})E[z_n]^T\bigr]\bigl[\sum_{n=1}^{N}E[z_nz_n^T]\bigr]^{-1}\\
\sigma^{2} = \frac{1}{ND}\sum_{n=1}^{N}\bigl\{||x_n-\bar{x}||^2 - 2E[z_n]^TW^T(x_n-\bar{x}) + Tr(E[z_nz_n^T]W^TW)\bigr\}

Jedoch,

Kann mit erhalten werden.

Bayes PCA

Die Bayes'sche Schätzung wird durchgeführt, indem Hyperparameter in die Gaußsche Verteilung eingeführt werden.

Im Vergleich zum Fall der probabilistischen PCA ist der M-Schritt anders,

\alpha_i = \frac{D}{w_i^Tw_i} \\
W = \bigl[\sum_{n=1}^{N}(x_n-\bar{x})E[z_n]^T\bigr]\bigl[\sum_{n=1}^{N}E[z_nz_n^T] + \sigma^2A \bigr]^{-1}\\
\sigma^{2} = \frac{1}{ND}\sum_{n=1}^{N}\bigl\{||x_n-\bar{x}||^2 - 2E[z_n]^TW^T(x_n-\bar{x}) + Tr(E[z_nz_n^T]W^TW)\bigr\}

Jedoch,

Ist.

Kernel-Hauptkomponentenanalyse

Nach dem Konvertieren der Matrix Anzahl der Daten x Anzahl der Dimensionen in die Anzahl der Daten x Anzahl der Datenmatrix durch den Kernel wird die Hauptkomponentenanalyse durchgeführt.

\tilde{K} = K - 1_{N}K - K1_N+1_NK1_N

Jedoch,

Für $ \ tilde {K} $, das auf diese Weise erhalten wird, wird eine Dimensionsreduktion durchgeführt, indem der Eigenwert und der Eigenvektor wie im Fall der Hauptkomponentenanalyse erhalten werden.

Experiment

Die Dimensionsreduktion wird unter Verwendung der Hauptkomponentenanalyse (PCA), der probabilistischen Hauptkomponentenanalyse (PPCA), der Bayes'schen Hauptkomponentenanalyse (BPCA) und der Kernel-Hauptkomponentenanalyse (KPCA) durchgeführt.

Die verwendeten Daten sind Irisdaten (Daten von 3 Pflanzentypen werden durch 4-dimensionale Vektoren dargestellt, und es gibt 50 Daten für jeden Typ).

Code hier https://github.com/kenchin110100/machine_learning

Die folgende Abbildung ist dargestellt, nachdem die Abmessungen auf zwei Dimensionen reduziert wurden.

Die Grenzen zwischen den Typen sind in PPCA und BPCA deutlicher zu erkennen als in PCA. KPCA fühlt sich anders an, hat aber sicherlich Diagramme für jeden Typ.

Am Ende

Es wurden vier Arten von Hauptkomponentenanalysen durchgeführt, und es scheint einfach zu sein, pro BPCA zu verwenden Es gibt zwei Achsen als Methode zum Erweitern von PCA: Wahrscheinlichkeitsberechnung oder Verwendung des Kernels. Es scheint die stärkste Hauptkomponentenanalyse zu geben, die sie kombiniert ...

Recommended Posts

Dies und das der Hauptkomponentenanalyse
Hauptkomponentenanalyse (Hauptkomponentenanalyse: PCA)
Lernen ohne Lehrer 3 Hauptkomponentenanalyse
Gesichtserkennung mit Hauptkomponentenanalyse
Hauptkomponentenanalyse mit Spark ML
Hauptkomponentenanalyse mit Livedoor News Corpus --Practice--
<Kurs> Maschinelles Lernen Kapitel 4: Hauptkomponentenanalyse
Hauptkomponentenanalyse mit Livedoor News Corpus - Vorbereitung--
Dimensionskomprimierung durch Selbstcodierer- und Hauptkomponentenanalyse
Ich habe versucht, die Hauptkomponenten mit Titanic-Daten zu analysieren!
PRML Kapitel 12 Bayesianische Hauptanalyse Python-Implementierung
2. Multivariate Analyse in Python 3-2. Hauptkomponentenanalyse (Algorithmus)
Koordinierte Filterung mit Hauptkomponentenanalyse und K-Mittel-Clustering
Mathematisches Verständnis der Hauptkomponentenanalyse von Anfang an
Clustering und Hauptkomponentenanalyse nach der K-Means-Methode (Anfänger)
Fordern Sie die Hauptkomponentenanalyse von Textdaten mit Python heraus
Implementierung einer unabhängigen Komponentenanalyse
Hauptkomponentenanalyse Analysieren Sie handschriftliche Zahlen mit PCA. Teil 2
Hauptkomponentenanalyse mit Python von nim mit nimpy
Hauptkomponentenanalyse (PCA) und unabhängige Komponentenanalyse (ICA) mit Python
Hauptkomponentenanalyse Analysieren Sie handschriftliche Zahlen mit PCA. Teil 1
2. Multivariate Analyse in Python 3-1. Hauptkomponentenanalyse (Scikit-Learn)
Coursera-Herausforderungen für maschinelles Lernen in Python: ex7-2 (Primäranalyse)
Visualisieren Sie die Korrelationsmatrix durch Hauptkomponentenanalyse mit Python
Hauptkomponentenanalyse zum Anfassen mit PyCaret [Normalisierung + Visualisierung (grafisch)] Memo
Einführung in die Python-Grundlagen des maschinellen Lernens (unbeaufsichtigtes Lernen / Hauptanalyse)
[GWAS] Zeichnen Sie die Ergebnisse der Hauptkomponentenanalyse (PCA) von PLINK auf
Sprachverarbeitung 100 knock-85 (abgeschnittene SVD): Dimensionskomprimierung durch Hauptkomponentenanalyse
Parabolische Analyse
[Python] Vergleich der Theorie und Implementierung der Hauptkomponentenanalyse durch Python (PCA, Kernel PCA, 2DPCA)
Beginnen wir mit der multivariaten Analyse und der Hauptkomponentenanalyse mit Pokemon! Zusammenarbeit zwischen R und Tableau