Retour aux articles
  • 07.05.2021

Quels sont les différents algorithmes en Machine Learning ?

Quels sont les différents algorithmes en Machine Learning ?

Le machine learning peut analyser des millions de données et reconnaître des modèles en quelques minutes. Les algorithmes et les modèles constituent la base des programmes et des applications de Machine Learning que les entreprises utilisent pour leurs projets techniques. 

 

Il existe plusieurs types de modèles de machine learning. Chaque modèle fournit des instructions spécifiques au programme pour l'exécution d'une tâche. En général, il existe trois techniques différentes sous lesquelles les différents modèles peuvent être classés. 

 

Cet article va mettre en évidence les différentes techniques utilisées dans le développement du machine learning. Ensuite, nous nous concentrerons sur les meilleurs exemples de modèles et d'algorithmes de machine learning qui permettent d'exécuter des applications pour tirer des enseignements des données.

 

 

Machine Learning : Quels sont les différents modèles ?

Apprentissage supervisé / Supervised Learning

Le modèle d'apprentissage supervisé (supervised learning) prend un ensemble de données en entrée et prédit une sortie raisonnable à partir de ces données. Il utilise des données historiques pour faire des prédictions. En cas d'incertitude, une méthode d'apprentissage supervisé est utilisée pour générer une entrée et une sortie connues. Les données sont étiquetées et le modèle est entraîné à produire un résultat spécifique chaque fois que des données d'entrée lui sont fournies.

Apprentissage non supervisé / Unsupervised Learning

Lorsqu'il existe des données étiquetées, l'apprentissage non supervisé est utilisé pour les modèles de machine learning. Il est utilisé pour trouver des déductions à partir d'ensembles de données non structurées. Il n'y a pas de résultat spécifique mentionné au départ. Les algorithmes de machine learning fonctionnent d'eux-mêmes pour identifier les similitudes dans les données et trouver automatiquement une structure. Fondamentalement, il est utilisé pour trouver les modèles cachés dans les données qui ont un sens ensemble.

Apprentissage par renforcement / Reinforcement Learning

Dans la technique de renforcement des modèles de machine learning (Reinforcement Learning), les algorithmes atteignent un résultat spécifique, après quoi ils sont renforcés. Le modèle de machine learning prend des mesures qui vont dans le sens de l'objectif, après quoi il reçoit une récompense. La récompense pour les algorithmes est l'amélioration de l'exécution. Plus il atteint un résultat spécifique, plus il s'améliore dans l'exécution de l'action.

Machine Learning : Les algorithmes

Régression linéaire

Pour comprendre le fonctionnement de cet algorithme, il faut imaginer comment ranger des bûches des boîtes de tailles et poids différents au hasard dans l'ordre croissant de leur poids. Il y a cependant un hic : il n’est pas possible de peser chaque boîte. Il va falloir devenir le poids de chaque boîte en regardant simplement les dimensions des boîtes (analyse visuelle) et les classer en utilisant une combinaison de ces paramètres visibles. C'est à cela que ressemble la régression linéaire dans le machine learning.

Dans ce processus, une relation est établie entre les variables indépendantes et dépendantes en les ajustant à une ligne. Cette ligne est connue sous le nom de ligne de régression et représentée par une équation linéaire Y= a *X + b.

Dans cette équation :

  • Y - Variable dépendante
  • a - Pente
  • X - Variable indépendante
  • b - Interception

Les coefficients a et b sont obtenus en minimisant la somme des carrés de la différence de distance entre les points de données et la ligne de régression.

Régression logistique

La régression logistique est utilisée pour estimer des valeurs discrètes (généralement des valeurs binaires comme 0/1) à partir d'un ensemble de variables indépendantes. Elle permet de prédire la probabilité d'un événement en ajustant les données à une fonction logit. Elle est également appelée régression logit.

Les méthodes énumérées ci-dessous sont souvent utilisées pour aider à améliorer les modèles de régression logistique :

  • Éliminer des caractéristiques
  • Inclure des termes d'interaction
  • Utiliser un modèle non linéaire
  • Régulariser les techniques

Arbre de décision

L'algorithme de l'arbre de décision dans le machine learning est l'un des algorithmes les plus populaires utilisés aujourd'hui, il s'agit d'un algorithme d'apprentissage supervisé qui est utilisé pour classer des problèmes. Il fonctionne bien pour la classification des variables dépendantes catégoriques et continues. Dans cet algorithme, nous divisons la population en deux ou plusieurs ensembles homogènes basés sur les attributs/ variables indépendantes les plus significatifs.

Algorithme SVM (Support Vector Machine)

L'algorithme SVM est une méthode d'algorithme de classification dans laquelle on trace les données brutes sous forme de points dans un espace à n dimensions (où n est le nombre de caractéristiques qu’on a). La valeur de chaque caractéristique est ensuite liée à une coordonnée particulière, ce qui facilite la classification des données. Des lignes appelées classificateurs peuvent être utilisées pour diviser les données et les tracer sur un graphique.

Algorithme KNN (K- Nearest Neighbors)

Cet algorithme peut être appliqué à la fois aux problèmes de classification et de régression. Dans le secteur de la data science, il est plus largement utilisé pour résoudre les problèmes de classification. Il s'agit d'un algorithme simple qui stocke tous les cas disponibles et classe tout nouveau cas en prenant un vote majoritaire de ses k voisins. Le cas est ensuite affecté à la classe avec laquelle il a le plus de points communs. Une fonction de distance effectue cette mesure.

À considérer avant de choisir l'algorithme K Nearest Neighbours : 

  • Coûteux en termes de calcul
  • Les variables doivent être normalisées, sinon les variables à forte amplitude peuvent fausser l'algorithme.
  • Les données doivent toujours être prétraitées.

Classification naïve bayésienne 

Un classificateur Naive Bayes part du principe que la présence d'une caractéristique particulière dans une classe n'est pas liée à la présence de toute autre caractéristique.

Même si ces caractéristiques sont liées les unes aux autres, un classificateur naïve bayésienne prendrait en compte toutes ces propriétés indépendamment lors du calcul de la probabilité d'un résultat particulier.

Un modèle naïf bayésien  est facile à construire et utile pour les ensembles de données massifs. Il est simple et est connu pour surpasser même les méthodes de classification très sophistiquées.

K-Means

Il s'agit d'un algorithme d'apprentissage non supervisé qui résout les problèmes de regroupement. Les ensembles de données sont classés dans un nombre particulier de clusters (appelons ce nombre K) de manière à ce que tous les points de données au sein d'un cluster soient homogènes et hétérogènes par rapport aux données des autres clusters.

Comment K-means forme les clusters :

  • L'algorithme K-means choisit un nombre k de points, appelés centroïdes, pour chaque cluster.
  • Chaque point de données forme un cluster avec les centroïdes les plus proches, c'est-à-dire K clusters.
  • Il crée ensuite de nouveaux centroïdes basés sur les membres des clusters existants.

Avec ces nouveaux centroïdes, la distance la plus proche pour chaque point de données est déterminée. Ce processus est répété jusqu'à ce que les centroïdes ne changent plus.

Algorithme Random Forest

Un collectif d'arbres de décision s'appelle une forêt aléatoire. Pour classer un nouvel objet en fonction de ses attributs, chaque arbre est classé, et l'arbre "vote" pour cette classe. La forêt choisit la classification ayant le plus de votes.

Chaque arbre est planté et croît comme suit :

  • Si le nombre de cas dans l'ensemble d'apprentissage est N, alors un échantillon de N cas est pris au hasard. Cet échantillon sera l'ensemble d'apprentissage pour la croissance de l'arbre.
  • S'il y a M variables d'entrée, un nombre m<<M est spécifié de telle sorte qu'à chaque nœud, m variables sont sélectionnées au hasard parmi les M, et la meilleure division sur ce m est utilisée pour diviser le nœud. La valeur de m est maintenue constante pendant ce processus.
  • Chaque arbre est développé de la manière la plus substantielle possible. Il n'y a pas d'élagage. 

Algorithmes de réduction de la dimensionnalité

De grandes quantités de données sont stockées et analysées,  le défi consiste ici à identifier les modèles et les variables significatifs.

Les algorithmes de réduction de la dimensionnalité tels que l'arbre de décision, l'analyse factorielle, le rapport des valeurs manquantes et la forêt aléatoire (random forest) peuvent aider à trouver des détails pertinents.

Algorithme de boosting de gradient et algorithme AdaBoost

Il s'agit d'algorithmes de boosting utilisés lorsque des charges massives de données doivent être traitées pour faire des prédictions avec une grande précision. Le boosting est un algorithme d'apprentissage d'ensemble qui combine le pouvoir prédictif de plusieurs estimateurs de base pour améliorer la robustesse.

En bref, il combine plusieurs prédicteurs faibles ou moyens pour construire un prédicteur fort. 

Pour conclure, le choix des algorithmes et modèles de machine learning dépend du type d'ensembles de données dont on dispose. Les données structurées et non structurées nécessitent la mise en œuvre de modèles différents.