Accueil Finances personnelles 10 Façons d'améliorer vos modèles d'apprentissage automatique - mannequins

10 Façons d'améliorer vos modèles d'apprentissage automatique - mannequins

Table des matières:

Vidéo: Technique de vente - Les 10 qualités pour devenir un excellent commercial et réussir dans la vente 2024

Vidéo: Technique de vente - Les 10 qualités pour devenir un excellent commercial et réussir dans la vente 2024
Anonim

Maintenant que vous avez fini d'apprendre à partir des données obtenues avec Python ou R résultats de votre test et se demandant si vous pouvez les améliorer ou ont vraiment atteint le meilleur résultat possible. Il existe un certain nombre de vérifications et d'actions qui suggèrent des méthodes que vous pouvez utiliser pour améliorer les performances d'apprentissage automatique et obtenir un prédicteur plus général capable de fonctionner aussi bien avec votre ensemble de test qu'avec de nouvelles données. Cette liste de dix techniques vous offre des opportunités pour améliorer les résultats obtenus en utilisant des algorithmes d'apprentissage automatique.

Étudier les courbes d'apprentissage

Dans un premier temps pour améliorer vos résultats, vous devez déterminer les problèmes avec votre modèle. Les courbes d'apprentissage nécessitent que vous vérifiiez par rapport à un ensemble de tests lorsque vous modifiez le nombre d'instances d'apprentissage. Vous remarquerez immédiatement si vous trouvez une grande différence entre vos erreurs dans l'échantillon et hors de l'échantillon. Une différence initiale importante est un signe de variance estimée; inversement, avoir des erreurs à la fois élevées et similaires est un signe que vous travaillez avec un modèle biaisé.

Python vous aide à dessiner facilement des courbes d'apprentissage en utilisant la fonction Scikit-learn (). Vous pouvez également obtenir facilement le même résultat en utilisant R avec des fonctions personnalisées, comme décrit par le blog d'analyse de Revolution.

Validation croisée correcte

La différence importante entre les estimations de validation croisée (CV) et le résultat est un problème courant qui apparaît avec un ensemble de tests ou de nouvelles données. Avoir ce problème signifie que quelque chose s'est mal passé avec la validation croisée. Au-delà du fait que le CV n'est pas un bon prédicteur de performance, ce problème signifie également qu'un indicateur trompeur vous a amené à modéliser incorrectement le problème et à obtenir des résultats insatisfaisants.

La validation croisée vous fournit des conseils lorsque les étapes que vous prenez sont correctes. Il est important, mais pas critique, que les estimations CV reproduisent précisément les mesures d'erreur hors échantillon. Cependant, il est crucial que les estimations CV reflètent correctement l'amélioration ou l'aggravation de la phase de test en raison de vos décisions de modélisation. En général, il y a deux raisons pour lesquelles les estimations de validation croisée peuvent différer des vrais résultats d'erreur:

  • Snooping
  • Échantillonnage incorrect

Python propose un échantillonneur de CV à plis stratifiés. R peut stratifier des échantillons en utilisant la méthode createFolds de la bibliothèque caret lorsque vous indiquez le paramètre y en tant que facteur.

Choisir la bonne erreur ou la bonne note

Essayer d'optimiser une erreur basée sur l'erreur médiane en utilisant un algorithme d'apprentissage basé sur l'erreur moyenne ne vous donnera pas les meilleurs résultats sauf si vous gérez le processus d'optimisation une mode qui fonctionne en faveur de votre métrique choisie.Lorsque vous résolvez un problème en utilisant des données et l'apprentissage automatique, vous devez analyser le problème et déterminer la mesure idéale à optimiser.

Les exemples peuvent beaucoup aider. Vous pouvez obtenir beaucoup d'entre eux à partir des articles académiques et des concours d'apprentissage automatique qui définissent soigneusement les problèmes spécifiques en termes de données et d'erreur / score. Recherchez un concours dont l'objectif et les données sont similaires au vôtre, puis vérifiez la métrique demandée.

Recherche des meilleurs hyper-paramètres

La plupart des algorithmes fonctionnent assez bien dès la sortie de la boîte en utilisant les paramètres par défaut. Cependant, vous pouvez toujours obtenir de meilleurs résultats en testant différents hyper-paramètres. Tout ce que vous avez à faire est de créer une recherche de grille parmi les valeurs possibles que vos paramètres peuvent prendre et d'évaluer les résultats en utilisant la bonne erreur ou la mesure du score. La recherche prend du temps, mais elle peut améliorer vos résultats.

Lorsqu'une recherche prend trop de temps, vous pouvez souvent obtenir les mêmes résultats en travaillant sur un échantillon de vos données d'origine. Moins d'exemples choisis au hasard nécessitent moins de calculs, mais ils font généralement allusion à la même solution. Une autre astuce qui peut gagner du temps et de l'énergie est de faire une recherche aléatoire, limitant ainsi le nombre de combinaisons d'hyper-paramètres à tester.

Test de plusieurs modèles

À titre de bonne pratique, testez plusieurs modèles, en commençant par les modèles de base - les modèles qui ont plus de biais que de variance. Vous devriez toujours privilégier des solutions simples plutôt que des solutions complexes. Vous pouvez découvrir qu'une solution simple fonctionne mieux.

Représenter la performance de différents modèles en utilisant le même tableau est utile avant de choisir le meilleur pour résoudre votre problème. Vous pouvez placer des modèles utilisés pour prédire le comportement du consommateur, comme une réponse à une offre commerciale, dans des tableaux de gains spéciaux et des diagrammes de portance. Ces graphiques montrent comment votre modèle fonctionne en partitionnant ses résultats en déciles ou en parties plus petites.

Étant donné que vous n'êtes peut-être intéressé que par les consommateurs les plus susceptibles de répondre à votre offre, le fait de commander des prévisions du plus probable au moins mettra l'accent sur la prédiction des clients les plus prometteurs. Ces réponses de Quora vous aident à voir comment fonctionnent les diagrammes de gain et d'élévation: Qu'est-ce que la courbe ROC? et quelle est la courbe de levage?.

Le test de plusieurs modèles et leur introspection peuvent également fournir des suggestions sur les fonctions à transformer pour la création d'entités ou sur les fonctionnalités à ignorer lorsque vous effectuez des sélections de fonctions.

Modèles de moyenne

L'apprentissage automatique implique la construction de nombreux modèles et la création de nombreuses prédictions différentes, toutes avec des performances d'erreur attendues différentes. Il peut vous surprendre de savoir que vous pouvez obtenir des résultats encore meilleurs en faisant la moyenne des modèles ensemble. Le principe est assez simple: Estimer la variance est aléatoire, donc en faisant la moyenne de nombreux modèles différents, vous pouvez améliorer le signal et exclure le bruit qui s'annulera souvent lui-même.

Parfois, les résultats d'un algorithme qui fonctionne bien, mélangés avec les résultats d'un algorithme plus simple qui ne fonctionne pas aussi bien, peuvent créer de meilleures prédictions que d'utiliser un seul algorithme.Ne sous-estimez pas les contributions fournies par des modèles plus simples, tels que les modèles linéaires, lorsque vous calculez la moyenne de leurs résultats avec la sortie d'algorithmes plus sophistiqués, tels que le boosting de gradient.

Modèles empilables

Pour les mêmes raisons que le moyennage, l'empilage peut également vous fournir de meilleures performances. En empilant, vous construisez vos modèles d'apprentissage automatique en deux étapes. Initialement, cette technique prédit plusieurs résultats en utilisant différents algorithmes, chacun d'eux apprenant à partir des fonctionnalités présentes dans vos données. Au cours de la deuxième phase, au lieu de fournir des fonctionnalités qu'un nouveau modèle va apprendre, vous fournissez ce modèle avec les prédictions des autres modèles précédemment formés.

L'utilisation d'une approche en deux étapes est justifiée lors de la détermination de fonctions cibles complexes. Vous pouvez les approximer uniquement en utilisant plusieurs modèles ensemble, puis en combinant intelligemment le résultat de la multiplication. Vous pouvez utiliser une régression logistique simple ou un ensemble d'arbres complexes comme modèle de deuxième étape.

Le concours Netflix fournit des preuves et une illustration détaillée sur la façon dont les modèles hétérogènes peuvent être empilés ensemble pour former des modèles plus puissants. Cependant, la mise en œuvre de cette solution en tant qu'application de travail peut être très fastidieuse.

Application de l'ingénierie des entités

Si vous pensez que le biais affecte toujours votre modèle, vous n'avez pas d'autre choix que de créer de nouvelles fonctionnalités qui améliorent les performances du modèle. Chaque nouvelle fonctionnalité peut faire deviner la réponse de la cible plus facilement.

La création automatique de caractéristiques est possible en utilisant l'expansion polynomiale ou la classe des machines vectorielles de support des algorithmes d'apprentissage automatique. Les machines vectorielles de support peuvent rechercher automatiquement de meilleures fonctionnalités dans des espaces de caractéristiques de plus grande dimension, d'une manière à la fois rapide et optimale en termes de mémoire.

Cependant, rien ne peut vraiment remplacer votre expertise et votre compréhension de la méthode nécessaire pour résoudre le problème de données que l'algorithme essaie d'apprendre. Vous pouvez créer des fonctionnalités basées sur vos connaissances et vos idées sur la façon dont les choses fonctionnent dans le monde. Les humains sont toujours imbattables pour ce faire, et les machines ne peuvent pas facilement les remplacer.

Sélection de caractéristiques et d'exemples

Si la variance estimée est élevée et que votre algorithme repose sur de nombreuses fonctions, vous devez élaguer certaines fonctions pour de meilleurs résultats. Dans ce contexte, il est conseillé de réduire le nombre d'entités dans votre matrice de données en sélectionnant celles qui ont la valeur prédictive la plus élevée.

Lorsque vous travaillez avec des modèles linéaires, des machines vectorielles à support linéaire ou des réseaux de neurones, la régularisation est toujours une option. L1 et L2 peuvent réduire l'influence des variables redondantes ou même les retirer du modèle. La sélection de stabilité tire parti de la capacité L1 à exclure des variables moins utiles. La technique rééchantillonne les données d'apprentissage pour confirmer l'exclusion.

Vous pouvez en savoir plus sur la sélection de la stabilité en consultant l'exemple sur le site Web de Scikit-learn. En outre, vous pouvez vous entraîner à utiliser les fonctions RandomizedLogisticRegression et RandomizedLasso Scikit-learn dans le module linear_model.

À la recherche de plus de données

Après avoir essayé toutes les suggestions précédentes, il se peut que vous ayez encore une forte variance de prédictions à traiter. Dans ce cas, votre seule option est d'augmenter la taille de votre ensemble d'entraînement. Essayez d'augmenter votre échantillon en fournissant de nouvelles données, ce qui pourrait se traduire par de nouveaux cas ou de nouvelles fonctionnalités.

Si vous voulez ajouter d'autres cas, vérifiez si vous avez des données similaires à portée de main. Si vous souhaitez ajouter de nouvelles fonctionnalités, recherchez une source de données open source, si possible, pour faire correspondre vos données avec ses entrées. Un autre excellent moyen d'obtenir à la fois de nouveaux cas et de nouvelles fonctionnalités consiste à extraire les données du site Web. Souvent, les données sont disponibles entre différentes sources ou via une interface de programmation d'application (API). Par exemple, les API Google offrent de nombreuses sources d'informations géographiques et commerciales.

10 Façons d'améliorer vos modèles d'apprentissage automatique - mannequins

Le choix des éditeurs

Tableaux et pointeurs en C ++ - le nom du tableau des mannequins

Tableaux et pointeurs en C ++ - le nom du tableau des mannequins

Est un pointeur sur le tableau lui-même. Le tableau est une séquence de variables stockée en mémoire. Le nom du tableau pointe vers le premier élément. C'est une question intéressante sur les pointeurs: Pouvez-vous avoir un en-tête de fonction, comme la ligne suivante, et juste utiliser sizeof pour déterminer comment ...

Boost Bibliothèques et C ++ - mannequins

Boost Bibliothèques et C ++ - mannequins

De nombreux développeurs utilisent les bibliothèques Boost car elles fournissent un code de haute qualité une partie de Boost est en train d'être normalisée pour être incluse dans la bibliothèque standard. L'une des meilleures choses à propos de Boost est que la bibliothèque elle-même est gratuite. Le site Web de Boost tient à faire savoir aux développeurs qu'ils ne ...

Casser les programmes Mis à part C ++ - les mannequins

Casser les programmes Mis à part C ++ - les mannequins

Le programmeur peut casser un seul programme en fichiers sources distincts généralement appelés modules. Ces modules sont compilés séparément dans le code machine par le compilateur C ++, puis combinés au cours du processus de génération pour générer un seul programme. Ces modules sont également connus par les geeks du compilateur en tant qu'unités de traduction C ++. Le processus de combinaison ...

Le choix des éditeurs

Comment régler les paramètres via l'affichage d'informations sur votre Nikon D5200 - mannequins

Comment régler les paramètres via l'affichage d'informations sur votre Nikon D5200 - mannequins

L'information l'affichage ne sert pas uniquement à vérifier les paramètres de prise de vue actuels; Cela vous donne également un accès rapide à certains des paramètres les plus critiques. La touche de cette fonction est le bouton Information Edit, situé à l'arrière de l'appareil photo, à droite du viseur. Voici comment cela fonctionne: Afficher les informations ...

Met en surbrillance le mode d'affichage sur votre Nikon D7100 - mannequins

Met en surbrillance le mode d'affichage sur votre Nikon D7100 - mannequins

En mode d'affichage hautes lumières sur votre Nikon D7100 pense que l'appareil photo peut être surexposé clignoter dans le moniteur de l'appareil photo. L'un des problèmes de photo les plus difficiles à corriger dans un programme de retouche photo est connu sous le nom de surbrillance dans certains cercles et de surbrillance dans d'autres. Les deux termes signifient que les zones les plus claires de ...

Comment régler les paramètres via la bande de contrôle Nikon D3300 - les tétines

Comment régler les paramètres via la bande de contrôle Nikon D3300 - les tétines

Présentes en bas à gauche Au coin du Nikon D3300, le bouton i active une bande de contrôle qui vous donne un accès rapide à certains paramètres de prise de vue critiques. Voici comment utiliser la bande de contrôle pour la photographie dans le viseur: Affichez l'écran d'informations. Vous pouvez le faire en appuyant sur le bouton Info. Appuyez sur le bouton i. Le haut ...

Le choix des éditeurs

Comment imprimer vos diapositives et notes Keynote - Les tétines

Comment imprimer vos diapositives et notes Keynote - Les tétines

Lorsque vous créez une présentation dans Snow Leopard Application Keynote, vous ne pouvez pas toujours vouloir imprimer des documents. Cependant, si vous présentez un long diaporama avec beaucoup d'informations que vous aimeriez que votre public se souvienne, rien ne vaut les documents qui incluent des images réduites de vos diapositives (et, facultativement, les notes de votre présentateur). Vous pouvez ...

Comment réorganiser ou supprimer les signets - les mannequins

Comment réorganiser ou supprimer les signets - les mannequins

Safari enregistre vos signets et vos dossiers de signets dans l'ordre dans lequel vous les créez, en les ajoutant au bas d'une liste toujours croissante. Si vous continuez à ajouter des marque-pages au menu Signets sans les placer dans des dossiers, vous pouvez constater que vous avez un nombre de signets gazillion indiqué bon gré mal gré et que vous ne vous en souvenez plus ...

Pour ouvrir et utiliser l'iDisk de Snow Leopard - les mannequins

Pour ouvrir et utiliser l'iDisk de Snow Leopard - les mannequins

Avec un compte MobileMe actif, iDisk est disponible et vous fournit un espace de stockage supplémentaire. Pour connaître l'espace de stockage utilisé et pour configurer l'accès à votre dossier Public, ouvrez les Préférences Système, cliquez sur l'icône MobileMe, puis sur le bouton iDisk pour afficher les paramètres. Vos paramètres iDisk sont disponibles dans les Préférences Système. Le ...