ברוכים הבאים ליחידת הלימוד בנושא מכונות וקטורים תומכים (SVM), מודל סיווג רב עוצמה המבוסס על מציאת היפר-מישור אופטימלי להפרדת מחלקות. יחידה זו תסקור את עקרונות הליבה של SVM, הרחבות חשובות כמו SVM רך וגרעינים, ותיישומים מעשיים לסיווג ורגרסיה. הבנה מעמיקה של נושאים אלו חיונית להצלחה בקורס ובהבנת מודלים מתקדמים בלמידת מכונה.
עקרונות הליבה: מרווח מקסימלי ווקטורי תמיכה
מכונות וקטורים תומכים (SVM) הן אלגוריתם סיווג מפקח שמטרתו למצוא את ההיפר-מישור הטוב ביותר המפריד בין מחלקות נתונים. "הטוב ביותר" במקרה זה מתייחס להיפר-מישור בעל המרווח הגדול ביותר.
מרווח מקסימלי (Maximal Margin)
הרעיון הבסיסי ב-SVM הוא למצוא היפר-מישור המפריד בין שתי מחלקות באופן כזה שהמרחק המינימלי מכל נקודת נתונים להיפר-מישור (הנקרא "מרווח") יהיה מקסימלי. היפר-מישור זה נקבע על ידי וקטורי התמיכה בלבד, מה שהופך את המודל לחסון יחסית לרעש בנקודות רחוקות.
הרחבות ושיפורים: SVM רך וגרעינים
המודל הבסיסי של SVM עם מרווח קשיח (Hard Margin SVM) מניח שהנתונים ניתנים להפרדה ליניארית באופן מושלם. במציאות, הנחה זו לעיתים קרובות אינה מתקיימת.
SVM רך (Soft Margin SVM)
כדי להתמודד עם מקרים שבהם הנתונים אינם ניתנים להפרדה ליניארית באופן מושלם, או כאשר קיימים אאוטליירים (Outliers), פותח מודל ה-SVM הרך. מודל זה מאפשר לנקודות מסוימות לחצות את המרווח או אפילו את ההיפר-מישור, תמורת "עונש".
גרעינים (Kernels)
כאשר הנתונים אינם ניתנים להפרדה ליניארית במרחב המקורי, ניתן להשתמש ב"טריק הגרעין" (Kernel Trick) כדי למפות את הנתונים למרחב בעל מימד גבוה יותר, שבו הם עשויים להיות ניתנים להפרדה ליניארית.
גרעין ליניארי (Linear Kernel)
מתאים לנתונים הניתנים להפרדה ליניארית. זהו למעשה ה-SVM המקורי.
גרעין פולינומי (Polynomial Kernel)
מאפשר הפרדה לא ליניארית על ידי מיפוי למרחב פולינומי. דורש הגדרת דרגת הפולינום.
גרעין פונקציית בסיס רדיאלי (RBF / Gaussian Kernel)
אחד הגרעינים הנפוצים והחזקים ביותר, המסוגל להתמודד עם יחסי גומלין מורכבים מאוד בין הנתונים. דורש הגדרת פרמטר גמא (γ).
יישומים לסיווג ורגרסיה
סיווג (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), מוגדר על ידי תת-קבוצה של נקודות אימון (וקטורי תמיכה). חסרונות: רגיש לבחירת פרמטרים, קשה לפירוש, אינו מתאים למערכי נתונים גדולים מאוד (זמן אימון), לא מספק הסתברויות ישירות.