Quelles sont les fonctions de coût courantes utilisées pour évaluer les performances des réseaux de neurones?
Détails
(n'hésitez pas à sauter le reste de cette question, mon intention est simplement de fournir des éclaircissements sur la notation que les réponses peuvent utiliser pour les aider à être plus compréhensibles par le lecteur en général)
Je pense qu’il serait utile d’avoir une liste de fonctions de coûts communes, ainsi que quelques manières de les utiliser dans la pratique. Donc, si d'autres personnes s'intéressent à cela, je pense qu'un wiki de communauté est probablement la meilleure approche, ou nous pouvons le supprimer s'il est hors sujet.
Notation
Donc, pour commencer, j'aimerais définir une notation que nous utilisons tous pour décrire celles-ci, afin que les réponses correspondent bien les unes aux autres.
Cette notation est extraite du livre de Neilsen .
Un réseau de neurones Feedforward est constitué de plusieurs couches de neurones connectées entre elles. Ensuite, il prend une entrée, cette entrée "ruisselle" à travers le réseau, puis le réseau de neurones renvoie un vecteur de sortie.
Plus formellement, appelez l'activation (ou sortie) du neurone dans la couche , où est l' élément du vecteur d'entrée.
Ensuite, nous pouvons relier l'entrée de la couche suivante à la précédente via la relation suivante:
où
est la fonction d'activation,
est le poids du k t h neurone dans lacouche ( i - 1 ) t h au j t h neurone dans la i t h couche,
est le biais duneurone j t h dans lacouche i t h , et
représente la valeur d'activation du j t h neurone dans la i t h couche.
Parfois , on note pour représenter Σ k ( w i j k ⋅ a i - 1 k ) + b i j , en d' autres termes, la valeur d'activation d'un neurone avant l' application de la fonction d'activation.
Pour une notation plus concise, nous pouvons écrire
introduction
Une fonction de coût est une mesure de la "qualité" d'un réseau de neurones par rapport à son échantillon d'apprentissage donné et à la sortie attendue. Cela peut également dépendre de variables telles que les poids et les biais.
Une fonction de coût est une valeur unique, pas un vecteur, car elle évalue la qualité du réseau de neurones dans son ensemble.
Plus précisément, une fonction de coût est de la forme
Qui peut également être écrit en tant que vecteur via
Nous allons fournir le gradient des fonctions de coût en termes de seconde équation, mais si l'on veut prouver ces résultats eux-mêmes, il est recommandé d'utiliser la première équation car il est plus facile de travailler avec.
Exigences de la fonction de coût
Pour être utilisée dans la rétropropagation, une fonction de coût doit posséder deux propriétés:
Ainsi, cela nous permet de calculer la pente (en ce qui concerne les poids et les biais) pour un seul exemple d’entraînement et d’exécuter Gradient Descent.
la source
Réponses:
Voici ceux que j'ai compris jusqu'ici. La plupart d’entre eux fonctionnent mieux quand on leur donne des valeurs entre 0 et 1.
Coût quadratique
Également appelé erreur quadratique moyenne , maximum de vraisemblance et erreur somme quadratique , il est défini comme suit:
Coût d'entropie croisée
Également connu sous le nom de log-vraisemblance négative de Bernoulli et d' entropie croisée binaire
Coût exponentiel
Distance de Hellinger
Divergence de Kullback – Leibler
Aussi connu sous le nom d' information Divergence , gain d' information , entropie relative , KLIC ou KL Divergence (voir ici ).
QDKL(P∥Q) Q P P=Ei Q=aL aij Eij
Divergence généralisée de Kullback – Leibler
À partir d' ici .
Itakura – Saito distance
Aussi d' ici .
la source
a*(1-a)
pas en êtrea*(1+a)
Vous n'avez pas la réputation de commenter, mais il y a des erreurs de signe dans les 3 derniers gradients.
la source