Smart-World Surf

Unit 5: מכונות וקטורים תומכים (SVM)

מודל סיווג רב עוצמה המבוסס על מציאת היפר-מישור אופטימלי.
מרווח מקסימלי (Maximal Margin)גרעינים (Kernels)SVM רך (Soft Margin SVM)יישומים לסיווג ורגרסיה

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

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

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

היפר-מישור (Hyperplane): במרחב דו-ממדי, זהו קו. במרחב תלת-ממדי, זהו מישור. באופן כללי, זהו תת-מרחב בעל מימד אחד פחות ממימד המרחב שבו נמצאים הנתונים, המפריד בין נקודות נתונים שונות.
וקטורי תמיכה (Support Vectors): נקודות הנתונים הקרובות ביותר להיפר-מישור המפריד. נקודות אלו הן הקריטיות ביותר לקביעת מיקום ההיפר-מישור והמרווח, ורק הן משפיעות על המודל הסופי.
מרווח (Margin): המרחק בין ההיפר-מישור המפריד לבין וקטורי התמיכה של כל אחת מהמחלקות. המטרה של SVM היא למקסם מרווח זה, מכיוון שמרווח גדול יותר מעיד על הפרדה חזקה ויכולת הכללה טובה יותר לנתונים חדשים.

מרווח מקסימלי (Maximal Margin)

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

הרחבות ושיפורים: SVM רך וגרעינים

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

SVM רך (Soft Margin SVM)

כדי להתמודד עם מקרים שבהם הנתונים אינם ניתנים להפרדה ליניארית באופן מושלם, או כאשר קיימים אאוטליירים (Outliers), פותח מודל ה-SVM הרך. מודל זה מאפשר לנקודות מסוימות לחצות את המרווח או אפילו את ההיפר-מישור, תמורת "עונש".

משתני רפיון (Slack Variables, ξ): משתנים המודדים את המידה שבה נקודת נתונים חורגת מהמרווח או מהצד הנכון של ההיפר-מישור.
פרמטר עונש (Penalty Parameter C): פרמטר המאזן בין הרצון למקסם את המרווח לבין הרצון למזער את מספר הטעויות (כלומר, למזער את סכום משתני הרפיון). ערך C גבוה מעניש יותר טעויות ומביא למודל מורכב יותר (פחות הטיה, יותר שונות), בעוד ערך C נמוך מאפשר יותר טעויות ומביא למודל פשוט יותר (יותר הטיה, פחות שונות).

גרעינים (Kernels)

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

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

גרעין ליניארי (Linear Kernel)

מתאים לנתונים הניתנים להפרדה ליניארית. זהו למעשה ה-SVM המקורי.

גרעין פולינומי (Polynomial Kernel)

מאפשר הפרדה לא ליניארית על ידי מיפוי למרחב פולינומי. דורש הגדרת דרגת הפולינום.

גרעין פונקציית בסיס רדיאלי (RBF / Gaussian Kernel)

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

בחירת גרעין ופרמטרים (C, γ): זוהי אחת ההחלטות הקריטיות ביותר בשימוש ב-SVM. בחירה שגויה עלולה להוביל לביצועים ירודים. יש לבצע אופטימיזציה של פרמטרים אלו (לרוב באמצעות חיפוש רשת או חיפוש אקראי עם אימות צולב) כדי למצוא את השילוב הטוב ביותר עבור הבעיה הנתונה. C שולט בפשרה בין מרווח גדול לבין טעויות סיווג, ו-γ (עבור RBF) שולט במידת ההשפעה של נקודת אימון בודדת.

יישומים לסיווג ורגרסיה

סיווג (Classification)

SVM מצטיין בבעיות סיווג בינאריות. עבור סיווג רב-מחלקתי, קיימות שתי אסטרטגיות עיקריות:

  • אחד מול השאר (One-vs-Rest / One-vs-All): בונה N מודלי SVM, כאשר N הוא מספר המחלקות. כל מודל מאמן להבדיל בין מחלקה אחת לבין כל שאר המחלקות.
  • אחד מול אחד (One-vs-One): בונה N*(N-1)/2 מודלי SVM, כאשר כל מודל מאמן להבדיל בין שתי מחלקות ספציפיות. התחזית הסופית נקבעת על ידי הצבעה.

רגרסיה (Support Vector Regression - SVR)

SVM יכול לשמש גם לבעיות רגרסיה. במקום למצוא היפר-מישור המפריד בין מחלקות, SVR מוצא היפר-מישור המתאים בצורה הטובה ביותר לנתונים, תוך שמירה על "מרווח" שגיאה מסוים (ε-insensitive tube) סביב התחזיות. המטרה היא למזער את השגיאה תוך שמירה על מודל פשוט ככל האפשר.

שאלות לדיון

  • הסבר את ההבדל העקרוני בין Hard Margin SVM ל-Soft Margin SVM. מתי נבחר להשתמש בכל אחד מהם?
  • כיצד "טריק הגרעין" (Kernel Trick) מאפשר ל-SVM להתמודד עם בעיות סיווג לא ליניאריות מבלי למפות את הנתונים בפועל למרחב בעל מימד גבוה?
  • כיצד פרמטר העונש C ופרמטר הגרעין γ (עבור RBF) משפיעים על ביצועי מודל ה-SVM ועל נטייתו ל-Overfitting או Underfitting?
  • ציין יתרון וחיסרון אחד של SVM בהשוואה למודלים אחרים של סיווג שלמדתם (לדוגמה, רגרסיה לוגיסטית או עצי החלטה).

נקודות לתשובת מודל

  • Hard Margin SVM: מניח הפרדה ליניארית מושלמת, ממקסם מרווח ללא טעויות סיווג. מתאים לנתונים נקיים וניתנים להפרדה ליניארית.
  • Soft Margin SVM: מאפשר טעויות סיווג (חציית מרווח/היפר-מישור) באמצעות משתני רפיון ופרמטר עונש C. מתאים לנתונים לא ניתנים להפרדה ליניארית או עם רעש/אאוטליירים.
  • טריק הגרעין: פונקציית גרעין מחשבת את מכפלת הנקודות במרחב הממופה (הגבוה יותר) מבלי לבצע את המיפוי עצמו, מה שחוסך חישובים ומאפשר התמודדות עם הפרדות לא ליניאריות.
  • השפעת C ו-γ:
    • C גבוה: מעניש טעויות בחומרה, מרווח קטן יותר, מודל מורכב יותר, סיכון ל-Overfitting.
    • C נמוך: מאפשר יותר טעויות, מרווח גדול יותר, מודל פשוט יותר, סיכון ל-Underfitting.
    • γ גבוה (RBF): השפעה רבה של נקודות קרובות, גבול החלטה מפותל, סיכון ל-Overfitting.
    • γ נמוך (RBF): השפעה רחבה של נקודות, גבול החלטה חלק יותר, סיכון ל-Underfitting.
  • יתרונות SVM: יעיל בממדים גבוהים, יעיל כאשר מספר הדוגמאות קטן ממספר המאפיינים, חסון יחסית לאאוטליירים (ב-Soft Margin), מוגדר על ידי תת-קבוצה של נקודות אימון (וקטורי תמיכה). חסרונות: רגיש לבחירת פרמטרים, קשה לפירוש, אינו מתאים למערכי נתונים גדולים מאוד (זמן אימון), לא מספק הסתברויות ישירות.
Spotted an error or something missing?
← Previous
למידה מונחית: רגרסיה לוגיסטית וסיווג
Next →
עצי החלטה ואנסמבלים