Algorithmes d'apprentissage non supervisé
Introduction
Comme nous l’avons vu précédemment, les types de modèles que nous choisissons dépendent des données fournies. Si nos données contiennent uniquement des échantillons avec des caractéristiques (paramètres d’entrée) sans observations réelles (résultats attendus), alors nous nous trouvons dans le cadre d’un apprentissage non supervisé. Ce type d’apprentissage vise à identifier des structures ou des motifs inclus au sein des données sans qu’il y ait de correction ou de retour direct à chaque étape de l’entraînement.
Dans ce chapitre, nous nous concentrerons sur deux aspects clés de l’apprentissage non supervisé : le partitionnement des échantillons (clustering) et la détection d’anomalies. Nous partirons d’ensembles de données simples et synthétisées et appliquerons des techniques pour regrouper les données similaires (clustering) ou identifier des données atypiques (anomalies) sans indication préalable.
Nous suivrons la même méthodologie que dans le chapitre Algorithmes d’apprentissage supervisé.
Pour chaque algorithme, nous procéderons à :
-
une présentation rapide de la méthode ;
-
un listage des points forts/faibles ;
-
une implémentation pratique...
Algorithmes de partitionnement des données/clustering
Le clustering est une méthode d’apprentissage non supervisé qui consiste à regrouper des données en groupes homogènes, ou clusters, sans connaissances préalables de catégories ou d’étiquettes. Chaque cluster regroupe des éléments similaires entre eux et différents des éléments des autres clusters. Par exemple, un moteur de recommandation pour un site e-commerce pourrait utiliser le clustering pour regrouper les clients aux comportements d’achat similaires et ainsi leur proposer des produits pertinents. Ces méthodes de partitionnement peuvent aussi être utilisées pour regrouper des patients dans une étude de santé qui partageraient des caractéristiques homologues. Nous allons présenter deux types de modèles bien connus, à savoir les K-Moyennes et DBSCAN.
1. Algorithme des K-Moyennes (ou K-Means)
a. Principe de fonctionnement de l’algorithme des K-Moyennes
L’algorithme des K-Moyennes (K-Means) est une méthode de clustering qui divise un ensemble de données en un nombre prédéfini de groupes ou clusters (K). Ce nombre de clusters n’étant pas connu, ce sera au développeur de décider de sa valeur. Son fonctionnement se déroule en cinq étapes principales :
-
Initialisation : c’est la phase de choix aléatoire de K centres (appelés centroïdes) parmi les données, chaque centroïde représentant un cluster.
-
Assignation des points : pour chaque échantillon de données, sa distance à chaque centroïde est calculée et celui-ci est associé au cluster avec le centroïde le plus proche.
-
Mise à jour des centroïdes : le centre de gravité de chaque cluster formé est recalculé pour obtenir de nouveaux centroïdes.
-
Réitération : on réitère les étapes d’assignation des points et de mise à jour de centroïdes jusqu’à ce que ceux-ci ne bougent plus ou que la convergence soit atteinte (les points ne changent plus de cluster).
-
Résultat final : K clusters sont produits, chacun regroupant les points les plus proches de son centroïde respectif.
Le nombre des K clusters à...
Algorithmes de détection d’anomalies
Les algorithmes de détection d’anomalies identifient des données atypiques dans des ensembles plus larges, souvent en s’appuyant sur des caractéristiques distinctes de celles de la majorité des données. Ils sont utilisés pour repérer des comportements inhabituels, ce qui est crucial dans des domaines variés comme :
-
la détection de fraude dans les transactions bancaires, où les algorithmes repèrent des dépenses anormales ;
-
la maintenance prédictive dans l’industrie, où ils identifient des anomalies dans les données de capteurs pour prévenir les pannes.
Ces outils contribuent à renforcer la sécurité et l’efficacité dans de nombreux secteurs. Voyons comment deux d’entre eux fonctionnent.
1. L’algorithme One-Class SVM
a. Principe de fonctionnement
L’algorithme One-Class SVM pour la détection d’anomalies fonctionne en traçant une sorte de barrière autour des points de données normales, un peu comme une clôture autour d’un champ. Tout ce qui tombe à l’intérieur est considéré comme normal, tandis que ce qui tombe à l’extérieur est marqué comme une anomalie. Cet algorithme est utile lorsque l’on dispose principalement de données normales et que l’on souhaite repérer les points qui sortent de la norme, comme des transactions bancaires frauduleuses ou des pannes dans des systèmes industriels.
Dans les faits, on applique une sorte de SVC à une seule classe et on va entraîner le modèle à associer nos échantillons à cette classe.
Si un point s’en éloigne et n’est pas détecté par l’algorithme comme élément de cette classe, alors ce sera une anomalie.
b. Points forts/faibles de One-Class SVM
Cet algorithme non supervisé s’adapte bien et permet rapidement de trouver des erreurs. Il fonctionne bien pour des cas avec peu d’anomalies et permet d’ajuster le taux d’erreur avec le paramètre nu que nous présenterons rapidement dans la mise en pratique ci-après.
Parmi les points faibles, un mauvais choix des hyperparamètres comme nu et le noyau (même...
En résumé
Nous avons vu dans ce chapitre que l’apprentissage non supervisé permet de partitionner automatiquement des données non étiquetées afin d’identifier des groupes d’échantillons ayant des caractéristiques communes. Il est aussi possible d’utiliser ce type d’apprentissage automatique pour identifier des anomalies et étiqueter des données aberrantes ou anormales afin de les écarter de certaines actions.