Transcript P(A | B)
קבלת החלטות
#6 שיעור
Bayesian networks
מבוא
• לביה"ח הגיע חולה בעל התסמינים הבאים:
– שיעול
– חום
– קושי בנשימה
• כיצד תקבע האם לחולה אנתרקס (גחלת)
נשימתי? מהו הסיכוי כי החולה סובל מאנתרקס
נשימתי אם יש לו את הסימפטומים האמורים?
מבוא (המשך)
•
•
•
•
החלטת לשלוח את החולה לצילום רנטגן
תוצאות הצילום מצביעות על הרחבת בלוטת
הלימפה בחזה
בשלב זה האמונה שלך כי החולה סובל מאנתרקס
נשימתי מתחזקת
למעשה ,האמונה שלך כי לחולה אנתרקס נשימתי
נובעת מכמה מסימני המחלה הניתנים לאבחון
רשתות בייסיאניות
חולה באנתרקס
הגדלת
בלוטת חזה
קושי
בנשימה
חום
שיעול
• רשתות בייסיאניות – אחד הנושאים החמים ביותר
בקבלת החלטות בעשר השנים האחרונות
• בשימוש באוסף רחב של אפליקציות – זיהוי
ספאם ,זיהוי טקסט ,רובוטיקה ומערכות
דיאגנוסטיקה
הסתברות מותנית
• ) – P(A=true|B=trueמתוך סך המצבים האפשריים
שבהם Bמקבל ערך trueבכמה גם Aמקבל ערך true
• זוהי למעשה "ההסתברות של Aהמותנית ב "B -או
"ההסתברות של Aבהינתן "B
• דוגמה:
– = Hכאב ראש P(H=true)=1/10
– = Fהתחלה של מחלת השפעת P(F=true)=1/40
– כאב ראש הוא דבר נדיר ,ושפעת היא אירוע עוד יותר נדיר,
אולם אם חלית בשפעת הרי שבהסתברות של 50%יהיה לך
P(H=true|F=true)=1/2
כאב ראש
Joint Probability Distribution
A
B
C
P(A,B,C)
false
false false
0.1
false
false
true
0.2
false
true
false
0.05
false
true
true
0.05
true
false false
0.3
true
false
true
0.1
true
true
false
0.05
true
true
true
0.15
Sums to 1
יכולהjoint probability -• ה
להיות מוגדרת על כל סט של
: לדוגמה,משתנים
P(A = true, B = true, C = true)
• ניתן לקבוע מה ההסתברות
לקבלת כל קומבינציה של
ערכים
• ההסתברויות של הקומבינציות
1 -השונות צריכות להסתכם ל
Joint Probability Distribution
A
B
C
P(A,B,C)
false
false false
0.1
false
false
true
0.2
false
true
false
0.05
false
true
true
0.05
true
false false
0.3
true
false
true
0.1
true
true
false
0.05
true
true
true
0.15
Sums to 1
joint probability -• מתוך ה
ניתן לחשב כלdistribution
C - וB ,A -הסתברות הנוגעת ל
:• למשל
– P(A=true) = sum of P(A,B,C) in
rows with A=true
– P(A=true, B = true | C=true) =
P(A = true, B = true, C = true) /
P(C = true)
הבעיתיות בשימוש בjoint probability -
• הרבה מאוד entriesנדרשים בטבלה
• עבור kמשתנים מקריים בוליאנים נצטרך טבלה
בגודל 2k
• כיצד ניתן לפשט את ההצגה ואת החישובים?
הפיתרון הוא באמצעות היכולת להגדיר אי-תלות
אי-תלות היסתברותית
• המשתנים Aו B -הם בלתי תלויים אם מתקיים
אחד מהתנאים:
)– P(A,B) = P(A) P(B
)– P(A | B) = P(A
)– P(B | A) = P(B
• כלומר ,ידיעת הערך של Aלא מוסיפה לנו שום
מידע חדש לגבי הערך של B
אי-תלות
• אי התלות שימושית ביותר
– נניח שיש לנו nהטלות מטבע ואנו רוצים לחשב את ה-
,joint distributionכלומר )P(C1, …, Cn
• אם הטלות המטבע תלויות הרי שנצטרך 2nערכים
בטבלה
• אם לעומת זאת אין תלות בין הטלות המטבע הרי
n
) P(C1 ,...,Cn ) P(Ci
i 1
כלומר ,לכל מטבע נוכל לשמור טבלה של שני ערכים
(סה"כ )2n
Conditional Independence
המשתנים Aו B -יהיו conditionally independent
בהינתן Cאם מתקיים:
)– P(A, B | C) = P(A | C) P(B | C
)– P(A | B, C) = P(A | C
)– P(B | A, C) = P(B | C
• ידיעת Bבמקרה זה (בהינתן )Cלא מוסיפה לנו כלום
לגבי ( Aבהינתן )C
• דוגמה :מז"א משפיע על הזמן שיקח לאברהם להגיע
למקום עבודתו וגם על הזמן שיקח ליצחק להגיע
למקום עבודתו
Bayesian Networks
כל צומת בגרף היא משתנה אקראי
:• הרשת הבייסיאנית בנויה מ
A
היא אב של צומתX צומת
Y - לX - אם קיים חץ מY
– גרף כיווני לא מעגלי
– סט של טבלאות הסתברות לכל
צומת בגרף
B
C
X - אומר שיש לY - לX -חץ מ
Y השפעה ישירה על
D
A
P(A)
A
B
P(B|A)
B
D
P(D|B)
B
C
P(C|B)
false
0.6
false
false
0.01
false
false
0.02
false
false
0.4
true
0.4
false
true
0.99
false
true
0.98
false
true
0.6
true
false
0.7
true
false
0.05
true
false
0.9
true
true
0.3
true
true
0.95
true
true
0.1
A
P(A)
A
B
P(B|A)
false
0.6
false
false
0.01
true
0.4
false
true
0.99
true
false
0.7
true
true
0.3
B
C
P(C|B)
false
false
0.4
false
true
0.6
true
false
0.9
true
true
0.1
פונקציתXi לכל צומת
הסתברות מותנה
אשרP(Xi | Parents(Xi))
מכמתת את האפקט של האב
על הצומת
A
B
C
D
B
D
P(D|B)
false
false
0.02
false
true
0.98
true
false
0.05
true
true
0.95
Conditional Probability Distribution
for C given B
עבור כל קומבינציה של ערכים לאבות (לדוגמה ל,)B -
הכניסות עבור )P(C=true | B) and P(C=false | B
חייבים להסתכם ל1 -
)P(C|B
C
B
0.4
false
false
0.6
true
false
0.9
false
true
0.1
true
true
במידה ויש לנו משתנה בוליאני עם kהורים ,הטבלה תכיל 2k+1
הסתברויות (כשלמעשה נדרש לאחסן רק )2k
יתרונות הרשת הבייסיאנית
•
•
מייצגת את יחסי התלות המותנה בין משתנים
בגרף
דרך קומפקטית להצגת הjoint probability -
distributionשל המשתנים השונים
Joint Probability -התפלגות ה
joint probability distribution -ניתן לחשב את ה
ברשת בייסיאניתX1, …, Xn של המשתנים
:באמצעות הנוסחה
n
P( X 1 x1 ,..., X n xn ) P( X i xi | Parents( X i ))
i 1
Xi מסמן את הערכים של כל צמתי האב שלParents(Xi) כאשר
דוגמה לשימוש ברשת בייסיאנית
:נניח שאנו רוצים לחשב
P(A = true, B = true, C = true, D = true)
= P(A = true) * P(B = true | A = true) *
P(C = true | B = true) * P( D = true | B = true)
= (0.4)*(0.3)*(0.1)*(0.95)
A
B
C
D
הסקה
• השימוש ברשת בייסיאנית לצורך חישוב הסתברויות
קרוי "הסקה" inference
• באופן כללי ההסקה כוללת שאילתות מהסוג:
) P( X | E
)E = The evidence variable(s
)X = The query variable(s
Inference
HasAnthrax
HasCough
HasFever
HasDifficultyBreathing
HasWideMediastinum
:• דוגמה לשאילתה
P( HasAnthrax = true | HasFever = true, HasCough = true)
- וHasDifficultyBreathing -• יש לשים לב כי למרות ש
הם לא מקבלים, מצויים ברשת הבייסיאניתHasWideMediastinum
ערכים בשאילתה
דוגמה
• שביתת רכבות לא מבטיחה שנורמן יאחר
(לדוגמה ,הוא יכול לקום מוקדם ולהגיע ברכב)
אבל יש הסתברות גדולה יותר שיאחר
.
דוגמה (המשך)
• מה ההסתברות שנורמן יאחר?
p(Norman late) = p(Norman late | train strike) * p(train
strike) + p(Norman late | no train strike)*p(no train
strike)= (0.8 * 0.1) + (0.1 * 0.9) = 0.17
• מה ההסתברות שיש שביתת רכבות אם ידוע
שנורמן איחר?
נוסחת בייס:
• כלומר ,הידיעה שנורמן איחר מגדילה משמעותית את
ההסתברות שיש שביתת רכבות (מ 0.1 -ל)0.47 -
)דוגמה (המשך
?• מה ההסתברות שמרטין מאחר
p(Martin late) = p(Martin late | train strike) * p(train strike) +
p(Martin late | no train strike)*p(no train strike)= (0.6 * 0.1) +
(0.5 * 0.9) = 0.51
• מה ההסתברות שמרטין יאחר אם ידוע שנורמן
?מאחר
p(Martin late) = p(Martin late | train strike) * p(train
strike) + p(Martin late | no train strike)* p(no train
strike)=(0.6 * 0.47) + (0.5 * 0.53) = 0.55
סוגים של Evidence
• – Hard evidenceכאשר ידוע שהצומת Xמקבלת
ערך ספציפי בודאות (למשל ,זכיה ודאית בהימור)
• – Soft evidenceכאשר ניתן רק לעדכן את ערכי
ההסתברות של ערכי ( Xלמשל ,אם ידוע לנו תוצאת
המחצית במשחק ספורט הרי שניתן לעדכן את ההסתברות לזכיה
ולהפסד)
Serial Connection
• נניח שיש לנו evidenceשקרתה תקלה ברמזור
( .)Aהידע הזה מגדיל את האמונה שלנו שהרכבת
מאחרת ( ,)Bמה שמגדיל גם את האמונה שלנו
שנורמן מאחר .כלומר ,ה evidence -לגבי A
משודר דרך Bל:C -
C
נורמן
מאחר
B
רכבת
מאחרת
A
תקלה
ברמזור
Serial Connection
• כעת נניח שאנו יודעים את המצב האמיתי של B
(למשל יש לנו hard evidenceשהרכבת מאחרת).
• במצב החדש אין כל ערך במידע לגבי Aעבור C
משום שצומת Bגובר עליו.
C
נורמן
מאחר
B
רכבת
מאחרת
A
תקלה
ברמזור
Diverging Connection
A
• במקרה כזה מידע לגבי Bישפיע
גם על ( Cולהיפך)
• זאת ,למעט במקרים שבהם יש לנו
hard evidenceלגבי A
C
B
Converging Connection
• במקרה זה ,כל evidenceמB -
או מ C -יעבור לA -
• אם לא ידוע דבר על ,Aהרי שB -
ו C -בלתי תלויים
• אולם ,אם ידוע משהו על ,Aהרי שההורים שלו Bו-
Cהופכים להיות תלויים
– לדוגמה ,אם ההסתברות שמרטין מאחר גדלה ,הרי
שגם ההסתברות ל B -ו C -גדלה .במקרה זה אנו
אומרים כי Bו C -הם ( conditionally dependentב)A -
“Explaining away” evidence
• ראינו כבר קודם שההסתברות
שמרטין מאחר היא 0.51
ושנורמן מאחר 0.17
• כעת נניח שגילינו
שמרטין איחר
)(evidence
• הדבר מגדיל את ההסתברות של שתי הסיבות
האפשריות לאיחור
Pstrike | Martin _ late
PMartin _ late | strikePstrike 0.68* 0.1
0.152
PMartin _ late
0.446
PMartin _ late | strike 0.4 * 0.8 0.6 * 0.6 0.68
בעיית הדשא הרטוב
:• המשתנים
– R – rained
– S – sprinkler being on
– G – grass wet
– N – neighbors grass wet
FALSE אוTRUE – כל משתנה יכול לקבל ערך
היאP(R,S,G,N) ,joint probability distribution -– ה
כניסות16 למעשה טבלה עם
בעיית הדשא הרטוב
R – rained
S – sprinkler being on
G – grass wet
N – neighbors grass wet
• ניתן לחשב הסתברות כל אחד מהמשתנים
• לדוגמה ,מה ההסתברות שלא ירד גשם אם ידוע
שהדשא של השכן רטוב?
• על-פי תורת ההסתברות:
• מכיוון שיש משתנים שלא משפיעים אחד על השני
) ,כדאי להשתמש ברשת
(לדוגמה:
R – rained
S – sprinkler being on
G – grass wet
N – neighbors grass wet
R – rained
S – sprinkler being on
G – grass wet
N – neighbors grass wet
הסקה
• מה ההסתברות שהדשא
רטוב?
• מה ההסתברות שהדשא
של השכן רטוב?
• מה אם אנחנו יודעים שירד גשם?
R – rained
S – sprinkler being on
G – grass wet
N – neighbors grass wet
עוד הסתברויות
?• ומה אם מצאנו שגם הדשא של השכן רטוב
דוגמה נוספת
• 5משתנים בינאריים
–
–
–
–
–
= Bאירוע פריצה בבית
= Eאירוע רעידת אדמה
= Aהאזעקה נכבתה
= Jג'ון מתקשר לדווח על האזעקה
= Mמרי מתקשרת לדווח על האזעקה
– )What is P(B | M, J) ? (for example
– ניתן להשתמש ב joint distribution -לצורך החישוב (מחייב 25 = 32
הסתברויות)
– לחילופין ,אם אנו יודעים את הקשרים בין המשתנים ,החישוב הופך
יותר קל
רשת בייסיאנית