


CRPS : fonction de notation pour les modèles d'apprentissage automatique bayésiens
Le score de probabilité classée continue (CRPS) ou « score de probabilité classée continue » est une fonction ou une statistique qui compare les prédictions de distribution aux valeurs réelles.
Une partie importante du flux de travail d'apprentissage automatique est l'évaluation du modèle. Le processus lui-même peut être considéré comme du bon sens : diviser les données en ensembles de formation et de test, entraîner le modèle sur l'ensemble de formation et utiliser une fonction de notation pour évaluer ses performances sur l'ensemble de test.
Une fonction de notation (ou métrique) mappe les vraies valeurs et leurs prédictions à une valeur unique et comparable [1]. Par exemple, pour des prévisions continues, vous pouvez utiliser des fonctions de notation telles que RMSE, MAE, MAPE ou R-squared. Et si la prévision n’était pas une estimation point par point, mais une distribution ?
Dans l'apprentissage automatique bayésien, les prédictions ne sont généralement pas des estimations ponctuelles, mais plutôt des distributions de valeurs. Par exemple, les prédictions peuvent être des paramètres estimés d'une distribution, ou dans le cas non paramétrique, un tableau d'échantillons provenant d'une méthode MCMC.
Dans ce cas, les fonctions de notation traditionnelles ne conviennent pas à la conception statistique ; l'agrégation des distributions prédites en leur moyenne ou médiane entraîne la perte d'informations considérables sur la dispersion et la forme de la distribution prédite.
CRPS
Continuous Graded Probability Score (CRPS) est une fonction fractionnaire qui compare une seule valeur vraie à une fonction de distribution cumulative (CDF) :
Elle a été introduite pour la première fois dans les années 1970 [4] et est principalement utilisée Les prévisions météorologiques font désormais l'objet d'une attention renouvelée dans la littérature et dans l'industrie [1][6]. Il peut être utilisé comme métrique pour évaluer les performances du modèle lorsque la variable cible est continue et que le modèle prédit la distribution de la cible. Les exemples incluent la régression bayésienne ou les modèles de séries chronologiques bayésiennes [5].
CRPS est utile pour les prédictions paramétriques et non paramétriques en utilisant CDF : pour de nombreuses distributions, CRPS [3] a une expression analytique, et pour les prédictions non paramétriques, CRPS utilise la fonction de distribution cumulative empirique (eCDF).
Après avoir calculé le CRPS pour chaque observation de l'ensemble de test, vous devez également regrouper les résultats en une seule valeur. Semblables au RMSE et au MAE, ils sont résumés à l'aide d'une moyenne (éventuellement pondérée) :
Le principal défi lors de la comparaison d'une valeur unique à une distribution est de savoir comment convertir la valeur unique en une représentation de la distribution. CRPS résout ce problème en convertissant la vérité terrain en une distribution dégénérée avec une fonction indicatrice. Par exemple, si la vraie valeur est 7, nous pouvons utiliser :
La fonction indicateur est un CDF valide et peut répondre à toutes les exigences d'un CDF. La distribution prédite peut alors être comparée à la distribution dégénérée des valeurs vraies. Nous voulons absolument que la distribution prédite soit aussi proche que possible de la réalité ; cela peut donc être exprimé mathématiquement en mesurant l'aire (au carré) entre ces deux CDF :
Relation MAE à MAE
CRPS au fameux MAE ( Erreur moyenne absolue) sont étroitement liés. Si nous prenons une prédiction ponctuelle et la traitons comme une CDF dégénérée et l'injectons dans l'équation CRPS, nous obtenons :
Donc, si la distribution de prédiction est une distribution dégénérée (par exemple, une estimation ponctuelle), la CRPS réduire en MAE. Cela nous aide à comprendre le CRPS sous un autre angle : cela peut être considéré comme une généralisation du MAE à la prédiction des distributions, ou que le MAE est un cas particulier du CRPS lorsque la distribution de prédiction dégénère.
Lorsque la prédiction du modèle est une distribution paramétrique (par exemple, les paramètres de distribution doivent être prédits), CRPS a une expression analytique pour certaines distributions courantes [3]. Si le modèle prédit les paramètres μ et σ de la distribution normale, le CRPS peut être calculé à l'aide de la formule suivante :
Ce schéma peut résoudre des distributions connues telles que la distribution Beta, Gamma, Logistique, Lognormale et autres [3 ].
Le calcul de l'eCDF est une tâche fastidieuse lorsque la prédiction est non paramétrique, ou plus précisément - la prédiction est une série de simulations. Mais le SDRC peut aussi s'exprimer comme suit :
où X, X' sont des F indépendamment et distribués de manière identique. Ces expressions sont plus faciles à calculer, même si elles nécessitent néanmoins quelques calculs.
Implémentation Python
import numpy as np # Adapted to numpy from pyro.ops.stats.crps_empirical # Copyright (c) 2017-2019 Uber Technologies, Inc. # SPDX-License-Identifier: Apache-2.0 def crps(y_true, y_pred, sample_weight=None): num_samples = y_pred.shape[0] absolute_error = np.mean(np.abs(y_pred - y_true), axis=0) if num_samples == 1: return np.average(absolute_error, weights=sample_weight) y_pred = np.sort(y_pred, axis=0) diff = y_pred[1:] - y_pred[:-1] weight = np.arange(1, num_samples) * np.arange(num_samples - 1, 0, -1) weight = np.expand_dims(weight, -1) per_obs_crps = absolute_error - np.sum(diff * weight, axis=0) / num_samples**2 return np.average(per_obs_crps, weights=sample_weight)
Fonction CRPS implémentée selon le formulaire NRG [2]. Adapté de pyroppl[6]
import numpy as np def crps(y_true, y_pred, sample_weight=None): num_samples = y_pred.shape[0] absolute_error = np.mean(np.abs(y_pred - y_true), axis=0) if num_samples == 1: return np.average(absolute_error, weights=sample_weight) y_pred = np.sort(y_pred, axis=0) b0 = y_pred.mean(axis=0) b1_values = y_pred * np.arange(num_samples).reshape((num_samples, 1)) b1 = b1_values.mean(axis=0) / num_samples per_obs_crps = absolute_error + b0 - 2 * b1 return np.average(per_obs_crps, weights=sample_weight)
Le code ci-dessus implémente CRPS basé sur le formulaire PWM[2].
Résumé
Le score de probabilité classé continu (CRPS) est une fonction de notation qui compare une seule valeur vraie à sa distribution prédite. Cette propriété le rend pertinent pour l’apprentissage automatique bayésien, où les modèles génèrent généralement des prédictions de distribution plutôt que des estimations ponctuelles. Cela peut être considéré comme une généralisation du célèbre MAE pour la prédiction de la distribution.
Il dispose d'expressions analytiques pour les prédictions paramétriques et permet des calculs simples pour les prédictions non paramétriques. Le CRPS pourrait devenir la nouvelle méthode standard pour évaluer les performances des modèles d’apprentissage automatique bayésiens avec des objectifs continus.
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)

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

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,

L'apprentissage automatique est une branche importante de l'intelligence artificielle qui donne aux ordinateurs la possibilité d'apprendre à partir de données et d'améliorer leurs capacités sans être explicitement programmés. L'apprentissage automatique a un large éventail d'applications dans divers domaines, de la reconnaissance d'images et du traitement du langage naturel aux systèmes de recommandation et à la détection des fraudes, et il change notre façon de vivre. Il existe de nombreuses méthodes et théories différentes dans le domaine de l'apprentissage automatique, parmi lesquelles les cinq méthodes les plus influentes sont appelées les « Cinq écoles d'apprentissage automatique ». Les cinq grandes écoles sont l’école symbolique, l’école connexionniste, l’école évolutionniste, l’école bayésienne et l’école analogique. 1. Le symbolisme, également connu sous le nom de symbolisme, met l'accent sur l'utilisation de symboles pour le raisonnement logique et l'expression des connaissances. Cette école de pensée estime que l'apprentissage est un processus de déduction inversée, à travers les connaissances existantes.

En C++, la mise en œuvre d'algorithmes d'apprentissage automatique comprend : Régression linéaire : utilisée pour prédire des variables continues. Les étapes comprennent le chargement des données, le calcul des poids et des biais, la mise à jour des paramètres et la prédiction. Régression logistique : utilisée pour prédire des variables discrètes. Le processus est similaire à la régression linéaire, mais utilise la fonction sigmoïde pour la prédiction. Machine à vecteurs de support : un puissant algorithme de classification et de régression qui implique le calcul de vecteurs de support et la prédiction d'étiquettes.

1. La fonction SOMME permet de sommer les nombres d'une colonne ou d'un groupe de cellules, par exemple : =SOMME(A1:J10). 2. La fonction MOYENNE permet de calculer la moyenne des nombres dans une colonne ou un groupe de cellules, par exemple : =AVERAGE(A1:A10). 3. Fonction COUNT, utilisée pour compter le nombre de nombres ou de texte dans une colonne ou un groupe de cellules, par exemple : =COUNT(A1:A10) 4. Fonction IF, utilisée pour effectuer des jugements logiques basés sur des conditions spécifiées et renvoyer le résultat correspondant.

Le potentiel d'application du langage Go dans le domaine de l'apprentissage automatique est énorme. Ses avantages sont les suivants : Concurrence : il prend en charge la programmation parallèle et convient aux opérations intensives en calcul dans les tâches d'apprentissage automatique. Efficacité : les fonctionnalités du garbage collector et du langage garantissent l’efficacité du code, même lors du traitement de grands ensembles de données. Facilité d'utilisation : la syntaxe est concise, ce qui facilite l'apprentissage et l'écriture d'applications d'apprentissage automatique.
