Par Nada Belaidi
Data Scientist
Publié le 15 mars 2022
Catégorie Machine Learning
La réduction de dimension est une technique très populaire, généralement utilisée par les Data Scientists pour améliorer la performance des algorithmes de Machine Learning, surtout lorsqu'on travaille avec des jeux de données à plusieurs variables. Elle permet d'éliminer les variables corrélées qui ne contribuent à aucune prise de décision. Il existe plusieurs approches pour ce faire, dont t-SNE (t-distributed Stochastic Neighbor Embedding), un algorithme d’apprentissage non supervisé connu notamment pour sa capacité à faciliter la visualisation des données non linéaires ayant beaucoup de descripteurs.
Dans cet article, nous allons détailler la notion de réduction des dimensions, le fonctionnement de l'algorithme t-SNE, comment et quand faut-il l’utiliser.
La réduction de dimension est un processus étudié en mathématiques et en informatique. Il consiste à prendre des données dans un espace de grande dimension, et à les remplacer par d'autres dans un espace de dimension inférieure, mais qui contiennent encore la plupart des informations contenues dans le grand ensemble.
Autrement dit, on cherche à construire moins de variables tout en conservant le maximum d'informations possible.
En Machine Learning, ce processus de traitement de données est crucial dans certains cas, parce que les jeux de données plus petits sont plus faciles à explorer, exploiter et à visualiser, et rendent l’analyse des données beaucoup plus facile et plus rapide.
Cette étape est importante aussi dans les cas du sur-apprentissage et des données très éparses (fléau de la dimensionnalité), qui nécessitent beaucoup de temps et de puissance de calcul pour les étudier.
En utilisant un espace de plus petite dimension, on obtient des algorithmes plus efficaces, ainsi qu'un panel de solutions plus réduit.
À lire aussi : découvrez notre formation MLOps
Pour ce faire, on peut agir de deux manières différentes.
Cette technique consiste à éliminer tout simplement des variables estimées d'être redondantes ou peu importantes pour la prise de décision. Parmi les méthodes se basant sur cette technique, on peut citer :
La régression pénalisée (par exemple la régularisation de type L1/Lasso et L2/Ridge) est un type de régularisation qui force le modèle à atteindre un équilibre entre performance et nombre de dimensions retenues. Ils permettent d’effectuer la sélection de variable selon les résultats d'une fonction de pénalité qui attribue un poids à chaque variable. Les modèles à vecteurs de support (SVM) sont régularisé de cette manière.
La régularisation des modèles basées sur des arbres de décision, y compris les forêts aléatoires ou le Gradient Boosting, est aussi une méthode se basant sur le même principe. On réduit la profondeur des arbres et des branches en évitant, lors de la sélection de la variable optimale pour la scission d’un nœud, de choisir une variable qui soit trop corrélée à celle sélectionnée dans la scission précédente.
Il s'agit de sélectionner des variables les plus importantes à utiliser dans les algorithmes Machine Learning avant que le modèle soit entraîné avec. Concrètement, plusieurs tests statistiques peuvent être effectués pour sélectionner les caractéristiques qui ont la relation la plus forte avec la variable de sortie comme le coefficient de corrélation, la MAD (moyenne absolue des différences), ou le ratio de dispersion.
Cette approche consiste à combiner deux ou plusieurs variables afin d’obtenir un plus petit nombre de nouvelles variables plus expressives et moins redondantes sans supprimer des parties du jeu de données. Pour mieux comprendre on prendra les deux exemples suivants :
C'est une technique qui vise à transformer des variables corrélées en nouvelles variables décorrélées en projetant les données dans le sens de la variance croissante. Les variables avec la variance maximale seront choisies comme les composants principaux. Regardant le repère ci-dessous :
Dans le premier repère, que la variance des données selon l'axe rouge est grande. Si on projette les points sur cet axe, ils auront tous des coordonnées différentes, mais on continue à pouvoir distinguer les points les uns des autres, en utilisant cet axe comme unique dimension, on réduit la dimension de nos données (de 2 à 1).
Cette méthode est similaire à l'ACP, sauf que les points de données sont projetées cette fois sur de nouveaux axes de sorte que ces nouvelles composantes maximisent la séparabilité entre les catégories tout en maintenant la variation au sein de chacune des catégories à une valeur minimale.
Il existe d'autres techniques de réductions de dimensions qui peuvent être citées en guise d'exemple comme la réduction avec la cartographie isométrique, les auto-encodeurs, la réduction par décomposition de matrices ou bien t-SNE.
À lire aussi : découvrez notre formation MLOps
-Distributed Stochastic Neighbor Embedding (t-SNE) est une technique non supervisée et non linéaire principalement utilisée pour l’exploration, la visualisation et la réduction des dimensions de données de haute dimension. En d'autres mots, le rôle de cet algorithme est la réduction de la dimensionnalité non linéaire. Cela signifie qu'il permet de séparer les données qui ne peuvent pas être séparées par une ligne droite. Il donne une idée ou une intuition de la façon dont les données sont organisées dans un espace de grande dimension et par conséquent, il produit des groupes séparés et bien définis. Une fois, on a compris ses données, t-SNE se charge de les compresser en les projetant dans un espace de faible dimension (2D ou 3D).
Prenons comme exemple les données bien simples suivants afin d'expliquer étape par étape le fonctionnement de l'algorithme du t-SNE.
Visuellement, le jeu de données se compose de quatre groupes distincts. Tous les éléments sont projetés dans un repère orthonormé de dimension 2.
En ce qui suit, on va essayer de réduire la dimension de nos données (de 2 à 1) en utilisant le t-SNE.
Avec les valeurs de similarité, on va créer une matrice de similarité () pour chaque point de données. En regardant l'image ci-dessus, on peut dire que les éléments , et sont les voisins de , ils obtiendront une valeur plus élevée dans la matrice de similarité de . D’autre part, est situé loin de . Donc, il obtiendra une valeur inférieure dans .
L'étape suivante consiste à convertir la distance de similarité calculée en probabilité conjointe selon la distribution normale. Et puis créer un espace de faible dimension (dans notre cas 1D) avec le même nombre de points que dans l'espace d'origine. Les points doivent être répartis au hasard sur cet espace parce qu'au début on ne connait pas leur coordonnées idéales.
Ensuite, on refait tous les mêmes calculs qu’on a faits pour les points de données de dimensions supérieures aux points de données de dimensions inférieures disposés de façon aléatoire à nouveau. Mais dans cette étape, on va calculer la probabilité selon la distribution de Student et on créera une matrice de similarité ().
Maintenant, l’algorithme compare avec et fait la différence entre et en utilisant un algorithme de descente de gradient exécuté avec Kullback Leibler Divergence (KL Divergence) entre les probabilités conditionnelles. Pour faire simple, on peut traiter ce gradient comme une répulsion et une attraction entre les points. Un gradient est calculé pour chaque point et décrit à quel point il doit être « fort » et la direction qu'il doit choisir. Cette divergence KL aide t-SNE à préserver la structure locale des données en minimisant la différence entre les deux distributions par rapport aux emplacements des points de données. Cela revient à minimiser l’écart entre les distributions de probabilités entre l’espace d’origine et l’espace de plus petite dimension.
Le t-SNE est un algorithme très intelligent qui permet d'éviter le sur-apprentissage et de simplifier les données. Il s'adapte à des situations de réductions de dimensions précises.
À lire aussi : découvrez notre formation MLOps
Bien qu'il fonctionne très bien, certaines améliorations permettent à cet algorithme de faire encore mieux. Par exemple, la perplexité qui est le paramètre principal contrôlant l’ajustement des points de données dans l’algorithme. Il est conseillé d'ajuster ce paramètre lors de l'exécution du t-SNE. Il doit toujours être inférieur au nombre de points de données.
En bref, t-SNE est une technique de réduction de la dimensionnalité qui peut être appliqué sur des ensembles de données linéaires et non linéaires. Bien qu'il soit relativement nouveau, plusieurs Data Scientists l'utilisent pour comprendre et visualiser des données complexes et de haute dimension.
Vous souhaitez vous former au MLOps ?
Articles similaires
20 sept. 2022
Machine Learning
Nada Belaidi
Data Scientist
Lire l'article
12 juil. 2022
Machine Learning
Nada Belaidi
Data Scientist
Lire l'article
4 juil. 2022
Machine Learning
Nada Belaidi
Data Scientist
Lire l'article
60 rue François 1er
75008 Paris
Blent est une plateforme 100% en ligne pour se former aux métiers Tech & Data.
Organisme de formation n°11755985075.
Data Engineering
À propos
Gestion des cookies
© 2023 Blent.ai | Tous droits réservés