Une approche unifiée de la sélection d'algorithmes d'apprentissage automatique

Auteur : Zen et l'art de la programmation informatique

1. Introduction

Dans le domaine de l’apprentissage automatique moderne, la sélection des algorithmes est une question très importante. Lorsqu'on lui confie une tâche, comment choisir la méthode la plus adaptée à la tâche et offrant les meilleures performances parmi les nombreux algorithmes disponibles ? Comment déterminer la précision, la robustesse et l’efficacité d’un modèle ? Comment classer différents algorithmes selon des critères d’évaluation précis ? Ce sont des questions clés dans le processus de sélection des algorithmes d’apprentissage automatique. La plupart des méthodes traditionnelles de sélection d'algorithmes se concentrent sur des aspects tels que l'efficacité ou la précision, tout en ignorant d'autres aspects tels que la robustesse, l'interprétabilité, l'adaptabilité, la complexité temporelle, l'utilisation de la mémoire, etc., ce qui rend difficile la satisfaction des besoins des applications pratiques. Cet article propose un cadre unifié de sélection d'algorithmes d'apprentissage automatique basé sur les points de vue suivants. Le cadre repose sur trois hypothèses de base :

  • Différents types de tâches ont souvent des objectifs d'optimisation différents. Par exemple, les tâches de classification peuvent devoir maximiser la précision et les tâches de régression peuvent devoir minimiser les erreurs ;
  • Différents ensembles de données affecteront également les performances de l'algorithme, et le même algorithme peut afficher des résultats complètement différents sur différents ensembles de données ;
  • Dans la même catégorie de tâches, certains algorithmes peuvent mieux résoudre certains sous-problèmes en raison de leurs capacités ou caractéristiques uniques, tandis que d'autres algorithmes peuvent être considérés comme plus généraux en raison de leur simplicité et ne gèrent pas nécessairement bien toutes les situations. Par conséquent, il est nécessaire de prendre en compte de manière globale divers facteurs, d’analyser les algorithmes candidats en catégories et enfin de décider quel algorithme utiliser. Sur la base des hypothèses ci-dessus, cet article établit un cadre unifié de sélection d'algorithmes d'apprentissage automatique. En utilisant des méthodes statistiques, il peut évaluer avec précision différents algorithmes pour différents types de tâches, différents ensembles de données et même différents scénarios, fournissant ainsi des informations pour la sélection réelle des algorithmes. .guider. Cet article discute systématiquement pour la première fois de la méthode de sélection d'algorithmes d'apprentissage automatique basée sur des critères d'évaluation d'algorithme et applique avec succès cette méthode à l'analyse des sentiments de Weibo, au système de recommandation d'actualités, au regroupement de textes, à la reconnaissance d'images, à la détection d'objets, au système de recommandation, à la prédiction de séquences, etc. Les algorithmes dans plusieurs domaines sont sélectionnés et comparés. Enfin, cet article donne un aperçu des orientations futures de la recherche et propose des orientations pour de nouvelles améliorations.

2. Explication des concepts et termes de base

2.1 Algorithme d'apprentissage automatique

L'apprentissage automatique est une science de la programmation informatique qui vise à apprendre automatiquement à partir des données, à améliorer son propre modèle de programmation et à découvrir des modèles dans des données inédites. L’objectif principal de l’apprentissage automatique est de créer un algorithme capable d’apprendre à partir de données, d’extraire des connaissances et de faire des prédictions. La classification des algorithmes d'apprentissage automatique comprend cinq types : l'apprentissage supervisé, l'apprentissage non supervisé, l'apprentissage semi-supervisé, l'apprentissage par renforcement et l'apprentissage par transfert. Les algorithmes d'apprentissage impliqués dans cet article appartiennent tous à la catégorie de l'apprentissage supervisé, y compris les algorithmes d'apprentissage supervisé, les algorithmes d'apprentissage semi-supervisé, les algorithmes d'apprentissage non supervisé, les algorithmes d'apprentissage par renforcement et les algorithmes d'apprentissage par transfert.

2.2 Critères d'évaluation

Les normes d’évaluation des algorithmes constituent la base pour mesurer la qualité d’un algorithme. Les critères d'évaluation des algorithmes d'apprentissage automatique se composent de deux parties, à savoir la fonction objectif et les indicateurs de performance. La fonction objectif est la demande et l'attente pour la tâche d'apprentissage et est une mesure des performances de l'algorithme sur les données de test. Par exemple, pour les tâches de classification, on espère généralement que l'algorithme pourra produire un classificateur avec une grande précision, de sorte que la fonction objectif est généralement la précision. Les indicateurs de performance font référence à des paramètres tels que la vitesse d'exécution de l'algorithme, l'utilisation des ressources, la robustesse et la capacité de généralisation. Généralement, plus la fonction objectif est bonne, meilleurs sont les indicateurs de performance de l’algorithme. Les indicateurs de performance d'un algorithme peuvent être évalués à travers des mesures de performance, telles que la fonction de perte, la précision, le rappel, la valeur F1, etc.

2.3 Ensemble de données

Les ensembles de données constituent la base de l'apprentissage des algorithmes et contiennent des données d'entrée et de sortie. Les données d'entrée sont utilisées pour entraîner l'algorithme et les données de sortie représentent la valeur de prédiction réelle de l'algorithme sur les données d'entrée. L'ensemble de données est divisé en trois parties : l'ensemble de formation, l'ensemble de vérification et l'ensemble de test. L'ensemble d'entraînement est utilisé pour entraîner l'algorithme, l'ensemble de validation est utilisé pour ajuster les paramètres et l'ensemble de test est utilisé pour tester l'efficacité de l'algorithme.

2.4 Modèle

Le modèle est le résultat d’un entraînement basé sur l’ensemble de données. Les modèles peuvent être utilisés pour faire des prédictions sur de nouvelles données ou comme entrée dans d’autres modèles.

2.5 Hyperparamètre

Les hyperparamètres sont des paramètres des algorithmes d'apprentissage automatique. Ce sont des valeurs définies avant l'entraînement et servent à contrôler les paramètres internes de l'algorithme, tels que le nombre d'arbres de décision, le taux d'apprentissage, le coefficient de régularisation, etc. Les hyperparamètres doivent être définis avant l'entraînement, puis recherchés pour trouver les valeurs optimales.

2.6 Validation croisée

La validation croisée est un moyen plus efficace d'évaluer les performances d'un algorithme. Elle divise l'ensemble de données en deux ensembles mutuellement exclusifs, l'un comme ensemble d'entraînement et l'autre comme ensemble de test. L'algorithme est entraîné sur l'ensemble d'entraînement et les performances sont évaluées sur l'ensemble de test. Le nombre de validations croisées est généralement fixé à 5 à 10 fois.

2.7 Mesure d'évaluation

La métrique d'évaluation fait référence à la distance entre les résultats de sortie de l'algorithme et les résultats réels. Les indicateurs d'évaluation couramment utilisés incluent la précision, le rappel, la valeur F1, la courbe ROC, la courbe PR, etc.

3. Explication des principes de base de l'algorithme, des étapes de fonctionnement spécifiques et des formules mathématiques

3.1 Analyse en composantes principales (ACP)

L'analyse en composantes principales est une méthode statistique utilisée pour extraire les variables les plus caractéristiques de données multidimensionnelles. L'analyse en composantes principales est une méthode de réduction de dimensionnalité qui mappe les données d'origine dans un nouvel espace de faible dimension afin que les données dans l'espace de faible dimension présentent une variation maximale tout en conservant autant d'informations d'échantillon que possible. Les étapes spécifiques de l’analyse en composantes principales sont les suivantes :

  1. Centralisez les données d'entrée : soustrayez la valeur moyenne de chaque exemple de vecteur de caractéristiques pour rendre la plage de distribution des données entre chaque caractéristique similaire afin de faciliter les calculs ultérieurs.

  2. Trouver la matrice de covariance : Recherchez la matrice de covariance des données d'entrée X.

  3. Trouver les valeurs propres et les vecteurs propres : Trouvez les valeurs propres et les vecteurs propres correspondants de la matrice de covariance.

  4. Sélectionnez les caractéristiques importantes en fonction du seuil : définissez un seuil k, conservez les vecteurs propres correspondant aux k premières valeurs propres de la matrice de covariance et formez une matrice W par colonnes pour représenter les vecteurs propres après réduction de dimensionnalité.

  5. Projetez les données d'origine dans un espace de faible dimension : projetez les données d'entrée dans l'espace de faible dimension du vecteur de caractéristiques W pour obtenir les données de dimension réduite.

La formule mathématique de PCA est :

Z = X * W (1)

Parmi eux, Z est les données dimensionnellement réduites, X est les données d'entrée et W est la matrice de vecteurs de caractéristiques dimensionnellement réduites.

3.2 Régression logistique

La régression logistique est l'un des algorithmes de classification les plus simples. La régression logistique est un modèle de classification binaire qui peut être utilisé pour déterminer la probabilité qu'un événement se produise. Il s'agit d'un modèle linéaire qui suppose que le résultat d'une combinaison linéaire de variables d'entrée peut expliquer la variation binaire des variables de sortie. La régression logistique convertit la sortie d'un modèle de régression linéaire en probabilités prédites via la fonction sigmoïde. Les étapes spécifiques sont les suivantes :

  1. Centralisez les données d'entrée : effectuez un traitement à moyenne nulle sur les données d'entrée X pour éliminer l'influence dimensionnelle des différentes caractéristiques.

  2. Ajuster le modèle de régression logistique : Ajustez le modèle de régression logistique pour obtenir le poids w et le biais b optimaux.

  3. Utiliser le modèle pour prédire : utilisez le modèle pour prédire et obtenir la probabilité de sortie y.

La formule mathématique de la régression logistique est la suivante :

y = sigmoïde (w * x + b) (2)

Parmi eux, x correspond aux données d'entrée et y est la probabilité de sortie prédite. La fonction sigmoïde est la fonction d'activation du modèle de régression logistique. Son entrée est la sortie du modèle linéaire et la sortie est une valeur de probabilité comprise entre 0 et 1.

Algorithme du plus proche voisin de 3,3 k (KNN)

K Nearest Neighbours (KNN) est un algorithme d'apprentissage non supervisé pour la classification et la régression. L'algorithme KNN détermine dans quelle catégorie l'objet doit être classé en comparant la distance entre l'objet à prédire et chaque échantillon. Les étapes spécifiques sont les suivantes :

  1. Calculer la distance de l'objet à prédire : Calculez la distance de l'objet à prédire et mesurez sa similarité avec l'échantillon.

  2. Trouver les k voisins les plus proches : recherchez les k échantillons les plus proches de l'objet à prédire.

  3. Mécanisme de vote : Votez sur les étiquettes des k voisins les plus proches pour déterminer l'étiquette de l'objet à prédire.

La formule mathématique de l'algorithme KNN est :

label_pred = mode{étiquettes des K points les plus proches} (3)

Parmi eux, mode{} représente le mode, et les étiquettes des K points les plus proches représentent les étiquettes des K échantillons voisins les plus proches.

3.4 Algorithme SVM (SVM)

Support Vector Machine (SVM) est une méthode de classification à deux classes. SVM divise linéairement les données en résolvant le multiplicateur de Lagrange de maximisation ou de minimisation d'intervalle. L'objectif de SVM est de trouver un hyperplan de séparation optimal pour diviser les données d'entrée en catégories positives et négatives afin de maximiser la distance de classe. Les étapes spécifiques sont les suivantes :

  1. Centralisez les données d'entrée : faites une moyenne nulle des données d'entrée pour éliminer l'impact dimensionnel des différentes caractéristiques.

  2. Utilisation de la fonction noyau : la fonction noyau mappe les données d'entrée dans un espace de grande dimension, rendant les données d'origine linéairement inséparables.

  3. Maximiser l'intervalle : résolvez le problème d'optimisation pour trouver le meilleur hyperplan de séparation.

  4. Utilisez la technique du noyau : mappez les données d'entrée dans un espace de grande dimension via la fonction du noyau et transformez le problème linéaire inséparable de l'échantillon en un problème inséparable de norme nucléaire dans l'espace de grande dimension.

La formule mathématique de SVM est :

f(x) = w^T * x + b

Parmi eux, f(x) est la fonction hyperplan, w est le vecteur normal de l'hyperplan séparateur et b est l'ordonnée à l'origine de l'hyperplan séparateur.

3.5 Bayes naïfs (Naive Bayes)

L'approche bayésienne est une méthode basée sur des statistiques probabilistes. La méthode bayésienne considère que la probabilité de chaque événement dépend de toutes les informations actuellement connues et tente de découvrir les facteurs d'influence de l'événement le plus probable. Dans le domaine de l'apprentissage automatique, les méthodes bayésiennes sont largement utilisées dans la classification, le clustering, la détection d'anomalies, la classification de textes et d'autres domaines. Les étapes spécifiques sont les suivantes :

  1. Centralisez les données d'entrée : faites une moyenne nulle des données d'entrée pour éliminer l'impact dimensionnel des différentes caractéristiques.

  2. Calculer la probabilité a priori : calculez la probabilité a priori de chaque catégorie.

  3. Calculer la probabilité conditionnelle : calculez la probabilité conditionnelle que les données d'entrée apparaissent dans chaque catégorie.

  4. Classification utilisant la probabilité : classification basée sur la probabilité a priori et la probabilité conditionnelle.

La formule mathématique de Naive Bayes est :

P(C|D) = P(D|C)*P(C)/P(D)

Parmi eux, C représente la catégorie cible, D représente les données d'entrée, P(C) représente la probabilité a priori et P(C|D) représente la probabilité conditionnelle.

Je suppose que tu aimes

Origine blog.csdn.net/universsky2015/article/details/133566174
conseillé
Classement