Smart-World Surf

יחידה 5: סיווג: שיטות נוספות

היכרות עם אלגוריתמי סיווג נוספים וגישות שונות.

ברוכים הבאים ליחידת הלימוד "סיווג: שיטות נוספות" בקורס כריית מידע (20595). יחידה זו מרחיבה את היכרותנו עם עולם הסיווג, מעבר לאלגוריתמים בסיסיים כמו עצי החלטה, ומציגה גישות חדשות ויעילות לפתרון בעיות סיווג מורכבות. נתמקד באלגוריתמים פופולריים כמו Naive Bayes, k-NN ושיטות למידת אנסמבל, תוך הבנת עקרונותיהם, יתרונותיהם וחסרונותיהם, וכיצד לבחור את השיטה המתאימה לבעיה נתונה. הבנה מעמיקה של שיטות אלו חיונית להצלחה בקורס וביישומים מעשיים.

סיווג בייסיאני: מודל Naive Bayes

מודל Naive Bayes הוא אלגוריתם סיווג הסתברותי המבוסס על משפט בייס, תוך הנחת אי-תלות חזקה (נאיבית) בין התכונות בהינתן המחלקה. למרות ההנחה הפשטנית, הוא מפגין ביצועים טובים במקרים רבים, במיוחד עם מערכי נתונים גדולים.

משפט בייס: נוסחה מתמטית המתארת את ההסתברות של אירוע, בהינתן ידע מוקדם על אירועים אחרים הקשורים אליו. בסיווג, הוא מאפשר לחשב את ההסתברות שמקרה שייך למחלקה מסוימת בהינתן ערכי התכונות שלו.
אי-תלות מותנית (Conditional Independence): הנחה לפיה התכונות השונות של מופע (למשל, גובה, משקל) אינן תלויות זו בזו, בהינתן המחלקה אליה המופע שייך. הנחה זו מפשטת מאוד את החישובים במודל Naive Bayes.

יתרונות וחסרונות

  • יתרונות: פשוט ליישום, מהיר לאימון וחיזוי, דורש מעט נתוני אימון יחסית, עמיד לרעש.
  • חסרונות: הנחת אי-התלות הנאיבית לעיתים קרובות אינה מתקיימת במציאות, מה שעלול לפגוע בדיוק. רגיש לבעיית "אפס הסתברות" (כאשר תכונה מסוימת לא הופיעה במחלקת אימון מסוימת).

סיווג מבוסס מופעים: אלגוריתם k-NN

אלגוריתם k-Nearest Neighbors (k-NN) הוא אלגוריתם "למידה עצלה" (Lazy Learning) לא פרמטרי, שבו רוב החישוב מתבצע בזמן החיזוי ולא בזמן האימון. הוא מסווג מופע חדש על ידי הקצאת המחלקה הנפוצה ביותר בקרב k השכנים הקרובים ביותר שלו במרחב התכונות.

למידה עצלה (Lazy Learning): גישת למידת מכונה שבה המודל אינו בונה ייצוג כללי של הנתונים בשלב האימון, אלא שומר את כל נתוני האימון ודוחה את רוב החישובים עד לשלב החיזוי של מופע חדש.
מדד מרחק (Distance Metric): פונקציה המשמשת לכימות הדמיון (או חוסר הדמיון) בין שני מופעים. מדדים נפוצים כוללים מרחק אוקלידי, מרחק מנהטן ומרחק קוסינוס.

בחירת k ובעיות נפוצות

  • בחירת k: ערך k קטן רגיש לרעש, ערך k גדול מטשטש את הגבולות בין המחלקות. בחירת k אופטימלי נעשית לרוב באמצעות אימות צולב.
  • קשיים: רגיש לקנה מידה של תכונות (דורש נורמליזציה), יקר חישובית בזמן חיזוי עבור מערכי נתונים גדולים, מושפע מ"קללת המימד" (Curse of Dimensionality) במרחבים בעלי מימדים רבים.

למידת אנסמבל (Ensemble Learning)

למידת אנסמבל היא גישה המשלבת מספר רב של "לומדים חלשים" (Weak Learners) כדי ליצור "לומד חזק" (Strong Learner) בעל ביצועים טובים יותר מאשר כל לומד בודד. הרעיון הוא ששילוב של מומחים רבים, גם אם כל אחד מהם אינו מושלם, יכול להוביל להחלטה קולקטיבית מדויקת יותר.

Bagging (תיקוף)

יוצרת מספר מודלים עצמאיים על דגימות שונות (עם החזרה) ממערך האימון המקורי. התחזיות של המודלים משולבות באמצעות הצבעה (לסיווג) או ממוצע (לרגרסיה). Random Forest הוא דוגמה פופולרית המשתמשת בעצי החלטה כ"לומדים חלשים".

Boosting (הגברה)

בונים מודלים באופן סדרתי, כאשר כל מודל מתמקד בתיקון הטעויות של המודל הקודם. מופעים שסווגו לא נכון מקבלים משקל גבוה יותר במודל הבא. AdaBoost ו-Gradient Boosting הם אלגוריתמים נפוצים בגישה זו.

התאמת יתר (Overfitting) ותת-התאמה (Underfitting): אלו שתי בעיות יסוד בלמידת מכונה. התאמת יתר מתרחשת כאשר מודל לומד את נתוני האימון "יותר מדי" ואינו מצליח להכליל לנתונים חדשים. תת-התאמה מתרחשת כאשר מודל פשוט מדי ואינו מצליח ללמוד את התבניות הבסיסיות בנתונים. שיטות אנסמבל, במיוחד Bagging, יעילות מאוד בהפחתת התאמת יתר על ידי הפחתת השונות (Variance) של המודל, בעוד Boosting נוטה להפחית הטיה (Bias) וגם שונות. הבנת האיזון בין הטיה לשונות (Bias-Variance Trade-off) היא קריטית לבחירת וכיול מודלים.

שאלות לדיון

  • השוו בין אלגוריתם Naive Bayes לבין אלגוריתם k-NN בהיבטים של "למידה עצלה" מול "למידה חרוצה", רגישות לנתונים חסרים וקללת המימד.
  • הסבירו כיצד שיטות Bagging ו-Boosting תורמות לשיפור ביצועי הסיווג, ומה ההבדל העיקרי בגישה שלהן. תנו דוגמה לאלגוריתם נפוץ מכל גישה.
  • תיאורטית, מתי תעדיפו להשתמש ב-Naive Bayes ומתי ב-k-NN, בהתחשב במאפייני מערך הנתונים (גודל, מימדיות, סוג תכונות)?

נקודות לתשובת מודל

  • Naive Bayes vs. k-NN:
    • Naive Bayes: "למידה חרוצה" (eager) – בונה מודל הסתברותי בשלב האימון. פחות רגיש לנתונים חסרים אם מטופלים נכון. פחות מושפע מקללת המימד מאשר k-NN.
    • k-NN: "למידה עצלה" (lazy) – שומר את כל הנתונים ודוחה חישובים לזמן החיזוי. רגיש יותר לנתונים חסרים (דורש טיפול מקדים). מושפע מאוד מקללת המימד.
  • Bagging vs. Boosting:
    • Bagging: בונה מודלים במקביל על דגימות שונות (עם החזרה). מפחית שונות (Variance) ובכך מונע התאמת יתר. דוגמה: Random Forest.
    • Boosting: בונה מודלים באופן סדרתי, כאשר כל מודל מתקן את טעויות קודמו. מפחית הטיה (Bias) וגם שונות. דוגמה: AdaBoost, Gradient Boosting.
  • בחירת אלגוריתם:
    • Naive Bayes: עדיף כאשר יש הנחה סבירה לאי-תלות בין תכונות, מערכי נתונים גדולים מאוד, או כאשר נדרש מודל מהיר לאימון וחיזוי.
    • k-NN: עדיף כאשר מערך הנתונים קטן יחסית, אין צורך בבניית מודל מפורש, ונדרשת גמישות (לא פרמטרי). פחות מתאים למערכי נתונים גדולים או בעלי מימדים רבים ללא טכניקות הפחתת מימד.
מצאתם טעות או שחסר משהו?
→ הקודמת
סיווג: שיטות בייסיאניות
הבאה ←
כריית חוקי קשר