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 X1... Xn 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(X1... Xn) assegna le probabilità a tutti i possibili
eventi atomici.
Distribuzione della probabilita` congiunta
Esempio: due variabili booleane:
Carie e Mal Di Denti
Mal Di Denti
Mal Di Denti
Carie
0.04
0.06
Carie
0.01
0.89
Sommare lungo una riga o lungo una colonna fornisce la probabilita`
incondizionata:P(Carie) = 0.04 + 0.06
Oppure: P(Carie  Mal Di Denti) = 0.04 + 0.01 + 0.06 = 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.04 + 0.01) = 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/50000.
– P(S) = 0.05 la probabilità che un paziente abbia un irrigidimento del collo;
– P(M) = 0.00002 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.00002 / 0.05 = 0.0002
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) = 0.001 assume il valore:
P(M|S) / P(W|S)= 0.5 x 0.00002 / (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
JohnCalls
Alarm
Earthquake
P(B)
0.001
Burglary
MaryCalls
B
T
T
F
F
E
T
F
T
F
P(A)
0.95
0.94
0.29
0.001
JohnCalls
A
T
F
P(J)
0.90
0.05
A
T
F
P(M)
0.70
0.01
Alarm
P(E)
0.002
Earthquake
MaryCalls
Reti Bayesiane
• Da una rete bayesiana possiamo calcolare ogni
elemento della distribuzione delle probabilità
congiunte attraverso la forma:
P(X1... Xn) =i=1 to nP(Xi | Parents(Xi))
• 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 0.001 x 0.999 x 0.998 = 0.00062
Reti Bayesiane
• Usando la definizione di probabilità condizionata
si ha che:
P(X1... Xn) = P(Xn|Xn-1... X1) ... P(X2|X1)P(X1)
= i=1 to nP(Xi|Xi-1... X1)
che è equivalente a:
P(X1... Xn) =i=1 to nP(Xi|Parents(Xi))
se:
Parents(Xi){Xi-1... X1)}
• 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 Ci (cause) e questi sono indipendenti, indicando
con il nome di noise parameter P(NPCi ) = 1 - P(E|Ci ) si ha
che:
» P(E) = 0 se le cause sono tutte false;
» P(E) = 1 - i:ci =trueP(NPCi )
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)
Cold
Flu
F
F
F
F
T
T
T
T
F
F
T
T
F
F
T
T
Malaria
F
T
F
T
F
T
F
T
P(Fever)
0.0
0.9
0.8
0.98
0.4
0.94
0.88
0.988
P( Fever)
1.0
0.1
0.2
0.02 = 0.2 x 0.1
0.6
0.06 = 0.6 x 0.1
0.12 = 0.6 x 0.2
0.012 = 0.6 x 0.2 x 0.1
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
(1)
(2)
E
(3)
Z
Z
X
Y
Reti Bayesiane
• Con una rete Bayesiana possiamo fare diversi
tipi di inferenze:
– inferenza diagnostica (dagli effetti alle cause)
» P(Burglary|JohnCalls) = 0.016
– 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) = 0.376
» P(Burglary|AlarmEarthquake) = 0.003
– 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
C
B
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
A
B+C
D
– conditioning
+A
+A
-A
B
C
D
-A
B
C
D
– 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)