Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Función de Pérdida | Red Neuronal Desde Cero
Introducción a las Redes Neuronales

bookFunción de Pérdida

Durante el entrenamiento de una red neuronal, es necesario medir cuán precisamente el modelo predice los resultados correctos. Esto se realiza utilizando una función de pérdida, que calcula la diferencia entre las predicciones del modelo y los valores objetivo reales. El objetivo del entrenamiento es minimizar esta pérdida, logrando que las predicciones sean lo más cercanas posible a las salidas verdaderas.

Para tareas de clasificación binaria, una de las funciones de pérdida más utilizadas es la pérdida de entropía cruzada, que resulta especialmente eficaz para modelos que generan probabilidades como salida.

Derivación de la pérdida de entropía cruzada

Para comprender la pérdida de entropía cruzada, se debe considerar el principio de máxima verosimilitud. En un problema de clasificación binaria, el objetivo es entrenar un modelo que estime la probabilidad y^\hat{y} de que una entrada dada pertenezca a la clase 1. La etiqueta verdadera yy puede tomar uno de dos valores: 0 o 1.

Un modelo eficaz debe asignar altas probabilidades a las predicciones correctas. Esta idea se formaliza mediante la función de verosimilitud, que representa la probabilidad de observar los datos reales dados las predicciones del modelo.

Para un solo ejemplo de entrenamiento, asumiendo independencia, la verosimilitud puede expresarse como:

P(yx)=y^y(1y^)1yP(y|x) = \hat{y}^y(1 - \hat{y})^{1 - y}

Esta expresión significa lo siguiente:

  • Si y=1y = 1, entonces P(yx)=y^P(y|x) = \hat{y} — el modelo debe asignar una alta probabilidad a la clase 1;
  • Si y=0y = 0, entonces P(yx)=1y^P(y|x) = 1 - \hat{y} — el modelo debe asignar una alta probabilidad a la clase 0.

En ambos casos, el objetivo es maximizar la probabilidad que el modelo asigna a la clase correcta.

Note
Nota

P(yx)P(y|x) significa la probabilidad de observar la etiqueta de clase real yy dado el conjunto de entradas xx.

Para simplificar la optimización, se utiliza la log-verosimilitud en lugar de la función de verosimilitud, ya que al aplicar el logaritmo se convierten productos en sumas, lo que facilita la diferenciación:

logP(yx)=ylog(y^)+(1y)log(1y^)\log P(y|x) = y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})

Dado que el entrenamiento busca maximizar la log-verosimilitud, la función de pérdida se define como su valor negativo para que el proceso de optimización se convierta en un problema de minimización:

L=(ylog(y^)+(1y)log(1y^))L = -\big(y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})\big)

Esta es la función de pérdida de entropía cruzada binaria, comúnmente utilizada para problemas de clasificación.

Dado que la variable output representa y^\hat{y} para un ejemplo de entrenamiento particular, y la variable target representa yy para este ejemplo de entrenamiento, esta función de pérdida puede implementarse de la siguiente manera:

import numpy as np

loss = -(target * np.log(output) + (1 - target) * np.log(1 - output))

¿Por qué esta fórmula?

La pérdida de entropía cruzada tiene una interpretación intuitiva clara:

  • Si y=1y = 1, la pérdida se simplifica a log(y^)-\log(\hat{y}), lo que significa que la pérdida es baja cuando y^\hat{y} está cerca de 1 y muy alta cuando y^\hat{y} está cerca de 0;
  • Si y=0y = 0, la pérdida se simplifica a log(1y^)-\log(1 - \hat{y}), lo que significa que la pérdida es baja cuando y^\hat{y} está cerca de 0 y muy alta cuando está cerca de 1.

Dado que los logaritmos crecen negativamente grandes a medida que su entrada se acerca a cero, las predicciones incorrectas son fuertemente penalizadas, lo que incentiva al modelo a realizar predicciones correctas y seguras.

Si se pasan múltiples ejemplos durante la propagación hacia adelante, la pérdida total se calcula como el promedio de la pérdida en todos los ejemplos:

L=1Ni=1N(yilog(y^i)+(1yi)log(1y^i))L = -\frac1N \sum_{i=1}^N (y_i\log(\hat{y}_i) + (1-y_i)\log(1-\hat{y}_i))

donde NN es el número de muestras de entrenamiento.

question mark

¿Cuál de las siguientes opciones describe mejor el propósito de la función de pérdida de entropía cruzada en la clasificación binaria?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 6

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you explain how cross-entropy loss differs from mean squared error?

What happens if the model predicts exactly 0 or 1 for the output?

Can you show how this loss function is used during neural network training?

Awesome!

Completion rate improved to 4

bookFunción de Pérdida

Desliza para mostrar el menú

Durante el entrenamiento de una red neuronal, es necesario medir cuán precisamente el modelo predice los resultados correctos. Esto se realiza utilizando una función de pérdida, que calcula la diferencia entre las predicciones del modelo y los valores objetivo reales. El objetivo del entrenamiento es minimizar esta pérdida, logrando que las predicciones sean lo más cercanas posible a las salidas verdaderas.

Para tareas de clasificación binaria, una de las funciones de pérdida más utilizadas es la pérdida de entropía cruzada, que resulta especialmente eficaz para modelos que generan probabilidades como salida.

Derivación de la pérdida de entropía cruzada

Para comprender la pérdida de entropía cruzada, se debe considerar el principio de máxima verosimilitud. En un problema de clasificación binaria, el objetivo es entrenar un modelo que estime la probabilidad y^\hat{y} de que una entrada dada pertenezca a la clase 1. La etiqueta verdadera yy puede tomar uno de dos valores: 0 o 1.

Un modelo eficaz debe asignar altas probabilidades a las predicciones correctas. Esta idea se formaliza mediante la función de verosimilitud, que representa la probabilidad de observar los datos reales dados las predicciones del modelo.

Para un solo ejemplo de entrenamiento, asumiendo independencia, la verosimilitud puede expresarse como:

P(yx)=y^y(1y^)1yP(y|x) = \hat{y}^y(1 - \hat{y})^{1 - y}

Esta expresión significa lo siguiente:

  • Si y=1y = 1, entonces P(yx)=y^P(y|x) = \hat{y} — el modelo debe asignar una alta probabilidad a la clase 1;
  • Si y=0y = 0, entonces P(yx)=1y^P(y|x) = 1 - \hat{y} — el modelo debe asignar una alta probabilidad a la clase 0.

En ambos casos, el objetivo es maximizar la probabilidad que el modelo asigna a la clase correcta.

Note
Nota

P(yx)P(y|x) significa la probabilidad de observar la etiqueta de clase real yy dado el conjunto de entradas xx.

Para simplificar la optimización, se utiliza la log-verosimilitud en lugar de la función de verosimilitud, ya que al aplicar el logaritmo se convierten productos en sumas, lo que facilita la diferenciación:

logP(yx)=ylog(y^)+(1y)log(1y^)\log P(y|x) = y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})

Dado que el entrenamiento busca maximizar la log-verosimilitud, la función de pérdida se define como su valor negativo para que el proceso de optimización se convierta en un problema de minimización:

L=(ylog(y^)+(1y)log(1y^))L = -\big(y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})\big)

Esta es la función de pérdida de entropía cruzada binaria, comúnmente utilizada para problemas de clasificación.

Dado que la variable output representa y^\hat{y} para un ejemplo de entrenamiento particular, y la variable target representa yy para este ejemplo de entrenamiento, esta función de pérdida puede implementarse de la siguiente manera:

import numpy as np

loss = -(target * np.log(output) + (1 - target) * np.log(1 - output))

¿Por qué esta fórmula?

La pérdida de entropía cruzada tiene una interpretación intuitiva clara:

  • Si y=1y = 1, la pérdida se simplifica a log(y^)-\log(\hat{y}), lo que significa que la pérdida es baja cuando y^\hat{y} está cerca de 1 y muy alta cuando y^\hat{y} está cerca de 0;
  • Si y=0y = 0, la pérdida se simplifica a log(1y^)-\log(1 - \hat{y}), lo que significa que la pérdida es baja cuando y^\hat{y} está cerca de 0 y muy alta cuando está cerca de 1.

Dado que los logaritmos crecen negativamente grandes a medida que su entrada se acerca a cero, las predicciones incorrectas son fuertemente penalizadas, lo que incentiva al modelo a realizar predicciones correctas y seguras.

Si se pasan múltiples ejemplos durante la propagación hacia adelante, la pérdida total se calcula como el promedio de la pérdida en todos los ejemplos:

L=1Ni=1N(yilog(y^i)+(1yi)log(1y^i))L = -\frac1N \sum_{i=1}^N (y_i\log(\hat{y}_i) + (1-y_i)\log(1-\hat{y}_i))

donde NN es el número de muestras de entrenamiento.

question mark

¿Cuál de las siguientes opciones describe mejor el propósito de la función de pérdida de entropía cruzada en la clasificación binaria?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 6
some-alt