La fórmula de entropía cruzada toma dos distribuciones, p ( x ) , la distribución verdadera, y q( x ) , la distribución estimada, definida sobre la variable discreta X y está dada por
H( p , q) = - ∑∀ xp ( x ) log( q( x ) )
Para una red neuronal, el cálculo es independiente de lo siguiente:
Qué tipo de capa se usó.
Qué tipo de activación se usó, aunque muchas activaciones no serán compatibles con el cálculo porque sus resultados no son interpretables como probabilidades (es decir, sus resultados son negativos, mayores que 1 o no suman 1). Softmax se usa a menudo para la clasificación multiclase porque garantiza una función de distribución de probabilidad con buen comportamiento.
Para una red neuronal, lo normal es ver la ecuación escrita en una forma donde y es el vector realidad del terreno y la y^ algún otro valor tomado directamente de la última capa de salida) es la estimación. Para un solo ejemplo, se vería así:
L = - y ⋅ log( y^)
donde ⋅ es el producto punto vectorial.
Su ejemplo realidad del terreno y da toda probabilidad al primer valor, y los otros valores son cero, por lo que podemos ignorarlos, y sólo tiene que utilizar el término correspondiente de su estimación yy^
L=−(1×log(0.1)+0×log(0.5)+...)
L=−log(0.1)≈2.303
Un punto importante de los comentarios.
¿Eso significa que la pérdida sería la misma sin importar si las predicciones son [0.1,0.5,0.1,0.1,0.2] o [0.1,0.6,0.1,0.1,0.1] ?
Sí, esta es una característica clave del logloss multiclase, recompensa / penaliza las probabilidades de las clases correctas solamente. El valor es independiente de cómo se divide la probabilidad restante entre clases incorrectas.
A menudo verá esta ecuación promediada en todos los ejemplos como una función de costo . No siempre se cumple estrictamente en las descripciones, pero generalmente una función de pérdida es de nivel inferior y describe cómo una sola instancia o componente determina un valor de error, mientras que una función de costo es de nivel superior y describe cómo se evalúa la optimización de un sistema completo. Una función de costo basada en la pérdida de registro multiclase para un conjunto de datos de tamaño N podría verse así:
J=−1N(∑i=1Nyi⋅log(y^i))
Muchas implementaciones requerirán que sus valores de verdad básicos estén codificados en caliente (con una sola clase verdadera), porque eso permite una optimización adicional. Sin embargo, en principio, la pérdida de entropía cruzada puede calcularse, y optimizarse, cuando este no es el caso.