¿Cuáles son las funciones de costo comunes utilizadas en la evaluación del rendimiento de las redes neuronales?
Detalles
(siéntase libre de omitir el resto de esta pregunta, mi intención aquí es simplemente proporcionar una aclaración sobre la notación que las respuestas pueden usar para ayudarlos a ser más comprensibles para el lector general)
Creo que sería útil tener una lista de funciones de costos comunes, junto con algunas formas en que se han utilizado en la práctica. Entonces, si otros están interesados en esto, creo que una wiki comunitaria es probablemente el mejor enfoque, o podemos eliminarlo si está fuera de tema.
Notación
Entonces, para comenzar, me gustaría definir una notación que todos usamos al describirlos, para que las respuestas se ajusten bien entre sí.
Esta notación es del libro de Neilsen .
Una red neuronal Feedforward consiste en muchas capas de neuronas conectadas entre sí. Luego toma una entrada, esa entrada "gotea" a través de la red y luego la red neuronal devuelve un vector de salida.
Más formalmente, llame la activación (también conocida como salida) de la neurona en la capa , donde es el elemento en el vector de entrada.
Luego podemos relacionar la entrada de la siguiente capa con la anterior a través de la siguiente relación:
dónde
es la función de activación,
es el peso desde laneurona k t h en lacapa ( i - 1 ) t h hasta laneurona j t h en lacapa i t h ,
es el sesgo de laneurona j t h en lacapa i t h , y
representa el valor de activación de laneurona j t h en lacapa i t h .
A veces escribimos para representar ∑ k ( w i j k ⋅ a i - 1 k ) + b i j , en otras palabras, el valor de activación de una neurona antes de aplicar la función de activación.
Para una notación más concisa podemos escribir
Introducción
Una función de costo es una medida de "qué tan bueno" hizo una red neuronal con respecto a su muestra de entrenamiento y la salida esperada. También puede depender de variables como pesos y sesgos.
Una función de costo es un valor único, no un vector, porque califica qué tan bien hizo la red neuronal en su conjunto.
Específicamente, una función de costo tiene la forma
Que también se puede escribir como un vector a través de
Proporcionaremos el gradiente de las funciones de costo en términos de la segunda ecuación, pero si uno quiere probar estos resultados por sí mismos, se recomienda usar la primera ecuación porque es más fácil trabajar con ella.
Requisitos de función de costo
Para usarse en la propagación hacia atrás, una función de costo debe satisfacer dos propiedades:
Esto es así, nos permite calcular el gradiente (con respecto a los pesos y sesgos) para un solo ejemplo de entrenamiento, y ejecutar Gradient Descent.