למידה מונחית
למידה מונחית או למידה מפוקחת (באנגלית: Supervised learning) היא טכניקה בענף למידת המכונה, המאפשרת לפתח מכונה או מערכת (בדרך כלל תוכנית מחשב) שלומדת לפתור בעיות על בסיס מאגר גדול של דוגמאות "פתורות". הלמידה עצמה נעשית באמצעות חיפוש היפותזה - פונקציה ממרחב הדוגמאות למרחב התיוגים שמתארת את המידע בצורה הנכונה ביותר. אלגוריתם למידה אופטימלי הוא אלגוריתם שהפונקציה הנלמדת על ידיו תוכל לחזות נכונה את התשובה גם בעבור דוגמאות שטרם נראו על ידי המערכת.
מודלים דיסקרימינטיביים ומודלים גנרטיביים.
אלגוריתמי למידה מונחית מתחלקים לשתי מחלקות בהתאם למודל שהם לומדים:
לדוגמה, בהינתן מאגר נתונים שמכיל תמונות של חתולים ותמונות של חדי קרן, מודל דיסקרימינטיבי יוכל לקבל תמונה ולומר האם יש בה חתול או חד קרן, בעוד שמודל גנרטיבי ילמד את המאפיינים של חתול ואת המאפיינים של חד קרן, ונוכל להשתמש בו בשביל ליצור תמונה חדשה - שלא הופיעה במאגר - של חתול או של חד קרן.
אימון המערכת.
תהליך הלמידה של המערכת נקרא "אימון". בשלב זה מציגים למערכת את הדוגמאות, והיא לומדת היפותזה שמתארת את הדוגמאות שראתה בצורה הטובה ביותר.
בלמידה מונחית, כל דוגמה שהמערכת לומדת על פיה היא זוג המורכב מאובייקט קלט ומערך הפלט הרצוי בעבור אותו הקלט. לאוסף הדוגמאות קוראים בשם "סט האימון״, והוא מכיל דגימות שמגיעות מהתפלגות משותפת של מרחב האלמנטים ומרחב התיוגים. אימון אלגוריתם למידה מונחית דורש בדרך כלל סט אימון שמכיל דוגמאות רבות. מטרת הלמידה היא לנבא את התיוג של אלמנט חדש שנוצר מאותה ההתפלגות אם המודל שאנחנו מאמנים הוא דיסקרימינטיבי. בעבור מודל גנרטיבי מטרת הלמידה תהיה ללמוד את ההתפלגות שממנה נוצרו הדוגמאות. לדוגמה, אם הבעיה שאנחנו רוצים ללמוד היא סיווג של תמונות לפי האובייקט המופיע בהן, תורכב כל דוגמה בסט האימון מהקלט - התמונה, ולכל קלט יוצמד הפלט הרצוי - התיוג לפי האובייקט המופיע באותה התמונה.
בעבור סט אימון נתון ניתן לחשב לכל היפותזה את השגיאה האמפירית שלה, שמוגדרת להיות אחוז השגיאות של ההיפותזה על סט האימון. כמו כן, לכל היפותזה ניתן לחשב שגיאת הכללה - תוחלת של טעות תיוג על פני ההתפלגות המשותפת. השגיאה האמפירית מתייחסת לסיכוי של המודל לטעות על סט האימון, ושגיאת ההכללה מתייחסת לסיכוי לטעות על המידע כולו. מטרת הלמידה היא שההיפותזה הנלמדת תהיה בעלת שגיאת ההכללה קטנה ככל האפשר כדי שנוכל לסווג בצורה נכונה גם דוגמאות שטרם נראו על ידי המודל. באופן יחסי קל להשיג היפותזה שהשגיאה האמפירית שלה קטנה, אך רצוי להימנע מהיפותזה שהשגיאה האמפירית שלה קטנה ושגיאת ההכללה שלה גדולה.
אימון מודל כזה, תוך למידה מדוגמאות בצורה מונחית, מורכב ממספר שלבים. ראשית, על המפתח לקבוע את סוג הדוגמאות שתשמשנה את המערכת בשלב האימון, ולבחור את האלגוריתם המתאים לבעיה, בהתאם למטרה הרצויה של המערכת. לדוגמה, במקרה של מערכת שלומדת לזהות טקסט בכתב יד, הקלט יכול להיות תו בודד, מילה שלמה או משפט שלם בכתב יד.
לאחר מכן יבחר המפתח סט אימונים מתאים המכיל דוגמאות - זוגות של קלטים ופלטים רצויים, שאותם המערכת תלמד. לעיתים סט האימון מוכר בקהילה ומשמש בלמידה של מגוון בעיות, ולעיתים צריך לבנות את הסט במיוחד באמצעות שימוש במומחים אנושיים בתחום או באמצעות מדידות. לאחר בחירת סט האימון מעובדת כל דוגמה לפורמט שהמערכת יודעת לעבוד אתו. לאופן ייצוג הקלט יש השפעה על טיב הלמידה של המכונה, ועל הערכת הביצועים שלה לאחר הלמידה. בדרך כלל מייצרים מאובייקט הקלט וקטור מספרי שנקרא , שמכיל ייצוג מספרי של תכונות שמתארות את האובייקט. בלמידה של תמונות נהוג לייצג כל תמונה כמטריצה שמכילה את ערכי ה-RGB של כל פיקסל.
לפני תחילת האימון נהוג להוציא מתוך סט האימון אחוז מסוים של דוגמאות ולשמור אותן בצד לצורך אימות מאוחר של המודל. שמירת הסטים מתבצעת כדי לאפשר בדיקה מבוקרת של התנהגות המודל אל מול דוגמאות שלא נראו בשלב האימון. במרבית המקרים יצרו מהדוגמאות שהוצאו שני סטים חדשים - סט ולידציה וסט בדיקה (לעיתים סט הולידציה מושמט). סט הולידציה נועד להעריך את ביצועי המערכת על דוגמאות שלא נראו בשלב האימון, תוך כדי השלב עצמו, ואילו סט הבדיקה נועד להערכת ביצועים בתום שלב האימון.
שלב האימון עצמו תלוי בסוג האלגוריתם. ברשתות נוירונים מוכנסות הדוגמאות לאלגוריתם בזו אחר זו, בדרך כלל בקבוצות שמכילות מספר דוגמאות (batch). המערכת מבצעת חיזוי בעבור כל דוגמה באמצעות ההיפותזה שלמדה עד כה, ובאמצעות הערכת השגיאה על הקבוצה, מתקנת את ההיפותזה שלמדה באמצעות שימוש בשיטת אופטימיזציה למציאת מינימום כדוגמת Stochastic gradient descent ושינוי ההיפותזה בכיוון הגדריאנט. לולא הייתה מגבלת זיכרון או מגבלה על כוח העיבוד היה תיקון ההיפותזה נעשה לאחר מעבר על כל הדוגמאות וחישוב השגיאה על כולן. אולם מכיוון שקיימות מגבלות כאלו מועבר המידע בקבוצות (batch). בעצי החלטה מתייחס שלב האימון לבניית העץ. הבנייה עצמה נעשית בצורה רקורסיבית, כאשר בכל שלב נבחרת התכונה שפיצול על פיה יגרום לכל תת-עץ להכיל דוגמאות בעלות סיווג כמה שיותר דומה. אימון של מודלים מתמטיים כדוגמת רגרסיה ליניארית יעשה באמצעות חיפוש של הפרמטרים שיתארו פונקציית קירוב של המידע בצורה הטובה ביותר.
לעיתים נדרש מפתח המערכת לקבוע פרמטרים חיצוניים שמשמשים לבקרה של המערכת. כדי למצוא את הפרמטרים הנכונים יאמן המפתח את המערכת עם מגוון פרמטרים, ויבחר את אלו שמסתכמים בביצועים הטובים ביותר. המפתח יוכל להעריך את הביצועים של המערכת באמצעות סט הבדיקה שכולל דוגמאות שנלקחו מסט האימון ונשמרו בצד מבעוד מועד.
הסבר מתמטי.
בהינתן סט אימון המכיל formula_1 דוגמאות formula_2 כך ש-formula_3 הוא וקטור התכונות של הדוגמה ה-i ו-formula_4 הוא התיוג שלה, אלגוריתם למידה מחפש פונקציה formula_5, כאשר formula_6 הוא מרחב הקלט (וקטורי התכונות של הקלט) ו- formula_7 הוא מרחב הפלט (התיוגים). הפונקציה formula_8 שייכת למרחב ההיפותזות formula_9, הכולל את הפונקציות האפשריות שעשויות לייצג את הבעיה בצורה הנכונה. לפעמים מייצגים את formula_8 באמצעות פונקציית ניקוד formula_11 כך ש-formula_8 מחזירה בעבור הקלט formula_13 את התיוג formula_14 שנותן את הניקוד הגבוה ביותר. פורמלית - formula_15. את מרחב פונקציות הניקוד נסמן ב-formula_16.אף על פי ש-formula_9 ו-formula_16 יכולים לייצג כל מרחב של פונקציות, אלגוריתמי למידה רבים משתמשים במודלים הסתברותיים שבהם formula_8 הוא מודל הסתברות מותנית formula_20, למשל רגרסיה לוגיסטית, או ש-formula_21 הוא מודל הסתברות משותפת formula_22, למשל סיווג בייסיאני נאיבי.
שתי גישות בסיסיות לבחירה של formula_21 או של formula_8 הן מזעור סיכונים אמפירי ומזעור סיכונים מבני. מזעור סיכונים אמפירי מחפש את הפונקציה המתארת בצורה הטובה ביותר את נתוני האימון, בעוד שמזעור סיכונים מבני כולל ״פונקציית עונש״ השולטת על הטרייד-אוף בין ההטיה לבין השונות. בשני המקרים, ההנחה היא כי סט האימונים מורכב מזוגות של משתנים מקריים בלתי תלויים ובעלי התפלגות משותפת, formula_25.
על מנת למדוד את מידת ההתאמה של פונקציה לנתוני האימון, נגדיר את פונקציית ההפסד formula_26 שמודדת את המרחק בין התיוג שהמודל החזיר לבין התיוג האמיתי של הקלט. למשל, בעבור הדוגמה formula_27, אם האלגוריתם החזיר את הערך formula_28 בעבור הדוגמה formula_3, פונקציית ההפסד מחשבת את ההבדל בין התיוג "האמיתי" של הדוגמה לזו שהתקבלה מאלגוריתם - formula_30.
פונקציית השגיאה האמפירית formula_31 של פונקציה formula_8 מוגדרת להיות תוחלת ההפסד של formula_8 על הפלטים של האלגוריתם. ניתן לאמוד את ערך השגיאה האמפירית על הדוגמאות בסט האימון באמצעות הנוסחה הבאה: formula_34. אלגוריתם למידה יקרא ממזער סיכונים אמפירי (ERM) אם הוא ממזער את השגיאה האמפירית formula_35.
מזעור סיכונים מבני משתמש בהוספת רגולריזציה לפונקציית ההפסד - formula_36, כאשר formula_37 היא פונקציית ההפסד, formula_38 היא הרגולריזציה ו-formula_39 הוא פרמטר נלמד שמתאר את עוצמת ההשפעה של הרגולריזציה. הוספת הרגולריזציה מתאימה את הפונקציה הנלמדת לעיקרון התער של אוקאם, שמעדיף פונקציות פשוטות יותר על פני פונקציות מורכבות. רגולריזציה תורמת להקטנת שגיאת ההכללה באמצעות מניעת התאמת-יתר לנתונים.
הערכת ביצועים.
בתום אימון המערכת נהוג להעריך את ביצועיה כדי לבדוק את טיב ההיפותזה שנלמדה. בדרך כלל משתמשים בהערכות סטטיסטיות מגוונות, אך תמיד נהוג להציג את אחוזי הדיוק של המודל על סט הבדיקה ואת ערך פונקציית ההפסד שלו. להערכה בעלת משמעות נהוג להשתמש במדדי ערך ניבוי חיובי (Precision) ורגישות (Recall), שמייצגים את כמות הדוגמאות שהן באמת חיוביות מתוך כל אלו שסווגו כחיוביות, ואת כמות הדוגמאות שסווגו כחיוביות מתוך כל הדוגמאות החיוביות בעולם. למשל, אם המודל לומד לחזות תוצאות של בדיקות קורונה על פי סימפטומים, ה-Precision מייצג את אחוז האנשים שהם באמת חיוביים לנגיף מתוך אלו שהמודל סיווג כחיוביים, וה-Recall מייצג את אחוז האנשים שהמודל אמר שהם חיוביים לנגיף, מתוך אלו שהם באמת חיוביים. שימוש נפוץ נעשה גם במדד משוקלל של שני אלו - מדד F1, שהוא ממוצע הרמוני של שני המדדים.
בחירת האלגוריתם.