Dans cet article, je vais passer en revue la majorité des principaux modèles de Machine Learning qu’on utilise en pratique. Plongeons dans le vif du sujet avec des explications très intuitives sur les modèles les plus populaires de Machine Learning.

Tous les modèles de Machine Learning sont classés en deux catégories : supervisé ou non supervisé. Si le modèle est un modèle supervisé, il peut-être de 2 types ou sous-catégories : modèle de régression ou de classification.

Segmentation des modèles de Machine Learning
Segmentation fondamentale des modèles de Machine Learning

Nous allons voir ci-dessous ce que ces termes signifient et les modèles correspondants qui entrent dans chaque catégorie.

Modèles de Machine Learning d’Apprentissage supervisé

L’apprentissage supervisé consiste à apprendre à une fonction à faire correspondre une entrée à une sortie en se basant sur des exemples connus (des paires entrée-sortie).

Par exemple, si j’avais un ensemble de données avec deux variables, l’âge (entrée) et la taille (sortie), je pourrais mettre en œuvre un modèle d’apprentissage supervisé pour prédire la taille d’une personne en fonction de son âge.

Exemple d'apprentissage supervisé
Exemple d’apprentissage supervisé

Dans cet exemple, avec l’apprentissage supervisé, on peut construire une fonction qui prédit la taille en fonction d’un âge. Par exemple, quelle est la taille d’un enfant de 8 ans ?

Pour rappel, dans le cadre de l’apprentissage supervisé, il existe deux sous-catégories : la régression et la classification.

 

Régression

Dans les modèles de régression, la sortie est continue. Voici quelques-uns des types de modèles de régression les plus courants.

 

Régression linéaire

Exemple de régression linéaire
Exemple de régression linéaire

L’idée de la régression linéaire est simplement de trouver une ligne qui s’adapte (ou correspond) le mieux aux données. Les extensions de la régression linéaire comprennent la régression linéaire multiple (par exemple, trouver un plan qui s’ajuste le mieux) et la régression polynomiale (par exemple, trouver une courbe qui s’ajuste le mieux).

 

Decision Tree (Arbre de décision)

Exemple d'arbre de décision
Exemple d’arbre de décision pris sur Kaggle

Les arbres de décision sont un modèle populaire, utilisé dans la recherche opérationnelle, la planification stratégique et le Machine Learning. Chaque rectangle ci-dessus est appelé un nœud. Plus vous avez de nœuds, plus votre arbre décisionnel sera précis (en général). Les derniers nœuds de l’arbre décisionnel, où une décision est prise, sont appelés les « feuilles » de l’arbre. Les arbres décisionnels sont intuitifs et faciles à construire, mais ils font un peu défaut lorsqu’on parle de précision ou d’exactitude.

Random Forest (Forêt d’arbres décisionnels)

Les forêts d’arbres décisionnels ou forêts aléatoires (Random Forest) sont une technique d’apprentissage ensembliste qui s’appuie sur des arbres de décision. Le modèle random forest implique la création d’arbres décisionnels (decision tree) multiples en utilisant ensembles de données fractionnés à partir des données d’origine. Et en sélectionnant aléatoirement un sous-ensemble de variables à chaque étape de l’arbre décisionnel. Le modèle sélectionne ensuite le mode de toutes les prédictions de chaque arbre décisionnel.

Quel est l’intérêt de cette méthode ?
En s’appuyant sur un modèle de prévalence de la majorité (c’est-à-dire sur lequel la majorité l’emporte), il réduit le risque d’erreur d’un arbre individuel.

Modèle Random Forest

Par exemple, si nous créons un random forest, le troisième arbre décisionnel (ci-dessus) prédira 0, mais si nous nous fions au mode des 4 arbres décisionnels, la valeur prédite sera 1. C’est la puissance des random forest.

Regardez cette vidéo sur ce sujet pour plus de détails :

 

Les réseaux de neurones (neural networks)

Représentation réseaux de neurones
Représentation visuelle d’un réseau de neurones

Un réseau de neurones est un modèle à plusieurs niveaux inspiré du cerveau humain. Comme les neurones de notre cerveau, les cercles ci-dessus représentent un nœud. Les cercles bleus représentent la couche d’entrée (input layers), les cercles noirs représentent les couches cachées (hidden layers) ou intermédiaires et les cercles verts représentent la couche de sortie (output layers). Chaque nœud des couches cachées représente une fonction qui s’applique sur les données d’entrée menant finalement à une sortie des cercles verts.

Les réseaux de neurones sont en fait très complexes et très mathématiques, donc je n’entrerai pas dans les détails ici. Pour plus de détails, vous pouvez lire cet article ici.

Regardez aussi cette superbe vidéo sur les réseaux de neurones et sur le Deep Learning :

 

Classification

Dans les modèles de classification, la sortie est discrète. Voici quelques-uns des types de modèles de classification les plus courants.

Régression logistique

La régression logistique est semblable à la régression linéaire, mais elle est utilisée pour modéliser la probabilité d’un nombre fini de résultats, généralement deux. Il y a plusieurs raisons pour lesquelles la régression logistique est utilisée par rapport à la régression linéaire lors de la modélisation des probabilités de résultats (voir ici).
Une équation logistique est créée de telle sorte que les valeurs des résultats ne peuvent être qu’entre 0 et 1 (voir ci-dessous).

Exemple de régression logistique

Support Vector Machine (SVM)

Un Support Vector Machine est une technique de classification supervisée qui peut en fait devenir assez compliquée mais qui est assez intuitive au niveau le plus fondamental.

Supposons qu’il existe deux classes de données. Une machine à vecteurs de support trouvera un hyperplan ou une frontière entre les deux classes de données qui maximisera la marge entre les deux classes (voir ci-dessous). Il y a plusieurs plans qui peuvent séparer les deux classes, mais un seul plan peut maximiser la marge ou la distance entre les classes.

Exemple de support vector machine

Naive Bayes

Naive Bayes est un autre classificateur populaire utilisé en Data Science. L’idée qui qui se cache derrière est inspirée du théorème de Bayes :

Théorème de Bayes

Decision Tree, Random Forest, Neural Network

Ces modèles suivent la même logique que celle expliquée précédemment. La seule différence est que cette sortie est discrète plutôt que continue.

Modèles de Machine Learning d’Apprentissage non supervisé

Contrairement à l’apprentissage supervisé, l’apprentissage non supervisé est utilisé pour tirer des conclusions et trouver des tendances à partir de données d’entrée sans étiquettes (ou labels). Cela retourne des résultats étiquetés et fait apparaître des « catégories ». Les deux principales méthodes utilisées dans l’apprentissage non supervisé comprennent le groupement (cluster) et la réduction de la dimensionnalité.

Regroupement (ou clustering)

Exemple de clustering 

Le clustering est une technique non supervisée qui consiste à regrouper, ou à mettre en clusters, des points de données. Elle est fréquemment utilisée pour la segmentation de clients, la détection des fraudes et la classification des documents.

Les techniques courantes de clustering comprennent la technique des k-means, le clustering hiérarchique, le clustering par décalage moyen et le clustering basé sur la densité. Bien que chaque technique ait une méthode différente pour trouver les clusters, elles visent toutes le même objectif.

Réduction de dimensionalité

La réduction de la dimensionnalité est le processus de réduction du nombre de variables aléatoires considérées en obtenant un ensemble de variables principales. Plus simplement, c’est le processus de réduction de la dimension de votre ensemble de caractéristiques (encore plus simplement, la réduction du nombre de caractéristiques). La plupart des techniques de réduction de la dimensionnalité peuvent être classées en deux catégories : élimination de caractéristiques ou extraction de caractéristiques.

Une méthode courante de réduction de la dimensionnalité est appelée analyse en composantes principales (ou PCA pour Principale Component Analysis)

 

Analyse en composantes principales (PCA)

Dans son sens le plus simple, le PCA consiste à projeter des données de dimensions supérieures (par exemple 3 dimensions) sur un espace plus petit (par exemple 2 dimensions). Il en résulte une dimension inférieure des données (2 dimensions au lieu de 3) tout en conservant toutes les variables d’origine dans le modèle.

Il y a beaucoup de mathématiques à faire dans ce cas. Si vous voulez en savoir plus à ce sujet, regardez la vidéo explicative suivante:

 

Conclusion

Évidemment, chaque modèle de Machine Learning est complexe à mettre en place. Mais cet article devrait vous donner un aperçu des fondamentaux du fonctionnement de chaque algorithme de Machine Learning ! Pour aller plus loin dans le sujet et maîtriser chacun des algorithmes, vous pouvez suivre ma formation complète de Machine Learning en cliquant ici.