¿Qué es la entropía cruzada?

93

Sé que hay muchas explicaciones sobre qué es la entropía cruzada, pero todavía estoy confundido.

¿Es solo un método para describir la función de pérdida? ¿Podemos usar el algoritmo de descenso de gradiente para encontrar el mínimo usando la función de pérdida?

teatista
fuente
10
No es una buena opción para SO. Aquí hay una pregunta similar en el sitio hermano de datascience
Metropolis

Respuestas:

231

La entropía cruzada se usa comúnmente para cuantificar la diferencia entre dos distribuciones de probabilidad. Por lo general, la distribución "verdadera" (la que su algoritmo de aprendizaje automático está tratando de igualar) se expresa en términos de una distribución one-hot.

Por ejemplo, supongamos que para una instancia de entrenamiento específica, la etiqueta es B (de las posibles etiquetas A, B y C). Por lo tanto, la distribución one-hot para esta instancia de entrenamiento es:

Pr(Class A)  Pr(Class B)  Pr(Class C)
        0.0          1.0          0.0

Puede interpretar que la distribución "verdadera" anterior significa que la instancia de entrenamiento tiene 0% de probabilidad de ser de clase A, 100% de probabilidad de ser de clase B y 0% de probabilidad de ser de clase C.

Ahora, suponga que su algoritmo de aprendizaje automático predice la siguiente distribución de probabilidad:

Pr(Class A)  Pr(Class B)  Pr(Class C)
      0.228        0.619        0.153

¿Qué tan cerca está la distribución predicha de la distribución real? Eso es lo que determina la pérdida de entropía cruzada. Utilice esta fórmula:

Fórmula de pérdida de entropía cruzada

¿Dónde p(x)está la probabilidad deseada y q(x)la probabilidad real? La suma supera las tres clases A, B y C. En este caso, la pérdida es de 0,479 :

H = - (0.0*ln(0.228) + 1.0*ln(0.619) + 0.0*ln(0.153)) = 0.479

Así que así de "equivocada" o "lejos" está su predicción de la distribución verdadera.

La entropía cruzada es una de las muchas funciones de pérdida posibles (otra popular es la pérdida de bisagra SVM). Estas funciones de pérdida se escriben típicamente como J (theta) y se pueden usar dentro del descenso de gradiente, que es un algoritmo iterativo para mover los parámetros (o coeficientes) hacia los valores óptimos. En la siguiente ecuación, reemplazaría J(theta)por H(p, q). Pero tenga en cuenta que H(p, q)primero debe calcular la derivada de con respecto a los parámetros.

descenso de gradiente

Entonces, para responder directamente a sus preguntas originales:

¿Es solo un método para describir la función de pérdida?

Correcto, la entropía cruzada describe la pérdida entre dos distribuciones de probabilidad. Es una de las muchas funciones de pérdida posibles.

Entonces podemos usar, por ejemplo, el algoritmo de descenso de gradiente para encontrar el mínimo.

Sí, la función de pérdida de entropía cruzada se puede utilizar como parte del descenso de gradiente.

Lectura adicional: una de mis otras respuestas relacionadas con TensorFlow.

stackoverflowuser2010
fuente
entonces, la entropía cruzada describe la pérdida por suma de probabilidades para cada ejemplo X.
teatista
Entonces, ¿podemos en lugar de describir el error como entropía cruzada, describir el error como un ángulo entre dos vectores (similitud de coseno / distancia angular) y tratar de minimizar el ángulo?
teatista
1
aparentemente no es la mejor solución, pero solo quería saber, en teoría, si podríamos usar cosine (dis)similaritypara describir el error a través del ángulo y luego tratar de minimizar el ángulo.
teatista
2
@Stephen: Si miras el ejemplo que di, p(x)sería la lista de probabilidades de verdad fundamental para cada una de las clases, que sería [0.0, 1.0, 0.0. Del mismo modo, q(x)es la lista de probabilidad predicha para cada una de las clases, [0.228, 0.619, 0.153]. H(p, q)es entonces - (0 * log(2.28) + 1.0 * log(0.619) + 0 * log(0.153)), que resulta ser 0,479. Tenga en cuenta que es común usar la np.log()función de Python , que en realidad es el registro natural; No importa.
stackoverflowuser2010
1
@HAr: Para la codificación one-hot de la etiqueta verdadera, solo hay una clase distinta de cero que nos importa. Sin embargo, la entropía cruzada puede comparar dos distribuciones de probabilidad cualesquiera; no es necesario que uno de ellos tenga probabilidades de uno caliente.
stackoverflowuser2010
3

En resumen, la entropía cruzada (CE) es la medida de qué tan lejos está su valor predicho de la etiqueta verdadera.

La cruz aquí se refiere al cálculo de la entropía entre dos o más características / etiquetas verdaderas (como 0, 1).

Y el término entropía en sí mismo se refiere a la aleatoriedad, por lo que su gran valor significa que su predicción está lejos de las etiquetas reales.

Entonces, los pesos se cambian para reducir la CE y, por lo tanto, finalmente conduce a una diferencia reducida entre la predicción y las etiquetas verdaderas y, por lo tanto, a una mejor precisión.

Malra dura
fuente
1

Además de las publicaciones anteriores, la forma más simple de pérdida de entropía cruzada se conoce como entropía cruzada binaria (utilizada como función de pérdida para la clasificación binaria, por ejemplo, con regresión logística), mientras que la versión generalizada es la entropía cruzada categórica (usada como función de pérdida para problemas de clasificación de clases múltiples, por ejemplo, con redes neuronales).

La idea sigue siendo la misma:

  1. cuando la probabilidad de clase calculada por el modelo (softmax) se acerca a 1 para la etiqueta de destino para una instancia de entrenamiento (representada con una codificación en caliente, por ejemplo,), la pérdida de CCE correspondiente disminuye a cero

  2. de lo contrario, aumenta a medida que la probabilidad predicha correspondiente a la clase objetivo se reduce.

La siguiente figura demuestra el concepto (observe en la figura que BCE se vuelve bajo cuando ambos y y p son altos o ambos son bajos simultáneamente, es decir, hay un acuerdo):

ingrese la descripción de la imagen aquí

La entropía cruzada está estrechamente relacionada con la entropía relativa o divergencia KL que calcula la distancia entre dos distribuciones de probabilidad. Por ejemplo, entre dos pmfs discretos, la relación entre ellos se muestra en la siguiente figura:

ingrese la descripción de la imagen aquí

Sandipan Dey
fuente