Pour illustrer ma question, supposons que j'ai un ensemble de formation où l'entrée a un degré de bruit mais pas la sortie, par exemple;
# Training data
[1.02, 1.95, 2.01, 3.06] : [1.0]
[2.03, 4.11, 5.92, 8.00] : [2.0]
[10.01, 11.02, 11.96, 12.04] : [1.0]
[2.99, 6.06, 9.01, 12.10] : [3.0]
ici, la sortie est le gradient du tableau d'entrée s'il était silencieux (pas le gradient réel).
Après avoir formé le réseau, la sortie devrait ressembler à ceci pour une entrée donnée.
# Expected Output
[1.01, 1.96, 2.00, 3.06] : 95% confidence interval of [0.97, 1.03]
[2.03, 4.11, 3.89, 3.51] : 95% confidence interval of [2.30, 4.12]
Ma question est de savoir comment un réseau neuronal peut être créé de telle sorte qu'il renvoie une valeur prédite et une mesure de confiance, comme une variance ou un intervalle de confiance?
Réponses:
Il semble que vous recherchiez un intervalle de prédiction , c'est -à- dire un intervalle contenant un pourcentage prédéfini de réalisations futures. (Regardez la balise wikis pour la prédiction de l' intervalle et la confiance de l' intervalle pour la différence.)
Votre meilleur pari est susceptible de fonctionner directement avec des architectures NN qui ne génèrent pas de prévisions ponctuelles, mais des distributions prédictives entières . Vous pouvez ensuite extraire directement les intervalles de prédiction souhaités (ou les prédictions ponctuelles moyennes ou médianes) de ces distributions. Moi et d'autres avons soutenu que les distributions prédictives sont beaucoup plus utiles que les prédictions ponctuelles , mais pour être honnête, je n'ai pas encore vu beaucoup de travail sur les distributions prédictives avec des réseaux de neurones, bien que je garde les yeux ouverts. Ce document semble utile. Vous voudrez peut-être effectuer une recherche un peu, peut-être aussi en utilisant d'autres mots clés comme "distributions de prévisions" ou "densités prédictives" et autres.
Cela dit, vous voudrez peut-être examiner l' algorithme NeuroBayes de Michael Feindt , qui utilise une approche bayésienne pour prévoir les densités prédictives.
la source
Je ne suis pas sûr que vous puissiez calculer un intervalle de confiance pour une seule prédiction, mais vous pouvez en effet calculer un intervalle de confiance pour le taux d'erreur de l'ensemble de données (vous pouvez généraliser l'exactitude et toute autre mesure que vous évaluez).
Si est votre taux d'erreur lors du classement de certaines données de taille , un intervalle de confiance de 95% pour votre taux d'erreur est donné par: .S n e ± 1,96 √e S n
(voir le livre "Machine Learning" de Tom Mitchell, chapitre 5.)
MODIFIER
Je suppose que je devrais énoncer un cas plus général, qui est: où les choix courants pour sont répertoriés dans le tableau suivant:zN
la source
Les intervalles de prédiction (IP) dans les problèmes de régression et de classification non paramétriques, tels que les réseaux de neurones, les SVM, les forêts aléatoires, etc. sont difficiles à construire. J'adorerais entendre d'autres opinions à ce sujet.
Cependant, pour autant que je sache, la prévision conforme (CP) est la seule méthode basée sur des principes pour construire un PI calibré pour la prédiction dans les problèmes de régression non paramétrique et de classification. Pour un didacticiel sur la PC, voir Shfer & Vovk (2008), J. Machine Learning Research 9 , 371-421 [pdf]
la source
Je ne connais aucune méthode pour le faire de manière exacte.
la source
Je n'ai entendu parler d'aucune méthode qui donne un intervalle de confiance pour une prédiction de réseau neuronal. Malgré un manque de méthodologie formelle, il semble possible d'en construire une. Je n'ai jamais essayé cela en raison de la puissance de calcul qui serait nécessaire et je ne prétends pas que cela fonctionne avec certitude, mais une méthode qui pourrait fonctionner pour un minuscule réseau neuronal (ou avec une puissance de processeur graphique ultra-rapide, elle pourrait fonctionner pour des réseaux de taille moyenne) ) serait de rééchantillonner l'ensemble d'entraînement et de créer de nombreux réseaux similaires (disons 10 000 fois) avec les mêmes paramètres et paramètres initiaux, et de construire des intervalles de confiance basés sur les prédictions pour chacun de vos réseaux amorcés.
Par exemple, dans les 10 000 réseaux formés comme discuté ci-dessus, on pourrait obtenir 2,0 (après avoir arrondi les prédictions de régression du réseau neuronal) 9 000 de ces périodes, vous prédiriez donc 2,0 avec un IC à 90%. Vous pouvez ensuite créer un tableau de CI pour chaque prédiction effectuée et choisir le mode à signaler comme CI principal.
la source
En termes de sortie directe des intervalles de prédiction, il existe un article de 2011 intitulé « Examen complet des intervalles de prédiction basés sur les réseaux neuronaux »
Ils comparent quatre approches:
1: Méthode delta 2: Méthode bayésienne 3: Estimation de la variance moyenne 4: Bootstrap
Les mêmes auteurs ont ensuite développé une méthode d'estimation de la limite supérieure inférieure pour la construction d'intervalles de prédiction basés sur un réseau neuronal qui produit directement une limite inférieure et supérieure à partir du NN. Malheureusement, cela ne fonctionne pas avec backprop, mais des travaux récents ont rendu cela possible, des intervalles de prédiction de haute qualité pour l'apprentissage en profondeur .
En alternative à la sortie directe des intervalles de prédiction, les réseaux neuronaux bayésiens (BNN) modélisent l'incertitude dans les paramètres d'un NN, et capturent donc l'incertitude à la sortie. C'est difficile à faire, mais les méthodes populaires incluent l'exécution du décrochage MC au moment de la prédiction ou l' assemblage .
la source
Il existe en fait des moyens de le faire en utilisant le décrochage. Exécutez l'évaluation avec le décrochage activé (il est généralement désactivé pour l'évaluation mais activé lors de la formation) et exécutez l'évaluation plusieurs fois.
La distribution des résultats de plusieurs analyses différentes peut être utilisée comme intervalles de confiance.
Voir l'article "Le décrochage en tant qu'approximation bayésienne: représenter l'incertitude du modèle dans le Deep Learning " Regardez la présentation sur YouTube Andrew Rowan - Bayesian Deep Learning avec Edward (et une astuce utilisant Dropout)
la source
Il n'y a aucun moyen, tous les modèles ML ne concernent pas la compréhension des phénomènes, ce sont des méthodes d'interpolation avec l'espoir "que ça marche". Commencez par de telles questions de confiance, robustes au bruit il n'y a pas de réponses.
Donc, pour dériver quelque chose, veuillez utiliser diverses sciences appliquées et fondamentales:
Utilisez le contrôle (et faites des hypothèses sur la dynamique)
Utiliser l'optimisation convexe (avec une condition supplémentaire sur la fonction)
Utiliser des statistiques mathématiques (avec des hypothèses préliminaires sur les distributions)
Utiliser le traitement du signal (avec certaines hypothèses que le signal est limité en bande)
Le scientifique utilise certaines hypothèses préliminaires (appelées axiomes) pour dériver quelque chose.
Il n'y a aucun moyen de donner une confiance sans une hypothèse préliminaire, donc problème dans pas dans le mehtod DL, mais c'est un problème dans n'importe quelle méthode qui essaie d'interpoler sans aucune hypothèse préliminaire - il n'y a aucun moyen de dériver via l'algèbre quelque chose d'intelligent sans hypothèse.
NN et diverses méthodes ML sont pour le prototypage rapide afin de créer "quelque chose" qui semble fonctionner "en quelque sorte" vérifié avec validation croisée.
Encore plus profondément l'ajustement de régression E [Y | X] ou son estimation peut être un problème absolument incorrect à résoudre (peut-être que le pdf au point Y = E [Y | X] a un minimum, pas un maximum), et il y a beaucoup de subtils des choses.
Permettez-moi également de rappeler deux problèmes insolubles dans l'IA / ML, qui peuvent être oubliés pour certaines raisons, derrière des slogans de beauté:
(1) Ce sont des méthodes d'interpolation, pas d'extrapolation - il n'a pas la capacité de faire face à de nouveaux problèmes
(2) personne ne sait comment un modèle se comportera sur des données qui ne sont pas de la même distribution (homme en costume de banane pour la localisation piétonne)
la source
Cet article est une présentation intéressante d'une technique basée sur le décrochage:
http://mlg.eng.cam.ac.uk/yarin/blog_3d801aa532c1ce.html
la source