unsupervised learning

L’apprentissage non supervisé se produit lorsqu’un algorithme apprend à partir d’exemples simples sans réponse associée, laissant à l’algorithme le soin de déterminer les modèles de données par lui-même. Ce type d’algorithmes tend à restructurer les données en quelque chose d’autre, comme de nouvelles caractéristiques qui peuvent représenter une classe ou une nouvelle série de valeurs non corrélées. Ils sont très utiles pour donner aux humains un aperçu de la signification des données et des nouveaux apports utiles aux algorithmes d’apprentissage machine supervisés.

« À LA FIN DE L’ARTICLE, VOUS SEREZ À L’AISE POUR PARLER D’APPRENTISSAGE NON SUPERVISÉ »

Cette façon d’apprendre est très semblable à la façon dont les humains apprennent à observer des objets ou des événements, par exemple, on ne s’attend pas à ce qu’on trouve des chameaux au Canada. Elle vient de l’observation du degré de similitude entre les objets.

Certains systèmes de recommandation utilisés dans le marketing automatisé sont basés sur des algorithmes d’apprentissage non supervisés. L’algorithme d’automatisation du marketing tire ses suggestions de ce que vous avez acheté dans le passé. Les recommandations sont basées sur une estimation du groupe de clients auquel vous ressemblez le plus, puis sur une déduction de vos préférences probables en fonction de ce groupe.

L’apprentissage non supervisé peut être utilisé dans différentes configurations. Dans cet article, nous présentons deux algorithmes correspondant à deux cas d’utilisation différents : K-means pour le clustering et t-SNE pour la réduction dimensionnelle. Bien que l’ACP puisse également être utilisée pour réduire la dimensionnalité des données et nous permettre d’en avoir une meilleure idée, elle est mois fiable que le t-SNE car elle suppose une linéarité entre les variables.

K-means

K-means est l’algorithme de regroupement itératif de descendance le plus populaire qui nécessite des variables quantitatives et qui utilise la distance euclidienne comme mesure de dissimilarité.

d(x_i, x_j) = \sum_{k = 1}^{p} (x_{ik} - x_{jk})^2 = \vert \vert x_i - x_j \vert \vert ^2

Il permet de regrouper les points de données en K clusters où K est un hyper-paramètre de l’algorithme. Le choix de K est souvent motivé par l’intérêt de l’utilisateur, par exemple le nombre de clusters par défaut dans Scikit-learn est de 8.

L’idée derrière tout cela est très simple. Dans un premier temps, les points de données sont assignés à des clusters de façon aléatoire, puis un centroïde est calculé pour chaque cluster et les données sont assignés au cluster correspondant au centroïde le plus proche. Ceci sera itéré jusqu’à ce que les affectations ne changent pas.

Lorsque l’on applique K-means clustering sur un ensemble de données MNIST (chiffres de 0 à 9) après avoir effectué une ACP pour permettre une visualisation 2D, on obtient les résultats suivants :

t-SNE

t-SNE signifie t-distribution Stochastic Neighborhood Embedding. Il s’agit d’un algorithme de réduction de la dimensionnalité qui projette les points de données d’un espace de grande dimension dans un espace de dimension inférieure (généralement 2 ou 3 dimensions). Nous verrons ici, à un niveau moyen, comment fonctionne le t-SNE.

Supposons que nous ayons un ensemble de données de 100 dimensions et que nous voulions le visualiser et le comprendre. Nous devons donc incorporer toutes les connaissances dans un espace bidimensionnel.

Tout d’abord, nous travaillons sur l’espace à haute dimension. Nous calculons la similarité entre chaque paire de points de données, les points de données similaires auront une valeur élevée et les différents auront une valeur faible. Ensuite, nous calculons les probabilités conjointes en utilisant ces similitudes selon la distribution normale. Nous appellerons ces probabilités P.

p_{j|i} = \frac{exp(-\vert \vert x_i - x_j \vert \vert ^2 / 2 \sigma_i^2)}{\sum_{k \ != \ l}exp(-\vert \vert x_k - x_l\vert \vert ^2 / 2 \sigma_i^2)}

Maintenant que les probabilités jointes sont calculées sur l’espace de haute dimension, nous ferons de même sur l’espace de basse dimension et comme vous l’avez peut-être compris, l’idée est de réduire la différence (ou divergence) entre ces deux probabilités.

Maintenant, t-SNE dispose tous les points de données de façon aléatoire sur l’espace dimensionnel inférieur spécifié (ici en 2 dimensions). Ensuite, les probabilités conjointes entre chaque paire de points de données sont calculées en utilisant les similitudes et en fonction de la distribution t, générant ainsi la distribution de probabilité Q.

q_{ij} = \frac{(1 + \vert \vert y_i - y_j \vert \vert ^2)^{-1}}{\sum_{k \ != \ l} (1 + \vert \vert y_k- y_l \vert \vert ^2)^{-1} }

Actuellement, l’objectif est de réduire la différence entre P et Q. Pour cette tâche, nous utilisons la divergence de Kullback-Leibler et les coordonnées des points de données spatiales de faible dimension seront mises à jour en utilisant le gradient de divergence.

KL(P\vert \vert Q) = \sum_i \sum_j p_{ij} \ log \ \frac{p_{ij}}{q_{ij}} \ where \ p_{ij} = (p_{i|j} + p_{j | i}) / 2

J’espère que vous avez mieux compris la différence entre l’apprentissage supervisé et non supervisé et que vous vous sentez plus à l’aise de parler de K-means et de t-SNE.

LEAVE A REPLY

Please enter your comment!
Please enter your name here