"מכונות לומדות" הן מכונות המסוגלות ללמוד פעולות חדשות, או לבצע באופן שונה פעולות שהן מכירות. אחת השיטות הנפוצות ללימוד מכונה מתבססת על בניית גדרות הפרדה וירטואליות בין קבוצות מידע שונות.
הערב ירד. אנשים התחילו לזרום לכיוון הכיכר, מתכוננים להפגנה. קבוצת מפגיני הבעד, לבושים בחולצות כחולות, התייצבה מול קבוצת המתנגדים אדומי החולצות. אפשר היה לחתוך את המתח באוויר בסכין.
השוטרים התלבטו כיצד להתמודד עם המצב. "צריך למתוח חבל כדי לסמן קו גבול בין שתי הקבוצות" אמר אחד מהם, "זה לא מספיק, צריך להקים גם גדרות הפרדה משני צדי קו הגבול!" אמר השני.
בהינתן מיקומם של הכחולים והאדומים כמו בציור (תגובה ראשונה), היכן צריך להעביר את קו הגבול ואת גדרות ההפרדה כדי להבטיח הפרדה מקסימלית בין הקבוצות? שאלה זו היא דוגמה לטכניקה פופולרית מתחום "למידת מכונה" הנקראת "מכונת וקטורים תומכים" [1]. בפוסט הנוכחי נפרט מעט על שיטה נפוצה זו ועל חשיבות היישומים שלה.
מהתבוננות בציור רואים שניתן להעביר קו גבול ישר שיפריד בין הקבוצות. קו גבול זה נקרא "מפריד לינארי". יש אינסוף קווים כאלו, אולם אנו מעוניינים למצוא קו מפריד שמשני צדדיו ניתן יהיה למתוח את גדרות ההפרדה במרחק מקסימלי זו מזו. איך אפשר למצוא קו כזה?
ראשית, ניתן להראות באופן גאומטרי שגדרות ההפרדה המבוקשות יעברו תמיד דרך חבר אחד לפחות מכל קבוצה. חברים אלו, הנמצאים ממש על הגדר, נקראים בשפה המתמטית "וקטורים תומכים".
נחזור לשיטת ההפרדה שלנו. אפשר לנסות את כל הקומבינציות האפשריות של הווקטורים התומכים כדי למצוא את המיקום האופטימלי לגדר ההפרדה, אולם שיטה זו אינה מעשית. המתמטיקה יכולה לספק לנו שיטה יעילה יותר. בעיות כאלו נקראות "בעיות אופטימיזציה", מאחר שצריך למצוא את הסט הטוב ביותר של משתנים.כאן, למשל, המשתנים שצריך למצוא הם אלו שמתארים את הגדרות תחת אוסף של אילוצים. בעיה זו ניתנת לפתרון במחשב על ידי שימוש באלגוריתם, שבסופו מקבלים את משוואת הקו המבוקש.
נשוב לסיפור: המתמטיקאי המשטרתי מחשב את מיקום קו הגבול הנדרש על סמך מיקום המפגינים, אולם בינתיים מגיעים מפגינים חדשים שלא לובשים חולצה מזהה.
השוטרים סביבו שואלים אותו, "האם תוכל לשער את ההשתייכות שלהם (אדומים או כחולים) לפי מיקומם?"
בהנחה שהמפגינים בכל קבוצה נוטים להתקבץ יחד, ניתן לשער את ההשתייכות של כל מפגין חדש על ידי הצבת מיקומו (x,y) במשוואת הקו שחושב. אם החישוב מראה שהוא נמצא גבוה מעל הקו, הוא כנראה שייך לקבוצת האדומים. אם הוא נמצא נמוך מתחת לקו, הוא שייך כנראה לקבוצת הכחולים. אם הוא קרוב לקו, אין ודאות. תהליך זה נקרא קטלוג (classification).
סיפור זה הוא דוגמה לטכניקת "מכונת וקטורים תומכים": SVM) Support-Vector-Machine) שהיא אחת הטכניקות הפופולריות בתחום הלמידה הממוחשבת. בטכניקה זו מלמדים את המחשב למיין מידע לפי קבוצות. תהליך המיון נעשה בשני שלבים: בשלב הראשון ("שלב האימון") נותנים למחשב מידע שהוא נכון בוודאות, למשל המיקום של בעלי החולצות האדומות והכחולות. המחשב משתמש בנתונים אלו כדי לחשב את הקו המפריד בין הקבוצות השונות. בשלב השני המחשב מוזן בקלט שסיווגו בלתי ידוע, והוא מנסה למיין אותו בהתאם למשוואה (בדוגמה שלנו: קבוצת האדומים או הכחולים).
בפועל, המיון יכול לייצג קבוצות שונות לחלוטין, למשל מאמר של מיקרוסופט [2] מתאר כיצד המחשב יכול להבחין בין עז לכבש על ידי שימוש ב-SVM. אם נעקוב אחרי החיה החשודה, ונזין את מספר הצעדים שצעדה ביום ואת הטמפרטורה הממוצעת שלה, המחשב יוכל להעריך בוודאות גבוהה אם מה שראינו הוא עז או כבש.
דוגמאות מעניינות יותר משתמשות בווקטורים בעלי יותר משני ממדים, והם מורכבים בהתאם. במקרה זה, הגדר תהיה בעצם "קיר" רב-ממדי במקום קו ישר. במקרים אחרים, מלאכת ההפרדה תהיה מורכבת אפילו יותר, כי לא ניתן למצוא קו מפריד ישר, ויש צורך בחישוב מסובך יותר.
אכן, בניית גדר הפרדה יכולה להיות משימה מאוד מאתגרת.