בתחום של Support Vector Machines (SVM), היבט מרכזי בתהליך האופטימיזציה כרוך בקביעת וקטור המשקל `w` וההטיה `b`. פרמטרים אלו הינם יסודיים לבניית גבול ההחלטה המפריד בין מחלקות שונות במרחב התכונה. וקטור המשקל `w` והטיה `b` נגזרים באמצעות תהליך המבקש למקסם את המרווח בין המחלקות, ובכך להבטיח ביצועי סיווג חזקים.
וקטור המשקל `w` הוא וקטור מאונך למישור ההיפר, וגודלו משפיע על הכיוון והתלולות של המישור. ההטיה 'b' היא סקלרית שמזיזה את המישור הרחק מהמקור, ומאפשרת התאמה של נקודות הנתונים במרחב התכונה. ביחד, `w` ו-`b` מגדירים את משוואת המישור כ- `w · x + b = 0`, כאשר `x` מייצג את וקטור התכונה של נקודת נתונים.
כדי להבהיר את המשמעות והקביעה של `w` ו-`b`, חיוני לשקול את הניסוח המתמטי של בעיית האופטימיזציה של SVM. המטרה היא למצוא את המישור הממקסם את השוליים, שהם המרחק בין המישור לנקודות הנתונים הקרובות ביותר מכל מחלקה, המכונים וקטורי תמיכה. השוליים ניתנים על ידי `2/||w||`, כאשר `||w||` מציין את הנורמה האוקלידית של וקטור המשקל.
ניתן לנסח את בעיית האופטימיזציה באופן הבא:
לְצַמְצֵם:
בְּכַּפוּף לְ:
עבור כל נקודות הנתונים , שם
היא תווית המחלקה (או 1+ או 1-) ו
הוא וקטור התכונה של נקודת הנתונים ה-i. ניסוח זה מבטיח שכל נקודות הנתונים מסווגות בצורה נכונה עם שוליים של לפחות 1.
בעיית האופטימיזציה היא בעיית תכנות ריבועית קמורה, שניתן לפתור ביעילות באמצעות טכניקות כמו אלגוריתם Sequential Minimal Optimization (SMO). הפתרון מניב את הערכים האופטימליים של `w` ו-`b` שמגדירים את גבול ההחלטה.
כדי לספק דוגמה קונקרטית, שקול בעיית סיווג בינארי עם שתי מחלקות, כאשר וקטורי התכונה הם דו מימדיים. נניח שיש לנו את נקודות הנתונים הבאות:
Class +1: (2, 3), (3, 4), (4, 5)
Class -1: (1, 1), (2, 1), (3, 2)
המטרה היא למצוא את המישור המפריד בין המחלקות הללו עם המרווח המקסימלי. על ידי פתרון בעיית האופטימיזציה של SVM, אנו מקבלים את וקטור המשקל `w` ואת ההטיה `b`. בדוגמה זו, הבה נניח שהפתרון מניב `w = [1, 1]` ו-`b = -4`.
המשוואה של מישור ההיפר היא אם כן:
לפשט, אנו מקבלים:
משוואה זו מייצגת את גבול ההחלטה המפריד בין שתי המחלקות. השוליים מוגדלים, ומבטיחים שנקודות הנתונים הקרובות ביותר מכל מחלקה (וקטורי תמיכה) נמצאות במרחק שווה מהמישור ההיפר.
ראוי לציין שבפועל, נתונים מהעולם האמיתי אינם ניתנים להפרדה ליניארית בצורה מושלמת. כדי לטפל בזה, ניתן להרחיב את ה-SVMs לטיפול בהפרדה לא ליניארית באמצעות שימוש בפונקציות ליבה. פונקציות ליבה ממפות את מרחב התכונה המקורי למרחב ממדי גבוה יותר שבו הפרדה ליניארית אפשרית. פונקציות ליבה נפוצות כוללות את הגרעין הפולינומי, ליבת הבסיס הרדיאלי (RBF) וקרנל הסיגמואיד.
במקרה של SVM לא ליניארי, בעיית האופטימיזציה נשארת זהה ביסודה, אבל וקטורי התכונות עוברים טרנספורמציה על ידי פונקציית הליבה. וקטור המשקל `w` והטיה `b` נקבעים לאחר מכן במרחב התכונה שעבר טרנספורמציה, מה שמאפשר ל-SVM לבנות גבולות החלטה מורכבים.
לסיכום, וקטור המשקל `w` והטיה `b` הם פרמטרים חשובים בתהליך האופטימיזציה של SVM, המגדירים את גבול ההחלטה המפריד בין מחלקות שונות במרחב התכונות. הם נקבעים על ידי פתרון בעיית תכנות ריבועית קמורה המבקשת למקסם את המרווח בין המחלקות. השימוש בפונקציות ליבה מרחיב את היישום של SVMs לבעיות סיווג לא ליניאריות, ומשפר עוד יותר את הרבגוניות והיעילות שלהן.
שאלות ותשובות אחרונות אחרות בנושא השלמת SVM מאפס:
- איזה תפקיד ממלאים וקטורי תמיכה בהגדרת גבול ההחלטה של SVM, וכיצד הם מזוהים במהלך תהליך האימון?
- מהי המטרה של שיטת ה-'visualize' ביישום SVM, וכיצד היא עוזרת בהבנת ביצועי המודל?
- כיצד שיטת ה'ניבוי' ביישום SVM קובעת את הסיווג של נקודת נתונים חדשה?
- מהי המטרה העיקרית של Support Vector Machine (SVM) בהקשר של למידת מכונה?