Rete neurale bayesiana
Cosa sono le reti neurali bayesiane?
Le reti neurali bayesiane (BNN) sono un'estensione delle reti standard che utilizzano l'inferenza a posteriori per controllare l'overfitting. Da una prospettiva più ampia, l'approccio bayesiano utilizza la metodologia statistica in modo che a ogni elemento sia associata una distribuzione di probabilità, anche ai parametri del modello (pesi e distorsioni nelle reti neurali). Nei linguaggi di programmazione, le variabili che possono assumere un valore specifico restituiscono lo stesso risultato a ogni accesso. Cominciamo con la revisione di un semplice modello lineare, che predice l'output attraverso la somma ponderata di una serie di caratteristiche di input. In confronto, nel mondo bayesiano possiamo avere enti simili, noti come variabili casuali, che a ogni accesso restituiranno un valore diverso. In termini bayesiani, i dati storici rappresentano le nostre conoscenze precedenti di quel comportamento nel suo complesso, e ogni variabile ha proprietà statistiche peculiari che variano nel tempo. Supponiamo che X sia una variabile casuale che rappresenta la distribuzione normale; ogni volta che si accede a X, il risultato restituito avrà valori diversi. Questo processo che permette di ottenere un nuovo valore da una variabile casuale è chiamato campionamento. Il valore restituito dipende dalla distribuzione di probabilità associata alla variabile casuale. Ciò significa che, nello spazio dei parametri, è possibile dedurre la natura e la forma dei parametri appresi dalla rete neurale. Recentemente c'è stato grande fermento in questo settore grazie all'avvento di numerose librerie di programmazione probabilistica come PyMC3, Edward, Stan e altre. I metodi bayesiani sono utilizzati in molti campi: dallo sviluppo di giochi alla ricerca sui farmaci.
Quali sono i principali vantaggi delle reti neurali bayesiane (BNN)?
- Le reti neurali bayesiane sono utili per risolvere problemi in settori con pochi dati, evitando il rischio di overfitting. Esempi di applicazioni sono la biologia molecolare e la diagnosi medica (settori in cui i dati provengono spesso da lavori di sperimentazione complessi e costosi).
- Le reti bayesiane sono universalmente utili.
- Possono ottenere risultati migliori in un gran numero di situazioni, ma sono estremamente difficili da scalare per applicarle a problemi di grandi dimensioni.
- Le BNN consentono di calcolare automaticamente l'errore associato alle previsioni quando si ha a che fare con dati di target sconosciuti.
- Consentono di stimare l'incertezza delle previsioni, una funziona particolarmente utile in campi quali la medicina.
Perché utilizzare reti neurali bayesiane?
Invece di tener conto di una singola risposta a una domanda, i metodi bayesiani consentono di considerare un'intera distribuzione di risposte. Questo approccio è intrinsecamente adatto ad affrontare questioni quali:
- regolarizzazione (overfitting o meno);
- selezione/confronto di modelli, senza la necessità di un set di dati separato per la convalida incrociata.