תרגול 6
סיווג גנרטיבי

Print

בעיית חיזוי - תזכורת

  • - התצפיות/המדידות משתנה/וקטור אקראי אשר יש באפשרותינו למדוד.

  • - התויות. משתנה אקראי אשר ברצונינו לחזות על סמך .

  • - פונקציית חיזוי של כתלות ב.

  • - פונקציית הפסד. ה”קנס” המתקבל בעבור חיזוי שגוי.

  • - פנקציית הסיכון. התוחלת של ההפסד.



המטרה: למצוא פונקציית חיזוי אופטימאלית:

בעיית חיזוי - תזכורת - המשך


אנו מבחינים בין שני סוגי בעיות חיזוי:


  • סיווג: כאשר תחום הערכים של התוויות הינו דיסקרטי וסופי.


  • רגרסיה: כאשר תחום הערכים של התוויות הינו תחום רציף.

פונקציות הפסד נפוצות

הפסד אפס-אחד (zero-one loss)
  • ההפסד הנפוץ בבעיות סיווג.
  • פונקציית הסיכון שלו נקראת: misclassification rate
  • החזאי האופטימאלי תחת הפסד זה הינו:


הפסד מרחק ריבועי ( loss)
  • ההפסד הנפוץ בבעיות רגרסיה.
  • פונקציית הסיכון שלו נקראת: Mean Square Error (MSE)
  • החזאי האופטימאלי תחת הפסד זה הינו משערך התוחלת המותנית:

למידה מודרכת


  • בבעיות חיזוי שבהם אין אנו יודעים את הפילוג המשותף של ו

  • יש ברשותינו מדגם של דיגימות משותפות שלהם:


גישה גנרטיבית

  • נשתמש במדגם על מנת לשערך את פונקציית הפילוג המשותפת

  • ובעזרת הפילוג המשותף נבנה את החזאי.


(שיטות אלו נקראות גנרטיביות משום שהם מנסות ללמוד את האופן שבו נוצר (generated) המדגם)

גישה גנרטיבית - המשך

נפרק לרוב את הפונקציית הצפיפות המושתפת באופן הבא:



  • בבעיות סיווג דיסקרטי וסופי.
    ניתן לשערך אותו על פי:

  • את נשערך בנפרד בעבור כל ערך של .
    זאת אומרת שאת נשערך מתוך אוסף דגמים שמקיימות .



שיטות הסיווג הגנרטיביות נבדלות במודל של , ואופן הלימוד שלו.

ההנחה: הרכיבים של הינם בלתי תלויים סטטיסטית.



תחת הנחה זו:

את משערכים בעבור כל וכל .



  • שיטה זו לא מגדירה כיצד ללמוד את הפילוגים החד מימדיים.
  • שיטה זו פותרת את בעיית הCurse of Dimenionality.
  • הנחת החוסר תלות בין הרכיבים לרוב רחוקה מלהיות נכונה.

Linear Discriminant Analysis (LDA)

הנחות:

  1. מפולגים נורמאלית.
  2. לכל הפילוגים אותה מטריצת covariance.


נניח כי מקבל את סט הערכים , ונשתמש בסימונים הבאים:

  • - תת-המדגם המקיים .
  • - התוחלות של הפילוגים הנורמאלים.
  • - מטריצת הcovariance של הפילוגים. (מטריצה אחת בעבור כל ה פילוגים).


שיערוך MLE של פרמטרי המודלים נותן:

Linear Discriminant Analysis (LDA) - המשך

הפרדה לינארית

בעבור המקרה של סיווג בינארי (סיווג לשני מחלקות) וzero-one loss מתקבל:

כאשר:


נשים לב כי תנאי ההחלטה שבין שני התחומים הינו לינארי, ומכאן מקבל האלגוריתמם את שמו

Quadric Discriminant Analysis (QDA)

הנחות:

  1. הפילוגים הינם פילוגים נורמאלייים לכל ערך של .


QDA דומה מאד לLDA רק ללא ההנחה השניה.


משערך MLE נותן:

(כעת יש בעבור כל ערך של , והוא מחושב על פי תת-המדגם המתאים.

משטח הפרדה ריבועי

בעבור המקרה של סיווג בינארי (סיווג לשני מחלקות) וzero-one loss מתקבל:

כאשר:


במקרה זה, משטח ההפרדה נתון על ידי פונקציה ריבועית ומכאן האלגוריתם מקבל את שמו.

תרגיל 6.1 - MAP

ביום טוב, עומרי כספי קולע בהסתברות מהקו. ביום רע, הוא קולע בהסתברות מהקו. מהימים הם ימים טובים עבור עומרי.

ביום מסויים זרק עומרי זריקות וקלע מתוכם. מאמנו של עומרי צריך לזהות האם מדובר ביום טוב או רע של השחקן (ולהשאיר אותו או להחליף אותו בהתאמה).

מהו חוק ההחלטה אשר ממקסם את סיכויי המאמן לצדוק?

הניחו כי בהינתן המידע של האם יום מסויים הוא טוב או לא, ההסברות לקלוע זריקות שונות הינה הסתברות בלתי תלויה.

תרגיל 6.1 - MAP - פתרון

נגדיר את המשתנים האקראיים והפילוגים שלהם:

  • - האם קלע או לא. (0-החטיא, 1-קלע)
  • - האם יום טוב או לא. (0-יום לא טוב, 1-יום טוב).


על פי הנתונים בשאלה:

תרגיל 6.1 - MAP - פתרון - המשך
  • בעיית MAP
  • פרמטר בפילוג .
  • החזאי האופטימאלי של הינו:

בעבור נקבל:

בעבור נקבל:

תרגיל 6.1 - MAP - פתרון - המשך 2

בעבור נקבל:

בעבור נקבל:

לכן החיזוי האופטימאלי יהיה:

תרגיל 6.2

בסוואנה חיים שלושה זני פילים אשר נמצאים בסכנת הכחדה. ידוע כי כל אחד משלושת הזנים ניזון מצמחיה מעט שונה ועל מנת לשמר את אוכלוסיית הפילים מעוניינים לפזר להם אוכל ברחבי הסוואנה. בכדי למקסם את האפקטיביות של פעולה זו מעוניינים לשערך בכל נקודת חלוקה מהו הזן שהכי סביר להמצא באותה נקודה על מנת להתאים את סוג המזון לזן זה.

הפילוג של זני הפילים על פני הסוואנה אינו ידוע אך נתונות לנו התצפית הבאה של הקואורדינטות בהם נצפו הפילים:

Type X_1 X_2
1 1 2
1 3 2
2 -2 2
3 0 -1
3 0 -5

השתמש במסווג LDA על מנת לבנות חזאי אשר ישערך את הזן הזפוץ ביותר בכל קואורדינטה.

תרגיל 6.2 - פתרון
Type X_1 X_2
1 1 2
1 3 2
2 -2 2
3 0 -1
3 0 -5

סימונים:

  • הקאורדינטה. לדוגמא:

  • הזן. לדוגמא:

  • אוסף כל התצפיות של שבהם הזן הוא . לדוגמא:
תרגיל 6.2 - פתרון - המשך
Type X_1 X_2
1 1 2
1 3 2
2 -2 2
3 0 -1
3 0 -5


נחשב את הפילוג הא-פריורי של כל אחד מן הזנים:

תרגיל 6.2 - פתרון - המשך 2
Type X_1 X_2
1 1 2
1 3 2
2 -2 2
3 0 -1
3 0 -5


נחשב את הפרמטרים של שלושת הפילוגים הנורמאלים:

תרגיל 6.2 - פתרון - המשך 3

נחשב את מטריצת covariance המשותפת של הפילוגים:


דרך נוחה לחשב את הסכום בביטוי זה הינה באופן הבא. נגדיר את המטריצה של התצפיות לאחר חיסור של התוחלת המתאימה לכל זן:

תרגיל 6.2 - פתרון - המשך 4

ניתן להראות בקלות כי ניתן לכתוב את הסכום בביטוי ל באופן הבא:

תרגיל 6.2 - פתרון - המשך 5

נשתמש כעת בפילוגים שאותם שיערכנו על מנת לבנות את החזאי. האיזור שבו זן 1 הינו הזן הסביר ביותר הינו האיזור שבו מתקיים:

נחשב את התנאי הראשון

תרגיל 6.2 - פתרון - המשך 6

זוהי למעשה הפרדה לשני תחומים על ידי הקו הבא:

כאשר:


מכאן שהקו המפריד בין זן 1 ל זן 2 נתון על ידי:

תרגיל 6.2 - פתרון - המשך 7

באופן דומה ניתן לחשב גם את שני קווי ההפרדה האחרים (בין 1 ל 3 ובין 2 ל 3):

elephants classification

בעיה מעשית

המדגם: Breast Cancer Wisconsin

נעבוד שוב עם המדגם של דגימות התא לאבחון סרטן שד. (את המדגם המקורי ניתן למצוא פה, בקורס נעבוד עם הגרסא הזו)

FNA image

השדות במדגם

להלן 10 השורות הראשונות במדגם:

id diagnosis radius_mean texture_mean perimeter_mean area_mean smoothness_mean compactness_mean concavity_mean concave points_mean ... radius_worst texture_worst perimeter_worst area_worst smoothness_worst compactness_worst concavity_worst concave points_worst symmetry_worst fractal_dimension_worst
0 842302 M 17.99 10.38 122.80 1001.0 0.11840 0.27760 0.30010 0.14710 ... 25.38 17.33 184.60 2019.0 0.1622 0.6656 0.7119 0.2654 0.4601 0.11890
1 842517 M 20.57 17.77 132.90 1326.0 0.08474 0.07864 0.08690 0.07017 ... 24.99 23.41 158.80 1956.0 0.1238 0.1866 0.2416 0.1860 0.2750 0.08902
2 84300903 M 19.69 21.25 130.00 1203.0 0.10960 0.15990 0.19740 0.12790 ... 23.57 25.53 152.50 1709.0 0.1444 0.4245 0.4504 0.2430 0.3613 0.08758
3 84348301 M 11.42 20.38 77.58 386.1 0.14250 0.28390 0.24140 0.10520 ... 14.91 26.50 98.87 567.7 0.2098 0.8663 0.6869 0.2575 0.6638 0.17300
4 84358402 M 20.29 14.34 135.10 1297.0 0.10030 0.13280 0.19800 0.10430 ... 22.54 16.67 152.20 1575.0 0.1374 0.2050 0.4000 0.1625 0.2364 0.07678
5 843786 M 12.45 15.70 82.57 477.1 0.12780 0.17000 0.15780 0.08089 ... 15.47 23.75 103.40 741.6 0.1791 0.5249 0.5355 0.1741 0.3985 0.12440
6 844359 M 18.25 19.98 119.60 1040.0 0.09463 0.10900 0.11270 0.07400 ... 22.88 27.66 153.20 1606.0 0.1442 0.2576 0.3784 0.1932 0.3063 0.08368
7 84458202 M 13.71 20.83 90.20 577.9 0.11890 0.16450 0.09366 0.05985 ... 17.06 28.14 110.60 897.0 0.1654 0.3682 0.2678 0.1556 0.3196 0.11510
8 844981 M 13.00 21.82 87.50 519.8 0.12730 0.19320 0.18590 0.09353 ... 15.49 30.73 106.20 739.3 0.1703 0.5401 0.5390 0.2060 0.4378 0.10720
9 84501001 M 12.46 24.04 83.97 475.9 0.11860 0.23960 0.22730 0.08543 ... 15.09 40.68 97.65 711.4 0.1853 1.0580 1.1050 0.2210 0.4366 0.20750

במדגם 569 שורות (דגימות).

לשם הפשטות (וויזואליזציה) אנו נעבוד תחילה רק עם התווית ושני השדות הבאים:

  • diagnosis - התווית של הדגימה: M = malignant (סרטני), B = benign (בריא)
  • radius_mean - רדיוס התא הממוצע בדגימה
  • texture_mean - סטיית התקן הממוצעת של רמת האפור בצבע של כל תא בדגימה.

(בהמשך נעבוד עם יתר השדות)

השדות במדגם - המשך

הפילוג של נתונים אלו נראה כך:


Raw data

תזכורת לבעיה: חיזוי האם תא הינו סרטני או לא

אנו מעוניינים לעזור לצוות הרפואי לבצע אבחון נכון של דגימות לדגימות סרטניות (malignant) או בריאות (benign) על סמך הנתונים המספריים שמחושבים לכל דגימה.


באופן פורמאלי:

  • - ערכי התצפית של דגימה מסויימת.
  • - התווית הבינארית של האם הדגימה סרטנית או לא. (0-בריא, 1-סרטני)


נהיה מעוניינים למצוא את פונקציית החיזוי אשר ממזערת את:


(zero-one loss)

הפרשה של סט בחן



  • לשם שיערוך ביצועיו של החזאי נפריש 20% מהמדגם לסט בחן (test set).



(במודלים שאיתם נעבוד בתרגול זה אין hyper-parameters ולכן לא יהיה לנו צורך בסט אימות (validataion set))

שיטה 1: LDA.


נבנה חזאי על ידי שימוש בLDA.


שיטה 1: LDA - המשך


החזאי המקבל הינו:

כאשר:

שיטה 1: LDA - המשך 2

נשרטט את הפילוגים הנורמאלים המתקבלים ואת קו ההפרדה הליניארי על גבי הנתונים:

LDA results

שיטה 1: LDA - המשך 3

הערכת ביצועים

נשערך את ביצועי החזאי על ידי חישוב הסיכון האמפירי המתקבל על סט הבחן.

הסיכון המשוערך המתקבל הינו: 0.096

✍️ תרגיל 6.3



א) הציעו שיטה להעריך את מידת הודאות של החיזוי על סמך המודל שקיבלנו.


ב) כיצד היה משתנה החזאי במידה והיינו יודעים כי הסיכוי הא-פריוירי של דגימה להיות סרטנית הינה 5% (ולא כמו הפילוג המופיע במדגם)

✍️ תרגיל 6.3 א

הציעו שיטה להעריך את מידת הודאות של החיזוי על סמך המודל שקיבלנו.

פתרון

אלגוריתם גנרטיבי -> שיערכנו מודל ההסתברותי המלא ->
נוכל לשערך את ההסתברות לקבל תווית מסויימת בהניתן התצפיות.


הסיכוי של דגימה נתונה להיות סרטנית נתון על ידי:

כאשר:

  • , ו הם הפרמטרים שכבר שיערכנו.
✍️ תרגיל 6.3 ב

כיצד היה משתנה החזאי במידה והיינו יודעים כי הסיכוי הא-פריוירי של דגימה להיות סרטנית הינה 5% (ולא כמו הפילוג המופיע במדגם)

פתרון

נוכל להשתמש בפילוג הידוע של במקום לשערך אותו. (כל שאר החישוב יהיה זהה).

במקרה של LDA, פילוג זה מופיע רק באיבר של פונקצייית החיזוי, אשר מגדיר את המיקום של משטח ההפרדה.

נשתמש כעת ב:

✍️ תרגיל 6.3 ב - המשך

ונקבל את פונקציית החיזוי הבאה:

LDA results with prior

קו ההפרדה זז לימין.

הפילוג הא-פריורי מקטין את ההסתברות שדגימה מסויימת הינה סרטנית, שמתבטא באופן דומה גם בסיכוי הפוסטריורי. לכן איזור גדול יותר ממופה כעת לתווית של “לא סרטני”.

שיטה 2: QDA

נבנה חזאי על ידי שימוש בQDA.

נחשב מטריצת covariance בעבור כל אחת מהתוויות בנפרד (שאר הפרמטרים לא משתנים).

החזאי המקבל הינו:

כאשר:

שיטה 2: QDA - המשך

נשרטט את הפילוגים הנורמאלים המתקבלים ואת קו ההפרדה על גבי הנתונים:

QDA results QDA results

הסיכון המשוערך על סט הבחן הינו: 0.088 (קיבלנו שיפור קל בביצועים)

הגדלת כמות השדות בוקטור התצפיות

נחזור על תהליך של חיזוי בשיטת QDA כאשר אנו לוקחים בכל פעם את השדות הראשונים במדגם.

נשרטט את הסיכון המתקבל על סט האימון ועל סט הבחן כתלות ב:

Risk vs. number of features

תרגיל 6.4

Risk vs. number of features

כיצד תסבירו את העובדה כי מנקודה מסויימת הסיכון על סט הבחן הולך ונעשה גרוע ככל שאנו מגדילים את כמות השדות? מהי כמות הפרמטרים במודל כתלות ב (מספר השדות)? מה גודלו של סט האימון?

הציעו מניפולציה אותה ניתן לעשות למדגם על מנת לבנות חזאי אשר כן משתמש במידע מכל השדות אך עם מספר פרמטרים מוגבל.

תרגיל 6.4 - פתרון

  • זוהי דוגמא קלסית להתאמת יתר (overfitting).

  • ככל שמספר השדות גדל, מספר הפרמטרים של המודל גדל והמודל יכול לייצג תלויות יותר ויותר מורכבות.

  • בQDA מספר הפרמטרים הינו בערך , במקרה של 30 שדות יש במודל בערך 900 פרמטרים בעוד שסט האימון יש דגימות.

  • ככלל אצבע, נרצה לרוב שמספר הפרמטרים במודל שלנו יהיה קטן בלפחות סדר גודל אחד ממספר הדגמים בסט האימון (נכון חלקית).



דרך אחת להתמודד עם בעיה זו הינה לבצע הורדת מימד לוקטור התצפיות בשיטות כגון PCA.

תרגיל 6.6 - פונקציית הפסד לא סימטרית

נסתכל על בעיית החיזוי הבאה.

ידוע הפילוג המשותף של שני משתנים אקראיים ו , כאשר הוא משתנה בינארי. כמו כן נתונה לנו פונקציית ההפסד הבאה:


מצאו ביטוי לחזאי האופטימאלי של בהינתן אשר ממזער את פונקציית הסיכון המתאימה לפונקציית ההפסד הנתונה.

תרגיל 6.6 - פונקציית הפסד לא סימטרית - המשך

פתרון


בעבור נקבל:

ובעבור נקבל:

תרגיל 6.6 - פונקציית הפסד לא סימטרית - המשך 2

פתרון

מכאן שהחזאי האופטימאלי יהיה: