Si tu viens de commencer ton parcours de data scientist. Tu a probablement du apprendre qu'il existait deux grand type d'apprentissage : l'apprentissage supervisé et l'apprentissage non supervisé. Par ailleurs j'en suis certain, tu sais déjà ce que sont la classification et la régression. Si ce n'est pas le cas jette un oeil à ces page : classification supervisée , régression .
Maintenant que tu connais tout ça, je vais t'aider à apprendre le clustering ou partitionnement de données en français.
A la fin de cet article, tu sauras :
Qu'est ce que c'est le clustering
Les différentes application du clutering
Les différentes méthodes et algorithmes de clustering existantes
Les différentes mesure de similarité existante
Exemple avec le déroulement de l'algorithme des K-moyennes (K-means : en anglais)
Le clustering est une méthode d'apprentissage non supervisée. C'est à dire une méthode qui apprend à partir de données non étiquetté contrairement à l'apprentissage supervisée ou la classe est nécessaire pour l'apprentissage. Ce type d'apprentissage à pour but de séparer les données différentes et regrouper les données qui sont similaires dans des groupes qu'on appellera "cluster", ce qui est un anglicisme car "cluster" signifie groupe en français. Le dérouler classique de la résolution d'un problème de clustering est le suivant :
1-Préparation des données
2-Construction des mesures de similarité
3-Test et choix de l'algorithme de clustering
4-Interprétation des résultat et ajustement
schéma comparant données sans clustering et données avec clustering
Préparer les données -> Normalise and scale
construire des mesures de similarité -> comment définir que deux exemples sont similaire
mesure de similarité manuel
mesure de similarité supervisée -> entrainer un réseau de neurones profon afin d'encoder les données
lancer l'algorithme de clustering
Interpréter les résultat et ajuster
Ils existe différentes manière de faire du clustering parmi celles-ci, on retrouve 4 grand groupes de méthode qui sont :
Ces méthode utilise des noyaux afin de défénir les cluster. Une données appartient à un cluster si la similarité existante entre elle et le noyau du cluster est plus haute que celles existant avec les autres noyaux.
K-moyennes
K-médianes
Ces méthode utilise des distribution de données (Gaussienne, etc...) afin de créer les clusters dans lesquelles seront les données.
Les mixtures de Gaussiennes (Gaussian-mixture).
COBWEB
Self Organized Map (SOM)
Les méthodes basé sur la densité utilise le fait que dans l'espace, les données similaire sont toute regroupe au même endroit formant ainsi dans l'espace de points de hautes densité. Ces zone sont séparer par des espaces de faible de densité ou zéro ou très peu de données s'y trouve. Les données se situant dans ces zones de faible densité sont généralement considéré comme du bruit ou des cas particulier.
K-moyennes "K-means"
Expérance-Maximisation "Expectation-Maximisation"
Mean-shift
DBSCAN
OPTICS Ordering Points To Identify the Clustering Structure.
A l'initialisation Chaque donnés est considéré comme un cluster, a chaque itération les clusters similaires sont fusionnées jusqu'a ce qu'il reste un certain nombre de cluster fixé par l'utilisateur ou un cluster unique. La clé de la réussite de cette algorithme est le calcul de la proximité entre les cluster. Un dendogramme est alors obtenu
C'est l'exat opposé d'algormérative. Au départ, toutes les données forment un cluster puis ce cluster est sucessivement divisé en séparant des clusters formé les données ne leur ressemblant pas.
min
max
moyenne intra cluster
moyenne extra cluster
méthode de ward
Quelques exemples d'algorithmes :
BIRCH
CURE
Ces méthodes sont peu connues est principalement utilisé dans la recherche :
Méthodes basées sur la théorie quantique, les graphes les ensemble, la logique flou (Fuzzy logique), les grille, la théorie des graphe etc...
Vous pouvez en savoir plus en lisant cette publication :
A Comprehensive Survey of Clustering Algorithms
Quelques exemples d'algorithmes :
Il existe différents algorithme de clustering
K-moyennes "k-means" en anglais
expérance-maximisation "expectation-maximisation"
mean-shift
DBSCAN
spectral clustering
....
Soit A =[a1,a2,...,ak] et B=[b1,b2,.....,bn], 2 exemple d'un jeu de données. Ils est possible de mesurer la distances entre ces deux exemples des différentes manières suivantes :
https://www.geeksforgeeks.org/clustering-in-machine-learning/
https://towardsdatascience.com/understanding-the-concept-of-hierarchical-clustering-technique-c6e8243758ec
https://developers.google.com/machine-learning/clustering
https://link.springer.com/content/pdf/10.1007/s40745-015-0040-1.pdf