Next: Risultati da reti simulate Up: Apprendimento di reti Previous: Apprendimento di reti


Apprendimento bayesiano

  Supponiamo di avere un insieme di variabili aleatorie tex2html_wrap_inline675ed un insieme di loro realizzazioni tex2html_wrap_inline677, detto database di esempi. Supponiamo che sia ignoto il modello tex2html_wrap_inline679che descrive tale insieme di variabili e sia ignota la distribuzione di probabilità congiunta di questo insieme. Denotiamo questa distribuzione con tex2html_wrap_inline681, dove tex2html_wrap_inline683rappresenta i parametri del modello tex2html_wrap_inline679. Il problema da risolvere è quello di stimare la distribuzione, noto il database D.

La distribuzione congiunta di tex2html_wrap_inline689può essere modellata con una rete bayesiana. Questa consiste in un grafo diretto aciclico S (detto struttura) in cui ogni nodo è associato ad un'unica variabile aleatoria tex2html_wrap_inline691e ogni arco rappresenta la dipendenza condizionale fra i nodi che unisce. Inoltre una rete di Bayes contiene un insieme P di distribuzioni locali di probabilità , ciascuna associata ad una variabile aleatoria tex2html_wrap_inline691e condizionata dalle variabili corrispondenti ai nodi sorgenti degli archi entranti nel nodo tex2html_wrap_inline691.


   figure34
Figure 1: Schema della relazione fra un nodo ed i padri in una generica rete bayesiana.



La presenza di un arco dal nodo tex2html_wrap_inline691al nodo tex2html_wrap_inline699può essere interpretata come il fatto che tex2html_wrap_inline691sia causa diretta di tex2html_wrap_inline699. Possiamo pensare una rete di Bayes come un modello per la distribuzione delle variabili aleatorie in tex2html_wrap_inline689, chiamando tex2html_wrap_inline707il modello relativo ad una struttura S e definendo i parametri ad essa associati come tex2html_wrap_inline711. Il simbolo tex2html_wrap_inline713rappresenta il vettore di parametri relativo alla distribuzione locale di probabilità riferita a tex2html_wrap_inline691, indicata con tex2html_wrap_inline717, ove tex2html_wrap_inline719è l'insieme dei nodi padri del nodo i-esimo.

La coppia (S, P) codifica in modo univoco tex2html_wrap_inline723, dato che la distribuzione di probabilità congiunta su tex2html_wrap_inline689è fattorizzabile come

  equation48

L'approccio bayesiano per risolvere il problema di stima proposto prevede di definire una variabile aleatoria discreta tex2html_wrap_inline727i cui stati sono i possibili tex2html_wrap_inline707, che codifica l'incertezza sulla struttura del modello tramite la distribuzione di probabilità a priori tex2html_wrap_inline731. Inoltre, per ogni modello tex2html_wrap_inline707viene definita una variabile aleatoria continua tex2html_wrap_inline735che codifica i possibili valori che i suoi parametri possono assumere, con un incertezza a priori data dalla densità di probabilità tex2html_wrap_inline737.

Dato un database di esempi D, il teorema di Bayes permette di calcolare le distribuzioni a posteriori per le due variabili aleatorie, tex2html_wrap_inline741e tex2html_wrap_inline743. Dopo aver scelto una distribuzione a priori per tex2html_wrap_inline689, condizionata al modello ed ai suoi parametri tex2html_wrap_inline747, la stima della distribuzione a posteriori si trova calcolando il valore atteso del prior rispetto tex2html_wrap_inline741e tex2html_wrap_inline751:

equation76

Purtroppo questo approccio bayesiano puro non può essere applicato nel caso dell'apprendimento delle reti bayesiane, dato che il numero dei possibili modelli rende il calcolo della sommatoria intrattabile. Si aggira il problema facendo l'ipotesi che la distribuzione tex2html_wrap_inline741sia localizzata attorno ad un particolare modello tex2html_wrap_inline755. In questo caso, una volta selezionato tex2html_wrap_inline755, la stima della distribuzione a posteriori di tex2html_wrap_inline689si riduce a:

equation91

Per selezionare tex2html_wrap_inline755si introduce una funzione che applicata ad un modello restituisca un ``punteggio'' che sia tanto più alto quanto il modello è più prossimo a tex2html_wrap_inline755. È naturale utilizzare una funzione tex2html_wrap_inline765 derivata da tex2html_wrap_inline741, solitamente il suo logaritmo, che per il teorema di Bayes può essere messo in relazione con le distribuzioni a priori del modello e dei dati:

eqnarray105

L'approssimazione compiuta deriva dal fatto che tex2html_wrap_inline769è una costante e che il prior sul modello tex2html_wrap_inline771può anch'esso essere supposto costante se si fa l'ipotesi che ogni modello sia equiprobabile (completa ignoranza a priori sul modello).

Per poter massimizzare tex2html_wrap_inline765debbono essere calcolate le distribuzioni tex2html_wrap_inline775. Per poter stimare la distribuzione di tex2html_wrap_inline689è necessario il computo di tex2html_wrap_inline779. Il loro calcolo può esser compiuto in forma chiusa applicando le seguenti ipotesi sulla rete bayesiana e sul database di esempi D.

hp1.
Ogni variabile tex2html_wrap_inline691è discreta (può assumere gli stati tex2html_wrap_inline785, con tex2html_wrap_inline787) e la sua distribuzione locale di probabilità è una collezione di distribuzioni multinomiali tex2html_wrap_inline789, una per ogni stato tex2html_wrap_inline791delle variabili padri ( tex2html_wrap_inline793con tex2html_wrap_inline795), tali che tex2html_wrap_inline797. Definiamo anche due vettori di parametri tex2html_wrap_inline799e tex2html_wrap_inline801per semplificare la notazione.
hp2.
I parametri tex2html_wrap_inline803sono mutuamente indipendenti. Ciò comporta, come illustrato in [1], che il problema diviene separabile nel senso espresso dall'equazione tex2html_wrap_inline805.
hp3.
Ogni insieme di parametri tex2html_wrap_inline803ha come distribuzione la coniugata della distribuzione della variabile tex2html_wrap_inline691corrispondente. In questo caso è la distribuzione di Dirchlet, tex2html_wrap_inline811ove gli tex2html_wrap_inline813sono degli iperparametri della distribuzione, tali che tex2html_wrap_inline815e che tex2html_wrap_inline817.
hp4.
D è completo, quindi non ci sono osservazioni mancanti.
hp5.
Il campione D deve essere estratto da un fenomeno il cui modello è una struttura S di una rete di Bayes.

Sotto queste ipotesi in [2] sono riportati i seguenti risultati:

  equation174

  equation189

ove tex2html_wrap_inline825è il numero delle volte che nel database D si ha tex2html_wrap_inline829e tex2html_wrap_inline831, mentre tex2html_wrap_inline833. Dall' equazione 5 è immediato ricavare che tex2html_wrap_inline765può essere calcolato come

  eqnarray208

Per poter avere una formula computabile bisogna assegnare dei valori agli tex2html_wrap_inline813. Questi iperparametri codificano la conoscenza a priori che l'utente ha sui parametri delle probabilità associate alla rete. Dato che abbiamo supposto una completa ignoranza, è logico porre tex2html_wrap_inline839che deriva da tex2html_wrap_inline841, interpretabile come l'equiprobabilità di ogni istanza dello spazio delle probabilità congiunte su tex2html_wrap_inline843e tex2html_wrap_inline719. Resta così da assegnare un unico ``iper''iperparametro tex2html_wrap_inline847che in letteratura è chiamato dimensione di un campione equivalente.

Abbiamo tutti gli elementi per presentare uno schema della procedura di apprendimento di una rete bayesiana da un database D di esempi, che risolve il problema di stima proposto.


Procedura di stima della distribuzione di probabilità congiunta di tex2html_wrap_inline689.
passo 1:
trovare, tramite un opportuno algoritmo di ricerca, la struttura tex2html_wrap_inline853che massimizza tex2html_wrap_inline765, dopo aver assegnato un opportuno tex2html_wrap_inline847.
passo 2:
calcolare la distribuzione a posteriori tex2html_wrap_inline859per ciascuno stato di ogni variabile tex2html_wrap_inline691, in modo da ottenere le stime per i valori contenuti nelle tabelle di probabilità associate a ciascun nodo.

Per avere uno schema di apprendimento completo, manca solo la definizione di una metodologia di ricerca nello spazio delle strutture delle reti bayesiane associate all'insieme di variabili aleatorie tex2html_wrap_inline689. Seguendo i risultati esposti in [3] è stata scelta una procedura di ricerca ``hill-climbing'' per cercare di massimizzare la funzione tex2html_wrap_inline765.

Scelta una struttura S è possibile valutare il guadagno di tex2html_wrap_inline869che si ha per ogni possibile variazione elementare degli archi, in modo da mantenere l'aciclicità del grafo. Queste variazioni sono l'aggiunta di un arco fra due nodi mutuamente indipendenti, la cancellazione di un arco fra due nodi dipendenti, il cambiamento di verso di un arco fra due nodi.

Sfruttando il fatto che la funzione di costo descritta dall'equazione 7 può essere scomposta nella somma di n addendi, ciascuno associato ad un nodo tex2html_wrap_inline691ed ai suoi padri tex2html_wrap_inline719, la variazione di un solo arco della struttura S influirà al più su due addendi, relativi ai nodi sorgente e pozzo dell'arco variato. In particolare ciò accade soltanto se un arco della struttura viene invertito. Negli altri casi è sufficiente calcolare la variazione dell'addendo relativo al nodo pozzo del nuovo arco.

Dopo aver calcolato tutte le variazioni elementari possibili si effettua, se esiste, quella che porterebbe un guadagno positivo maggiore. Il nuovo tex2html_wrap_inline869viene aggiornato e si reitera il procedimento. La ricerca termina nel caso in cui nessuna modifica faccia aumentare lo tex2html_wrap_inline869oppure se viene raggiunto il limite massimo del numero di iterazioni possibili. Lo schema della procedura di ricerca appena esposta si trova in figura 2.


   figure266
Figure 2: Schema della ricerca Hill-Climbing in uno spazio di grafi associati a reti bayesiane.



Questo tipo di approccio necessita di un grafo di partenza. Candidati per questo possono essere il grafo privo di archi, che codifica la completa ignoranza sulle relazioni che intercorrono fra le variabili, un grafo aciclico costruito inserendo archi in modo casuale oppure una rete che rappresenti la conoscenza a priori posseduta sul dominio del problema.


Next: Risultati da reti simulate Up: Apprendimento di reti Previous: Apprendimento di reti