Dimension intrinsèque

Apprentissage non supervisé en Python

Benjamin Wilson

Director of Research at lateral.io

Dimension intrinsèque d'une trajectoire de vol

  • 2 caractéristiques : longitude et latitude des points situés le long d'une trajectoire de vol
  • L'ensemble de données semble être en deux dimensions
  • Cependant, il est possible d'obtenir une approximation à l'aide d'une caractéristique : le déplacement le long de la trajectoire de vol
  • Est intrinsèquement unidimensionnel
latitude  longitude
  50.529     41.513
  50.360     41.672
  50.196     41.835
...

Scatter plot of longitude vs latitude

Apprentissage non supervisé en Python

Dimension intrinsèque

  • Dimension intrinsèque = nombre de caractéristiques nécessaires pour approximer l'ensemble de données
  • Principe fondamental de la réduction de dimension
  • Quelle est la représentation la plus compacte des échantillons ?
  • Détectable à l'aide de la PCA
Apprentissage non supervisé en Python

Ensemble de données Versicolor

  • « versicolor », l'une des espèces d'iris
  • Seulement 3 caractéristiques : longueur du sépale, largeur du sépale et largeur du pétale
  • Les échantillons sont des points dans l'espace 3D
Apprentissage non supervisé en Python

L'ensemble de données Versicolor présente une dimension intrinsèque de 2

  • Les échantillons sont disposés à proximité d'une feuille plane en deux dimensions
  • Il est donc possible d'obtenir une approximation à l'aide de deux caractéristiques

Versicolor points plotted in 3d space: sepal length vs sepal width vs petal width

Apprentissage non supervisé en Python

La PCA identifie la dimension intrinsèque

  • Les diagrammes en nuage de points ne sont efficaces que si les échantillons comportent deux ou trois caractéristiques
  • La PCA identifie la dimension intrinsèque lorsque les échantillons présentent un nombre quelconque de caractéristiques
  • Dimension intrinsèque = nombre de caractéristiques PCA présentant une variance significative
Apprentissage non supervisé en Python

PCA des échantillons versicolor

Rotated versicolor points plotted in 3d space: PC1 vs PC2 vs PC3

Apprentissage non supervisé en Python

Les caractéristiques PCA sont classées par ordre décroissant de variance

Bar plot showing pca feature number vs variance

Apprentissage non supervisé en Python

Variance et dimension intrinsèque

  • La dimension intrinsèque correspond au nombre de caractéristiques PCA présentant une variance significative
  • Dans notre exemple : les deux premières caractéristiques PCA
  • La dimension intrinsèque est donc de 2

Bar plot showing pca feature number vs variance with vertical red line between 1 and 2

Apprentissage non supervisé en Python

Graphique des variances des caractéristiques PCA

  • samples = tableau des échantillons versicolor
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA

pca = PCA()
pca.fit(samples)
PCA()
features = range(pca.n_components_)
Apprentissage non supervisé en Python

Graphique des variances des caractéristiques PCA

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

Bar plot showing pca feature number vs variance

Apprentissage non supervisé en Python

La dimension intrinsèque peut être ambiguë

  • La dimension intrinsèque est une idéalisation
  • … il n'y a pas toujours une seule réponse correcte !
  • Vins du Piémont : on pourrait en citer deux, voire trois, et plus encore

Bar plot showing pca feature number vs variance of wines dataset

Apprentissage non supervisé en Python

Passons à la pratique !

Apprentissage non supervisé en Python

Preparing Video For Download...