[PYTHON] Ceci et cela de l'analyse en composantes principales

Ceci et cela de l'analyse en composantes principales

Comparaison de l'analyse probabiliste en composantes principales, de l'analyse bayésienne en composantes principales et de l'analyse des composantes principales du noyau, qui sont des extensions de l'analyse en composantes principales.

Analyse en composantes principales (ACP)

Comment réduire les données de grande dimension en données de faible dimension Il existe différentes manières de l'obtenir, mais il est rapide de l'interpréter comme une décomposition en valeurs singulières.

X = UDV^T

Autre vecteur de réduction de dimension

X_{pca} = XV_{pca}

Peut être obtenu avec. Cependant, $ V_ {pca} $ est créé à partir du nombre de dimensions réduit à partir de la matrice V. (Si la dimension est réduite à 2 dimensions, $ V_ {pca} = V [:, [0,1]] $)

PCA probabiliste

Réduction de dimension probabiliste en utilisant la distribution gaussienne Il existe plusieurs façons de le trouver, mais lorsque vous le trouvez avec l'algorithme EM, Dans E-step

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

cependant,

Dans M-step

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\}

cependant,

Peut être obtenu avec.

Bayes PCA

L'estimation bayésienne est effectuée en introduisant des hyperparamètres dans la distribution gaussienne.

Par rapport au cas de l'ACP probabiliste, le pas M est différent,

\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\}

cependant,

Est.

Analyse des composants principaux du noyau

Après avoir converti le nombre de données x nombre de matrice de dimensions en nombre de données x nombre de matrice de données par le noyau, l'analyse en composantes principales est effectuée.

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

cependant,

Pour $ \ tilde {K} $ obtenu de cette manière, la réduction de dimension est effectuée en obtenant la valeur propre et le vecteur propre comme dans le cas de l'analyse en composantes principales.

Expérience

La réduction de dimension est effectuée à l'aide de l'analyse en composantes principales (ACP), de l'analyse probabiliste en composantes principales (PPCA), de l'analyse bayésienne en composantes principales (BPCA) et de l'analyse des composantes principales du noyau (KPCA).

Les données utilisées sont des données d'iris (les données de 3 types de plantes sont représentées par des vecteurs à 4 dimensions, et il y a 50 données pour chaque type).

Codez ici https://github.com/kenchin110100/machine_learning

La figure ci-dessous est tracée après avoir réduit les dimensions à deux dimensions.

Les limites entre les types sont clairement visibles dans PPCA et BPCA que dans PCA. KPCA se sent différent, mais il a certainement des graphiques pour chaque type.

À la fin

Quatre types d'analyses des composants principaux ont été effectués, et il semble facile à utiliser par BPCA Il existe deux axes comme méthode d'élargissement de l'ACP: le calcul probabiliste ou l'utilisation du noyau. Il semble y avoir l'analyse en composantes principales la plus solide qui les combine ...

Recommended Posts

Ceci et cela de l'analyse en composantes principales
Analyse en composantes principales (Analyse en composantes principales: ACP)
Apprendre sans enseignant 3 Analyse des principales composantes
Reconnaissance faciale à l'aide de l'analyse des composants principaux
Analyse des composants principaux avec Spark ML
Python: apprentissage non supervisé: analyse principale
Analyse des composants principaux avec le corpus d'actualités Livedoor - Pratique--
<Cours> Machine learning Chapitre 4: Analyse des principaux composants
Analyse des composants principaux avec Livedoor News Corpus --Préparation--
Compression dimensionnelle par auto-encodeur et analyse des composants principaux
J'ai essayé d'analyser les principaux composants avec les données du Titanic!
PRML Chapitre 12 Mise en œuvre de l'analyse principale bayésienne Python
2. Analyse multivariée décrite dans Python 3-2. Analyse en composantes principales (algorithme)
Filtrage coordonné avec analyse des composants principaux et clustering K-means
Compréhension mathématique de l'analyse en composantes principales depuis le début
Clustering et analyse en composantes principales par méthode K-means (débutant)
Défiez l'analyse des composants principaux des données textuelles avec Python
Mise en œuvre d'une analyse de composants indépendante
Analyse en composantes principales Analyser les nombres manuscrits à l'aide de l'ACP. Partie 2
Analyse des composants principaux à l'aide de python de nim avec nimpy
Analyse en composants principaux (PCA) et analyse en composants indépendants (ICA) avec python
Analyse en composantes principales Analyser les nombres manuscrits à l'aide de l'ACP. Partie 1
2. Analyse multivariée expliquée dans Python 3-1. Analyse en composantes principales (scikit-learn)
Défis d'apprentissage automatique de Coursera en Python: ex7-2 (analyse principale)
Visualisez la matrice de corrélation par l'analyse des composants principaux avec Python
Analyse pratique des composants principaux avec PyCaret [Normalisation + visualisation (tracé)] Mémo
Introduction aux bases de Python de l'apprentissage automatique (apprentissage non supervisé / analyse principale)
[GWAS] Tracez les résultats de l'analyse en composantes principales (ACP) par PLINK
Traitement du langage 100 knock-85 (SVD tronqué): Compression dimensionnelle par analyse en composantes principales
Analyse parabolique
[Python] Comparaison de la théorie de l'analyse des composants principaux et de l'implémentation par Python (PCA, Kernel PCA, 2DPCA)
Commençons l'analyse multivariée et l'analyse des composants principaux avec Pokemon! Coopération entre R et Tableau