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?
machine-learning
cross-entropy
teatista
fuente
fuente
Respuestas:
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:
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:
¿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:
¿Dónde
p(x)
está la probabilidad deseada yq(x)
la probabilidad real? La suma supera las tres clases A, B y C. En este caso, la pérdida es de 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)
porH(p, q)
. Pero tenga en cuenta queH(p, q)
primero debe calcular la derivada de con respecto a los parámetros.Entonces, para responder directamente a sus preguntas originales:
Correcto, la entropía cruzada describe la pérdida entre dos distribuciones de probabilidad. Es una de las muchas funciones de pérdida posibles.
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.
fuente
cosine (dis)similarity
para describir el error a través del ángulo y luego tratar de minimizar el ángulo.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 lanp.log()
función de Python , que en realidad es el registro natural; No importa.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.
fuente
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:
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
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):
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:
fuente