- הקדמה
- דוגמאות
- הגדרות
- סוגי אלגוריתמים של למידת מכונה
תוכן העניינים:
- הקדמה
- מה זה למידת מכונה (למידה חישובית, Machine Learning)?
- דוגמאות
- הגדרות
- סוגי אלגוריתמים של למידת מכונה
- למידה מונחית (מבוקרת/מושגחת/מפוקחת, supervised learning)
- בעיית רגרסיה (regression)
- מודל רגרסיה לינארית עם משתנה אחד (חדת משתנה)
- מודל רגרסיה לינארית עם משתנים מרובים (מרובת משתנים)
- בעיית סיווג (classification)
- בעיית רגרסיה (regression)
- למידה בלתי מונחית (בלתי מבוקרת/מושגחת/מפוקחת, unsupervised learning)
- אלגוריתם אשכולות
- אלגוריתם מסיבת הקוקטייל
1. הקדמה
1.1. מה זה למידת מכונה (למידה חישובית, Machine Learning)?
בינה מלאכותית (אינטליגנציה מלאכותית, Artificial Intelligence) היא יכולת של המחשב לפתור בעיות בדרך הדומה לאינטליגנציה אנושית. חלק מהבעיות ניתנות לתכנות, לדוגמה מציאת המסלול הקצר ביותר מנקודה אחת לנקודה שניה. חלק אינן ניתנות לתכנות, כמו ללמוד מתוך דוגמאות, לחפש תבניות דפוס חוזרות על עצמן ולהסיק מסקנות. בעיות אלה נפתור באמצעות אלגוריתמים של למידת מכונה (למידה חישובית, Machine Learning). כלומר למידת מכונה היא תת נושא בבינה מלאכותית, הכוללת את הבעיות שאינן ניתנות לפתרון באמצעות תכנות קלאסי.
החומר המובא פה מסכם את הקורס: http://coursera.org/learn/machine-learning
1.2. דוגמאות
ביום יום אנו עושים שימוש ביישומים וכן באמצעים טכנולוגיים הפועלים באמצעות למידת מכונה, וכן ישנם תחומי מחקר רבים העוסקים בלמידת מכונה. דוגמאות:
- כריית מידע (data mining) – זיהוי תבניות דפוס והסקת מסקנות
- נתוני עתק (big data) – כמויות גדולות של נתונים מבוזרים, המגיעים ממקורות רבים, אינם מאורגנים, בפורמטים מגוונים, ובאיכויות שונות
- רצף הקלקות (click path, clickstream) – רצף הקישורים שהמשתמש הקליק עליהם, משך הזמן שצפה בכל דף וכו' כדי ללמוד על ההרגלים וההעדפות שלו
- המלצות שאתרים/ישומים נותנים למשתמש
- דירוג של תוצאות ע"י מנועי חיפוש
- סינון ספאם בדוא"ל
- ראיה ממוחשבת (computer vision) – הפקת מידע מתוך תמונה/וידאו
- זיהוי פנים בתמונות ותיוג חברים באופן אוטומטי ע"י רשתות חברתיות
- זיהוי כתב יד
- עיבוד שפה טבעית (Natural Language Processing)
- ביולוגיה חישובית (ביואינפורמטיקה, bioinformatics) חקר באמצעות מחשב, של מאגרי מידע גדולים המכילים מידע ביולוגי (למשל תיקיפ רפואיים), וחיפוש תבניות דפוס (למשל רצף DNA כדי להבין את הגנום האנושי, קשר בין נתונים למחלות)
- אוטומציה – מזל"ט (מטוס זעיר ללא טייס), שואב אבק רובוטי, רכב אוטונומי
- הבנה של המוח האנושי
- בלמידת מכונה יש מודל מתמטי בשם רשת עצבית מלאכותית (רשת נוירונים, רשת קשרית, Artificial Neural Network) המחכה את הרשת העצבית של מוח האדם
1.3. הגדרות
ארתור סמואל (1959):
תחום המחקר שנותן למחשבים את היכולת ללמוד מבלי להיות מתוכנתים מפורשות.
סמואל כתב תכנית המשחקת דמקה. הוא נתן לתכנית לשחק עשרות אלפי משחקים נגד עצמה. ע"י התבוננות אלו מצבי לוח נטו להביא להפסדים ואלו לניצחונות התכנית למדה איך לשחק והביסה את סמואל. "הגולם קם על יוצרו".
טום מיטצ'ל (1998):
נאמר על תוכנית מחשב שהיא לומדת מניסיון E, בביצוע משימה כלשהי T ומדד מסוים לביצועי התוכנית P, אם ביצועי התוכנית בביצוע המשימה T כפי שאלו נמדדים על ידי P משתפרים עם הניסיון E.
פירוש:
E – ניסיון (Experience)
T – משימה לביצוע (Task)
P – מדד ביצוע (Performance)
כלומר תכנית מחשב לומדת, אם כתוצאה מהניסיון הביצוע הולך ומשתפר.
לדוגמא, במשחק הדמקה:
E הניסיון שצברה התוכנה מעשרות אלפי משחקים נגד עצמה
T המטלה של משחק הדמקה
P ההסתברות שהיא תנצח במשחק הדמקה הבא נגד שחקן חדש אקראי

1.4. סוגי אלגוריתמים של למידת מכונה
- למידה מונחית (מבוקרת/מושגחת/מפוקחת, supervised learning)
- למידה בלתי מונחית (בלתי מבוקרת/מושגחת/מפוקחת, unsupervised learning)
- למידת חיזוק (למידה מועצמת Reinforcement Learning)
- מערכות המלצה (מערכות תומכות החלטה recommender system)

2. למידה מונחית (מבוקרת/מושגחת/מפוקחת, supervised learning)
מלמדים את המחשב באמצעות דוגמאות.
מספקים לאלגוריתם נתונים עם תוצאות. הנתונים שמחפשים הם דומים, כך שאנחנו יודעים בערך איך התוצאה המבוקשת צריכה להיראות. (לדוגמה נתונים גדלים של בתים ובכמה נמכר כל אחד מהם. לפי זה מחפשים לבית בגודל ידוע חיזוי מחיר מתאים).
2.1. בעיית רגרסיה (regression)
הסוג הנפוץ של בעיית למידה חישובית. ניסיון לחזות ערך, בהינתן ערכים רציפים (לינאריים, בד"כ מספרים ממשיים, אבל לא בהכרח, למשל מחירי בתים וגודלם בד"כ מעגלים מממשיים לטבעיים, אבל עדיין ישנן המון אפשרויות).
דוגמאות:
- יודעים מחירים שבהם נמכרו דירות ואת גודלי אותן הדירות. רוצים לדעת בכמה למכור דירה שגודלה לאו דווקא מופיע בגרף.
- מציאת גיל על פי תמונה (גם כאן לרוב מעגלים את הגיל, אבל עדיין ישנן המון אפשרויות).
רגרסיה לינארית – השיטה שבאמצעותה מנסים לחזות את הערך. השיטה מוצאת את הפרמטרים של הקשר בין משתנה בלתי תלוי X למשתנה תלוי Y, בהנחה שהקשר ביניהם ליניארי, כלומר מהצורה \(Y=aX+b\). ציר ה X מייצג את הקלט (לדוגמה גודלי הבתים), ציר ה Y מייצג את הפלט (לדוגמה מחירי הבתים). השיטה מנסה למצוא את הקו העובר כמה שיותר קרוב לכל הנקודות (הערכים הרציפים) שעל הגרף. כמובן שהמצב האידאלי הוא שהקו יהיה ישר ויעבור דרך כל הנקודות, אך לרוב הוא יהיה בעל שיפוע (למשל משוואה ריבועית – פולינום מסדר שני) והשאיפה היא שהוא יעבור כמה שיותר קרוב לרוב הנקודות.
באמצעות הקו, ניתן לבצע חיזוי של מחירי בתים נוספים לפי גודלם, גם אם אינם חלק מהערכים הנתונים בגרף.
2.2. בעיית סיווג (classification)
ניסיון לחזות ערך, בהינתן ערכים בדידים (דיסקרטיים, לרוב מספר שלמים, עם מעט אפשרויות).
דוגמאות:
- אם נהפוך את הבעיה הקודמת של: בהינתן גודל הבית מה מחירו, ל: האם הבית נמכר ביותר או בפחות מהמחיר המבוקש (כלומר בניגוד לתשובה של מה מחיר הבית, כאן התשובה פשוטה יותר – כן או לא).
- בהינתן גדלים של גידולים והאם הם ממאירים ושפירים, רוצים לדעת האם גידול הוא ממאיר או שפיר על פי גודלו.
- האם מייל הוא אמין או ספאם.
3. למידה בלתי מונחית (בלתי מבוקרת/מושגחת/מפוקחת, unsupervised learning)
המחשב לומד בעצמו.
הנתונים אינם דומים. אנו מנסים למצוא איזשהו מבנה כלשהו בהם. אין לנו כמעט או בכלל מושג איך התשובה צריכה להיראות.
3.1. אלגוריתם אשכולות
מנסה ליצור קבוצות (אשכולות) של הנתונים.
דוגמאות:
גוגל חדשות
קיבוץ אנשים בעלי גנים דומים מתוך DNA
- קרוב מחשבים שעובדים יחד ובכך לייעל את העבודה של מרכז הנתונים.
- זיהוי קבוצות חברים לפי שליחת מיילים.
- פילוח שוק מתוך מאגר נתונים על לקוחות כדי לדעת מה לשווק.
- ניתוח נתונים אסטרונומיים לקבלת תיאוריות שימושיות ומעניינות על היווצרות גלקסיות.
3.2. אלגוריתם מסיבת הקוקטייל
הפרדה בין קולות של אנשים שונים וכן בין המוסיקה, מתוך פס קול של שכולם בו נשמעים יחד במסיבת קוקטייל.