data_mining:pca

Principal Component Analysis

$x \in \mathbb{R}^2$

Finden einer Projektion mit minimalem Projektionsfehler.

Feature Scaleing erforderlich.

Für 2 Dimensionen: Finde einen Vektor $u^{(1)} \in \mathbb{R}^n$ auf den Daten projiziert werden, dass der Projektionsfehler minimal wird.

Für k Dimensionen: Finde k Vektoren $u^{(1)}, \dots, u^{(k)}$ auf die Daten projiziert werden, dass der Projektionsfehler minimal wird.

Berechnung der Kovarianzmatrix: $\Sigma = \frac{1}{m} \sum_{i=1}^n x^{(i)} (x^{(i)})^T = 1/m X^T X$

Berechnung der Eigenvektoren der Matrix $\sigma$:

svd-Funktion: [U, S, V] = svd(Sigma);

$U_{\text{reduce}}$ : k-Spalten der U-Matrix ($n \times n$)

$z = U_{\text{reduce}}^T x$

99% der Varianz bleibt erhalten.

$$ \frac{\frac{1}{m} \sum_{i=1}^m || x^{(i)} - x_{\text{approx}}^{(i)} ||^2}{\frac{1}{m} \sum_{i=1}^m || x^{(i)}||^2} \leq 0.01 $$

[U,S,V] mit S als diagonale Matrix.

Für ein k, kann $1-\frac{\sum_{i=1}^k S_{ii}}{\sum_{i=1}^n S_{ii}} \leq 0.01$.

$x_\text{approx} = U_\text{reduce} z$

  • data_mining/pca.txt
  • Last modified: 2014/08/30 17:07
  • by phreazer