L’apprentissage non supervisé – Machine Learning

By | 1 mars 2017

Dans l’article précédent, nous avons parlé de l’apprentissage supervisé (Supervised Learning). Dans cet article, nous parlerons de l’apprentissage non supervisé (Unsupervised Learning) qui est la deuxième branche du Machine Learning.

Qu’est ce que l’apprentissage non supervisé (Unsupervised Learning) ?

A l’inverse de l’apprentissage supervisé (Supervised Learning) qui tente de trouver un modèle depuis des données labellisées f(X) \rightarrow Y, l’apprentissage non supervisé prend uniquement des données sans label (pas de variable à prédire Y). Un algorithme d’Unsupervised Learning va trouver des patterns ou une structuration dans les données.

Les algorithmes de Clustering rentrent dans la catégorie de Unsupervised Learning. Ils permettent de regrouper en des ensembles, les données qui sont similaires.

Le Clustering, à quoi ça pourrait bien servir ?

Trouver des patterns dans les données grâce aux algorithmes de Clustering, c’est bien sympa, mais à quoi cela pourrait bien servir ?

A première vue, on pourrait penser que le Clustering a peu d’utilité dans les applications de la vraie vie. Mais détrompez-vous ! Les applications de cette technique sont nombreuses. Quand vous vous demandez comment Amazon fait pour recommander les bons produits, ou encore YouTube qui vous propose des vidéos en relation avec vos attentes, ou encore Netflix qui vous propose de bons films, tout ça c’est du Clustering !

L’efficacité d’implémentation d’un algorithme de Clustering peut permettre une augmentation significative du chiffre d’affaires d’un site e-commerce comme pour le cas Amazon (lien en anglais)

L’algorithme K-Means pour le Clustering

L’algorithme K-Means (K-moyennes) est le plus connu dans l’Unsupervised Learning. Il s’agit d’un algorithme de Clustering. Ce dernier va mettre dans des “zones” (Cluster), les données qui se ressemblent. Les données se trouvant dans le même cluster sont similaires.

L’approche de K-Means consiste à affecter aléatoirement des centres de clusters (appelés centroids), et ensuite assigner chaque point de nos données au centroid qui lui est le plus proche. Cela s’effectue jusqu’à assigner toutes les données à un cluster.

L’illustration par une image, du résultat d’exécution de l’algorithme K-Means vous permettra d’en appréhender le fonctionnement.

Dans cet image, on reconnait trois clusters : (un en rouge, un bleu et un vert).

Dans cet article, nous n’avons fait qu’effleurer l’algorithme K-Means et le Clustering en général. Je ferai un article plus détaillé sur ces notions dans un futur article.

Si vous avez des questions ou des remarques, n’hésitez pas à m’écrire via un commentaire. Et si l’article vous plait n’hésitez pas à le partager ! 😉

7 thoughts on “L’apprentissage non supervisé – Machine Learning

  1. Pingback: Apprendre le Machine Learning avec la formation d'Andrew NG - Apprendre le Machine Learning de A à Z

  2. Pingback: 9 Algorithmes de Machine Learning que chaque Data Scientist doit connaitre - Apprendre le Machine Learning de A à Z

  3. Pingback: Tout ce que vous voulez savoir sur l'algorithme K-Means

  4. laurent

    Bonjour,

    merci pour tous vos articles.
    J’ai une requête concernant K-means (qui pourrait donner lieu à nouvel article) : le choix de l’initialisation des centres étant primordial pour la détermination finale, pourriez vous expliquer comment on peut optimiser ce choix (j’ai entendu vaguement parler de K-means ++ mais je n’ai pas bien compris et peut-être existe-t-il d’autres alogorithmes concurrents) ?

    Cordialement

    Reply
    1. wavatarYounes Benzaki Post author

      Bonjour Laurent,

      Effectivement l’initialisation initiale des centroides est primordiale pour obtenir de bons cluster. la méthode la plus naive consiste à prendre au hasard K points du data set et lancer le clustering.

      K-Means++ est une méthode plus intelligente d’initialisation des centroides. L’idée est de prendre des points les plus éloignés les uns des autres comme centroids. Il est prouvé que cette méthode réduit le temps de convergence tout en évitant les minimums locaux.

      https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

      D’ailleurs K-Means++ est la stratégie par défaut utilisé par Scikit Learn.

      Ps : effectivement ça sera l’idée d’un nouvel article. 🙂

      Au plaisir

      Reply

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.