Cross-Entropy

learn menu
Di Joannes Vermorel, gennaio 2018

La cross-entropy è una metrica che può essere utilizzata per riflettere l’accuratezza delle previsioni probabilistiche. La cross-entropy ha forti legami con la stima della massima verosimiglianza. La cross-entropy è di primaria importanza per i moderni sistemi di previsione, poiché è strumentale nel rendere possibili previsioni superiori, anche per metriche alternative. Da una prospettiva di gestione della supply chain, la cross-entropy è particolarmente importante in quanto supporta la stima di modelli che sono in grado di catturare anche le probabilità di eventi rari, che spesso sono i più costosi. Questa metrica si discosta sostanzialmente dall’intuizione che supporta metriche di accuratezza più semplici, come l’errore quadratico medio o l’errore percentuale medio assoluto.

Probabilità frequentista vs probabilità bayesiana

Un modo comune di comprendere le statistiche è la prospettiva della probabilità frequentista. Quando si cerca di dare un senso quantitativo a un fenomeno incerto, la prospettiva frequentista afferma che le misurazioni dovrebbero essere ripetute molte volte e che contando il numero di occorrenze del fenomeno di interesse, è possibile stimare la frequenza del fenomeno, cioè la sua probabilità. Man mano che il tasso di frequenza converge attraverso molti esperimenti, la probabilità viene stimata in modo più accurato.

La cross-entropy si discosta da questa prospettiva adottando la prospettiva della probabilità bayesiana. La prospettiva bayesiana inverte il problema. Quando si cerca di dare un senso quantitativo a un fenomeno incerto, la prospettiva bayesiana parte da un modello che fornisce direttamente una stima di probabilità per il fenomeno. Successivamente, attraverso osservazioni ripetute, valutiamo come il modello si comporta di fronte alle reali occorrenze del fenomeno. Man mano che il numero di occorrenze aumenta, la misura dell’(in)adeguatezza del modello migliora.

Le prospettive frequentista e bayesiana sono entrambe valide e utili. Da una prospettiva di supply chain, poiché raccogliere osservazioni è costoso e in qualche modo inflessibile - le aziende hanno poco controllo sulla generazione di ordini per un prodotto - la prospettiva bayesiana è spesso più gestibile.

L’intuizione della cross-entropy

Prima di addentrarci nella formulazione algebrica della cross-entropy, cerchiamo di fare chiarezza sulla sua intuizione sottostante. Supponiamo di avere un modello probabilistico - o semplicemente modello di seguito - che sia destinato sia a spiegare il passato che a prevedere il futuro. Per ogni osservazione passata, questo modello fornisce una stima della probabilità che questa osservazione sia avvenuta proprio come è avvenuta. Sebbene sia possibile costruire un modello che memorizzi semplicemente tutte le osservazioni passate assegnando loro una probabilità esattamente uguale a 1, questo modello non ci direbbe nulla sul futuro. Pertanto, un modello interessante approssima in qualche modo il passato e fornisce probabilità inferiori a 1 per gli eventi passati.

Adottando la prospettiva bayesiana, possiamo valutare la probabilità che il modello avrebbe generato tutte le osservazioni. Se assumiamo inoltre che tutte le osservazioni siano indipendenti (IID, Independent and Identically Distributed), allora la probabilità che questo modello avrebbe generato la collezione di osservazioni che abbiamo è il prodotto di tutte le probabilità stimare dal modello per ogni osservazione passata.

Il prodotto matematico di migliaia di variabili che sono tipicamente inferiori a 0,5 - assumendo che stiamo affrontando un fenomeno piuttosto incerto - ci si può aspettare che sia un numero incredibilmente piccolo. Ad esempio, anche considerando un ottimo modello per prevedere la domanda, quale sarebbe la probabilità che questo modello potrebbe generare tutti i dati di vendita che un’azienda ha osservato nel corso di un anno? Sebbene stimare questo numero non sia banale, è chiaro che questo numero sarebbe sorprendentemente piccolo.

Quindi, al fine di mitigare questo problema numerico noto come “arithmetic underflow”, vengono introdotti i logaritmi. In modo intuitivo, i logaritmi possono essere utilizzati per trasformare i prodotti in somme, il che risolve in modo conveniente il problema dell’arithmetic underflow.

Definizione formale dell’entropia incrociata

Per due variabili casuali discrete $${p}$$ e $${q}$$, l’entropia incrociata è definita come:

$${H(p, q) = -\sum_x p(x)\log q(x)}$$

Questa definizione non è simmetrica. $${P}$$ è intesa come la distribuzione “vera”, solo parzialmente osservata, mentre $${Q}$$ è intesa come la distribuzione “non naturale” ottenuta da un modello statistico costruito.

Nella teoria dell’informazione, l’entropia incrociata può essere interpretata come la lunghezza attesa in bit per la codifica dei messaggi, quando viene utilizzata $${Q}$$ al posto di $${P}$$. Questa prospettiva va oltre la presente discussione e non è di primaria importanza dal punto di vista della supply chain.

Nella pratica, poiché $${P}$$ non è nota, l’entropia incrociata viene stimata empiricamente dalle osservazioni, assumendo semplicemente che tutte le osservazioni raccolte siano equamente probabili, cioè $${p(x)=1/N}$$ dove $${N}$$ è il numero di osservazioni.

$${H(q) = - \frac{1}{N} \sum_x \log q(x)}$$

Curiosamente, questa formula è identica alla stima media della log-likehood estimation. Ottimizzare l’entropia incrociata o la log-likelihood è essenzialmente la stessa cosa, sia concettualmente che numericamente.

La superiorità dell’entropia incrociata

Dagli anni ‘90 ai primi anni 2010, la maggior parte della comunità statistica era convinta che il modo più efficiente, da un punto di vista puramente numerico, per ottimizzare una determinata metrica, ad esempio MAPE (mean absolute percentage error), fosse quello di costruire un algoritmo di ottimizzazione direttamente orientato a questa metrica. Tuttavia, una scoperta critica ma controintuitiva raggiunta dalla comunità del deep learning è che questo non era il caso. L’ottimizzazione numerica è un problema molto difficile e la maggior parte delle metriche non è adatta per sforzi di ottimizzazione numerica efficienti su larga scala. Anche durante lo stesso periodo, la comunità della data science aveva capito che tutti i problemi di previsione erano in realtà problemi di ottimizzazione numerica.

Dal punto di vista della supply chain, il punto chiave è che anche se l’obiettivo dell’azienda è ottimizzare una metrica di previsione come MAPE o MSE (mean square error), allora, nella pratica, il percorso più efficiente è ottimizzare l’entropia incrociata. Da Lokad, nel 2017, abbiamo raccolto una quantità significativa di prove empiriche a sostegno di questa affermazione. Ancora più sorprendentemente, l’entropia incrociata supera anche il CRPS (continuous-ranked probability score), un’altra metrica di accuratezza probabilistica, anche se i modelli risultanti sono infine valutati in base al CRPS.

Non è del tutto chiaro cosa renda l’entropia incrociata una buona metrica per l’ottimizzazione numerica. Uno degli argomenti più convincenti, dettagliato in Ian Goodfellow et al, è che l’entropia incrociata fornisce valori di gradiente molto elevati, che sono particolarmente preziosi per la discesa del gradiente, che è attualmente il metodo di ottimizzazione su scala più efficace disponibile.

CRPS vs entropia incrociata

Per quanto riguarda la supply chain, l’entropia incrociata supera ampiamente il CRPS come metrica per le previsioni probabilistiche semplicemente perché pone un’enfasi molto maggiore sugli eventi rari. Consideriamo un modello probabilistico per la domanda che ha una media di 1000 unità, con l’intera massa della distribuzione concentrata nel segmento 990-1010. Supponiamo inoltre che la prossima quantità osservata per la domanda sia 1011.

Dal punto di vista del CRPS, il modello è relativamente buono, poiché la domanda osservata è circa 10 unità lontana dalla previsione media. Al contrario, dal punto di vista dell’entropia incrociata, il modello ha un errore infinito: il modello ha previsto che osservare 1011 unità di domanda avesse probabilità zero - una proposizione molto forte - che si è rivelata essere factualmente errata, come dimostrato dal fatto che sono state appena osservate 1011 unità.

La propensione del CRPS a favorire modelli che possono fare affermazioni assurde come l’evento XY non accadrà mai mentre l’evento accade, contribuisce in larga misura a spiegare, dal punto di vista della supply chain, perché l’entropia incrociata produce risultati migliori. L’entropia incrociata favorisce modelli che non vengono “sorpresi” per così dire quando accade l’improbabile. Nella supply chain, l’improbabile accade, e quando accade senza preparazione preventiva, affrontare questo evento si rivela molto costoso.