Maison  >  Article  >  Périphériques technologiques  >  Algorithmes d'apprentissage supervisé courants

Algorithmes d'apprentissage supervisé courants

WBOY
WBOYavant
2024-01-23 08:54:041772parcourir

Algorithmes dapprentissage supervisé courants

L'apprentissage supervisé est un type d'apprentissage automatique qui utilise des exemples étiquetés par des algorithmes de formation pour prédire des exemples inédits. L'objectif est d'apprendre une fonction qui mappe les données d'entrée aux étiquettes de sortie.

Dans l'apprentissage supervisé, l'algorithme reçoit un ensemble de données d'entraînement qui contient une série d'exemples d'entrée et leurs étiquettes de sortie correctes correspondantes. En utilisant cet ensemble de données, l'algorithme est capable d'apprendre une fonction qui prédit l'étiquette de sortie pour de nouveaux exemples. Pour évaluer les performances d'un algorithme, nous utilisons généralement un ensemble de données de test indépendant pour vérifier l'exactitude de la fonction apprise. Cet ensemble de données de test est utilisé pour tester les performances de l'algorithme sur des données invisibles.

1. Régression linéaire

La régression linéaire est une méthode utilisée pour prédire des valeurs continues, qui suppose que la relation entre les caractéristiques et les cibles est linéaire. L’objectif est de trouver la droite la mieux ajustée qui minimise la somme des erreurs quadratiques entre la valeur prédite et la valeur réelle. De plus, la régression linéaire peut être utilisée avec la régression polynomiale pour ajuster une courbe polynomiale aux données.

2. Régression logistique

La régression logistique est un algorithme utilisé pour la classification binaire. Il s'agit d'un algorithme de régression car il prédit des valeurs continues, mais il est souvent utilisé dans les tâches de classification car il utilise une fonction logistique pour convertir les valeurs prédites en probabilités. La régression logistique est appelée régression « logistique » car elle utilise la fonction logistique (également appelée fonction sigmoïde) pour prédire la probabilité qu'un échantillon appartienne à une certaine classe.

Il vise à utiliser un algorithme d'optimisation (tel que la descente de gradient) pour apprendre un ensemble de poids qui peuvent être utilisés pour prédire la probabilité qu'un échantillon appartienne à une classe spécifique. Les prédictions sont faites en seuillant les probabilités prédites.

3. Machine à vecteurs de support (SVM)

L'algorithme de machine à vecteurs de support est un classificateur linéaire qui tente de trouver l'hyperplan qui maximise la séparation de deux classes dans un espace de grande dimension et est utilisé pour la classification et régression.

SVM fonctionne en apprenant un ensemble de poids qui définissent un hyperplan. L'hyperplan est choisi de telle sorte qu'il maximise la séparation des classes et ait la distance maximale (appelée marge) par rapport à l'exemple le plus proche de chaque classe. Une fois l'hyperplan trouvé, SVM peut être utilisé pour classer de nouveaux exemples en les projetant dans l'espace des fonctionnalités et en prédisant les classes en fonction du côté de l'hyperplan où ils se situent. La fonction noyau peut être linéaire ou non linéaire et transforme les données dans un espace de dimension supérieure, permettant à la machine à vecteurs de support de trouver des limites linéaires dans l'espace transformé.

Les SVM sont particulièrement utiles pour les tâches où les données sont de grande dimension et linéairement séparables, car elles peuvent apprendre les limites de décision non linéaires en mappant les données d'entrée dans un espace de grande dimension (qui peut être linéairement séparable), puis apprendre les limites de décision de l'espace (également connues sous le nom de techniques de noyau).

4. Arbre de décision

L'algorithme d'arbre de décision est un classificateur non linéaire qui fait des prédictions basées sur des structures arborescentes utilisées pour la classification et la régression. Il fonctionne en divisant récursivement l'espace d'entrée en régions en fonction des valeurs des caractéristiques.

Les arbres de décision fonctionnent en divisant de manière récursive l'espace d'entrée en plusieurs régions en fonction des valeurs des caractéristiques. A chaque étape de l'arborescence, l'algorithme sélectionne les fonctionnalités qui segmentent le mieux les données en fonction de critères de segmentation tels que l'indice de Gini ou le gain d'information. Le processus se poursuit jusqu'à ce qu'un critère d'arrêt soit atteint, tel que la profondeur maximale de l'arbre ou le nombre minimum d'exemples dans les nœuds feuilles.

Pour faire des prédictions sur de nouveaux exemples, l'algorithme trace les branches de l'arbre en fonction des valeurs des caractéristiques jusqu'à ce qu'il atteigne un nœud feuille. Les prédictions sont ensuite effectuées sur la base de la classe majoritaire des exemples dans les nœuds feuilles (pour les tâches de classification) ou de la moyenne ou de la médiane des exemples dans les nœuds feuilles (pour les tâches de régression).

L'arbre de décision est un modèle simple, interprétable et facile à mettre en œuvre. Ils sont également rapides à former et à prédire, et peuvent gérer une variété de types de données. Cependant, les arbres de décision peuvent être sujets au surajustement, en particulier lorsque l'arbre peut croître très profondément.

5.K Nearest Neighbours (KNN)

L'algorithme K Nearest Neighbour est une méthode non paramétrique qui prédit la classe majoritaire des K exemples les plus proches à partir d'un exemple de test et est utilisé pour la classification et la régression.

KNN fonctionne en stockant tous les échantillons d'entraînement, puis en effectuant des prédictions basées sur les K échantillons dans l'espace de fonctionnalités les plus proches des échantillons de test. La valeur de K est un hyperparamètre choisi par le praticien. Pour la classification, les prédictions sont faites sur la base de la classe majoritaire des K exemples récents. Pour la régression, les prédictions sont faites sur la base de la moyenne ou de la médiane de la variable cible sur les K exemples récents.

KNN peut être coûteux en termes de calcul car l'algorithme doit calculer la distance entre l'exemple de test et tous les exemples de formation. Cela peut également être sensible au choix du K et de la métrique de distance. Il sert également de modèle de base pour la comparaison avec des algorithmes plus avancés.

6. Naive Bayes

L'algorithme Naive Bayes est un classificateur probabiliste qui fait des prédictions basées sur la probabilité que certains événements se produisent, compte tenu de la présence de certaines caractéristiques. Naive Bayes fait l'hypothèse « naïve » selon laquelle toutes les caractéristiques des données sont indépendantes les unes des autres étant donné une étiquette de classe. Cette hypothèse est souvent irréaliste, mais l’algorithme fonctionne bien en pratique malgré cette hypothèse.

Il existe de nombreuses variantes de l'algorithme Naive Bayes. Le Gaussian Naive Bayes est utilisé pour les entités continues et suppose que les entités suivent une distribution normale. Polynomial Naive Bayes est utilisé pour les données de dénombrement et suppose que les entités suivent une distribution polynomiale. Bernoulli Naive Bayes est utilisé pour les fonctionnalités binaires et suppose que les fonctionnalités suivent une distribution de Bernoulli. Naive Bayes est un algorithme simple et efficace, facile à mettre en œuvre et rapide en formation et en prédiction.

7. Réseau neuronal

Le réseau neuronal est un algorithme d'apprentissage automatique inspiré de la structure et du fonctionnement du cerveau. Ils sont constitués de neurones artificiels reliés entre eux en couches, appelés nœuds ou unités. Les réseaux de neurones peuvent apprendre à effectuer un large éventail de tâches, notamment la classification, la régression et la génération de séquences. Ils sont particulièrement adaptés aux tâches qui nécessitent l’apprentissage de relations complexes entre les données d’entrée et les sorties.

Il existe de nombreux types différents de réseaux de neurones, notamment les réseaux de neurones à action directe, les réseaux de neurones convolutifs et les réseaux de neurones récurrents. Le réseau neuronal Feedforward est le type de réseau neuronal le plus basique, composé d’une couche d’entrée, d’une ou plusieurs couches cachées et d’une couche de sortie. Les réseaux de neurones convolutifs sont utilisés pour des tâches telles que la classification d'images et la détection d'objets, et ils sont conçus pour traiter des données ayant une structure en forme de grille, telles que des images. Les réseaux neuronaux récurrents sont utilisés pour des tâches telles que la traduction linguistique et la reconnaissance vocale, et ils sont conçus pour traiter des données séquentielles, telles que des séries chronologiques ou le langage naturel.

Les réseaux de neurones sont entraînés à l'aide d'algorithmes d'optimisation tels que la descente de gradient stochastique pour minimiser une fonction de perte qui mesure la différence entre la sortie prédite et réelle. Les poids des connexions entre les nœuds sont ajustés pendant l'entraînement pour minimiser les pertes.

8. Forêt aléatoire

L'algorithme de forêt aléatoire est une méthode d'ensemble qui combine les prédictions de plusieurs arbres de décision pour faire la prédiction finale. Les forêts aléatoires sont créées en entraînant de nombreux arbres de décision sur différents sous-ensembles de données d'entraînement, puis en faisant la moyenne des prédictions des arbres individuels. Ce processus est appelé bootstrap car l’arborescence est formée sur des échantillons bootstrap des données. Le processus d'amorçage introduit du caractère aléatoire dans le processus de formation des arbres, ce qui contribue à réduire le surapprentissage.

La forêt aléatoire est largement utilisée pour des tâches telles que la classification, la régression et la sélection de fonctionnalités. Ils sont connus pour leur capacité à gérer de grands ensembles de données dotés de nombreuses fonctionnalités et pour leurs bonnes performances dans un large éventail de tâches. Ils résistent également au surapprentissage, ce qui en fait un bon choix pour de nombreuses applications d’apprentissage automatique.

9. Algorithme de boosting

Le boosting est une technique d'apprentissage automatique qui consiste à entraîner une série de modèles faibles et à combiner leurs prédictions pour faire une prédiction finale. Lors du boosting, les modèles faibles sont entraînés séquentiellement et chaque modèle est entraîné pour corriger les erreurs du modèle précédent. La prédiction finale est réalisée en combinant les prédictions de modèles faibles individuels à l’aide d’un vote majoritaire pondéré. Les poids des modèles individuels sont généralement choisis en fonction de la précision du modèle. Le boosting est couramment utilisé pour des tâches telles que la classification et la régression. Il est connu pour sa capacité à atteindre une grande précision sur un large éventail de tâches et à gérer de grands ensembles de données dotés de nombreuses fonctionnalités.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer