L'entropia incrociata è comunemente usata per quantificare la differenza tra due distribuzioni di probabilità. Di solito la distribuzione "vera" (quella che il tuo algoritmo di apprendimento automatico sta cercando di abbinare) è espressa in termini di distribuzione one-hot.
Ad esempio, supponiamo che per una specifica istanza di addestramento, l'etichetta sia B (fuori dalle possibili etichette A, B e C). La distribuzione one-hot per questa istanza di addestramento è quindi:
Pr(Class A) Pr(Class B) Pr(Class C)
0.0 1.0 0.0
È possibile interpretare la distribuzione "vera" di cui sopra per indicare che l'istanza di addestramento ha lo 0% di probabilità di essere di classe A, il 100% di probabilità di essere di classe B e lo 0% di probabilità di essere di classe C.
Supponiamo ora che il tuo algoritmo di apprendimento automatico preveda la seguente distribuzione di probabilità:
Pr(Class A) Pr(Class B) Pr(Class C)
0.228 0.619 0.153
Quanto è vicina la distribuzione prevista alla distribuzione reale? Questo è ciò che determina la perdita di entropia incrociata. Usa questa formula:
Dov'è p(x)
la probabilità desiderata e q(x)
la probabilità effettiva. La somma è superiore alle tre classi A, B e C.In questo caso la perdita è di 0,479 :
H = - (0.0*ln(0.228) + 1.0*ln(0.619) + 0.0*ln(0.153)) = 0.479
Quindi è così che la tua previsione è "sbagliata" o "lontana" dalla vera distribuzione.
L'entropia incrociata è una delle tante possibili funzioni di perdita (un'altra popolare è la perdita della cerniera SVM). Queste funzioni di perdita sono tipicamente scritte come J (theta) e possono essere utilizzate all'interno della discesa del gradiente, che è un algoritmo iterativo per spostare i parametri (o coefficienti) verso i valori ottimali. Nell'equazione seguente, sostituiresti J(theta)
con H(p, q)
. Ma nota che devi prima calcolare la derivata di H(p, q)
rispetto ai parametri.
Quindi, per rispondere direttamente alle tue domande originali:
È solo un metodo per descrivere la funzione di perdita?
Corretta, l'entropia incrociata descrive la perdita tra due distribuzioni di probabilità. È una delle tante possibili funzioni di perdita.
Quindi possiamo usare, ad esempio, l'algoritmo di discesa del gradiente per trovare il minimo.
Sì, la funzione di perdita di entropia incrociata può essere utilizzata come parte della discesa del gradiente.
Ulteriori letture: una delle mie altre risposte relative a TensorFlow.