Entropia incrociata

learn menu
Di Joannes Vermorel, gennaio 2018

La cross-entropia è una metrica che può essere utilizzata per riflettere l’accuratezza delle previsioni probabilistiche. La cross-entropia è strettamente collegata alla stima della massima verosimiglianza. La cross-entropia è di primaria importanza per i sistemi di previsione moderni, poiché è fondamentale per rendere possibili previsioni superiori, anche per metriche alternative. Da una supply chain perspective, la cross-entropia è particolarmente importante in quanto supporta la stima di modelli che sono anche bravi a catturare le probabilità di eventi rari, che frequentemente risultano essere i più costosi. Questa metrica si discosta sostanzialmente dall’intuizione che supporta metriche di accuratezza, come l’errore quadratico medio o l’errore percentuale assoluto medio.

Probabilità frequentista vs probabilità bayesiana

Un modo comune di comprendere la statistica è attraverso 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-entropia si discosta da questa prospettiva adottando quella 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 della probabilità del fenomeno. Successivamente, tramite osservazioni ripetute, si valuta come il modello si comporta di fronte alle reali occorrenze del fenomeno. Con l’aumentare del numero di occorrenze, la misurazione dell’(in)adeguatezza del modello migliora.

Le prospettive frequentista e bayesiana sono entrambe valide e utili. Da una prospettiva supply chain, poiché raccogliere osservazioni è costoso e piuttosto rigido – le aziende hanno scarso controllo sulla generazione degli ordini per un prodotto – la prospettiva bayesiana è spesso più gestibile.

L’intuizione della cross-entropia

Prima di approfondire la formulazione algebrica della cross-entropia, cerchiamo di fare chiarezza sulla sua intuizione di base. Supponiamo di disporre di un modello probabilistico – o semplicemente modello di seguito – che intende sia spiegare il passato sia prevedere il futuro. Per ogni osservazione passata, questo modello fornisce una stima della probabilità che tale osservazione si sarebbe verificata esattamente come è accaduta. Sebbene sia possibile costruire un modello che si limiti a memorizzare tutte le osservazioni passate assegnando loro una probabilità esattamente pari a 1, questo modello non ci direbbe nulla sul futuro. Pertanto, un modello interessante in qualche modo approssima il passato, e di conseguenza fornisce probabilità inferiori a 1 per 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, ovvero Indipendenti e Identicamente Distribuite), allora la probabilità che questo modello avrebbe generato l’insieme di osservazioni in nostro possesso è il prodotto di tutte le probabilità stimate dal modello per ogni osservazione passata.

Il prodotto matematico di migliaia di variabili che sono tipicamente inferiori a 0,5 – assumendo che si tratti di un fenomeno piuttosto incerto – può essere previsto come un numero incredibilmente piccolo. Ad esempio, anche considerando un modello eccellente per prevedere la domanda, qual è la probabilità che questo modello possa generare tutti i dati di vendita osservati da un’azienda nel corso di un anno? Sebbene stimare questo numero non sia banale, è chiaro che esso sarebbe sorprendentemente piccolo.

Pertanto, per mitigare questo problema numerico noto come underflow aritmetico, si introducono i logaritmi. Intuitivamente, i logaritmi possono essere utilizzati per trasformare i prodotti in somme, affrontando in modo conveniente il problema dell’underflow aritmetico.

Definizione formale della cross-entropia

Per due variabili casuali discrete $${p}$$ e $${q}$$, la cross-entropia è definita come:

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

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

Nella teoria dell’informazione, la cross-entropia può essere interpretata come la lunghezza attesa in bit per codificare i messaggi, quando si utilizza $${Q}$$ anziché $${P}$$. Questa prospettiva va oltre la discussione attuale e non è di primaria importanza da una prospettiva supply chain.

In pratica, poiché $${P}$$ non è noto, la cross-entropia viene stimata empiricamente dalle osservazioni, assumendo semplicemente che tutte le osservazioni raccolte siano ugualmente 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-verosimiglianza. Ottimizzare la cross-entropia o la log-verosimiglianza è sostanzialmente la stessa cosa, sia concettualmente che numericamente.

La superiorità della cross-entropia

Dal 1990 all’inizio degli anni 2010, la maggior parte della comunità statistica era convinta che il modo più efficiente, da una prospettiva puramente numerica, per ottimizzare una metrica data, ad esempio il MAPE (errore percentuale assoluto medio), fosse quello di costruire un algoritmo di ottimizzazione direttamente orientato a questa metrica. Eppure, una intuizione critica e controintuitiva raggiunta dalla comunità del deep learning è che non fosse così. L’ottimizzazione numerica è un problema molto difficile, e la maggior parte delle metriche non è adatta a sforzi di ottimizzazione numerica efficienti e su larga scala. Inoltre, nello stesso periodo, la comunità della data science aveva compreso che tutti i problemi di previsione erano in realtà problemi di ottimizzazione numerica.

Da una prospettiva supply chain, la conclusione è che anche se l’obiettivo dell’azienda è ottimizzare una metrica di previsione come il MAPE o il MSE (errore quadratico medio), in pratica la strada più efficiente è ottimizzare la cross-entropia. Presso Lokad, nel 2017, abbiamo raccolto una quantità significativa di evidenze empiriche a sostegno di questa affermazione. Ancora più sorprendente, forse, la cross-entropia supera anche il CRPS (continuous-ranked probability score), un’altra metrica di accuratezza probabilistica, anche se i modelli risultanti vengono infine valutati in base al CRPS.

Non è del tutto chiaro cosa renda la cross-entropia una metrica così adatta all’ottimizzazione numerica. Uno degli argomenti più convincenti, dettagliato in Ian Goodfellow et all, è che la cross-entropia fornisce valori di gradiente molto elevati, particolarmente utili per il gradient descent, che precisamente si rivela il metodo di ottimizzazione numerica di scala più efficace attualmente disponibile.

CRPS vs cross-entropia

Per quanto riguarda la supply chain, la cross-entropia supera in gran parte 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 tutta la massa della distribuzione concentrata nell’intervallo 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 è a circa 10 unità dalla previsione media. Al contrario, dal punto di vista della cross-entropia, il modello ha un errore infinito: il modello aveva previsto che l’osservazione di 1011 unità di domanda avesse una probabilità zero – un’affermazione molto forte – che si è rivelata fattualmente errata, come dimostrato dal fatto che sono state appena osservate 1011 unità.

La tendenza del CRPS a favorire modelli che possono fare affermazioni assurde come l’evento XY non accadrà mai mentre l’evento si verifica, contribuisce in gran parte a spiegare, da una prospettiva supply chain, perché la cross-entropia offre risultati migliori. La cross-entropia favorisce modelli che non vengono presi alla sprovvista, per così dire, quando l’improbabile si verifica. Nella supply chain, l’improbabile accade, e quando ciò avviene senza una preparazione preventiva, la gestione di tale evento si rivela molto costosa.