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:
¿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.
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.