Intrinsische Dimension

Unsupervised Learning in Python

Benjamin Wilson

Director of Research at lateral.io

Die eigentliche Dimension einer Flugroute

  • Zwei Merkmale: Längen- und Breitengrad an Punkten entlang einer Flugroute
  • Der Datensatz scheint zweidimensional zu sein.
  • Aber man kann diesen mit einem Merkmal ungefähr annähern: die Verschiebung entlang der Flugroute.
  • Hat eine intrinsische Dimension von Eins.
latitude  longitude
  50.529     41.513
  50.360     41.672
  50.196     41.835
...

Streudiagramm von Längengrad gegen Breitengrad

Unsupervised Learning in Python

Intrinsische Dimension

  • Intrinsische Dimension = Anzahl der Merkmale, die man braucht, um den Datensatz zu approximieren
  • Die Hauptidee hinter der Dimensionsreduktion
  • Was ist die kompakteste Darstellung der Proben?
  • Kann mit PCA ermittelt werden
Unsupervised Learning in Python

Versicolor-Datensatz

  • „Versicolor“, eine der Iris-Arten
  • Nur drei Merkmale: Kelchblattlänge, Kelchblattbreite und Blütenblattbreite
  • Proben sind Punkte im dreidimensionalen Raum.
Unsupervised Learning in Python

Versicolor-Datensatz: intrinsische Dimension von Zwei

  • Proben fast wie auf einer flachen, 2D-Platte.
  • Kann also mit zwei Merkmalen approximiert werden.

Versicolor-Punkte im 3D-Raum: Kelchblattlänge vs. Kelchblattbreite vs. Blütenblattbreite

Unsupervised Learning in Python

PCA ermittelt die innere Dimension

  • Streudiagramme funktionieren nur, wenn die Stichproben zwei oder drei Merkmale aufweisen.
  • PCA ermittelt die intrinsische Dimension, wenn die Proben beliebig viele Merkmale haben.
  • Intrinsische Dimension = Anzahl der PCA-Merkmale mit signifikanter Varianz
Unsupervised Learning in Python

PCA der versicolor-Proben

Gedrehte versicolor-Punkte im 3D-Raum dargestellt: PC1 vs PC2 vs PC3

Unsupervised Learning in Python

PCA-Merkmale nach absteigender Varianz sortiert

Balkendiagramm, das die Anzahl der PCA-Merkmale im Vergleich zur Varianz zeigt

Unsupervised Learning in Python

Varianz und intrinsische Dimension

  • Die intrinsische Dimension ist die Anzahl der PCA-Merkmale mit signifikanter Varianz.
  • In unserem Beispiel: die ersten beiden PCA-Merkmale
  • Die intrinsische Dimension ist also Zwei.

Balkendiagramm, das die Anzahl der PCA-Merkmale im Vergleich zur Varianz zeigt, mit einer roten vertikalen Linie zwischen 1 und 2

Unsupervised Learning in Python

Die Varianzen der PCA-Merkmale darstellen

  • samples = Array mit Versicolor Proben
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA

pca = PCA()
pca.fit(samples)
PCA()
features = range(pca.n_components_)
Unsupervised Learning in Python

Die Varianzen der PCA-Merkmale darstellen

plt.bar(features, pca.explained_variance_)
plt.xticks(features)
plt.ylabel('variance')
plt.xlabel('PCA feature')
plt.show()

Balkendiagramm, das die Anzahl der PCA-Merkmale im Vergleich zur Varianz zeigt

Unsupervised Learning in Python

Die intrinsische Dimension kann uneindeutig sein

  • Die intrinsische Dimension ist eine Idealvorstellung.
  • Es gibt nicht immer nur eine richtige Antwort!
  • Weine aus dem Piemont: Zwei, Drei oder mehr

Balkendiagramm, das die Anzahl der PCA-Merkmale im Vergleich zur Varianz des Weindatensatzes zeigt

Unsupervised Learning in Python

Lass uns üben!

Unsupervised Learning in Python

Preparing Video For Download...