Machine Learning avec Python - Méthodes
Il existe divers algorithmes, techniques et méthodes de ML qui peuvent être utilisés pour créer des modèles permettant de résoudre des problèmes réels à l'aide de données. Dans ce chapitre, nous allons discuter de ces différents types de méthodes.
Différents types de méthodes
Voici différentes méthodes de ML basées sur certaines grandes catégories -
Basé sur une supervision humaine
Dans le processus d'apprentissage, certaines des méthodes basées sur la supervision humaine sont les suivantes:
Supervised Learning
Les algorithmes ou méthodes d'apprentissage supervisé sont les algorithmes de ML les plus couramment utilisés. Cette méthode ou cet algorithme d'apprentissage prend l'échantillon de données, c'est-à-dire les données d'apprentissage et leur sortie associée, c'est-à-dire les étiquettes ou les réponses avec chaque échantillon de données pendant le processus d'apprentissage.
L'objectif principal des algorithmes d'apprentissage supervisé est d'apprendre une association entre les échantillons de données d'entrée et les sorties correspondantes après avoir exécuté plusieurs instances de données d'apprentissage.
Par exemple, nous avons
x: Variables d'entrée et
Y: Variable de sortie
Maintenant, appliquez un algorithme pour apprendre la fonction de mappage de l'entrée à la sortie comme suit -
Y = f (x)
Maintenant, l'objectif principal serait d'approximer la fonction de mappage si bien que même lorsque nous avons de nouvelles données d'entrée (x), nous pouvons facilement prédire la variable de sortie (Y) pour ces nouvelles données d'entrée.
On l'appelle supervisé parce que tout le processus d'apprentissage peut être pensé tel qu'il est supervisé par un enseignant ou un superviseur. Des exemples d'algorithmes d'apprentissage automatique supervisé comprennentDecision tree, Random Forest, KNN, Logistic Regression etc.
Sur la base des tâches ML, les algorithmes d'apprentissage supervisé peuvent être divisés en deux grandes classes:
- Classification
- Regression
Classification
L'objectif principal des tâches basées sur la classification est de prédire les étiquettes de sortie catégorielles ou les réponses pour les données d'entrée données. Le résultat sera basé sur ce que le modèle a appris lors de la phase de formation. Comme nous savons que les réponses de sortie catégorielles signifient des valeurs non ordonnées et discrètes, chaque réponse de sortie appartiendra à une classe ou à une catégorie spécifique. Nous discuterons également en détail de la classification et des algorithmes associés dans les prochains chapitres.
Regression
L'objectif principal des tâches basées sur la régression est de prédire les étiquettes de sortie ou les réponses qui sont des valeurs numériques continues, pour les données d'entrée données. Le résultat sera basé sur ce que le modèle a appris dans sa phase de formation. Fondamentalement, les modèles de régression utilisent les caractéristiques des données d'entrée (variables indépendantes) et leurs valeurs de sortie numériques continues correspondantes (variables dépendantes ou de résultat) pour apprendre une association spécifique entre les entrées et les sorties correspondantes. Nous discuterons également en détail de la régression et des algorithmes associés dans d'autres chapitres.
Apprentissage non supervisé
Comme son nom l'indique, il est opposé aux méthodes ou algorithmes de ML supervisés, ce qui signifie que dans les algorithmes d'apprentissage automatique non supervisés, nous n'avons aucun superviseur pour fournir des conseils. Les algorithmes d'apprentissage non supervisé sont pratiques dans le scénario dans lequel nous n'avons pas la liberté, comme dans les algorithmes d'apprentissage supervisé, d'avoir des données d'apprentissage pré-étiquetées et nous voulons extraire un modèle utile des données d'entrée.
Par exemple, il peut être compris comme suit -
Supposons que nous ayons -
x: Input variables, alors il n'y aurait pas de variable de sortie correspondante et les algorithmes doivent découvrir le modèle intéressant dans les données pour l'apprentissage.
Des exemples d'algorithmes d'apprentissage automatique non supervisés incluent le clustering K-means, K-nearest neighbors etc.
Sur la base des tâches ML, les algorithmes d'apprentissage non supervisé peuvent être divisés en grandes classes suivantes:
- Clustering
- Association
- Réduction de dimensionnalité
Clustering
Les méthodes de clustering sont l'une des méthodes de ML non supervisées les plus utiles. Ces algorithmes étaient utilisés pour trouver des similitudes ainsi que des modèles de relations entre des échantillons de données, puis regrouper ces échantillons en groupes ayant une similitude basée sur des caractéristiques. L'exemple réel du clustering est de regrouper les clients en fonction de leur comportement d'achat.
Association
Une autre méthode de ML non supervisée utile est Associationqui est utilisé pour analyser un grand ensemble de données pour trouver des modèles qui représentent en outre les relations intéressantes entre divers éléments. Il est également appeléAssociation Rule Mining ou Market basket analysis qui est principalement utilisé pour analyser les habitudes d'achat des clients.
Dimensionality Reduction
Cette méthode ML non supervisée est utilisée pour réduire le nombre de variables de fonctionnalité pour chaque échantillon de données en sélectionnant un ensemble de fonctionnalités principales ou représentatives. Une question se pose ici est la suivante: pourquoi devons-nous réduire la dimensionnalité? La raison en est le problème de la complexité de l'espace des fonctionnalités qui se pose lorsque nous commençons à analyser et à extraire des millions d'entités à partir d'échantillons de données. Ce problème se réfère généralement à la «malédiction de la dimensionnalité». L'ACP (analyse en composantes principales), les K-plus proches voisins et l'analyse discriminante sont quelques-uns des algorithmes populaires à cet effet.
Anomaly Detection
Cette méthode ML non supervisée est utilisée pour découvrir les occurrences d'événements rares ou d'observations qui ne se produisent généralement pas. En utilisant les connaissances acquises, les méthodes de détection d'anomalies pourraient faire la différence entre un point de données anormal ou normal. Certains des algorithmes non supervisés comme le clustering, KNN peut détecter des anomalies en fonction des données et de ses fonctionnalités.
Apprentissage semi-supervisé
Ces types d'algorithmes ou de méthodes ne sont ni entièrement supervisés ni entièrement non supervisés. Ils se situent essentiellement entre les deux méthodes d'apprentissage supervisé et non supervisé. Ces types d'algorithmes utilisent généralement un petit composant d'apprentissage supervisé, c'est-à-dire une petite quantité de données annotées pré-étiquetées et un grand composant d'apprentissage non supervisé, c'est-à-dire beaucoup de données non étiquetées pour la formation. Nous pouvons suivre l'une des approches suivantes pour mettre en œuvre des méthodes d'apprentissage semi-supervisé -
La première et simple approche consiste à construire le modèle supervisé basé sur une petite quantité de données étiquetées et annotées, puis à construire le modèle non supervisé en appliquant la même chose aux grandes quantités de données non étiquetées pour obtenir plus d'échantillons étiquetés. Maintenant, entraînez le modèle sur eux et répétez le processus.
La deuxième approche nécessite des efforts supplémentaires. Dans cette approche, nous pouvons d'abord utiliser les méthodes non supervisées pour regrouper des échantillons de données similaires, annoter ces groupes, puis utiliser une combinaison de ces informations pour entraîner le modèle.
Apprentissage par renforcement
Ces méthodes sont différentes des méthodes étudiées précédemment et très rarement utilisées également. Dans ce type d'algorithmes d'apprentissage, il y aurait un agent que nous souhaitons former sur une période de temps afin qu'il puisse interagir avec un environnement spécifique. L'agent suivra un ensemble de stratégies d'interaction avec l'environnement, puis après avoir observé l'environnement, il prendra des mesures concernant l'état actuel de l'environnement. Voici les principales étapes des méthodes d'apprentissage par renforcement -
Step 1 - Premièrement, nous devons préparer un agent avec un ensemble initial de stratégies.
Step 2 - Observez ensuite l'environnement et son état actuel.
Step 3 - Ensuite, sélectionnez la politique optimale concernant l'état actuel de l'environnement et effectuez une action importante.
Step 4 - Maintenant, l'agent peut obtenir la récompense ou la pénalité correspondante conformément à l'action qu'il a entreprise à l'étape précédente.
Step 5 - Maintenant, nous pouvons mettre à jour les stratégies si cela est nécessaire.
Step 6 - Enfin, répétez les étapes 2 à 5 jusqu'à ce que l'agent apprenne et adopte les politiques optimales.
Tâches adaptées à l'apprentissage automatique
Le diagramme suivant montre quel type de tâche est approprié pour divers problèmes de ML -
Basé sur la capacité d'apprentissage
Dans le processus d'apprentissage, voici quelques méthodes basées sur la capacité d'apprentissage -
Batch Learning
Dans de nombreux cas, nous avons des systèmes d'apprentissage automatique de bout en bout dans lesquels nous devons former le modèle en une seule fois en utilisant toutes les données d'entraînement disponibles. Ce type de méthode d'apprentissage ou d'algorithme est appeléBatch or Offline learning. Il est appelé apprentissage par lots ou hors ligne car il s'agit d'une procédure unique et le modèle sera formé avec des données dans un seul lot. Voici les principales étapes des méthodes d'apprentissage par lots -
Step 1 - Tout d'abord, nous devons collecter toutes les données d'entraînement pour commencer à entraîner le modèle.
Step 2 - Maintenant, commencez la formation du modèle en fournissant des données de formation complètes en une seule fois.
Step 3 - Ensuite, arrêtez le processus d'apprentissage / de formation une fois que vous avez obtenu des résultats / performances satisfaisants.
Step 4- Enfin, déployez ce modèle entraîné en production. Ici, il prédira la sortie pour un nouvel échantillon de données.
Apprentissage en ligne
C'est complètement opposé aux méthodes d'apprentissage par lots ou hors ligne. Dans ces méthodes d'apprentissage, les données d'apprentissage sont fournies en plusieurs lots incrémentiels, appelés mini-lots, à l'algorithme. Les étapes suivantes sont les principales étapes des méthodes d'apprentissage en ligne -
Step 1 - Premièrement, nous devons collecter toutes les données de formation pour commencer la formation du modèle.
Step 2 - Maintenant, démarrez l'apprentissage du modèle en fournissant un mini-lot de données d'entraînement à l'algorithme.
Step 3 - Ensuite, nous devons fournir les mini-lots de données d'entraînement en plusieurs incréments à l'algorithme.
Step 4 - Comme il ne s'arrêtera pas comme l'apprentissage par lots, après avoir fourni des données d'entraînement entières en mini-lots, fournissez également de nouveaux échantillons de données.
Step 5 - Enfin, il continuera à apprendre sur une période de temps basée sur les nouveaux échantillons de données.
Basé sur une approche de généralisation
Dans le processus d'apprentissage, voici quelques méthodes basées sur des approches de généralisation -
Apprentissage basé sur une instance
La méthode d'apprentissage basée sur les instances est l'une des méthodes utiles qui construisent les modèles ML en faisant une généralisation basée sur les données d'entrée. C'est le contraire des méthodes d'apprentissage précédemment étudiées dans la mesure où ce type d'apprentissage implique des systèmes d'apprentissage automatique ainsi que des méthodes qui utilisent les points de données brutes eux-mêmes pour tirer les résultats d'échantillons de données plus récents sans construire un modèle explicite sur les données d'apprentissage.
En termes simples, l'apprentissage basé sur des instances commence essentiellement à fonctionner en examinant les points de données d'entrée, puis en utilisant une métrique de similitude, il généralisera et prédira les nouveaux points de données.
Apprentissage basé sur un modèle
Dans les méthodes d'apprentissage basées sur un modèle, un processus itératif a lieu sur les modèles ML qui sont construits en fonction de divers paramètres de modèle, appelés hyperparamètres et dans lesquels les données d'entrée sont utilisées pour extraire les entités. Dans cet apprentissage, les hyperparamètres sont optimisés en fonction de diverses techniques de validation de modèle. C'est pourquoi nous pouvons dire que les méthodes d'apprentissage basées sur des modèles utilisent une approche ML plus traditionnelle vers la généralisation.