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.