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 contar con una forma de medir el desempeño del modelo. Esto se realiza mediante una función de pérdida, que cuantifica la diferencia entre las salidas predichas y los valores reales objetivo. El objetivo del entrenamiento es minimizar esta pérdida, logrando que las predicciones sean lo más cercanas posible a los valores reales.

Una de las funciones de pérdida más utilizadas para la clasificación binaria es la pérdida de entropía cruzada, que resulta eficaz con 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 parte del 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 pertenezca a la clase 1. La etiqueta real yy puede ser 0 o 1.

Un buen modelo debe maximizar la probabilidad de predecir correctamente todos los ejemplos de entrenamiento. Esto implica maximizar la función de verosimilitud, que representa la probabilidad de observar los datos dados los valores predichos por el modelo.

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

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

Esta expresión significa simplemente:

  • Si y=1y = 1, entonces P(yx)=y^P(y|x) = \hat{y}, es decir, se busca maximizar y^\hat{y} (la probabilidad asignada a la clase 1);
  • Si y=0y = 0, entonces P(yx)=1y^P(y|x) = 1 - \hat{y}, es decir, se busca maximizar 1y^1 - \hat{y} (la probabilidad asignada a la clase 0).
Note
Nota

P(yx)P(y|x) significa la probabilidad de observar la etiqueta de clase real yy dado los valores de entrada xx.

Para facilitar la optimización, se utiliza la log-verosimilitud en lugar de la verosimilitud directamente (ya que los logaritmos convierten productos en sumas, lo que simplifica 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 objetivo es la maximización, se define la función de pérdida como la log-verosimilitud negativa, la cual se desea minimizar:

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

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 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?

Why do we use the negative log-likelihood instead of just the likelihood?

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 contar con una forma de medir el desempeño del modelo. Esto se realiza mediante una función de pérdida, que cuantifica la diferencia entre las salidas predichas y los valores reales objetivo. El objetivo del entrenamiento es minimizar esta pérdida, logrando que las predicciones sean lo más cercanas posible a los valores reales.

Una de las funciones de pérdida más utilizadas para la clasificación binaria es la pérdida de entropía cruzada, que resulta eficaz con 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 parte del 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 pertenezca a la clase 1. La etiqueta real yy puede ser 0 o 1.

Un buen modelo debe maximizar la probabilidad de predecir correctamente todos los ejemplos de entrenamiento. Esto implica maximizar la función de verosimilitud, que representa la probabilidad de observar los datos dados los valores predichos por el modelo.

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

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

Esta expresión significa simplemente:

  • Si y=1y = 1, entonces P(yx)=y^P(y|x) = \hat{y}, es decir, se busca maximizar y^\hat{y} (la probabilidad asignada a la clase 1);
  • Si y=0y = 0, entonces P(yx)=1y^P(y|x) = 1 - \hat{y}, es decir, se busca maximizar 1y^1 - \hat{y} (la probabilidad asignada a la clase 0).
Note
Nota

P(yx)P(y|x) significa la probabilidad de observar la etiqueta de clase real yy dado los valores de entrada xx.

Para facilitar la optimización, se utiliza la log-verosimilitud en lugar de la verosimilitud directamente (ya que los logaritmos convierten productos en sumas, lo que simplifica 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 objetivo es la maximización, se define la función de pérdida como la log-verosimilitud negativa, la cual se desea minimizar:

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

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 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