Università degli Studi di Parma Ragionamento con conoscenza incerta
Probabilità Probabilità incondizionata o a priori P(A) è la probabilità che la proposizione A sia vera. Probabilità condizionata o a posteriori P(A| B) è la probabilità che A sia vera dato B vero. P(A| B) si può essere definita come: P(A| B) = P(A B) / P(B) per P(B) > 0 che si può scrivere: P(A B) = P(A| B)P(B) La teoria delle probabilità si basa sui seguenti assiomi: –0 P(A) 1 –P(True) = 1 allora P(False) = 0 –P(A B) = P(A) + P(B) - P(A B) da cui segue P(A) = 1 - P( A)
Gli assiomi sono ragionevoli? Dati i tre eventi: A, B e (A B) se seguiamo la logica, uno dei tre deve essere falso e quindi è irragionevole credere a tutti e tre. Se assegniamo i seguenti valori si violano gli assiomi: –P(A) =0.4 –P(B) = 0.3 –P(A B) = 0 –P(A B) = 0.8 –infatti: P(A B) = P(A) + P(B) - P(A B)
Distribuzione di probabilità congiunta Siano X 1... X n un insieme di variabili che mi definiscono un modello probabilistico del dominio in cui opero. Indico con il nome di evento atomico l’assegnamento di un particolare valore a tutte le variabili. La distribuzione delle probabilità congiunte P(X 1... X n ) assegna le probabilità a tutti i possibili eventi atomici.
Distribuzione della probabilita` congiunta Esempio: due variabili booleane : Carie e Mal Di Denti Sommare lungo una riga o lungo una colonna fornisce la probabilita` incondizionata:P(Carie) = Oppure: P(Carie Mal Di Denti) = = 0.11 Possiamo trovare le probabilita` condizionate da quelle congiunte: P(Carie|Mal Di Denti) = P(Carie Mal Di Denti) / P(Mal Di Denti) = 0.04 / ( ) = 0.08
Regola di Bayes Date le due forme: P(A B) = P(A| B)P(B) P(A B) = P(B| A)P(A) Uguagliando e dividendo per P(A) otteniamo la probabilità che l’evento B sia vero dato A: P(B| A) = P(A| B)P(B) / P(A) Questa forma indica La regola può essere estesa al caso siano dati per veri più eventi, ad esempio, A ed E: P(B| A,E) = P(A| B,E)P(B|E) / P(A|E)
Regola di Bayes Si puo` legare conoscenza causale e diagnostica. Ad esempio, un medico sa che la meningite induce nel 50% dei casi un irrigidimento del collo (conoscenza causale). Conosce anche la probabilita` incondizionate di avere un irrigidimento del collo e’ di 1/20 e per la mengite di 1/ –P(S) = 0.05 la probabilità che un paziente abbia un irrigidimento del collo; –P(M) = la probabilità che un paziente abbia la meningite; –P(S|M) = 0.5 la probabilità che un paziente con abbia un irrigidimento del collo data la meningite ; La regola di Bayes permette di calcolare la probabilità che un paziente abbia la meningite in presenza di un irrigidimento del collo (conoscenza diagnostica) : P(M|S) = P(S|M) P(M) / P(S) = 0.5 x / 0.05 =
Regola di Bayes Supponiamo che in alternativa alla meningite, il paziente possa avere un irrigidimento del collo per un colpo di frusta. Abbiamo le due equazioni: –P(M|S) = P(S| M)P(M) / P(S) –P(W|S) = P(S| W)P(W) / P(S) Confrontando le due equazioni possiamo calcolare la probabilità relativa: P(M|S) / P(W|S)= P(S| M)P(M) / P(S| W)P(W) che per P(S|W) = 0.8 e P(W) = assume il valore: P(M|S) / P(W|S)= 0.5 x / (0.8 x 0.001) = 1 / 80 possiamo interpretare questo valore come la verosimiglianza relativa della meningite e del colpo di frusta dato un irrigidimento del collo.
Regola di Bayes Se abbiamo un insieme esaustivo dei casi e’ possibile calcolare P(M|S)=P(S|M) P(M)/P(S) senza conoscere la probabilita` a priori del sintomo P(S). Tenendo conto che: P( S) = P(S| M)P(M) + P(S| M)P( M) la regola di Bayes: P(M| S) = P(S| M)P(M) / P(S) si può anche scrivere nella forma: P(M| S) = P(S| M)P(M) /(P(S| M)P(M) + P(S| M)P( M)) Se disponiamo di P(S| M) possiamo evitare di calcolare direttamente P(S).
Regola di Bayes Combinazione delle prove Supponiamo di avere due probabilità condizionate relative alla carie (ci sono due sintomi per la carie): –P(Carie|MalDiDenti) –P(Carie|Colpire)(Colpire = Il dente fa male se colpito dal sondino del dentista) Saremo interessati a conoscere la probabilita` della Carie dati Mal Di Denti e Colpire: –P(Carie|Mal Di Denti Colpire) possiamo: –usare la distribuzione delle probabilità congiunte; –usare la regola di Bayes: P(Carie|Mal Di Denti Colpire) = P(Mal Di Denti Colpire|Carie) P(Carie) / P(Mal Di Denti Colpire) abbiamo cioe` bisogno di conoscere le probabilita` condizionali di Mal Di Denti Colpire dato Carie (Con n sintomi avrei n*n coppie)
Regola di Bayes Aggiornamento Bayesiano Si incorpora un pezzo di prova alla volta. Iniziamo a considerare il mal di denti applicando –P(Carie|MalDiDenti) = P(Mal Di Denti|Carie) P(Carie) / P(Mal Di Denti) Consideriamo adesso Colpire P(Carie|Mal Di Denti Colpire) = P(Carie|MalDiDenti) P(Colpire|Mal Di Denti Carie)/P(Colpire|Mal Di Denti)= P(Carie) (P(Mal Di Denti|Carie)/P(Mal Di Denti)) * ( P(Colpire|Mal Di Denti Carie) /P(Colpire|Mal Di Denti)) All’ osservazione di ogni nuovo sintomo la credenza della variabile ignota e’ moltiplicata da un fattore contenente il nuovo sintomo. Tuttavia il fattore di moltiplicazione dipende anche dai sintomi gia` considerati in precedenza.
Regola di Bayes Indipendenza condizionale Possiamo pensare che Mal Di Denti e Colpire siano ambedue causati dalla Carie ma siano indipendenti fra loro: –P(Colpire|Carie Mal Di Denrti) = P (Colpire|Carie) –P(Mal Di Denti|Carie Colpire) = P(Mal Di Denti|Carie) In questo caso P(Carie|Mal Di Denti Colpire) = P(Carie) (P(Mal Di Denti|Carie)/P(Mal Di Denti)) * ( P(Colpire|Mal Di Denti Carie) /P(Colpire|Mal Di Denti))= P(Carie) (P(Mal Di Denti|Carie)/P(Mal Di Denti)) * ( P(Colpire|Carie) /P(Colpire|Mal Di Denti))
Reti Bayesiane Dato un dominio, se abbiamo a disposizione la distribuzione delle probabilità congiunte, possiamo rispondere ad ogni domanda che lo riguarda. Tuttavia il dominio diventa intrattabile al crescere del numero delle variabili. L’uso della regola di Bayes e della relazione di indipendenza condizionale può permettere di: – semplificare il calcolo di una risposta ad una domanda; – ridurre il numero di probabilità condizionate necessarie.
Reti Bayesiane Per ottenere ciò viene usata una struttura dati detta rete Bayesiana. Una rete Bayesiana ha le seguenti proprietà: –ogni nodo rappresenta una variabile casuale; –i nodi sono connessi da archi indicanti le influenze tra i nodi; –ogni nodo ha una tabella delle probabilità condizionate che quantificano gli effetti che i nodi genitori hanno sul nodo; –la rete è un grafo aciclico.
Reti Bayesiane Burglary Earthquake Alarm JohnCalls MaryCalls Burglary Earthquake Alarm JohnCalls MaryCalls
Reti Bayesiane Da una rete bayesiana possiamo calcolare ogni elemento della distribuzione delle probabilità congiunte attraverso la forma: P(X 1... X n ) = i=1 to n P(X i | Parents(X i )) Quindi la probabilità che l’allarme suoni senza intrusione o terremoto e che entrambi John e Mary abbiano chiamino è: P(J M A B E) = P(J|A)P(M|A)P(A| B E)P( B)P( E) = 0.90 x 0.70 x x x =
Reti Bayesiane Usando la definizione di probabilità condizionata si ha che: P(X 1... X n ) = P(X n |X n-1... X 1 )... P(X 2 |X 1 )P(X 1 ) = i=1 to n P(X i |X i-1... X 1 ) che è equivalente a: P(X 1... X n ) = i=1 to n P(X i |Parents(X i )) se: Parents(X i ) {X i-1... X 1 )} Cioè una rete bayesiana è una corretta rappresentazione se un suo nodo è condizionatamente indipendente dai nodi che lo precedono nell’ordine dei nodi.
Reti Bayesiane La procedura generale per costruire una rete Bayesiana è la seguente: –scegliere le variabili che definisco il dominio del problema; –scegliere un ordine per le variabili; –finché ci sono variabili: »prendere la prima variabile e aggiungere il nodo corrispondente alla rete; »collegare al nodo l’insieme minimo dei nodi già nella rete da cui il nodo dipende; »definire la tabella delle probabilità condizionate per il nodo.
Reti Bayesiane La definizione delle tabelle delle probabilità condizionate può richiedere un gran tempo se le relazioni tra i nodi sono del tutto arbitrarie. Spesso tuttavia possono essere rappresentate attraverso delle distribuzioni canoniche: –relazioni deterministiche, i nodi figli assumono i valori dei nodi genitori senza nessuna aggiunta di incertezza. –relazioni noisy-OR, se un nodo E (effetto) dipende solo dai nodi elencati C i (cause) e questi sono indipendenti, indicando con il nome di noise parameter P(NPC i ) = 1 - P(E|C i ) si ha che: »P(E) = 0 se le cause sono tutte false; »P(E) = 1 - i:c i =true P(NPC i )
Reti Bayesiane Siano (fra parentesi gli ‘inibitori’ o parametri di rumore): –P(Fever|Cold) = 0.4(0.6) –P(Fever|Flu) = 0.8 (0.2) –P(Fever|Malaria) = 0.9 (O.1) Supponiamo che esse siano le uniche possibili cause (Per un nodo di uscita faso si moltiplicano tutti I parametri di rumore dei nodi veri)
Reti Bayesiane Per poter fare delle inferenze può essere utile sapere se due insiemi di nodo X e Y sono indipendenti tra loro dato un set di un set di osservazioni E. Questo è possibile grazie al metodo della separazione della dipendenza diretta detta anche d-separation: Z Z Z XY E (1) (2) (3)
Reti Bayesiane Con una rete Bayesiana possiamo fare diversi tipi di inferenze: –inferenza diagnostica (dagli effetti alle cause) »P(Burglary|JohnCalls) = –inferenza causale (dalle cause agli effetti) »P(JohnCalls|Burglary) = 0.86 »P(MaryCalls|Burglary) = 0.67 –inferenza intercausale (tra le cause di un effetto comune) »P(Burglary|Alarm) = »P(Burglary|Alarm Earthquake) = –inferenza mista (combinazione delle inferenze precedenti) »P(Alarm|JohnCalls Earthquake) = 0.03
Reti Bayesiane Esistono vari algoritmi per fare delle inferenze nelle reti Bayesiane. Gran parte di questi algoritmi possono essere applicati solo su reti in cui esiste un unico percorso per unire due nodi (polytree). A B C D
Reti Bayesiane Uno degli algoritmi più utilizzati calcola una probabilità P(X|E) scomponendo il contributo delle evidenze E in: –E +, contributo causale, dovuto a evidenze connesse a X tramite i genitori di X, e –E -, contributo evidenziale, dovuto a evidenze connesse a X tramite i figli di X. Quindi potrò scrivere: P(X|E) = P(X|E -,E + ) = P(E - |X,E + )P(X|E + ) / P(E - |E + ) Dato che X d-separa E - e E +, allora possiamo scrivere: P(X|E) = P(X|E -,E + ) = P(E - |X,E + )P(X|E + ) / P(E - |E + ) = P(E - |X)P(X|E + ) / P(E - |E + ) = P(E - |X)P(X|E + )
Reti Bayesiane Come si può ragionare con reti che non sono polytree? –clustering –conditioning –stochastic simulation: se le probabilità a priori e le probabilità condizionate di una rete sono corrette dopo un ciclo infinito di simulazioni: P(D|A) = P(A D) / P(A) = Occ(A D) / Occ(A) A B C D B+C D +A+A +A+A B C D -A-A -A-A