Para que la red aprenda, primero hay que medir cuánto se equivoca con un solo número. Ese número es la pérdida (loss), y todo el entrenamiento consiste en hacerlo pequeño.
En la lección 4 la red predijo ŷ = 0.543 cuando el target era 1. Está
mal, pero… ¿cuán mal? Necesitamos cuantificarlo. La función de pérdida
compara la predicción con el target y devuelve un solo número:
La más intuitiva: la diferencia entre predicción y target, al cuadrado.
Para nuestro ejemplo x = (1, 0), con ŷ = 0.543014 y target = 1:
L = ½ · (ŷ - target)² paso 1 — la resta (el error): ŷ - target = 0.543014 - 1 = -0.456986 paso 2 — elevar al cuadrado (error · error): (-0.456986)² = (-0.456986) · (-0.456986) = 0.208836 paso 3 — multiplicar por ½: ½ · 0.208836 = 0.5 · 0.208836 = 0.104418
Cuando la salida es una probabilidad (como con sigmoid), la pérdida preferida es la entropía cruzada binaria. Castiga con dureza estar muy seguro y equivocado.
Como target = 1, el segundo término (1-target)·ln(1-ŷ) se anula (porque 1-target = 0), y solo queda el primero: L = -[ 1 · ln(ŷ) + 0 · ln(1-ŷ) ] = -ln(ŷ) paso 1 — el logaritmo natural de ŷ: ln(0.543014) = -0.610621 paso 2 — el signo menos de delante: -(-0.610621) = 0.610621
Las fórmulas de arriba son para un ejemplo. La pérdida total del modelo es el promedio sobre los 4 casos de XOR:
| x | target | ŷ | MSE (½) | Cross-entropy |
|---|---|---|---|---|
| (0,0) | 0 | 0.5294 | 0.140111 | 0.753663 |
| (0,1) | 1 | 0.5393 | 0.106131 | 0.617520 |
| (1,0) | 1 | 0.5430 | 0.104418 | 0.610621 |
| (1,1) | 0 | 0.5526 | 0.152690 | 0.804329 |
| Promedio → | 0.125838 | 0.696533 | ||
Fija un target y mueve la predicción ŷ. Mira cómo crecen las dos pérdidas cuanto más te alejas.