Ampliando lo dicho por @dontloo respuesta , consideremos una tarea de clasificación con $K$ clases.
Veamos por separado la capa de salida de una red y el coste de coste. Para nuestro propósito aquí, la capa de salida es sigmoide o softmax y la función de coste es la entropía cruzada o la log-verosimilitud.
Capas de salida
En el caso de un sigmoide la capa de salida tendrá $K$ sigmoides cada uno que emite un valor entre 0 y 1. Es fundamental que la suma de estas salidas puede no ser igual a uno y, por tanto, no puede interpretarse como una distribución de probabilidad. La única excepción a ambas afirmaciones es el caso de que $K=2$ es decir, la clasificación binaria, cuando sólo una sigmoidea es suficiente. Y, en este caso, se puede imaginar que una segunda salida ser uno menos la salida solitaria.
Si la capa de salida es softmax También tiene $K$ salidas. Pero en este caso, las salidas suman uno. Debido a esta restricción, una red con una capa de salida softmax tiene menos flexibilidad que una con múltiples sigmoides (excepto, por supuesto, para $K=2$ ).
Para ilustrar la restricción, consideremos una red utilizada para clasificar dígitos. Tiene diez nodos de salida. Si son sigmoides, dos de ellos Si son sigmoides, dos de ellos, por ejemplo los del 8 y el 9 o el 0 y el 6, pueden dar como resultado, por ejemplo, 0,9. En el caso de softmax, esto no es posible. Los resultados pueden ser igual - ambos 0,45, por ejemplo - pero debido a la restricción, cuando los cuando los pesos se ajustan para aumentar la salida de un dígito, necesariamente disminuye la salida de otro(s) dígito(s). El texto tiene una demostración en el mismo capítulo para ilustrar este efecto.
¿Qué pasa con la inferencia? Bueno, un método directo sería simplemente asignar la clase que tiene la mayor salida. Esto es cierto para ambos tipos de capas de salida.
En cuanto a la función de coste, es posible utilizar la entropía cruzada o la log-verosimilitud (o alguna otra función de coste como el error medio cuadrado error) para cualquiera de las dos redes.
Veámoslo a continuación.
Funciones de coste
El entropía cruzada coste de un $K$ -La red de clase sería $$ C_\text{CE} = -\frac{1}{n} \sum\limits_x \sum\limits_{k=1}^K (y_k \ln a_k^L + (1 - y_k) \ln (1 - a_k^L)) $$ donde $x$ es una entrada y $n$ es el número de ejemplos en la entrada de entrada. Esta es la ecuación (63) del libro.
Tenga en cuenta que, para cada $x$ Sólo uno de los $y_k$ es 1 y el resto son 0 (es decir, codificación de un solo punto).
El log-likelihood coste de un $K$ -La red de clase es $$ C_\text{LL} = -\frac{1}{n} \sum\limits_x y^T \ln(a^L) = -\frac{1}{n} \sum\limits_x \sum\limits_{k=1}^K y_k \ln(a_k^L) $$ donde $y$ es la salida deseada (codificada en un punto) y $a^L$ es la salida de del modelo. Esto es sólo una forma diferente de escribir la ecuación (80) en el libro.
También hay que tener en cuenta que, para cada $x$ sólo un elemento de $y$ es 1 y el resto son 0.
Aquí está la diferencia crucial entre las dos funciones de coste: la log-verosimilitud considera sólo la salida para la clase correspondiente, mientras que la función de entropía cruzada también considera las otras salidas también. Esto se puede ver en las expresiones anteriores, en la suma, ambos $C_\text{CE}$ y $C_\text{LL}$ tienen el mismo primer término, pero $C_\text{CE}$ tiene un término adicional. Esto significa que tanto CE y LL recompensan a la red por la cantidad de salida en la clase correcta clase correcta. Pero CE también penaliza a la red por las cantidades en las otras clases. Si la confusión es fuerte, la penalización también lo es. Lo ilustramos a continuación.
Ejemplo
Veamos una sola muestra, es decir $n=1$ .
Dejemos que $$ \begin{align} a^L & = [0.55, 0.02, 0.01, 0.03, 0.01, 0.05, 0.17, 0.01, 0.06, 0.09], \text{and} \\ y & = [1, 0, 0, 0, 0, 0, 0, 0, 0, 0] \end{align} $$ es decir, la entrada es un 0 y la red tiene alguna confusión sobre un 6, pero no es tan grave. Esta salida es aplicable tanto a las capas de salida sigmoide como softmax.
Los costes son $$ \begin{align} C_\text{CE} & = 1.0725 \\ C_\text{LL} & = 0.5978 \end{align} $$
Ahora, digamos que miramos otro escenario donde la salida ahora indica más confusión entre un 0 y un 6. Mantenemos la salida de la clase 0 y aumentamos la salida de la clase 6 y disminuimos la salida de las otras clases. de las otras clases. De nuevo, este resultado es aplicable tanto a sigmoide y softmax. $$ a^L = [0.55, 0.002, 0.001, 0.003, 0.001, 0.04, 0.37, 0.001, 0.012, 0.02] $$
¿Qué pasa con el coste? $$ \begin{align} C_\text{CE} & = 1.1410 \\ C_\text{LL} & = 0.5978 \end{align} $$ Como puede verse, el coste de la LL no ha cambiado. Pero el coste de la CE ha aumentado: ¡se ha penalizado la confusión más fuerte de un 0 a un 6!
Resumen
En resumen, sí, las capas de salida y las funciones de coste pueden mezclarse y combinarse. Afectan al comportamiento de la red y a la interpretación de los resultados. interpretarse.