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‬‬
‫• הדבר מגדיל את ההסתברות של שתי הסיבות‬
‫האפשריות לאיחור‬
Pstrike | Martin _ late 
PMartin _ late | strikePstrike 0.68* 0.1

 0.152
PMartin _ late
0.446
PMartin _ 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‬‬
‫הסתברויות)‬
‫– לחילופין‪ ,‬אם אנו יודעים את הקשרים בין המשתנים‪ ,‬החישוב הופך‬
‫יותר קל‬
‫רשת בייסיאנית‬