L'importance de la validation croisée ne peut être ignorée !
Afin de ne pas changer le sens original, ce qui doit être réexprimé est : d'abord, nous devons comprendre pourquoi une validation croisée est nécessaire ?
La validation croisée est une technique couramment utilisée dans l'apprentissage automatique et les statistiques pour évaluer les performances et la capacité de généralisation d'un modèle prédictif, en particulier lorsque les données sont limitées ou lorsque l'évaluation de la capacité du modèle à généraliser à de nouvelles données invisibles est extrêmement précieuse.
Dans quelles circonstances la validation croisée sera-t-elle utilisée ?
- Évaluation des performances du modèle : la validation croisée permet d'estimer les performances du modèle sur des données invisibles. En entraînant et en évaluant le modèle sur plusieurs sous-ensembles de données, la validation croisée fournit une estimation plus robuste des performances du modèle qu'une seule répartition de test d'entraînement.
- Efficacité des données : lorsque les données sont limitées, la validation croisée utilise pleinement tous les échantillons disponibles, fournissant une évaluation plus fiable des performances du modèle en utilisant toutes les données simultanément pour la formation et l'évaluation.
- Réglage des hyperparamètres : la validation croisée est souvent utilisée pour sélectionner les meilleurs hyperparamètres pour un modèle. En évaluant les performances de votre modèle à l'aide de différents paramètres d'hyperparamètres sur différents sous-ensembles de données, vous pouvez identifier les valeurs d'hyperparamètres qui fonctionnent le mieux en termes de performances globales.
- Détecter le surajustement : la validation croisée permet de détecter si le modèle surajuste les données d'entraînement. Si le modèle fonctionne nettement mieux sur l'ensemble d'entraînement que sur l'ensemble de validation, cela peut indiquer un surajustement et nécessite des ajustements, tels qu'une régularisation ou le choix d'un modèle plus simple.
- Évaluation de la capacité de généralisation : la validation croisée fournit une évaluation de la capacité du modèle à généraliser à des données invisibles. En évaluant le modèle sur plusieurs répartitions de données, cela permet d'évaluer la capacité du modèle à capturer des modèles sous-jacents dans les données sans s'appuyer sur le caractère aléatoire ou sur une répartition spécifique entre train et test.
L'idée générale de la validation croisée peut être illustrée dans la figure 5 fois croisée. À chaque itération, le nouveau modèle est formé sur quatre sous-ensembles de données et testé sur le dernier sous-ensemble de données conservé pour garantir que toutes les données. sont obtenus utilisation. Grâce à des indicateurs tels que le score moyen et l'écart type, une véritable mesure des performances du modèle est fournie
Tout doit commencer par un croisement K-fold.
KFold
La validation croisée K-fold a été intégrée dans Sklearn. Voici un exemple 7 fois :
from sklearn.datasets import make_regressionfrom sklearn.model_selection import KFoldx, y = make_regression(n_samples=100)# Init the splittercross_validation = KFold(n_splits=7)
Une autre opération courante consiste à effectuer un Shuffle avant d'effectuer le fractionnement, détruisant ainsi l'ordre d'origine des échantillons. Minimise le risque de surajustement :
cross_validation = KFold(n_splits=7, shuffle=True)
De cette façon, une simple validation croisée k-fold peut être effectuée, assurez-vous de vérifier le code source ! Assurez-vous de consulter le code source ! Assurez-vous de consulter le code source !
StratifiedKFold
StratifiedKFold est spécialement conçu pour les problèmes de classification.
Dans certains problèmes de classification, même si les données sont divisées en plusieurs ensembles, la distribution cible doit rester inchangée. Par exemple, dans la plupart des cas, une cible binaire avec un ratio de classes de 30 à 70 devrait toujours conserver le même ratio dans l'ensemble d'entraînement et l'ensemble de test, dans KFold ordinaire, cette règle est enfreinte car les données sont mélangées avant la division. les proportions des catégories ne seront pas maintenues.
Pour résoudre ce problème, une autre classe de séparation spécifiquement destinée à la classification est utilisée dans Sklearn - StratifiedKFold :
from sklearn.datasets import make_classificationfrom sklearn.model_selection import StratifiedKFoldx, y = make_classification(n_samples=100, n_classes=2)cross_validation = StratifiedKFold(n_splits=7, shuffle=True, random_state=1121218)
Bien qu'elle ressemble à KFold, désormais dans toutes les divisions et itérations, les proportions de classe restent cohérentes
ShuffleSplit
Parfois le processus de division des ensembles de formation/test est simplement répété plusieurs fois, d'une manière très similaire à la validation croisée
Logiquement, en utilisant différentes graines aléatoires pour générer plusieurs ensembles de formation/test. L'ensemble de test doit être similaire à un ensemble de tests croisés robuste. processus de validation en suffisamment d'itérations. L'interface correspondante est également fournie dans la bibliothèque Scikit-learn :
from sklearn.model_selection import ShuffleSplitcross_validation = ShuffleSplit(n_splits=7, train_size=0.75, test_size=0.25)
TimeSeriesSplit
Lorsque l'ensemble de données est une série temporelle, la validation croisée traditionnelle ne peut pas être utilisée, ce qui perturbera complètement le processus. Pour résoudre ce problème, reportez-vous à Sklearn qui fournit un autre séparateur - TimeSeriesSplit,
from sklearn.model_selection import TimeSeriesSplitcross_validation = TimeSeriesSplit(n_splits=7)
La situation où l'ensemble de validation est toujours situé après l'index de l'ensemble d'entraînement. Ci-dessous, nous pouvons voir le graphique. Cela est dû au fait que l'index est une date, ce qui signifie que nous ne pouvons pas accidentellement entraîner un modèle de série chronologique à une date future et faire une prédiction pour une date antérieure
Validation croisée de données distribuées de manière non indépendante et identique (non-IID)
La méthode ci-dessus est traitée pour des ensembles de données indépendants et distribués de manière identique, c'est-à-dire que le processus de génération de données ne sera pas affecté par d'autres échantillons
Cependant , dans certains cas , les données ne satisfont pas à la condition de distribution indépendante et identique (IID), c'est-à-dire qu'il existe une relation de dépendance entre certains échantillons. Cette situation se produit également dans les compétitions Kaggle, comme le concours Google Brain Ventilator Pressure. Ces données enregistrent les valeurs de pression atmosphérique du poumon artificiel pendant des milliers de respirations (inspiration et expiration), et sont enregistrées à chaque instant de chaque respiration. Il existe environ 80 lignes de données pour chaque processus respiratoire, et ces lignes sont liées les unes aux autres. Dans ce cas, les méthodes traditionnelles de validation croisée ne peuvent pas être utilisées car le partitionnement des données peut « se produire en plein milieu d'un processus respiratoire »
Cela peut être compris comme la nécessité de « regrouper » ces données en raison de la données de groupe C'est lié. Par exemple, lors de la collecte de données médicales auprès de plusieurs patients, chaque patient dispose de plusieurs échantillons. Cependant, ces données sont susceptibles d'être affectées par les différences individuelles entre les patients et doivent donc également être regroupées.
Nous espérons souvent qu'un modèle formé sur un groupe spécifique pourra bien se généraliser à d'autres groupes invisibles. Ainsi, lors de la validation croisée, donnez à ces groupes de données des « balises » et dites-leur comment les distinguer.
Plusieurs interfaces sont fournies dans Sklearn pour gérer ces situations :
- GroupKFold
- StratifiedGroupKFold
- LeaveOneGroupOut
- LeavePGroupsOut
- GroupShuffleSplit
Il est fortement recommandé de comprendre l'idée de la validation croisée , et comment implémentez-le, regardez le code source de Sklearn : Ce n'est pas une mauvaise façon de grossir vos intestins. De plus, vous devez avoir une définition claire de votre propre ensemble de données, et le prétraitement des données est très important.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

L'annotation d'images est le processus consistant à associer des étiquettes ou des informations descriptives à des images pour donner une signification et une explication plus profondes au contenu de l'image. Ce processus est essentiel à l’apprentissage automatique, qui permet d’entraîner les modèles de vision à identifier plus précisément les éléments individuels des images. En ajoutant des annotations aux images, l'ordinateur peut comprendre la sémantique et le contexte derrière les images, améliorant ainsi la capacité de comprendre et d'analyser le contenu de l'image. L'annotation d'images a un large éventail d'applications, couvrant de nombreux domaines, tels que la vision par ordinateur, le traitement du langage naturel et les modèles de vision graphique. Elle a un large éventail d'applications, telles que l'assistance aux véhicules pour identifier les obstacles sur la route, en aidant à la détection. et le diagnostic des maladies grâce à la reconnaissance d'images médicales. Cet article recommande principalement de meilleurs outils d'annotation d'images open source et gratuits. 1.Makesens

Dans les domaines de l’apprentissage automatique et de la science des données, l’interprétabilité des modèles a toujours été au centre des préoccupations des chercheurs et des praticiens. Avec l'application généralisée de modèles complexes tels que l'apprentissage profond et les méthodes d'ensemble, la compréhension du processus décisionnel du modèle est devenue particulièrement importante. Explainable AI|XAI contribue à renforcer la confiance dans les modèles d'apprentissage automatique en augmentant la transparence du modèle. L'amélioration de la transparence des modèles peut être obtenue grâce à des méthodes telles que l'utilisation généralisée de plusieurs modèles complexes, ainsi que les processus décisionnels utilisés pour expliquer les modèles. Ces méthodes incluent l'analyse de l'importance des caractéristiques, l'estimation de l'intervalle de prédiction du modèle, les algorithmes d'interprétabilité locale, etc. L'analyse de l'importance des fonctionnalités peut expliquer le processus de prise de décision du modèle en évaluant le degré d'influence du modèle sur les fonctionnalités d'entrée. Estimation de l’intervalle de prédiction du modèle

En termes simples, un modèle d’apprentissage automatique est une fonction mathématique qui mappe les données d’entrée à une sortie prédite. Plus précisément, un modèle d'apprentissage automatique est une fonction mathématique qui ajuste les paramètres du modèle en apprenant à partir des données d'entraînement afin de minimiser l'erreur entre la sortie prédite et la véritable étiquette. Il existe de nombreux modèles dans l'apprentissage automatique, tels que les modèles de régression logistique, les modèles d'arbre de décision, les modèles de machines à vecteurs de support, etc. Chaque modèle a ses types de données et ses types de problèmes applicables. Dans le même temps, il existe de nombreux points communs entre les différents modèles, ou il existe une voie cachée pour l’évolution du modèle. En prenant comme exemple le perceptron connexionniste, en augmentant le nombre de couches cachées du perceptron, nous pouvons le transformer en un réseau neuronal profond. Si une fonction noyau est ajoutée au perceptron, elle peut être convertie en SVM. celui-ci

Cet article présentera comment identifier efficacement le surajustement et le sous-apprentissage dans les modèles d'apprentissage automatique grâce à des courbes d'apprentissage. Sous-ajustement et surajustement 1. Surajustement Si un modèle est surentraîné sur les données de sorte qu'il en tire du bruit, alors on dit que le modèle est en surajustement. Un modèle surajusté apprend chaque exemple si parfaitement qu'il classera mal un exemple inédit/inédit. Pour un modèle surajusté, nous obtiendrons un score d'ensemble d'entraînement parfait/presque parfait et un score d'ensemble/test de validation épouvantable. Légèrement modifié : "Cause du surajustement : utilisez un modèle complexe pour résoudre un problème simple et extraire le bruit des données. Parce qu'un petit ensemble de données en tant qu'ensemble d'entraînement peut ne pas représenter la représentation correcte de toutes les données."

Dans les années 1950, l’intelligence artificielle (IA) est née. C’est à ce moment-là que les chercheurs ont découvert que les machines pouvaient effectuer des tâches similaires à celles des humains, comme penser. Plus tard, dans les années 1960, le Département américain de la Défense a financé l’intelligence artificielle et créé des laboratoires pour poursuivre son développement. Les chercheurs trouvent des applications à l’intelligence artificielle dans de nombreux domaines, comme l’exploration spatiale et la survie dans des environnements extrêmes. L'exploration spatiale est l'étude de l'univers, qui couvre l'ensemble de l'univers au-delà de la terre. L’espace est classé comme environnement extrême car ses conditions sont différentes de celles de la Terre. Pour survivre dans l’espace, de nombreux facteurs doivent être pris en compte et des précautions doivent être prises. Les scientifiques et les chercheurs pensent qu'explorer l'espace et comprendre l'état actuel de tout peut aider à comprendre le fonctionnement de l'univers et à se préparer à d'éventuelles crises environnementales.

Les défis courants rencontrés par les algorithmes d'apprentissage automatique en C++ incluent la gestion de la mémoire, le multithread, l'optimisation des performances et la maintenabilité. Les solutions incluent l'utilisation de pointeurs intelligents, de bibliothèques de threads modernes, d'instructions SIMD et de bibliothèques tierces, ainsi que le respect des directives de style de codage et l'utilisation d'outils d'automatisation. Des cas pratiques montrent comment utiliser la bibliothèque Eigen pour implémenter des algorithmes de régression linéaire, gérer efficacement la mémoire et utiliser des opérations matricielles hautes performances.

Traducteur | Revu par Li Rui | Chonglou Les modèles d'intelligence artificielle (IA) et d'apprentissage automatique (ML) deviennent aujourd'hui de plus en plus complexes, et le résultat produit par ces modèles est une boîte noire – impossible à expliquer aux parties prenantes. L'IA explicable (XAI) vise à résoudre ce problème en permettant aux parties prenantes de comprendre comment fonctionnent ces modèles, en s'assurant qu'elles comprennent comment ces modèles prennent réellement des décisions et en garantissant la transparence des systèmes d'IA, la confiance et la responsabilité pour résoudre ce problème. Cet article explore diverses techniques d'intelligence artificielle explicable (XAI) pour illustrer leurs principes sous-jacents. Plusieurs raisons pour lesquelles l’IA explicable est cruciale Confiance et transparence : pour que les systèmes d’IA soient largement acceptés et fiables, les utilisateurs doivent comprendre comment les décisions sont prises

MetaFAIR s'est associé à Harvard pour fournir un nouveau cadre de recherche permettant d'optimiser le biais de données généré lors de l'apprentissage automatique à grande échelle. On sait que la formation de grands modèles de langage prend souvent des mois et utilise des centaines, voire des milliers de GPU. En prenant comme exemple le modèle LLaMA270B, sa formation nécessite un total de 1 720 320 heures GPU. La formation de grands modèles présente des défis systémiques uniques en raison de l’ampleur et de la complexité de ces charges de travail. Récemment, de nombreuses institutions ont signalé une instabilité dans le processus de formation lors de la formation des modèles d'IA générative SOTA. Elles apparaissent généralement sous la forme de pics de pertes. Par exemple, le modèle PaLM de Google a connu jusqu'à 20 pics de pertes au cours du processus de formation. Le biais numérique est à l'origine de cette imprécision de la formation,
