Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

Inferenza per enumerazione ed eliminazione di variabili

Immaginiamo di dover calcolare la probabilità di un evento XX date delle informazioni (evidence) e={e1,e2,,en}{\bf e}=\{e_1,\,e_2,\,\dots,\,e_n\}, possiamo calcolare la probabilità P(Xe)P(X \mid {\bf e}), ovvero la probabilità che XX avvenga date le informazioni disponibili, come

P(Xe)=αP(X,e),con α=1i=0nP(Xei)()\tag{$\spades$}P(X \mid {\bf e})=\alpha P(X,\,{\bf e}),\qquad\text{con }\alpha=\dfrac{1}{\displaystyle\sum_{i=0}^n P(X \mid e_i)}

Esempio: consideriamo il seguente grafo

Calcolare P(Bj,m){\bf P}(B \mid j,\,m).

Soluzione
  1. Possiamo innanzitutto trasformare la probabilità P(Bj,m){\bf P}(B \mid j,\,m) come αP(B,j,m)\alpha{\bf P}(B,\,j,\,m), dove abbiamo usato ()(\spades)
  2. A questo punto, la distribuzione di probabilità in questione può essere ulteriormente divisa utilizzando la probabilità totale
    P(Bj,m)=αP(b,j,m),P(¬b,j,m) {\bf P}(B \mid j,\,m)=\alpha\langle P(b,\,j,\,m),\,P(\neg b,\,j,\,m)\rangle
  3. Dobbiamo ora calcolare separatamente i valori P(b,j,m)P(b,\,j,\,m) e P(¬b,j,m)P(\neg b,\,j,\,m) sfruttando la probabilità totale marginalizzando sui valori ee ed aa che non appaiono nella probabilità che stiamo cercando
  4. Per P(b,j,m)P(b,\,j,\,m) vale dunque
    eaP(b,j,m,e,a) \sum_e\sum_a P(b,\,j,\,m,\,e,\,a)
  5. Utilizzando la legge della probabilità totale decomposta tramite chain rule possiamo esprimere tale probabilità come
    eaP(ma)P(ja)P(ab,e)P(b)P(e) \sum_e\sum_a P(m\mid a)P(j\mid a)P(a\mid b,\,e)P(b)P(e)
  6. Che possiamo riscrivere in maniera più ordinata come
    P(b)eP(e)aP(ma)P(ja)P(ab,e)P(b)\sum_e P(e)\sum_a P(m\mid a)P(j\mid a)P(a\mid b,\,e)
  7. Dobbiamo ora ripetere la stessa cosa per ¬b\neg b
    P(¬b,j,m)=eaP(¬b,j,m,e,a)=eaP(ma)P(ja)P(a¬b,e)P(¬b)P(e)=P(¬b)eP(e)aP(ma)P(ja)P(a¬b,e) \begin{aligned} P(\neg b,\,j,\,m)&=\sum_e\sum_a P(\neg b,\,j,\,m,\,e,\,a)\\[20pt] &=\sum_e\sum_a P(m\mid a)P(j\mid a)P(a\mid \neg b,\,e)P(\neg b)P(e)\\[20pt] &=P(\neg b)\sum_e P(e)\sum_a P(m\mid a)P(j\mid a)P(a\mid \neg b,\,e) \end{aligned}
  8. Per trovare P(Bj,m){\bf P}(B \mid j,\,m) dobbiamo ora soltanto trovare il valore di α\alpha tale per cui
    P(b,j,m)+P(¬b,j,m)=1 P(b,\,j,\,m)+P(\neg b,\,j,\,m)=1

Esercizio: facendo riferimento alla seguente rete baeysiana con le relative CPT, calcolare la probabilità che sia avvenuta una rapina (Burglary) se sia Mary che John hanno chiamato.

Soluzione

Si tratta, di fatto, della stessa rete utilizzata nell’esempio precedente. Non ci resta che trovare i valori numerici per P(¬b,j,m)P(\neg b,\,j,\,m) e P(b,j,m)P(b,\,j,\,m).

  1. Il valore di P(b)P(b) può essere ottenuto dalla CPT e vale
    P(b)=0.001 P(b)=0.001
  2. Per le sommatorie dovremo invece considerare diversi casi: bisognerà innanzitutto far variare il valore di ee tra tutti i suoi valori possibili—dunque ee e ¬e\neg e— per poi utilizzarli ognuno nella sommatoria in aa che a sua volta andrà divisa tra i valori aa e ¬a\neg a
  3. Espandiamo prima la sommatoria in aa con il valore ee (non negato)
    aP(ma)P(ja)P(ab,e)==P(ma)P(ja)P(ab,e)+P(m¬a)P(j¬a)P(¬ab,e)=0.70.90.95+0.010.05(10.95)=0.598525 \begin{aligned} &\sum_a P(m\mid a)P(j\mid a)P(a\mid b,\,e)=\\ &=P(m \mid a)P(j \mid a)P(a \mid b,\, e)+P(m \mid \neg a)P(j \mid \neg a)P(\neg a \mid b,\, e)\\ &=0.7\cdot0.9\cdot0.95+0.01\cdot0.05\cdot(1-0.95)\\ &=0.598525 \end{aligned}
  4. Espandendo invece la sommatoria in aa con il valore ¬e\neg e
    aP(ma)P(ja)P(ab,¬e)==P(ma)P(ja)P(ab,¬e)+P(m¬a)P(j¬a)P(¬ab,¬e)=0.70.90.94+0.010.05(10.94)=0.59223 \begin{aligned} &\sum_a P(m\mid a)P(j\mid a)P(a\mid b,\,\neg e)=\\ &=P(m \mid a)P(j \mid a)P(a \mid b,\, \neg e)+P(m \mid \neg a)P(j \mid \neg a)P(\neg a \mid b,\, \neg e)\\ &=0.7\cdot0.9\cdot0.94+0.01\cdot0.05\cdot(1-0.94)\\ &=0.59223 \end{aligned}
  5. Poiché sappiamo (dalla CPT) che
    P(e)=0.002P(¬e)=10.002=0.998P(e)=0.002\\ P(\neg e)=1-0.002=0.998
    possiamo calcolare il valore di P(b,j,m)P(b,\,j,\,m) come
    P(b,j,m)=0.001[0.0020.598525+0.9980.59223]=0.0005922426 \begin{aligned} P(b,\,j,\,m)&=0.001\cdot[0.002\cdot0.598525+0.998\cdot0.59223]\\ &=0.0005922426 \end{aligned}
  6. Il valore di P(¬b)P(\neg b) può invece essere ottenuto direttamente come
    P(¬b)=10.001=0.999 P(\neg b)=1-0.001=0.999
  7. Espandiamo prima la sommatoria in aa con il valore ee (non negato)
    aP(ma)P(ja)P(a¬b,e)==P(ma)P(ja)P(a¬b,e)+P(m¬a)P(j¬a)P(¬a¬b,e)=0.70.90.29+0.010.05(10.29)=0.183055 \begin{aligned} &\sum_a P(m\mid a)P(j\mid a)P(a\mid \neg b,\,e)=\\ &=P(m \mid a)P(j \mid a)P(a \mid \neg b,\, e)+P(m \mid \neg a)P(j \mid \neg a)P(\neg a \mid \neg b,\, e)\\ &=0.7\cdot0.9\cdot0.29+0.01\cdot0.05\cdot(1-0.29)\\ &=0.183055 \end{aligned}
  8. Espandendo invece la sommatoria in aa con il valore ¬e\neg e
    aP(ma)P(ja)P(a¬b,¬e)==P(ma)P(ja)P(a¬b,¬e)+P(m¬a)P(j¬a)P(¬a¬b,¬e)=0.70.90.001+0.010.05(10.001)=0.0011295\begin{aligned} &\sum_a P(m\mid a)P(j\mid a)P(a\mid \neg b,\,\neg e)=\\ &=P(m \mid a)P(j \mid a)P(a \mid \neg b,\, \neg e)+P(m \mid \neg a)P(j \mid \neg a)P(\neg a \mid \neg b,\, \neg e)\\ &=0.7\cdot0.9\cdot0.001+0.01\cdot0.05\cdot(1-0.001)\\ &=0.0011295 \end{aligned}
  9. Abbiamo ottenuto a questo punto tutti gli elementi per trovare P(¬b,j,m)P(\neg b,\,j,\,m) sapendo che i valori della sommatoria in ee sono gli stessi di prima
    P(¬b,j,m)=0.999[0.0020.183055+0.9980.0011295]=0.0014918576 \begin{aligned} P(\neg b,\,j,\,m)&=0.999\cdot[0.002\cdot0.183055+0.998\cdot0.0011295]\\ &=0.0014918576 \end{aligned}
  10. Per trovare P(Bj,m){\bf P}(B \mid j,\,m) (che equivale alla probabilità richiesta) non ci resta dunque che normalizzare utilizzando il fattore α\alpha
    P(Bj,m)=α0.0005922426,0.0014918576 {\bf P}(B \mid j,\,m)=\alpha\langle0.0005922426,\,0.0014918576\rangle
    Dove calcoliamo il valore di α\alpha come
    α=10.0005922426+0.0014918576479.823 \alpha=\dfrac{1}{0.0005922426+0.0014918576}\approx479.823
    Da cui si ottiene, approssimando a tre decimali
    P(Bj,m)=0.284,0.716 {\bf P}(B \mid j,\,m)=\langle0.284,\,0.716\rangle

Eliminazione di variabili

Come abbiamo visto nello svolgimento dell’esercizio, spesso ci si ritrova a dover ripetere gli stessi calcoli più volte. Naturalmente, per rendere il procedimento più efficiente si possono calcolare preventivamente i diversi valori che devono essere utilizzati più volte, riscrivendo dunque le espressioni utilizzate nell’esercizio in termini di altre quantità già calcolate.

Se hai trovato errori o informazioni mancanti scrivi a:
giacomo.dandria@esercizistem.com

Se hai trovato errori o informazioni mancanti scrivi a:
giacomo.dandria@esercizistem.com

Questa pagina è stata utile?
No
Torna in alto