Zum Hauptinhalt springen

Kapitel 2 – PCA & k-means

Folien: 📄 03_dimred.pdf · Woche 2, Prof. Franz

Worum geht es?​

Reale Daten haben oft sehr viele Variablen: ein MNIST-Bild hat 784 Pixel, ein Microarray misst rund 30 000 Gene. Mit so vielen Dimensionen arbeiten Lernverfahren schlecht, und anschauen kann man die Daten auch nicht mehr. Das Kapitel behandelt zwei klassische unüberwachte Verfahren (unsupervised learning), die solche Daten vereinfachen:

  • Die Hauptkomponentenanalyse (Principal Component Analysis, PCA) reduziert die Zahl der Variablen. Sie dreht das Koordinatensystem so, dass die Daten entlang der ersten Achsen möglichst stark streuen, und wirft die Achsen mit wenig Varianz weg. Mathematisch läuft das auf die Eigenwertzerlegung der Kovarianzmatrix hinaus.
  • k-Means (Vektorquantisierung) reduziert die Zahl der Datenpunkte. Es fasst ähnliche Punkte zu KK Clustern zusammen und repräsentiert jeden Cluster durch seinen Mittelwert.

Beide Verfahren brauchen keine Labels. Sie dienen zur Visualisierung, zur Kompression und als Vorverarbeitung für spätere Klassifikatoren (z.B. Eigengesichter mit Naive Bayes im Praktikum, siehe Kapitel 3).

Vorwissen aus Kapitel 1: Erwartungswert, Varianz, Kovarianz. Aus der linearen Algebra: Eigenwerte und Eigenvektoren, Orthonormalbasen.

Aufbau des Kapitels​

AbschnittInhalt
2.1 Dimensionsreduktion & KovarianzMerkmalsselektion vs. -extraktion, Kovarianzmatrix, Varianz entlang einer Richtung q⊤Σq\mathbf q^\top\Sigma\mathbf q
2.2 Herleitung der PCAPCA als Optimierungsproblem, Lagrange-Multiplikatoren, Eigenwertgleichung, Scores, Dekorrelation
2.3 Eigenschaften der PCAKodieren und Dekodieren, optimale Rekonstruktion, erklärte Varianz, Beispiele, Grenzen, Algorithmus
2.4 ClusteranalyseWas ist ein Cluster, Ähnlichkeitsmaße, partitionierende vs. hierarchische Verfahren, Datenreduktion durch Clustern
2.5 k-MeansAlgorithmus, durchgerechnetes Beispiel, Zielfunktion, lokale Minima, Wahl von KK, Probleme

Termin 3 („PCA I“) deckt ungefähr 2.1 und 2.2 ab, Termin 4 („PCA II / k-means“) den Rest.

Die wichtigsten Formeln auf einen Blick​

WasFormel
KovarianzmatrixΣ=E[(x−μ)(x−μ)⊤]\Sigma = \mathcal E\big[(\mathbf x-\boldsymbol\mu)(\mathbf x-\boldsymbol\mu)^\top\big]
Varianz in Richtung q\mathbf q (∥q∥=1\lVert\mathbf q\rVert=1)σ2(q)=q⊤Σq\sigma^2(\mathbf q)=\mathbf q^\top\Sigma\mathbf q
PCA-BedingungΣqi=βiqi\Sigma\mathbf q_i=\beta_i\mathbf q_i
Scoresai=qi⊤xa_i=\mathbf q_i^\top\mathbf x (zentrierte Daten)
Rekonstruktion mit ℓ\ell Komponentenx^=∑i=1ℓaiqi\hat{\mathbf x}=\sum_{i=1}^{\ell}a_i\mathbf q_i
RekonstruktionsfehlerE∥x−x^∥2=∑i=ℓ+1nβi\mathcal E\lVert\mathbf x-\hat{\mathbf x}\rVert^2=\sum_{i=\ell+1}^{n}\beta_i
Erklärte VarianzPℓ=∑i=1ℓβi/∑i=1nβiP_\ell=\sum_{i=1}^{\ell}\beta_i \big/ \sum_{i=1}^{n}\beta_i
k-Means-Zuweisungk^n=arg⁡min⁡k∥xn−μk∥2\hat k_n=\arg\min_k\lVert\mathbf x_n-\boldsymbol\mu_k\rVert^2
k-Means-Updateμk=∑nrknxn/∑nrkn\boldsymbol\mu_k=\sum_n r_{kn}\mathbf x_n \big/ \sum_n r_{kn}

Prüfungsrelevant / Selbsttest​

  1. Was ist der Unterschied zwischen Merkmalsselektion und Merkmalsextraktion? Zu welcher Art gehört die PCA?
Antwort

Bei der Selektion wählt man eine Teilmenge der vorhandenen Variablen aus (die übrigen werden unverändert weggelassen). Bei der Extraktion berechnet man neue Variablen als Funktion aller alten. Die PCA ist Merkmalsextraktion: Jeder Score ai=qi⊤xa_i=\mathbf q_i^\top\mathbf x ist eine Linearkombination aller Originalvariablen.

  1. Leite her, warum die Varianz der Daten entlang einer Einheitsrichtung q\mathbf q gleich q⊤Σq\mathbf q^\top\Sigma\mathbf q ist.
Antwort

Projektion: a=q⊤(x−μ)a=\mathbf q^\top(\mathbf x-\boldsymbol\mu), also E[a]=0\mathcal E[a]=0. Dann σ2(q)=E[a2]=E[q⊤(x−μ)(x−μ)⊤q]=q⊤E[(x−μ)(x−μ)⊤]q=q⊤Σq\sigma^2(\mathbf q)=\mathcal E[a^2]=\mathcal E[\mathbf q^\top(\mathbf x-\boldsymbol\mu)(\mathbf x-\boldsymbol\mu)^\top\mathbf q]=\mathbf q^\top\mathcal E[(\mathbf x-\boldsymbol\mu)(\mathbf x-\boldsymbol\mu)^\top]\mathbf q=\mathbf q^\top\Sigma\mathbf q. Man nutzt a2=a⋅a⊤a^2=a\cdot a^\top (ein Skalar ist sein eigenes Transponiertes) und die Linearität des Erwartungswerts.

  1. Warum braucht die PCA die Nebenbedingung q⊤q=1\mathbf q^\top\mathbf q=1, und wie führt sie auf ein Eigenwertproblem?
Antwort

Ohne Nebenbedingung kann man q⊤Σq\mathbf q^\top\Sigma\mathbf q durch Skalieren von q\mathbf q beliebig groß machen, es gibt kein endliches Maximum. Mit Lagrange: L=−q⊤Σq+β(q⊤q−1)L=-\mathbf q^\top\Sigma\mathbf q+\beta(\mathbf q^\top\mathbf q-1), ∇qL=−2Σq+2βq=0\nabla_{\mathbf q}L=-2\Sigma\mathbf q+2\beta\mathbf q=0, also Σq=βq\Sigma\mathbf q=\beta\mathbf q.

  1. Was ist die Varianz entlang der ii-ten Hauptkomponente, und warum sind alle Eigenwerte von Σ\Sigma nicht negativ?
Antwort

σ2(qi)=qi⊤Σqi=qi⊤βiqi=βi\sigma^2(\mathbf q_i)=\mathbf q_i^\top\Sigma\mathbf q_i=\mathbf q_i^\top\beta_i\mathbf q_i=\beta_i. Der Eigenwert ist die Varianz in dieser Richtung. Varianzen sind nie negativ, also βi≥0\beta_i\ge0: Σ\Sigma ist positiv semidefinit. Die Komponente mit dem größten Eigenwert ist die Richtung maximaler Varianz.

  1. Gegeben Σ=(2.5222.5)\Sigma=\begin{pmatrix}2.5&2\\2&2.5\end{pmatrix}. Bestimme die Hauptkomponenten und die erklärte Varianz der ersten.
Antwort

det⁡(Σ−βI)=(2.5−β)2−4=0⇒β=2.5±2\det(\Sigma-\beta I)=(2.5-\beta)^2-4=0\Rightarrow\beta=2.5\pm2, also β1=4.5\beta_1=4.5, β2=0.5\beta_2=0.5. Eigenvektoren q1=12(1,1)⊤\mathbf q_1=\tfrac1{\sqrt2}(1,1)^\top, q2=12(1,−1)⊤\mathbf q_2=\tfrac1{\sqrt2}(1,-1)^\top. Erklärte Varianz 4.5/5=90 %4.5/5=90\,\%. Siehe das durchgerechnete Beispiel.

  1. Wie groß ist der mittlere quadratische Rekonstruktionsfehler, wenn man nur die ersten ℓ\ell von nn Hauptkomponenten behält?
Antwort

Die Summe der weggelassenen Eigenwerte: E∥x−x^∥2=∑i=ℓ+1nβi\mathcal E\lVert\mathbf x-\hat{\mathbf x}\rVert^2=\sum_{i=\ell+1}^n\beta_i. Weil die PCA die kleinsten Eigenwerte weglässt, ist dieser Fehler unter allen ℓ\ell-dimensionalen Orthonormalbasen minimal.

  1. Warum ist die PCA nicht immer gut geeignet, um Cluster zu trennen?
Antwort

Die PCA sucht Richtungen großer Varianz, nicht Richtungen guter Trennbarkeit. Sie kennt keine Labels und keine Clusterstruktur. Bei drei Clustern (📄 03_dimred.pdf, Folie 37) kann die Projektion auf die erste Komponente zwei Cluster übereinanderlegen. Außerdem findet sie nur lineare Strukturen.

  1. Beschreibe die beiden Schritte von k-Means und erkläre, warum der Algorithmus immer terminiert.
Antwort

Zuweisung: jeder Punkt zum nächsten Zentrum. Anpassung: jedes Zentrum auf den Mittelwert seiner Punkte. Beide Schritte senken die Summe der quadrierten Abstände JJ (oder lassen sie gleich). Es gibt nur endlich viele Zuordnungen der NN Punkte zu KK Clustern, also kann JJ nicht unendlich oft echt sinken. Irgendwann ändert sich die Zuordnung nicht mehr.

  1. Warum findet k-Means nicht unbedingt die beste Clusterung, und was tut man dagegen?
Antwort

JJ hat lokale Minima, und k-Means ist ein Abstiegsverfahren, das vom Startwert abhängt (📄 03_dimred.pdf, Folie 45: zwei Läufe, zwei Ergebnisse). Das globale Optimum zu finden ist NP-hart. Praxis: mehrere Läufe mit verschiedenen Zufallsstarts, den mit kleinstem JJ nehmen.

  1. Wie wählt man die Anzahl der Cluster KK bei k-Means?
Antwort

„Ellenbogen“-Kriterium (📄 03_dimred.pdf, Folie 46): k-Means für mehrere KK laufen lassen, die summierte Varianz innerhalb der Cluster gegen KK auftragen und das KK nach dem letzten großen Abfall wählen. Den Minimalwert zu nehmen geht nicht, da die Varianz mit wachsendem KK immer weiter sinkt (bei K=NK=N ist sie 0).