למידת מכונה לחוקר החברתי: לחזות, לא רק להסביר
מה ההבדל בין מודל שמסביר למודל שחוזה, איך נראה פרויקט למידת מכונה מקצה לקצה, אילו מודלים כדאי להכיר – מעץ החלטה ועד רשת נוירונים – ומה חובה לבדוק לפני שמדווחים תוצאה. חלק א – שיטות מחקר.
מה בעמוד
למידת מכונה (machine learning) היא, בהגדרה שז'רון פותח בה את ספרו, "המדע (והאמנות) של תכנות מחשבים כך שיוכלו ללמוד מנתונים"; בניסוח הקלאסי של ארתור סמואל (1959) – "תחום המחקר שנותן למחשבים את היכולת ללמוד בלי שתוכנתו במפורש"; ובניסוח ההנדסי של טום מיטשל (1997) – תוכנית "לומדת מניסיון E ביחס למשימה T ולמדד ביצוע P, אם ביצועיה ב-T, כפי שנמדדים ב-P, משתפרים עם הניסיון E" (שניהם כמצוטטים אצל Géron, 2022, פרק 1). לחוקרת שבאה מהסטטיסטיקה ההגדרות האלה נשמעות מוכרות מדי: גם רגרסיה "לומדת" מקדמים מנתונים. ההבדל אינו באלגוריתם – רגרסיה לוגיסטית היא אותה רגרסיה לוגיסטית בשני העולמות – אלא במטרה ולכן באימות: הסטטיסטיקה של מחשבוני האתר שואלת איזה משתנה משפיע וכמה, ומאמתת זאת במקדם, בשגיאת תקן ובמובהקות; למידת מכונה שואלת מה יקרה לתצפית חדשה, ומאמתת זאת בדרך אחת בלבד – על נתונים שהמודל לא ראה. העמוד בנוי סביב ספר הלימוד המעשי הנפוץ בשדה, Hands-On Machine Learning של אורליאן ז'רון (מהדורה שלישית, 2022), ומצמיד לו את הצד השני של אותה מטבע – The Elements of Statistical Learning של הייסטי, טיבשיראני ופרידמן (מהדורה שנייה, 2009), הספר שכתבו סטטיסטיקאים כדי להסביר את אותם אלגוריתמים כמודלים סטטיסטיים: "הספר הזה עוסק בלמידה מנתונים", ו"למידה סטטיסטית ממלאת תפקיד מפתח בתחומים רבים של המדע, הפיננסים והתעשייה" (Hastie et al., 2009, p. 1). והספר השלישי, של כריסטופר בישופ (2006), מוסיף את נקודת המבט ההסתברותית: זיהוי תבניות "מקורו בהנדסה, ואילו למידת מכונה צמחה ממדעי המחשב", אך "אפשר לראות בהם שני פנים של אותו שדה" – ובו השיטות הבייסיאניות עברו "מנישה מומחית לזרם המרכזי" (Bishop, 2006, הקדמה). ורביעי, מהמסורת ההנדסית של זיהוי התבניות: ספר הלימוד-העצמי של אישיי, אואדה, מאדה ומורסה (2026) – שנכתב "למי שמנסים ללמוד את הנושאים האלה בכוחות עצמם", מעדיף במוצהר "נושאים קלאסיים" על פני "הטכנולוגיות החדישות ביותר", כי "רכישת הידע היסודי… תשפר משמעותית את היעילות של לימוד הטכנולוגיות החדישות", ומסיים בהמלצה אחת: לעבוד עם נתונים אמיתיים (Ishii et al., 2026, הקדמה). וחמישי, מהצד של התוכנה: ספר הלימוד של דות'אנג טרואונג (2026) ל-SPSS Modeler, שנכתב מתוך ההכרה ש"לומדים מתחומים מגוונים, כמו עסקים, שיווק, פיננסים, תעופה, מדעי החברה ומדעי הרוח, עלולים להרגיש שנשארו מאחור" בשדה שמדגיש מתכנתים, ושכיום "יישומים רבים מאפשרים למשתמשים לבנות מודלים של למידת מכונה בלי לכתוב שורת קוד אחת" (Truong, 2026, הקדמה). ז'רון אומר מה עושים, הייסטי ועמיתיו אומרים למה זה עובד ומתי לא, בישופ אומר מה המודל מניח על ההסתברויות, אישיי ועמיתיו אומרים מה כבר היה ידוע לפני שהמונח נעשה אופנתי, וטרואונג אומר איך זה נקרא בתפריט; העמוד מוסיף לארבעתם את מה שספרי הלימוד – שנכתבו למהנדסים ולסטטיסטיקאים – אינם אומרים: מה כל זה עושה למחקר חברתי (סעיף 1), ומה קורה כשמנסים לחזות חיים של בני אדם (Salganik et al., 2020). הסדר: ההבחנה בין הסבר לחיזוי (1), מפת סוגי הלמידה והאתגרים (2), הפרויקט מקצה לקצה (3), תקציר של האימות (4) – המדדים, קבוצת הבדיקה, האימות הצולב, דליפת הנתונים וגבולות החיזוי הם עמוד נפרד, מדדי ביצוע ואימות – המודלים עצמם (5), רשתות נוירונים (6), הכלים (7), מרשם עבודה (8) – ואיך עושים את זה ב-R (9) וב-SPSS Modeler (10). הערה על הציטוט: העותק הדיגיטלי של ז'רון אינו כולל מספרי עמודים, ולכן ההפניות אליו הן לפי פרק וסעיף; הייסטי ועמיתיו, בישופ, אישיי ועמיתיו וטרואונג – לפי עמוד.
מאפיין ותווית
המשתנים המנבאים הם מאפיינים (features; גם predictors או attributes), והמשתנה שחוזים הוא התווית (label) בסיווג או היעד (target) ברגרסיה. אותם משתנים בלתי-תלויים ותלוי – בשמות אחרים.
אימון · תיקוף · בדיקה
המודל לומד על קבוצת האימון; מודלים מתחרים והגדרותיהם נבחרים על קבוצת תיקוף; וקבוצת הבדיקה נוגעים בה פעם אחת, בסוף, כדי לאמוד את שגיאת ההכללה. מקובל להפריש כ-20% לבדיקה.
התאמת-יתר
Overfitting: המודל מצוין על נתוני האימון ונכשל על חדשים – כמו תייר שנהג מונית אחד רימה אותו ומסיק שכל הנהגים במדינה גנבים. ההפך, תת-התאמה, הוא מודל פשוט מדי שנכשל כבר על נתוני האימון.
היפר-פרמטר
פרמטר של אלגוריתם הלמידה, לא של המודל: נקבע לפני האימון ואינו משתנה בו – למשל עומק העץ המרבי או עוצמת הרגולריזציה. הפרמטרים של המודל (המקדמים) נלמדים; ההיפר-פרמטרים נבחרים – ומתועדים.
1. שתי תרבויות: להסביר או לחזות
ההבחנה שהסטטיסטיקה לא עשתה. ליאו בריימן, ממציא היערות האקראיים, פתח את המאה במאמר שהסביר למה הסטטיסטיקאים והמהנדסים אינם מדברים אותה שפה: "יש שתי תרבויות בשימוש במידול סטטיסטי כדי להגיע למסקנות מנתונים. האחת מניחה שהנתונים נוצרו על-ידי מודל נתונים סטוכסטי נתון. האחרת משתמשת במודלים אלגוריתמיים ומתייחסת למנגנון הנתונים כלא-ידוע" – והקהילה הסטטיסטית, לדבריו, "התחייבה לשימוש כמעט בלעדי במודלי נתונים" (Breiman, 2001a, תקציר). גלית שמואלי הפכה את ההבחנה למפה מעשית: מידול מסביר הוא שימוש במודל כדי לבחון תיאוריה סיבתית, ובמדעי החברה "השיטות הסטטיסטיות משמשות כמעט אך ורק לבחינת תיאוריה סיבתית" – ובפועל, כמעט תמיד, ב"מודלים מבוססי-קשר על נתונים תצפיתיים. מודלי רגרסיה הם הדוגמה הנפוצה ביותר" (Shmueli, 2010, Section 1.1); מידול חוזה הוא "תהליך של החלת מודל סטטיסטי או אלגוריתם של כריית נתונים על נתונים לשם חיזוי תצפיות חדשות או עתידיות" (סעיף 1.2). הטעות הנפוצה היא ההנחה "שמודלים בעלי כוח הסבר גבוה הם מטבעם בעלי כוח חיזוי גבוה" (תקציר) – ואינה נכונה: כוח הסבר וכוח חיזוי הם שני ממדים, לא שני קצוות של רצף אחד (סעיף 4.2); גם התיקוף שונה – במידול מסביר בודקים שהמודל מייצג את התיאוריה ושהוא מתאים לנתונים, ובמידול חוזה בודקים הכללה לנתונים חדשים, ו"הסכנה הגדולה ביותר להכללה היא התאמת-יתר לנתוני האימון" (סעיף 2.6.1). ז'רון אומר את אותו דבר מהצד השני של הגדר: רוב משימות למידת המכונה עוסקות בחיזוי, ו"ביצוע טוב על נתוני האימון הוא טוב, אך לא מספיק; המטרה האמיתית היא לתפקד היטב על מקרים חדשים" (Géron, 2022, Chapter 1, "Instance-Based Versus Model-Based Learning").
ומה זה עושה לפסיכולוגיה ולסוציולוגיה. ירקוני ווסטפול טוענים שההתמקדות הכמעט-מוחלטת של הפסיכולוגיה בהסבר סיבתי הותירה אותה עם "תיאוריות מורכבות של מנגנון פסיכולוגי" בעלות "יכולת מועטה (או לא-ידועה) לחזות התנהגות עתידית", ומציעים לאמץ עקרונות מלמידת מכונה – ולפי דבריהם, דווקא דגש על חיזוי יוביל להבנה טובה יותר של ההתנהגות (Yarkoni & Westfall, 2017, תקציר). הופמן, ואטס ועמיתיהם – בהם סוזן אתי, ג'ון קליינברג, מתיו סלגניק וטל ירקוני – מציעים ב-Nature סכמה של שני ממדים לכל מחקר: עד כמה הוא מסביר (זיהוי ואמידה של השפעות סיבתיות) ועד כמה הוא בוחן תחזיות של תוצאות, וקוראים למדעי החברה החישוביים ל"מידול משלב" של השניים (Hofman et al., 2021, תקציר). מולינה וגריפ, לסוציולוגים, מונים את השימושים: זיקוק מדדים ממקורות חדשים כטקסט ותמונות, אפיון הטרוגניות באוכלוסייה, שיפור ההסקה הסיבתית, ותחזיות למדיניות ולפיתוח תיאוריה (Molina & Garip, 2019, תקציר).
ומה קורה כשמנסים. הניסוי הגדול ביותר בחיזוי חיים של בני אדם הוא "אתגר המשפחות השבריריות": 160 קבוצות חוקרים קיבלו נתונים על 4,242 משפחות – 12,942 משתנים לכל משפחה, שנאספו מלידת הילד ועד גיל 9 – ונדרשו לחזות שש תוצאות בגיל 15: ממוצע ציונים, "גריט" (התמדה), פינוי מהדירה, מצוקה חומרית, פיטורי ההורה המטפל והשתתפותו בהכשרה מקצועית. התוצאה: גם התחזיות הטובות ביותר לא היו מדויקות – R² על נתוני ההשארה של כ-0.2 למצוקה חומרית ולממוצע הציונים וכ-0.05 לארבע התוצאות האחרות – והן היו טובות רק במעט ממודל ייחוס פשוט: רגרסיה ליניארית או לוגיסטית על ארבעה משתנים שבחר מומחה-תוכן (שלושה על האם בלידה – מוצא, מצב משפחתי והשכלה – ומדידה של אותה תוצאה, או קרובה לה, בגיל 9). שגיאת החיזוי הייתה קשורה חזק למשפחה שחוזים ורק חלש לשיטה (Salganik et al., 2020, תקציר וסעיף Results). מסקנת המחברים – 112 חוקרים, ובראשם מתיו סלגניק (מחבר Bit by Bit שבמפת הכלים) – היא שעל חוקרי מהלך החיים "ליישב את הרעיון שהם מבינים מסלולי חיים עם העובדה שאף אחת מהתחזיות לא הייתה מדויקת במיוחד" (Section Significance), ולפתור את מה שהם מכנים "פרדוקס ההבנה/חיזוי": אותם נתונים הניבו יותר מ-750 מאמרים מסבירים – ואינם מנבאים (Section Discussion). לחוקרת: שתי התרבויות אינן מחליפות זו את זו. מודל מסביר שאינו חוזה כלום ראוי לחשד; מודל חוזה שאיש אינו מבין ראוי לחשד אחר (סעיף 5, "קופסה לבנה ושחורה"); ורוב הזמן התשובה היא לדווח את שניהם.
2. מפת השדה: סוגי למידה ומה שיכול להשתבש
ז'רון ממיין מערכות למידת מכונה לפי שלושה צירים (Géron, 2022, Chapter 1, "Types of Machine Learning Systems"). הראשון – מידת ההנחיה. בלמידה מונחית (supervised) קבוצת האימון כוללת את התשובות הרצויות – התוויות – ושתי המשימות הטיפוסיות הן סיווג (ספאם / לא ספאם) ורגרסיה (מחיר של מכונית לפי קילומטראז', גיל ויצרן); הגבול ביניהן חדיר – רגרסיה לוגיסטית היא מודל רגרסיה שמשמש לסיווג, כי הוא מוציא הסתברות. בלמידה בלתי-מונחית (unsupervised) אין תוויות, והמשימות הן אשכולות (קבוצות של מבקרים דומים), ויזואליזציה והפחתת ממדים (מיזוג מאפיינים מתואמים, כמו קילומטראז' וגיל, למאפיין אחד של "בלאי"), גילוי חריגים ולמידת חוקי אסוציאציה (מי שקונה רוטב ברביקיו וצ'יפס קונה גם סטייק) – לחוקר החברתי אלה ניתוח הגורמים וניתוח האשכולות שהוא מכיר, ולהם עמוד משלהם: למידה בלתי-מונחית – ומחשבונים: ניתוח אשכולות וניתוח גורמים מגשש. ביניהן – למידה חצי-מונחית (מעט תוויות, הרבה נתונים לא-מתויגים), למידה בהנחיה-עצמית (המודל מייצר לעצמו תוויות – מסתיר חלק מתמונה ולומד לשחזרו – ואז מכווננים אותו למשימה אחרת: זהו העיקרון של מודלי השפה שבעמוד NLP), ולמידת חיזוקים (סוכן, פעולות, תגמולים). השני – אצווה מול מקוון: מודל שמאומן פעם אחת על כל הנתונים, לעומת מודל שלומד תוך כדי זרם; מה שנוגע לחוקר הוא ההערה על "ריקבון המודל" (model rot) – ביצועי מודל דועכים עם הזמן "פשוט משום שהעולם ממשיך להתפתח בעוד המודל נשאר כפי שהיה". השלישי – מבוסס-מופעים מול מבוסס-מודל: ללמוד בעל-פה ולהכליל לפי דמיון (שכנים קרובים), או לבנות מודל של הדוגמאות. הדוגמה של ז'רון היא סוציולוגית: שביעות רצון מהחיים לפי תמ"ג לנפש (נתוני OECD והבנק העולמי). קו ישר נותן לקפריסין 6.30; שלושת השכנים הקרובים בתמ"ג – ישראל (7.2), ליטא וסלובניה (5.9 כל אחת) – נותנים בממוצע 6.33. שתי הגישות, אותה תשובה, ואף אחת מהן לא ראתה קפריסין. אבל "שכנים" מפסיקים להיות קרובים כשיש הרבה משתנים – קללת הממדיות: בעשרה ממדים, כדי ללכוד 10% מהנתונים צריך לכסות 80% מטווח כל משתנה, כך שכל שכונה "מקומית" היא בעצם רוב המרחב (Hastie et al., 2009, pp. 22-23); ולכן כל שיטה שמנסה להתאים פונקציה משתנה-מקומית בשכונות קטנות "תיתקל בבעיות בממדים גבוהים" (עמ' 33). "האינטואיציות הגיאומטריות שלנו, שנוצרו בחיים במרחב תלת-ממדי, עלולות להיכשל קשות" במרחבים רבי-ממדים – בכדור בעשרים ממדים כמעט כל הנפח יושב בקליפה דקה סמוך לשפה (Bishop, 2006, p. 36). לחוקרת עם סקר של 80 פריטים ו-300 נבדקים זה אינו פרט טכני – זו הסיבה שהמודלים המרוסנים והעצים (סעיף 5) עובדים שם, ושכנים קרובים לא.
מה יכול להשתבש: נתונים רעים ומודל רע (ibid., "Main Challenges of Machine Learning"). מעט מדי נתונים – "גם לבעיות פשוטות מאוד צריך בדרך כלל אלפי דוגמאות"; המאמר המפורסם של בנקו ובריל (2001) הראה שאלגוריתמים שונים מאוד, כולל פשוטים, מגיעים לביצועים כמעט זהים כשנותנים להם מספיק נתונים – אך ז'רון עצמו מסייג ש"מערכי נתונים קטנים ובינוניים עדיין נפוצים מאוד", ולכן "אל תזנחו את האלגוריתמים עדיין". נתונים לא-מייצגים – הדוגמה היא הדוגמה שלנו: סקר Literary Digest ב-1936, כעשרה מיליון נמענים, 2.4 מיליון תשובות, תחזית של 57% ללנדון; רוזוולט ניצח ב-62%. הרשימות (מנויי טלפון, חברי מועדונים) נטו לעשירים, ופחות מרבע ענו – הטיית דגימה והטיית אי-היענות (nonresponse bias), בדיוק במונחים של קורס שיטות המחקר. נתונים באיכות ירוקה – חריגים, רעש, חסרים: "רוב מדעני הנתונים מבלים חלק ניכר מזמנם" בניקוי. מאפיינים לא-רלוונטיים – "זבל נכנס, זבל יוצא"; הנדסת מאפיינים היא בחירה, חילוץ ואיסוף של חדשים. ובצד המודל: התאמת-יתר – מודל מורכב מדי ביחס לכמות הנתונים ולרעש שבהם, שמזהה דפוסים ברעש עצמו; הדוגמה: בנתוני האימון, לכל המדינות שיש w בשמן שביעות רצון מעל 7 – ניו זילנד (7.3), נורווגיה (7.6), שוודיה (7.3) ושווייץ (7.5) – "עד כמה אתם בטוחים שכלל ה-w מכליל לרואנדה או לזימבבואה?" הפתרונות: מודל פשוט יותר, יותר נתונים, פחות רעש – ורגולריזציה: הגבלת המודל, למשל אילוץ השיפוע להישאר קטן, שנשלטת בהיפר-פרמטר. בישופ מדגים את אותו דבר בפולינום: מדרגה 9 על עשר נקודות עובר בדיוק דרך כולן, בשגיאת אימון אפס, "אך העקומה המותאמת מתנודדת בפראות" – "וההתנהגות הזאת ידועה כהתאמת-יתר" (עמ' 6); "למורכבות מודל נתונה, בעיית ההתאמת-יתר נעשית פחות חמורה ככל שמערך הנתונים גדל", וכלל האצבע הגס שהוא מצטט – ומסתייג ממנו – הוא שמספר התצפיות לא יפחת מפי 5 עד 10 ממספר הפרמטרים המסתגלים של המודל (עמ' 9). הקנס על גודל המקדמים נקרא בסטטיסטיקה "שיטות כיווץ", המקרה הריבועי – רגרסיית רכס, וברשתות נוירונים – "דעיכת משקלים" (עמ' 10): שלושה שמות לרעיון אחד. ומה שבישופ מוסיף כטענת יסוד: ההתאמת-יתר היא "תכונה כללית של הנראות המרבית", ובגישה בייסיאנית – שבה "מספר הפרמטרים האפקטיבי מסתגל אוטומטית לגודל מערך הנתונים" – אפשר להימנע ממנה גם במודל שמספר פרמטריו עולה בהרבה על מספר התצפיות (עמ' 9). ואת אותה שאלה – כמה תצפיות צריך – זיהוי התבניות שואל מהצד של המאפיינים: "למרבה הצער, אין תשובה כללית", אבל יש תופעה מוכרת – תופעת יוז (Hughes phenomenon): כל עוד מספר המאפיינים d קטן ביחס למספר התצפיות n, הוספת מאפיין משפרת את הסיווג; כש-d גדל מספיק ביחס ל-n, "המהימנות הסטטיסטית יורדת, ובניגוד לציפיות, ביצועי הסיווג מידרדרים" – הסיבה היא "הוספת יותר מדי מאפיינים, תוך שכחה שמספר תצפיות הלמידה סופי" (Ishii et al., 2026, pp. 84, 86-87). לחוקרת: עוד פריט בסולם אינו בהכרח עוד מידע למודל. ותת-התאמה – מודל פשוט מדי לְמבנה הנתונים (קו ישר לשביעות רצון), שנכשל כבר על נתוני האימון. לבסוף, משפט "אין ארוחות חינם" (Wolpert, 1996, as cited in Géron, Chapter 1): מי שאינו מניח דבר על הנתונים אין לו סיבה להעדיף מודל אחד על אחר; לכל בחירת מודל יש הנחה סמויה (קו ישר = "המרחק מהקו הוא רעש"), והדרך היחידה לדעת מי טוב יותר היא להשוות – על נתונים שלא שימשו לאימון.
3. הפרויקט מקצה לקצה: שמונה צעדים
פרק 2 של ז'רון הוא פרויקט אחד שלם – חיזוי מחיר דירה חציוני ב-20,640 מחוזות-מפקד בקליפורניה (מפקד 1990) – ונספח א של הספר הופך אותו לרשימת בדיקה בשמונה צעדים: מסגור הבעיה, השגת הנתונים, חקירתם, הכנתם, רשימה קצרה של מודלים מבטיחים, כוונון עדין, הצגת הפתרון, והשקה ותחזוקה (Géron, 2022, נספח א). מה שמבדיל את הצינור הזה מניתוח סטטיסטי רגיל אינו האלגוריתם אלא ארבע הכרעות שנעשות לפני שמסתכלים על הנתונים.
א. מסגור: מה המטרה, מה המדד, מה קיים היום. השאלה הראשונה היא מה המטרה – "בניית מודל היא כנראה לא המטרה הסופית" – כי היא קובעת את המסגור (מונחה? רגרסיה? אצווה?), את האלגוריתם ואת מדד הביצוע; השנייה היא מה הפתרון הנוכחי – בדוגמה, מומחים שאומדים ידנית וטועים "ביותר מ-30%": זהו קו הייחוס שהמודל צריך לעבור. ואז בודקים הנחות: אם המערכת שתקבל את התחזית ממירה מחירים לקטגוריות ("זול / בינוני / יקר"), הבעיה היא סיווג ולא רגרסיה – "לא תרצו לגלות זאת אחרי חודשים של עבודה על מערכת רגרסיה" (Chapter 2, "Frame the Problem", "Check the Assumptions"). מדד הביצוע נבחר עכשיו, לא בסוף: לרגרסיה – RMSE, שמעניש שגיאות גדולות, או MAE כשיש חריגים רבים; לסיווג – לפי מחיר הטעות (מדדי ביצוע ואימות, סעיף 1 ולוח 1 שם).
ב. קבוצת הבדיקה – לפני החקירה, לא אחריה. "זה עשוי להיראות מוזר להניח בצד חלק מהנתונים בשלב הזה", כותב ז'רון, אבל "המוח שלכם הוא מערכת מדהימה לזיהוי דפוסים, וזה גם אומר שהוא נוטה מאוד להתאמת-יתר" – הטיית הצצה (data snooping bias; Chapter 2, "Create a Test Set"). כ-20% לבדיקה, בחלוקה יציבה ומרובדת; הפרטים – למה שלוש קבוצות ולא שתיים, ולפי איזו יחידה מחלקים – במדדי ביצוע ואימות, סעיפים 2 ו-6.
ג. חקירה והכנה – על קבוצת האימון בלבד, ובפונקציות. החקירה מוכרת: התפלגויות, מתאמי פירסון עם היעד (בדוגמה, ההכנסה החציונית מתואמת 0.69 עם מחיר הדירה), גרפי פיזור, וצירופי מאפיינים (חדרים לבית במקום סך החדרים). ההכנה – בקוד, לא ביד, מארבע סיבות: שחזור על נתונים חדשים, שימוש חוזר בפרויקטים הבאים, הרצה במערכת חיה, וניסוי קל בחלופות (Chapter 2, "Prepare the Data"). שלושת הצעדים: חסרים – להשמיט שורות, להשמיט משתנה, או לזקוף (impute) ערך – חציון, ממוצע, השכיח – והכלל שמבדיל את למידת המכונה מהרגלי SPSS: את החציון מחשבים על קבוצת האימון ושומרים אותו, כדי להחיל אותו על קבוצת התיקוף, על קבוצת הבדיקה ועל כל נתון חדש; משתנים קטגוריאליים – קידוד אחד-חם (one-hot, משתני דמה); ושינוי קנה מידה – "למעט חריגים מעטים, אלגוריתמים של למידת מכונה אינם מתפקדים היטב כשלמאפיינים המספריים יש קני מידה שונים מאוד" (סך החדרים 6 עד 39,320, ההכנסה 0 עד 15): מין-מקס לטווח 0-1, או תקנון (ממוצע 0, סטיית תקן 1), שרגיש פחות לחריגים. והאזהרה, באותיות של ז'רון: "לעולם אל תשתמשו ב-fit() או ב-fit_transform() לשום דבר מלבד קבוצת האימון" (Chapter 2, "Feature Scaling and Transformation") – סעיף 4 מסביר למה זו אינה קטנוניות. עצי החלטה הם החריג הנוח: אינם דורשים שינוי קנה מידה כלל (פרק 6).
ד. לאמן, להשוות – בk קיפולים – ולכוונן. רגרסיה ליניארית על נתוני האימון נותנת RMSE של כ-68,600 דולר כשרוב המחירים בין 120 ל-265 אלף – תת-התאמה. עץ החלטה נותן RMSE של 0.0 – "רגע, מה!? בלי שגיאה בכלל?" – התאמת-יתר מוחלטת, שאי-אפשר לראות בלי נתונים שהמודל לא ראה. הכלי הוא אימות צולב (k-fold cross-validation): מחלקים את קבוצת האימון ל-10 קיפולים, מאמנים 10 פעמים על 9 ובודקים על העשירי, ומקבלים לא רק אומדן אלא גם את דיוקו – ממוצע וסטיית תקן. העץ יורד ל-66,868 (±2,061), כמעט כמו הרגרסיה (69,858 ±4,182); יער אקראי נותן 47,019 (±1,034) – אך על קבוצת האימון עצמה כ-17,474, כלומר עדיין התאמת-יתר ניכרת (Chapter 2, "Better Evaluation Using Cross-Validation"). כמה קיפולים, כלל שגיאת התקן האחת, ומה עושים במדגם קטן – מדדי ביצוע ואימות, סעיף 3. ההנחיה: לנסות מודלים מכמה משפחות בלי לכוונן, לקצר ל-2-5 מבטיחים – ורק אז לכוונן היפר-פרמטרים, בחיפוש רשת (כל הצירופים) או, כשמרחב הצירופים גדול, בחיפוש אקראי (מספר קבוע של צירופים; נספח א: להעדיף אקראי אלא אם יש מעט ערכים). לאחר הכוונון מסתכלים במודל: יער אקראי מדווח חשיבות מאפיינים – בדוגמה, ההכנסה החציונית ראשונה (0.19) – ומנתחים את השגיאות; וז'רון מוסיף דרישה שכל חוקר חברתי יזהה: לוודא שהמודל עובד לא רק בממוצע אלא "על כל קטגוריות המחוזות, כפריים או עירוניים, עשירים או עניים, צפוניים או דרומיים, מיעוט או לא" – ואם הוא נכשל על קטגוריה שלמה, לא לפרוס אותו עבורה, "כי הוא עלול להזיק יותר מלהועיל" (Chapter 2, "Analyzing the Best Models and Their Errors").
ה. קבוצת הבדיקה – פעם אחת, ואחריה לא נוגעים. המודל הסופי נמדד על קבוצת הבדיקה עם רווח סמך, ואז: "עליכם לעמוד בפיתוי לכוונן את ההיפר-פרמטרים כדי שהמספרים ייראו טוב על קבוצת הבדיקה; השיפורים לא צפויים להכליל לנתונים חדשים" (Chapter 2, "Evaluate Your System on the Test Set"). ההצגה – מה נלמד, מה עבד ומה לא, אילו הנחות, מהן המגבלות; ובדוגמה, בכנות: המערכת "אינה טובה בהרבה" מהמומחים שטעו ב-30%. שני הצעדים האחרונים – השקה, ניטור ואימון-מחדש – שייכים למערכות חיות; לחוקר נשארת מהם רק ההערה על ריקבון המודל: מודל קשור לנתוני זמנו.
4. איך יודעים שהמודל טוב – בקצרה
המלא – במדדי ביצוע ואימות; כאן ארבע השורות שכל השאר נשען עליהן. המדד לפי מחיר הטעות: דיוק כולל (accuracy) מטעה במחלקה נדירה – מסווג-דמה שאומר "לא" על הכול מקבל 90% כשעשירית מהתצפיות חיוביות, "מנצח את נוסטרדמוס" (Géron, 2022, Chapter 3); מדווחים מטריצת בלבול, precision ורגישות, ואת הסף. נתונים שהמודל לא ראה: שגיאת האימון יורדת עד אפס עם המורכבות, "אך מודל עם שגיאת אימון אפס מותאם-יתר לנתוני האימון ובדרך כלל יכליל גרוע" (Hastie et al., 2009, pp. 220-221) – ולכן אימון, תיקוף ובדיקה, ואימות צולב שנותן ממוצע וסטיית תקן. הטיה ושונות: שגיאת ההכללה = הטיה² + שונות + רעש; מורכבות מורידה הטיה ומעלה שונות – "ולכן זה נקרא פשרה" (Géron, Chapter 4). דליפה וגבול: קאפור ונאראיאנן מצאו דליפת נתונים ב-294 מאמרים ב-17 תחומים, ובחיזוי מלחמות אזרחים, "כשהשגיאות תוקנו, מודלי למידת מכונה מורכבים אינם מתפקדים טוב באופן מהותי ממודלי LR בני עשורים" (Kapoor & Narayanan, 2023, Section Summary); ומעל הכול יושבת שגיאת בייס – "השגיאה הבלתי-נמנעת" של מערכת המאפיינים (Ishii et al., 2026, p. 101), הגבול ש-160 הקבוצות של סלגניק ועמיתיו פגשו ב-R² = 0.2. תוצאה גבוהה בהרבה מקו הייחוס ומהספרות היא סימן לדליפה לפני שהיא סימן לפריצת דרך.
5. המודלים: מקו ישר ליער אקראי
ז'רון מסיים את פרויקט הדוגמה בעצה ש"עדיף כנראה להרגיש בנוח עם התהליך הכולל ולהכיר היטב שלושה-ארבעה אלגוריתמים, מאשר לבלות את כל הזמן בחקירת אלגוריתמים מתקדמים" (Chapter 2, "Try It Out!"). לוח 1 מסדר את המשפחות שכדאי להכיר, ומה שלפניו מסביר את שלוש החשובות לחוקר החברתי – הרגרסיות שכבר יש לו, העץ, והיער.
הרגרסיות – אותן נוסחאות, תוספת אחת. רגרסיה ליניארית ולוגיסטית הן אצל ז'רון (פרק 4) בדיוק מה שהן בעמוד הרגרסיה הלוגיסטית של האתר – סכום משוקלל של המאפיינים, ובלוגיסטית – הלוגיסטי שלו כהסתברות, וסף (בדרך כלל 50%) שהופך אותה למסווג; ההרחבה לכמה מחלקות היא רגרסיית סופטמקס. מה שהספר מוסיף הוא רגולריזציה: רגרסיית רכס (ridge; קנס על סכום ריבועי המקדמים – מכווץ אותם), לאסו (lasso; קנס על סכום ערכיהם המוחלטים – מאפס חלק מהם, כלומר בוחר מאפיינים), רשת אלסטית (שילוב), ועצירה מוקדמת. הייסטי ועמיתיו – טיבשיראני הוא ממציא הלאסו – מנסחים את מה שהוא עושה בדיוק: כשמקטינים את התקציב לסכום המקדמים, "חלק מהמקדמים יהיו אפס בדיוק. כך הלאסו מבצע מעין בחירת תת-קבוצה רציפה" (Hastie et al., 2009, p. 69). לחוקרת שרגילה לרגרסיה "כפי שהיא": כשהמטרה היא חיזוי, מודל עם מקדמים מכווצים ו"שגויים" חוזה לעתים טוב יותר ממודל עם המקדמים הבלתי-מוטים – זו הפשרה של סעיף 4 בפעולה, ומקדם מרוסן אינו מקדם שאפשר לפרש כהשפעה.
עץ החלטה – קופסה לבנה. עץ (פרק 6) הוא רצף שאלות: אורך עלה הכותרת קטן מ-2.45 ס"מ? – אם כן, Iris setosa; אם לא, רוחבו קטן מ-1.75? – versicolor, אחרת virginica. האלגוריתם (CART) בוחר בכל צומת מאפיין אחד וסף אחד שמפצלים את הקבוצה לשתי תת-קבוצות הטהורות ביותר (משוקללות בגודלן), במדד ג'יני כברירת מחדל או באנטרופיה – "רוב הזמן זה לא משנה הרבה", ג'יני מהיר יותר. הסתברות המחלקה בעלה היא שיעור התצפיות מהמחלקה בו (49 מתוך 54 = 90.7%). היתרונות: כמעט בלי הכנת נתונים, בלי שינוי קנה מידה, ופרשנות – "כללי סיווג נאים ופשוטים שאפשר אף להחיל ידנית" – ולכן "מודל קופסה לבנה", לעומת יערות ורשתות, שנחשבים "קופסה שחורה": חוזים מצוין, ואפשר לבדוק כל חישוב שעשו, "ובכל זאת בדרך כלל קשה להסביר במילים פשוטות למה התחזיות נעשו". החסרונות: עץ הוא מודל א-פרמטרי – מספר הפרמטרים אינו קבוע מראש, והוא יצמד לנתונים עד התאמת-יתר אם לא מגבילים אותו (עומק מרבי – ברירת המחדל: בלי גבול – מספר עלים, מינימום תצפיות בעלה); הוא אוהב גבולות מאונכים לצירים, ולכן רגיש לסיבוב הנתונים; ובעיקר – שונות גבוהה: שינוי קטן בנתונים או בהיפר-פרמטרים נותן עץ שונה מאוד, ואפילו אימון חוזר על אותם נתונים בדיוק עשוי לתת עץ אחר, כי האלגוריתם דוגם אקראית את המאפיינים שהוא בוחן בכל צומת (אלא אם קובעים זרע; פרק 6, "Decision Trees Have a High Variance"). הסטטיסטיקאים מסכימים משני הכיוונים: "בעיה מרכזית אחת של עצים היא השונות הגבוהה שלהם. לעתים קרובות שינוי קטן בנתונים יכול להביא לסדרת פיצולים שונה מאוד, מה שהופך את הפרשנות למעורערת במקצת" – בגלל המבנה ההיררכי, טעות בפיצול העליון מתפשטת לכל מה שמתחתיו (Hastie et al., 2009, p. 312); ועם זאת, "מכל שיטות הלמידה המוכרות, עצי החלטה הם הקרובים ביותר לעמוד בדרישות" של שיטה "מהמדף" לכריית נתונים – מהירים, פרשניים (כשהעץ קטן), מתמודדים עם תערובת של משתנים מספריים וקטגוריאליים ועם חסרים, אדישים לטרנספורמציות מונוטוניות ולחריגים במנבאים (עמ' 352). באותו עמוד גם ההערה שחוקרים צריכים: יישומי כריית נתונים "דורשים בדרך כלל מודלים פרשניים. לא די בכך שמפיקים תחזיות" – ולכן "שיטות קופסה שחורה כמו רשתות נוירונים" שימושיות הרבה פחות שם (עמ' 351-352). מי שמדווח "העץ מצא ש…" מדווח על עץ אחד מתוך רבים אפשריים.
יער אקראי – חוכמת ההמונים, במחיר הפרשנות. הפתרון לשונות הוא למצע: "אנסמבל" של מנבאים (פרק 7). האינטואיציה של ז'רון היא מטבע מוטה שנופל על "עץ" בהסתברות 51% – בהטלה אחת כמעט אקראי, אבל ב-1,000 הטלות ההסתברות לרוב של "עץ" היא כ-75%, וב-10,000 מעל 97%: חוק המספרים הגדולים – בתנאי שהמנבאים רבים מספיק ומגוונים מספיק. הגיוון מושג בשתי דרכים: באגינג (bagging, "bootstrap aggregating"; Breiman, 1996, as cited in Géron) – כל עץ מאומן על מדגם עם החזרה מקבוצת האימון (בממוצע כ-63% מהתצפיות; ה-37% הנותרים, "מחוץ לשק", משמשים לאימות חינם – out-of-bag evaluation – בלי קבוצת תיקוף נפרדת); ובנוסף, ביער אקראי, בכל צומת העץ בוחר את הפיצול הטוב ביותר רק מתוך תת-קבוצה אקראית של המאפיינים (כברירת מחדל שורש n מתוך n) – "מה שמחליף, שוב, הטיה גבוהה יותר בשונות נמוכה יותר, ובדרך כלל מניב מודל טוב יותר בסך הכול" (Chapter 7, "Random Forests"). המקור הפורמלי הוא בריימן (2001b): צירוף של עצים שכל אחד תלוי בווקטור אקראי שנדגם באופן בלתי-תלוי, ושגיאת ההכללה שלו מתכנסת לגבול ככל שמספר העצים גדל (תקציר) – כלומר, הוספת עצים אינה מייצרת התאמת-יתר. הייסטי ועמיתיו מדייקים את הטענה הזאת: נכון ש"הגדלת B אינה גורמת לסדרת היערות האקראיים להתאים-יתר", אך הגבול שאליו היא מתכנסת "יכול להתאים-יתר לנתונים" – ממוצע של עצים מלאים עלול להיות מודל עשיר מדי; מניסיונם, גידול עצים מלאים "לעתים רחוקות עולה הרבה" וחוסך פרמטר כוונון (Hastie et al., 2009, p. 596). וההערכה הכללית שלהם, שמסבירה למה היער הוא קו הייחוס של סעיף 8: "בבעיות רבות הביצועים של יערות אקראיים דומים מאוד לאלה של בוסטינג, והם פשוטים יותר לאימון ולכוונון" (עמ' 587); אומדן השגיאה מחוץ-לשק "כמעט זהה" לאימות צולב של N קיפולים (עמ' 593). היער גם מודד חשיבות מאפיינים: כמה כל מאפיין מפחית טומאה בממוצע על כל הצמתים שמשתמשים בו, משוקלל במספר התצפיות, ומסוכם ל-1 (באירוסים: אורך עלה הכותרת 44%, רוחבו 42%, עלי הגביע 11% ו-2%). מה שהיער אינו נותן הוא כיוון: חשיבות אינה מקדם, ואינה אומרת אם המאפיין מעלה או מוריד את ההסתברות. משפחה אחות: בוסטינג – "אחד מרעיונות הלמידה החזקים ביותר שהוצגו בעשרים השנים האחרונות" (Hastie et al., 2009, p. 337); בריימן כינה את AdaBoost עם עצים "המסווג הטוב ביותר מהמדף בעולם" (כמצוטט שם, עמ' 340) – עצים ברצף, כל אחד מתקן את קודמו (AdaBoost משקלל מחדש תצפיות שסווגו שגוי; gradient boosting מתאים כל עץ לשאריות של קודמו; מימוש מבוסס-סלים לנתונים גדולים – מאות מונים מהיר; XGBoost, LightGBM ו-CatBoost מחוץ ל-scikit-learn); וערימה (stacking) – מודל שלומד לשקלל את תחזיות האחרים.
קופסה לבנה ושחורה – ומתי אסור שחורה. סינתיה רודין טוענת ש"זהו מיתוס שיש בהכרח פשרה בין דיוק לפרשנות": האמונה שמודלים מורכבים יותר מדויקים יותר "לעתים קרובות אינה נכונה, במיוחד כשהנתונים מובנים, עם ייצוג טוב במונחים של מאפיינים בעלי משמעות טבעית" – ונתוני סקר הם בדיוק זה. ההסברים שמלבישים על קופסה שחורה בדיעבד (מודל שני שמחקה את הראשון) "חייבים להיות שגויים": אילו היו נאמנים לגמרי למודל המקורי, ההסבר היה שווה למודל ולא היה צורך במקור; הדוגמה שלה היא COMPAS – מודל קנייני לחיזוי רצידיביזם בבתי משפט בארצות הברית, ש-ProPublica האשימה בהטיה גזעית על סמך מודל-הסבר ליניארי שבנתה לו, בעוד המודל עצמו כנראה לא-ליניארי (Rudin, 2019, Section 2). מסקנתה: להחלטות בעלות סיכון גבוה על בני אדם – משפט, בריאות, רווחה – יש לבנות מודלים פרשניים מלכתחילה, לא להסביר קופסאות שחורות. לחוקרת: על נתוני סקר של כמה מאות נבדקים, רגרסיה לוגיסטית מרוסנת או עץ רדוד יחזו לרוב כמו היער – ויגידו גם למה. את היער מריצים כקו ייחוס: אם הוא טוב בהרבה, יש בנתונים אי-ליניאריות או אינטראקציות שהמודל הפרשני מפספס – ואת זה מדווחים.
לוח 1. משפחות המודלים – מה עושים, מתי, ומה מכוונים
| המודל | פרק: ז'רון · ESL · בישופ | מה הוא עושה | היפר-פרמטרים עיקריים | לחוקר החברתי |
|---|---|---|---|---|
| רגרסיה ליניארית; פולינומיאלית | 4 · 3 · 3 | סכום משוקלל של המאפיינים; פולינומיאלית – עם חזקות ומכפלות שלהם. | דרגת הפולינום; רגולריזציה (רכס, לאסו, רשת אלסטית). | אותו מודל של קורס הסטטיסטיקה. קו הייחוס לכל רגרסיה. |
| רגרסיה לוגיסטית; סופטמקס | 4 · 4 · 4 | הסתברות למחלקה; סף מכריע. סופטמקס – לכמה מחלקות. | עוצמת הרגולריזציה; הסף. | עמוד הרגרסיה הלוגיסטית – בתרבות המסבירה. קו הייחוס לכל סיווג; מודל קופסה לבנה. |
| שכנים קרובים (k-NN) | 1 · 13 · 2 | מבוסס-מופעים: החיזוי לפי k התצפיות הדומות ביותר. | k; מדד המרחק. | פשוט להסביר, רגיש לקנה מידה; אין "מודל" לדווח. |
| מכונת וקטורים תומכים (SVM) | 5 · 12 · 7 | גבול הפרדה עם השוליים הרחבים ביותר; גרעינים לאי-ליניאריות. | C; סוג הגרעין ופרמטריו. | חזק על מדגמים קטנים-בינוניים; דורש תקנון; פרשנות מוגבלת. |
| עץ החלטה | 6 · 9 · 14 | פיצולים בינאריים על מאפיין וסף; הסתברות = שיעור בעלה. | עומק מרבי; מינימום תצפיות בעלה; מספר עלים. | קופסה לבנה; בלי הכנת נתונים; שונות גבוהה – לא לדווח עץ אחד כממצא. |
| יער אקראי; עצים אקראיים-במיוחד | 7 · 15 · – | באגינג של עצים + תת-קבוצת מאפיינים אקראית בכל צומת; ממוצע או רוב. | מספר העצים; מאפיינים לצומת; עומק / עלים. | קו הייחוס החזק לנתונים טבלאיים; חשיבות מאפיינים בלי כיוון; קופסה שחורה. |
| בוסטינג (AdaBoost, gradient boosting) | 7 · 10 · 14 | עצים ברצף, כל אחד מתקן את קודמו. | מספר העצים; קצב למידה; עומק. | לרוב הטוב ביותר בתחרויות על טבלאות; נוטה להתאמת-יתר בלי עצירה מוקדמת. |
| אשכולות: k-ממוצעים; DBSCAN; תערובות גאוסיאניות | 9 · 14 · 9 | קבוצות בלי תוויות: לפי מרכזים, לפי צפיפות, או לפי התפלגויות. | k (או סף צפיפות); תקנון לפני. | k הוא החלטה: אינרציה יורדת תמיד עם k; "מרפק" או ציון צללית. k-ממוצעים משייך כל תצפית לאשכול אחד "קשיח"; תערובת גאוסיאנית נותנת שיוך "רך" – הסתברות לכל אשכול – שמשקף את אי-הוודאות במקרי הביניים (Bishop, 2006, p. 428). |
| הפחתת ממדים (PCA) | 8 · 14 · 12 | מרכיבים עיקריים – צירים חדשים שמשמרים את מרב השונות. | מספר המרכיבים / שיעור השונות. | קרוב משפחה של ניתוח הגורמים; לצמצום מאפיינים לפני מודל אחר. |
| רשת נוירונים (MLP) | 10-11 · 11 · 5 | שכבות של יחידות; לומדת ייצוגים; סעיף 6. | מספר השכבות והיחידות; קצב למידה; אצווה; רגולריזציה. | לטקסט, תמונה וקול – דרך מודל מאומן-מראש. לא לטבלה של 500 נבדקים. |
הערה. הפרקים – Géron (2022), Hastie et al. (2009) (ESL) ו-Bishop (2006); יערות אקראיים אינם נדונים אצל בישופ. כל המודלים בלוח ממומשים ב-scikit-learn (לוח 2), ובפרט כולם דרך אותו ממשק: fit(), predict(), score().
6. רשתות נוירונים – מתי כן ומתי לא
רשת נוירונים מלאכותית (פרק 10) קיבלה השראה מהמוח, אך "כפי שמטוסים קיבלו השראה מציפורים, הם לא צריכים לנפנף בכנפיים כדי לעוף"; המודל הראשון הוא של מקאלוק ופיטס (1943), ואחריו שני "חורפים" – שנות ה-60 ושנות ה-90, כשמכונות וקטורים תומכים נראו מבטיחות יותר. הגל הנוכחי שונה, לפי ז'רון, מארבע סיבות: כמות הנתונים, כוח החישוב (חוק מור, כרטיסי GPU שתעשיית המשחקים ייצרה במיליונים, הענן), שיפורים קטנים אך מכריעים באלגוריתמי האימון, וההתבררות שמגבלות תיאורטיות – כמו אופטימומים מקומיים – אינן מזיקות בפועל. ומה הרשת היא מבחינה סטטיסטית: "הייתה הרבה הייפ סביב רשתות נוירונים, שגרם להן להיראות קסומות ומסתוריות. כפי שאנו מבהירים בסעיף זה, הן פשוט מודלים סטטיסטיים לא-ליניאריים" – מודל רגרסיה או סיווג בשני שלבים (Hastie et al., 2009, p. 392). הארכיטקטורה הבסיסית, הפרספטרון הרב-שכבתי, היא שכבת קלט, שכבה נסתרת אחת או יותר, ושכבת פלט – ובישופ מעיר שהשם "הוא למעשה שם שגוי, כי המודל מורכב משכבות רבות של מודלי רגרסיה לוגיסטית" (עם אי-ליניאריות רציפה) ולא מפרספטרונים (Bishop, 2006, p. 226): לחוקרת שמכירה רגרסיה לוגיסטית, רשת היא רגרסיות לוגיסטיות שמוזנות זו לזו; "עמוקה" היא רשת עם ערימה עמוקה של שכבות נסתרות, אם כי "רבים מדברים על למידה עמוקה בכל פעם שרשתות נוירונים מעורבות (גם רדודות)". האימון – התפשטות לאחור (backpropagation): גזירה אוטומטית במצב הפוך (לינאינמה, 1970) שמחשבת בשני מעברים – קדימה ואחורה – כיצד לשנות כל משקל כדי להקטין את השגיאה, ואז צעד של ירידת גרדיאנט; וחוזר חלילה. שכבה נסתרת אחת יכולה, תיאורטית, למדל כל פונקציה בהינתן די יחידות, אך רשתות עמוקות חסכוניות בפרמטרים בסדרי גודל, כי הן מנצלות היררכיה בנתונים – קווים, ואז צורות, ואז פנים – וזה גם מה שמאפשר העברת למידה (transfer learning): לקחת את השכבות התחתונות של רשת מאומנת ולאמן רק את העליונות למשימה חדשה. "לעתים רחוקות תצטרכו לאמן רשתות כאלה מאפס" (Chapter 10, "Number of Hidden Layers").
ומתי לא. האזהרה נמצאת כבר בהקדמת הספר: "אל תקפצו למים עמוקים בחיפזון… את רוב הבעיות אפשר לפתור היטב בטכניקות פשוטות יותר כמו יערות אקראיים ושיטות אנסמבל… למידה עמוקה מתאימה ביותר לבעיות מורכבות כמו זיהוי תמונות, זיהוי דיבור או עיבוד שפה טבעית, והיא דורשת הרבה נתונים, כוח חישוב וסבלנות (אלא אם אפשר להיעזר ברשת נוירונים מאומנת-מראש)" (Géron, 2022, הקדמה, "Roadmap"). לחוקר החברתי המסקנה חדה: על טבלה של סקר – לא; על תמלילים, פוסטים, תמונות והקלטות – כן, אבל כמעט תמיד דרך מודל מאומן-מראש שמישהו אחר אימן על מיליוני דוגמאות, ושמכווננים או פשוט מפעילים: DictaBERT, HeBERT ו-BEREL שבעמוד NLP הם בדיוק רשתות כאלה, וההנחיה שם – מדגם ידני של 100-200 פריטים והסכמה בין מקודדים לפני שסומכים על הפלט – היא סעיף 4 של העמוד הזה במילים אחרות. הכלי לכתיבת רשתות הוא Keras (לוח 2) – "ממשק ברמה גבוהה, מעוצב יפה ופשוט" מעל TensorFlow, ורוב הצרכים ייענו בו.
7. הכלים
הספר כולו רץ ב-Python, וחלקו הראשון ב-scikit-learn – ספרייה שז'רון משבח על עיצוב ה-API שלה: כל אובייקט הוא אומד (estimator) עם fit(), חלקם ממירים עם transform() וחלקם מנבאים עם predict(); ההיפר-פרמטרים גלויים, הפרמטרים שנלמדו נגישים (עם קו תחתון בסופם), הנתונים הם מערכי NumPy ולא מחלקות פרטיות, ואת הכול אפשר לשרשר לצינור (Pipeline) – שהוא גם המנגנון שמונע את הדליפה של סעיף 4, כי הצינור כולו מותאם על האימון ומוחל על השאר (Chapter 2, "Scikit-Learn Design", "Transformation Pipelines"). לוח 2 מסדר את הכלים לפי הצורך; מי שאינו כותב קוד ימצא בו שלושה כלים גרפיים – שניים בקוד פתוח ואחד בתשלום, שסעיף 10 מוקדש לו. שאר הכלים הסטטיסטיים – R, PSPP, JASP, jamovi – במפת הכלים, סעיף 8.
לוח 2. כלים ללמידת מכונה – ספריות, סביבות ומאגרים
| הכלי | מה הוא עושה | רישיון | שפה / ממשק | הערות |
|---|---|---|---|---|
| scikit-learn | ספריית למידת המכונה הקלאסית: כל המודלים של לוח 1 (למעט רשתות עמוקות), חלוקה ואימות צולב, צינורות, מדדי ביצוע, חיפוש היפר-פרמטרים. | קוד פתוח | Python | גרסה 1.9.1 (ספטמבר 2026), BSD. Pedregosa et al. (2011). מפותחת ב-Inria. חלק א של הספר כולו רץ בה; נקודת הכניסה. |
| pandas · NumPy · Matplotlib | טבלאות ומערכים (הקלט של כל השאר) ותרשימים. הקדם-דרישות של הספר. | קוד פתוח | Python | pandas 3.0, NumPy 2.5, Matplotlib 3.11 (2026), BSD. הספר מפנה למדריכים קצרים לשלושתן (homl.info/tutorials). קובץ אקסל בתבנית האתר נטען ל-pandas בשורה אחת. |
| Jupyter · Google Colab | מחברות: קוד, פלט וטקסט במסמך אחד – יומן המחקר של הפרויקט. Colab מריץ אותן בדפדפן, בלי התקנה, בחשבון Google. | חינמי (Colab סגור) | דפדפן / התקנה | JupyterLab 4.6 – קוד פתוח; הספר מניח עבודה ב-Colab. אזהרה: ב-Colab הנתונים נשלחים לשרתי Google – ראו "איפה הנתונים שלכם?" בסעיף 8. |
| המחברות של הספר (handson-ml3) | כל הקוד של Géron (2022) כמחברות Jupyter, פרק-פרק, עם פתרונות התרגילים; נפתחות ישירות ב-Colab. | קוד פתוח | Python | רישיון Apache-2.0. אומת בעקיפין (עמוד המאגר והקישור ל-Colab; ה-API של GitHub חסום לבדיקה אוטומטית). הדרך הנכונה לקרוא את הספר – עם המחברת פתוחה. |
| Keras · TensorFlow | רשתות נוירונים: Keras – ה-API ברמה הגבוהה; TensorFlow – מנוע החישוב של Google. חלק ב של הספר. | קוד פתוח | Python | Keras 3.15, TensorFlow 2.21 (2026), Apache 2.0. Keras 3 רץ גם מעל JAX ומעל PyTorch – שלושה מנועים, ממשק אחד. |
| PyTorch | מסגרת הלמידה העמוקה השנייה; זו שמאחורי רוב מודלי Hugging Face שבעמוד NLP. | קוד פתוח | Python | גרסה 2.14 (2026), רישיון BSD. אינה נדונה בספר, אך העקרונות זהים. |
| XGBoost · LightGBM | מימושים ממוטבים של gradient boosting, עם API דומה ל-scikit-learn ותמיכה ב-GPU. | קוד פתוח | Python / R | XGBoost 3.4 (Apache-2.0), LightGBM 4.7 (MIT), 2026. ז'רון: "בהחלט כדאי לבדוק אותם" (פרק 7); גם CatBoost שייך למשפחה. |
| SHAP | הסברים בדיעבד לקופסאות שחורות: תרומת כל מאפיין לכל תחזית (ערכי שפלי). | קוד פתוח | Python | גרסה 0.52 (2026), MIT. להסבר יער או בוסטינג – עם הסייג של Rudin (2019): הסבר של קופסה שחורה אינו המודל. |
| imbalanced-learn | דגימת-יתר ודגימת-חסר למחלקות נדירות (SMOTE et al.), תואם scikit-learn. | קוד פתוח | Python | גרסה 0.14 (2026). רק בתוך צינור, אחרי החלוקה – דגימת-יתר לפני החלוקה היא דליפה L1.2 (Kapoor & Narayanan, 2023). |
| tidymodels · ranger | ב-R: tidymodels – מסגרת אחידה לחלוקה, מתכונים, מודלים, כוונון ומדדים; ranger – יער אקראי מהיר. | קוד פתוח | R | tidymodels 1.5 (MIT), ranger 0.18 (GPL-3), 2026. החבילה הקלאסית randomForest (4.7-1.2, 2024) והוותיקה caret (7.0-1, 2024) – עדיין זמינות ב-CRAN. |
| JASP – מודול למידת מכונה | בממשק גרפי, בלי קוד: רגרסיה וסיווג (בוסטינג, עץ, שכנים קרובים, רשת נוירונים, יער אקראי, רגרסיה מרוסנת, SVM) ואשכולות (k-ממוצעים, היררכי, לפי צפיפות, לפי מודל). | קוד פתוח | תוכנה להתקנה | רשימת הניתוחים אומתה מול מאגר הקוד של המודול (jaspMachineLearning); עמוד המודול באתר חסום לבדיקה אוטומטית. הדרך הקצרה ביותר מ-SPSS ליער אקראי. |
| IBM SPSS Modeler | כריית נתונים בלי קוד: "זרם" של צמתים על קנבס – מקור, Type, Partition, צמתי המודלים (רגרסיה לוגיסטית, עצים, רשת נוירונים, יער אקראי, XGBoost) ו-Analysis להשוואה. | בתשלום | תוכנה להתקנה | גרסה 19.0; רשימת הצמתים אומתה מול מדריך Modeling Nodes של IBM לגרסה זו ומול מדריכי 18.0 (IBM Corporation, 2016a, 2016b) (צמתי היער וה-XGBoost הם "צמתי Python" – דורשים את הרחבת Python). "אינו חינמי ויקר למדי לארגונים, אם כי IBM מציעה גרסה חינמית לשימוש חינוכי"; ובאותה נשימה: הממשק "מבלבל, ומקשה על השוואת מודלים" (Truong, 2026, p. 55). ספרי הלימוד – טרואונג, ובאקדמיה וונדלר וגרוטרופ (2021, Springer, ל-18.2); סעיף 10. |
| Orange | למידת מכונה בתכנות חזותי – מחברים קופסאות; גם כריית טקסט. | קוד פתוח | תוכנה להתקנה | ראו מפת הכלים, לוח 8. ללימוד המושגים בלי שורת קוד. |
| UCI ML Repository · OpenML | מאגרי נתונים פתוחים לתרגול ולהשוואת שיטות; OpenML – עם תוצאות מדווחות של מודלים. | חינמי | דפדפן / API | שני המאגרים ברשימה של ז'רון (Chapter 2, "Working with Real Data"), לצד Kaggle. לתרגול על נתונים אמיתיים, לא מלאכותיים. |
| Kaggle | תחרויות, מערכי נתונים ומחברות ציבוריות; מריץ מחברות בענן. | חינמי (סגור) | דפדפן | בבעלות Google, בחשבון חינמי. שימושי לראות איך אחרים פתרו בעיה דומה; ממצאי תחרויות אינם ממצאי מחקר. |
הערה. גרסאות ורישיונות נבדקו בספטמבר 2026 (PyPI, CRAN, אתרי הכלים). "סגור" – שירות חינמי שאינו קוד פתוח. R, PSPP, jamovi ו-statsmodels – במפת הכלים, לוח 8.
8. מרשם עבודה: למידת מכונה במחקר חברתי
המקרה הטיפוסי: סקר של כמה מאות נבדקים עם תוצאה בינארית (נשירה, הצבעה, פנייה לעזרה), או קובץ מנהלי של אלפים. השאלה: האם אפשר לחזות את התוצאה ממשתני הרקע – וכמה טוב, בהשוואה למה שכבר יודעים. שבעה צעדים, וכל אחד מהם מתועד; הקובץ – בתבנית התקנית של האתר, שורה = נבדק, עמודה = משתנה, ומ-SPSS – דרך מ-SPSS לאקסל.
| # | הצעד | מה עושים – ומה מתעדים |
|---|---|---|
| 1 | המטרה, המדד, קו הייחוס | להסביר או לחזות? (סעיף 1). אם לחזות: איזו תצפית "חדשה" – נבדק אחר באותה אוכלוסייה, או אותם נבדקים בעתיד (זה קובע את החלוקה בצעד 2). המדד – לפי מחיר הטעות, לא לפי הרגל (מדדי ביצוע ואימות, לוח 1 שם). קו הייחוס: מסווג-הדמה (המחלקה השכיחה) ורגרסיה לוגיסטית על המשתנים שהתיאוריה כבר מכירה – כמו ארבעת המשתנים של Salganik et al. (2020); ולסיווג גם השכן הקרוב ביותר, ש"יכול היום לשמש לפחות כקו ייחוס לשיטות סיווג שונות" (Ishii et al., 2026, p. 11). מתעדים: את שלושתם, לפני שנוגעים בנתונים. |
| 2 | החלוקה – ראשונה | 20% לבדיקה, מרובד לפי התוצאה (ובמחלקה נדירה – חובה), עם זרע קבוע. מדידות חוזרות או פאנל – החלוקה לפי נבדק, לא לפי שורה (דליפה L3.2). חיזוי קדימה בזמן – הבדיקה מאוחרת מהאימון (L3.1). מתעדים: שיטת החלוקה, הזרע, גודלי הקבוצות. |
| 3 | הכנה בצינור | זקיפת חסרים, קידוד קטגוריות, תקנון – כשלבי צינור שמותאמים על האימון בלבד. משתנה שהוא היעד בתחפושת (הטיפול שניתן לבעיה שחוזים) – החוצה (L2). בחירת מאפיינים – בתוך הצינור, לא על כל הנתונים (L1.3). מתעדים: את שלבי הצינור, לפי סדר. |
| 4 | השוואת מודלים באימות צולב | קווי הייחוס מצעד 1, עץ מוגבל-עומק, יער אקראי, בוסטינג – בברירות מחדל, ב-5 או 10 קיפולים, אותם קיפולים לכולם. מדווחים ממוצע וסטיית תקן של המדד. מתעדים: את הלוח המלא, כולל מי שנכשל. |
| 5 | כוונון – רק למועמדים | חיפוש אקראי בתוך אימות צולב, על 2-3 המודלים הטובים. אם היער אינו טוב מהרגרסיה בהפרש שעולה על סטיות התקן – לוקחים את הרגרסיה (קופסה לבנה, Rudin, 2019). מתעדים: את מרחב החיפוש ואת הערכים שנבחרו. |
| 6 | קבוצת הבדיקה – פעם אחת | המודל הסופי, מאומן על כל האימון, נמדד על הבדיקה: המדד ורווח סמך, מטריצת הבלבול, ולפי תת-קבוצות (מגדר, גיל, מגזר). כל מה שקורה אחרי המדידה הזאת הוא מחקר חדש. מתעדים: את המספר, ואת הפער מהאימות הצולב. |
| 7 | הדיווח | המדד על הבדיקה מול קו הייחוס (המספר החשוב הוא ההפרש), הסף שנבחר, חשיבות המאפיינים (בלי כיוון!) או המקדמים, המגבלות – ומה המודל אינו אומר: חיזוי אינו סיבה (Shmueli, 2010). מצרפים את המחברת. ההסכמה בין המודל לקידוד אנושי, כשיש – בעמוד מהימנות בין מקודדים. |
9. ואיך עושים זאת ב-R
המרשם של סעיף 8, כסקריפט אחד שרץ מההתחלה עד הסוף על קובץ הדוגמה של העמוד – DATA_ml_example_eng.xlsx (וגרסה עם שמות עבריים, DATA_ml_example_heb.xlsx): 320 תלמידים בשמונה בתי ספר, שבעה משתני רקע ותוצאה בינארית – נשירה (11.6%) – עם חסרים בשני משתנים, בתבנית התקנית של האתר. הבחירות בכלים הולכות אחרי ספר ההדרכה של גוטיירז, שכתוב סביב אותה שאלה – איך פרויקט למידת מכונה נראה ב-R, מקריאת הקובץ ועד הערכת המודל: glm עם family = binomial לרגרסיה לוגיסטית, randomForest עם ntree ו-mtry, ו-importance() לחשיבות המאפיינים (Gutierrez, 2015, Chapter 6, "Logistic Regression", "Random Forests"); חלוקה לאימון, לתיקוף ולבדיקה – "60% אימון, 20% אימות צולב ו-20% בדיקה" בנוסח שלו – ואת קבוצת הבדיקה "משאירים לגמרי לבד, כי היא לעולם אינה משמשת בתהליך" של בחירת המודל (Gutierrez, 2015, Chapter 7, "Bias and Variance", "Cross Validation"); ולרגולריזציה – glmnet, שבו alpha = 0 נותן רכס ו-alpha = 1 לאסו, ו-lambda שולט בעוצמה (Chapter 7, "Overfitting"). מה שהסקריפט מוסיף על הספר הוא חבילת caret (Kuhn, 2008): החלוקה המרובדת, האימות הצולב, הכוונון וההכנה בתוך הקיפולים – זקיפת חסרים ותקנון ב-preProcess, שמותאמים על קיפול האימון בלבד – בממשק אחד לכל המודלים, וכך אי-אפשר לדלוף בטעות (מדדי ביצוע ואימות, סעיף 5). הנתיב C:\Rdata\ – אותה מוסכמה של סעיפי ה-R בעמודי המחשבון.
# machine_learning.R - machine learning in social research: the seven-step recipe in R
# Data: DATA_ml_example_eng.xlsx - 320 students in 8 schools; outcome dropout (0/1).
library(readxl) # read Excel
library(caret) # split, cross-validation, tuning, confusion matrix
library(randomForest) # random forest
library(pROC) # ROC curve and AUC confidence interval
d <- read_excel("C:/Rdata/DATA_ml_example_eng.xlsx")
d$dropout <- factor(d$dropout, levels = c(0, 1), labels = c("no", "yes"))
d$gender <- factor(d$gender, levels = c(1, 2), labels = c("male", "female"))
d$id <- NULL # the id column is not a variable
# --- Step 1: goal, metric, baseline ------------------------------------------
# Metric: AUC (no threshold) and sensitivity at the chosen threshold. First baseline - the dummy classifier:
prop.table(table(d$dropout)) # majority-class rate = accuracy of "always no"
# --- Step 2: the split - first, stratified by outcome, fixed seed -----------
set.seed(20260920)
idx <- createDataPartition(d$dropout, p = 0.8, list = FALSE)
train <- d[idx, ]
test <- d[-idx, ] # test set - untouched until step 6
# --- Step 3: preparation inside the pipeline - imputation and scaling within folds ---
ctrl <- trainControl(method = "cv", number = 10, classProbs = TRUE,
summaryFunction = twoClassSummary, savePredictions = "final")
prep <- c("medianImpute", "center", "scale") # caret fits these on the training fold only (na.action = na.pass: NAs imputed in the pipeline)
# --- Step 4: compare models by cross-validation - same folds for all ---------
set.seed(1)
m_base <- train(dropout ~ age + gender + ses, data = train, method = "glm",
family = binomial, metric = "ROC", trControl = ctrl) # baseline: background variables
set.seed(1)
m_glm <- train(dropout ~ . - school_id, data = train, method = "glm",
family = binomial, metric = "ROC", trControl = ctrl, preProcess = prep, na.action = na.pass)
set.seed(1)
m_tree <- train(dropout ~ . - school_id, data = train, method = "rpart",
metric = "ROC", trControl = ctrl, preProcess = prep, na.action = na.pass)
set.seed(1)
m_rf <- train(dropout ~ . - school_id, data = train, method = "rf",
metric = "ROC", trControl = ctrl, preProcess = prep, ntree = 500, na.action = na.pass)
res <- resamples(list(baseline = m_base, logistic = m_glm, tree = m_tree, forest = m_rf))
t(sapply(res$values[, grep("~ROC$", names(res$values))],
function(x) c(mean = mean(x), sd = sd(x)))) # mean and SD of AUC over the 10 folds
# --- Step 5: tuning - candidates only ----------------------------------------
set.seed(1)
m_rf_t <- train(dropout ~ . - school_id, data = train, method = "rf",
metric = "ROC", trControl = ctrl, preProcess = prep, ntree = 500, na.action = na.pass,
tuneGrid = data.frame(mtry = c(2, 3, 4, 6)))
m_rf_t$results[, c("mtry", "ROC", "ROCSD")]
# --- Step 6: the test set - once -----------------------------------------------
final <- if (max(m_rf_t$results$ROC) - max(m_glm$results$ROC) > m_glm$results$ROCSD) m_rf_t else m_glm
# threshold chosen on the training set's cross-validated predictions (savePredictions) - not on the test set
roc_cv <- roc(final$pred$obs, final$pred$yes, levels = c("no", "yes"), direction = "<")
thr <- coords(roc_cv, "best", best.method = "youden", ret = "threshold")$threshold
thr # the threshold to apply to the test set
p_test <- predict(final, test, type = "prob", na.action = na.pass)[, "yes"]
roc_t <- roc(test$dropout, p_test, levels = c("no", "yes"), direction = "<")
auc(roc_t); ci.auc(roc_t) # AUC and 95% CI on the test set
pred_t <- factor(ifelse(p_test >= thr, "yes", "no"), levels = c("no", "yes"))
confusionMatrix(pred_t, test$dropout, positive = "yes", mode = "everything") # at the chosen threshold
confusionMatrix(predict(final, test, na.action = na.pass), test$dropout, positive = "yes")$byClass[c("Sensitivity", "Specificity")] # and at 0.5, for comparison
# --- Step 7: report - plus feature importance (no direction) ----------------
varImp(final)
# --- Dependent data: folds by school instead of by student -----------------
folds_g <- groupKFold(train$school_id, k = 5)
ctrl_g <- trainControl(method = "cv", index = folds_g, classProbs = TRUE,
summaryFunction = twoClassSummary)
set.seed(1)
m_rf_g <- train(dropout ~ . - school_id, data = train, method = "rf",
metric = "ROC", trControl = ctrl_g, preProcess = prep, ntree = 500, na.action = na.pass)
m_rf_g$results[, c("mtry", "ROC", "ROCSD")] # compare with m_rf: the gap is what the dependence "contributed"
מה יצא (R 4.3.3, caret 6.0-94, randomForest 4.7-1.1, pROC 1.18.5; הפלט המלא – qa/ml/ml_out.txt). מסווג-הדמה: 88.4% דיוק כולל – זה קו הרצפה. באימות צולב של עשרה קיפולים, AUC ממוצע: קו הייחוס (גיל, מין, מעמד) .59 (סטיית תקן .21), רגרסיה לוגיסטית על כל המשתנים .66 (.22), עץ .64 (.14), יער אקראי .64 (.21); הכוונון של היער (mtry 2-6) הגיע לכל היותר ל-.65. כלל צעד 5 בחר ברגרסיה הלוגיסטית: היער לא עבר אותה בהפרש שעולה על סטיית התקן – ו"היער אינו טוב מהרגרסיה" הוא ממצא, לא כישלון. על קבוצת הבדיקה (63 תלמידים, 7 נושרים): AUC = .74, רווח סמך 95% [.50, .97] – רחב, כי שבעה מקרים חיוביים הם שבעה. והסף: בסף 0.5 המודל אינו מזהה אף נושר (רגישות 0, ספציפיות 1 – "מנצח את נוסטרדמוס"); הסף שנבחר על תחזיות האימות הצולב של קבוצת האימון, לא על הבדיקה, הוא .12 – ובו רגישות .71, ספציפיות .73, precision .25: המודל תופס חמישה משבעת הנושרים במחיר 15 התראות שווא. חשיבות המאפיינים – ציונים, מעמד, היעדרויות – בלי כיוון. ולבסוף החלוקה לפי בית ספר במקום לפי תלמיד: AUC של היער יורד מ-.64 ל-.60 – הפער הקטן הזה הוא מה שהתלות בין תלמידי אותו בית ספר "תרמה" למספר הראשון (מדדי ביצוע ואימות, סעיף 6). הנתונים מלאכותיים, וזה בדיוק העניין: כך נראה פרויקט אמיתי על 320 נבדקים – לא AUC = .95.
10. ואיך עושים זאת ב-SPSS Modeler
למי שהמחקר שלה חי ב-SPSS, הדרך הקצרה ללמידת מכונה אינה Python אלא התוכנה האחות: SPSS Modeler, שבה "כריית נתונים כרוכה בהעברת הנתונים דרך רצף של צמתים, שנקרא 'זרם'. כל צומת מייצג פעולה מסוימת שמוחלת על הנתונים, והחיבורים בין הצמתים מגדירים את זרימת הנתונים" (Truong, 2026, p. 56). הסעיף הזה עוקב אחרי ספר הלימוד של טרואונג ומתרגם את שבעת צעדי המרשם של סעיף 8 – ואת סקריפט ה-R של סעיף 9 – לצמתים. סייג אחד, בניגוד לסעיף 9: Modeler אינו מותקן בסביבת הבדיקה של האתר, ולכן מה שכתוב כאן הוא תיאור לפי הספר, לא הרצה; מי שמריצה – מתעדת את הזרם (קובץ ה-str) כמו שמצרפים מחברת.
התהליך. Modeler בנוי סביב CRISP-DM – "תקן חוצה-ענפים לתהליך כריית נתונים", שישה שלבים: הבנת העסק, הבנת הנתונים, הכנת הנתונים, מידול, הערכה ופריסה; "הוא פופולרי בתעשייה יותר מאשר באקדמיה, ו-IBM אימצה ויישמה אותו בתוכנה" (עמ' 32). במדריך המשתמש של גרסה 19.0: "הבנת העסק. זהו אולי השלב החשוב ביותר בכריית נתונים" (IBM Corporation, 2025, p. 23), והזרם – "סדרה של צמתים… שמייצגת פעולות שיבוצעו על הנתונים, בעוד הקישורים בין הצמתים מציינים את כיוון זרימת הנתונים" (עמ' 31). לחוקרת, "הבנת העסק" היא צעד 1 של סעיף 8 – המטרה, המדד, קו הייחוס – והוא נעשה לפני שפותחים את התוכנה.
הזרם, צומת אחר צומת. Statistics File – קורא קובץ sav ישירות (ולקובץ אקסל בתבנית האתר – צומת Excel). Type – "לצפייה ולשינוי של סולמות המדידה ושל התפקידים של השדות": כאן מסמנים את היעד (Target), את המנבאים (Input), ואת מה שלא ייכנס למודל – מזהה הנבדק, המשתנה שהוא היעד בתחפושת – כ-None; זהו צעד 3 של סעיף 8, וזה המקום שבו דליפה L2 נמנעת או נכנסת. Partition – "אימון, בדיקה ותיקוף" בשיעורים שמזינים (עמ' 87-88), ובלשון התיעוד של IBM: "לאמן את המודל במדגם אחד, לבדוק ולעדן את המודל במדגם שני, ולתקף את התוצאות בשלישי" (IBM Corporation, 2016b, p. 157); שימו לב לשמות: ב-Modeler ה"בדיקה" היא הקבוצה השנייה, להשוואת מודלים, וה"תיקוף" – השלישית, למדידה הסופית, הפוך מהמוסכמה של ז'רון ושל העמוד הזה (מדדי ביצוע ואימות, סעיף 2; לוח 3.8 אצל טרואונג, עמ' 85). למדגם של מאות, ההמלצה של טרואונג עצמו היא שתי קבוצות בלבד, 60-40 (עמ' 87) – ואימות צולב, שהוא לב סעיף 9, אינו ברירת המחדל של Modeler: אצל טרואונג הוא מומלץ לכוונון היפר-פרמטרים (עמ' 522), אך כל הדוגמאות בספר נמדדות על חלוקה אחת. צמתי המודלים – מקבוצת Modeling: Logistic (קו הייחוס וגם מועמד), C&R Tree ו-CHAID (עץ; CHAID מפצל לפי מבחן χ² ומאפשר פיצול לא-בינארי), Neural Net, Random Forest ו-XGBoost Tree (יער ובוסטינג – צמתי Python, שדורשים את ההרחבה), ו-Auto Classifier, שמריץ כמה אלגוריתמים ומדרג אותם – נוח, ובתנאי שמה שהוא מדרג לפיו הוא המדד של צעד 1. לצומת היער יש "אופטימיזציית היפר-פרמטרים, שמחפשת אוטומטית את צירוף הפרמטרים המיטבי כדי למזער את שיעור השגיאה על המדגמים" (עמ' 499) – זהו צעד 5, אך שימו לב על אילו מדגמים: אם על קבוצת ה"בדיקה" של Modeler, היא נעשתה קבוצת תיקוף, וזה בסדר – כל עוד המדידה הסופית היא על ה"תיקוף". ספר הלימוד האקדמי של Modeler ממליץ "70-80% מהנתונים לקבוצת האימון והשאר לקבוצת הבדיקה" ולקבע את הזרע בצומת Partition "כדי לקבל את אותו מודל בכל ריצה" (Wendler & Gröttrup, 2021, p. 826) – ועל בחירת המודל, מה שהעמוד הזה אומר בסעיף 5: "אין שיטה שעולה על כל מודל אחר לכל סוג של נתונים ובעיית סיווג… אנו ממליצים בחום לנסות גישות ושיטות שונות על כל מערך נתונים" (עמ' 760). כל צומת מודל מפיק "נאגט" (nugget) – המודל המאומן – שמחברים לנתונים. Analysis (מקבוצת Output) – "מאפשר להעריך את יכולתו של מודל להפיק תחזיות מדויקות" בהשוואה "בין ערכים חזויים לערכים אמיתיים" (IBM Corporation, 2016b, p. 276), אצל טרואונג "משווה את ביצועי המודל בין מדגם האימון למדגם הבדיקה" (עמ' 231): מסמנים Coincidence matrices (מטריצת הבלבול), Performance evaluation, Evaluation metric (AUC and Gini) ו-Separate by partition (עמ' 377), וממנו לוקחים דיוק, שיעור סיווג שגוי, Gini ו-AUC לכל קבוצה; "רגישות, ספציפיות ו-F1 אפשר לחשב ממטריצת הבלבול" (עמ' 300) – בעצמכם, במחשבון. ו-Evaluation (מקבוצת Graphs) – "עקומות ROC ועקומות Lift לכל המודלים" זו על זו (עמ' 502). כשכל הנאגטים מחוברים בשרשרת לאותם נתונים, צומת Analysis אחד משווה את כולם – זהו לוח צעד 4 של סעיף 8.
ומה שהתפריט אינו עושה בשבילכם. הסף: ברירת המחדל של הנאגט היא 0.5, ומה שסעיף 9 עשה בשורה אחת של pROC נעשה כאן בצומת Derive על שדה ההסתברות שהנאגט מוסיף לצד התחזית – או במטריצת העלות בהגדרות צומת המודל, שהיא הלמידה רגישת-העלות של טרואונג (עמ' 203-204). המחלקה הנדירה: יש צומת SMOTE ויש Balance, ושניהם באים אחרי Partition, לא לפניו – ועדיף בלעדיהם (מדדי ביצוע ואימות, סעיף 1). התלות בין נבדקים: אין ל-Partition חלוקה לפי קבוצה; במדידות חוזרות או בבתי ספר מחלקים בעצמכם (צומת Derive על מזהה הקבוצה, ואז Select), או עוברים לסעיף 9. והדיווח: הצומת Analysis נותן את המספרים; מה מדווחים ומה לא – שם, סעיף 7, כולל לוח התצורות של פרק 11 אצל טרואונג, שהוא הדרך לתעד זרם שאין לו קוד.
טעויות נפוצות
טעויות האימות – דיוק כולל על מחלקה נדירה, הכנה על כל הנתונים לפני החלוקה, חלוקה לפי שורה במקום לפי נבדק, כוונון על קבוצת הבדיקה, מספר בלי פיזור ובלי קו ייחוס – במדדי ביצוע ואימות. כאן – הטעויות של המודלים עצמם.
לקרוא חשיבות מאפיינים כמקדמים. "הכנסה היא המנבא החשוב ביותר" – כן; "הכנסה מעלה את הסיכוי" – היער לא אמר. חשיבות אינה כיוון ואינה סיבה; ומקדם מרוסן ברגרסיית לאסו אינו אומדן בלתי-מוטה של השפעה.
לדווח עץ אחד כממצא. אימון חוזר על אותם נתונים יכול לתת עץ אחר (פרק 6). עץ הוא איור של המודל, לא של המציאות; היציב הוא היער – והוא אינו מצויר.
לבחור k לפי האינרציה. באשכולות, האינרציה יורדת תמיד כשמוסיפים אשכולות; k נבחר ב"מרפק", בציון צללית, בסטטיסטי הפער (למידה בלתי-מונחית, סעיף 5) – ובקריאת האשכולות עצמם. ובלי תקנון קודם האשכולות "נמתחים" ו-k-ממוצעים מתפקד גרוע (פרק 9).
רשימת בדיקה – לפני שמדווחים תוצאת חיזוי
| שאלה | למה זה חשוב |
|---|---|
| השאלה היא הסבר או חיזוי – והמדד נבחר לפי זה? | שני ממדים, שני אימותים (סעיף 1). מודל מסביר נמדד במקדמים; מודל חוזה – על נתונים שלא ראה. |
| יש קו ייחוס – מסווג-דמה ורגרסיה על המשתנים הידועים? | המספר שמדווחים הוא ההפרש מקו הייחוס, לא המדד עצמו. |
| עברתי את רשימת הבדיקה של האימות – מדד, חלוקה, אימות צולב, דליפה, יחידת החלוקה, תת-קבוצות? | אחת-עשרה שאלות במדדי ביצוע ואימות; בלעדיהן המספר אינו ממצא. |
| הזרע, הגרסאות, ההיפר-פרמטרים והצינור מתועדים – והמחברת מצורפת? | שחזור. תוצאה חישובית לא-מתועדת אינה ממצא – אותו כלל של כל מחשבוני האתר. |
| הנתונים נשארו במחשב? | מחברת בענן היא העלאת קובץ הנבדקים לשרת זר (סעיף 8). |
מקורות
Bishop, C. M. (2006). Pattern recognition and machine learning. Springer.
Breiman, L. (2001a). Statistical modeling: The two cultures (with comments and a rejoinder by the author). Statistical Science, 16(3), 199-231. https://doi.org/10.1214/ss/1009213726
Breiman, L. (2001b). Random forests. Machine Learning, 45(1), 5-32. https://doi.org/10.1023/A:1010933404324
Géron, A. (2022). Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow: Concepts, tools, and techniques to build intelligent systems (3rd ed.). O'Reilly Media.
Gutierrez, D. D. (2015). Machine learning and data science: An introduction to statistical learning methods with R. Technics Publications.
Hastie, T., Tibshirani, R., & Friedman, J. (2009). The elements of statistical learning: Data mining, inference, and prediction (2nd ed.). Springer. https://doi.org/10.1007/978-0-387-84858-7
Hofman, J. M., Watts, D. J., Athey, S., Garip, F., Griffiths, T. L., Kleinberg, J., Margetts, H., Mullainathan, S., Salganik, M. J., Vazire, S., Vespignani, A., & Yarkoni, T. (2021). Integrating explanation and prediction in computational social science. Nature, 595(7866), 181-188. https://doi.org/10.1038/s41586-021-03659-0
IBM Corporation. (2016a). IBM SPSS Modeler 18.0 modeling nodes. IBM. https://public.dhe.ibm.com/software/analytics/spss/documentation/modeler/18.0/en/ModelerModelingNodes.pdf
IBM Corporation. (2016b). IBM SPSS Modeler 18.0 source, process, and output nodes. IBM. https://public.dhe.ibm.com/software/analytics/spss/documentation/modeler/18.0/en/ModelerSPOnodes.pdf
IBM Corporation. (2025). IBM SPSS Modeler 19.0 user's guide. IBM.
Ishii, K., Ueda, N., Maeda, E., & Murase, H. (2026). Pattern recognition and machine learning for self-study I: Supervised learning. Springer. https://doi.org/10.1007/978-981-95-1478-6
Kapoor, S., & Narayanan, A. (2023). Leakage and the reproducibility crisis in machine-learning-based science. Patterns, 4(9), Article 100804. https://doi.org/10.1016/j.patter.2023.100804
Kuhn, M. (2008). Building predictive models in R using the caret package. Journal of Statistical Software, 28(5), 1-26. https://doi.org/10.18637/jss.v028.i05
Molina, M., & Garip, F. (2019). Machine learning for sociology. Annual Review of Sociology, 45, 27-45. https://doi.org/10.1146/annurev-soc-073117-041106
Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., & Duchesnay, É. (2011). Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, 12, 2825-2830.
Rudin, C. (2019). Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead. Nature Machine Intelligence, 1(5), 206-215. https://doi.org/10.1038/s42256-019-0048-x
Salganik, M. J., Lundberg, I., Kindel, A. T., Ahearn, C. E., Al-Ghoneim, K., Almaatouq, A., Altschul, D. M., Brand, J. E., Carnegie, N. B., Compton, R. J., Datta, D., Davidson, T., Filippova, A., Gilroy, C., Goode, B. J., Jahani, E., Kashyap, R., Kirchner, A., McKay, S., . . . McLanahan, S. (2020). Measuring the predictability of life outcomes with a scientific mass collaboration. Proceedings of the National Academy of Sciences, 117(15), 8398-8403. https://doi.org/10.1073/pnas.1915006117
Shmueli, G. (2010). To explain or to predict? Statistical Science, 25(3), 289-310. https://doi.org/10.1214/10-STS330
Truong, D. (2026). Demystifying AI: Data science and machine learning using IBM SPSS Modeler. Chapman and Hall/CRC. https://doi.org/10.1201/9781003468196
Wendler, T., & Gröttrup, S. (2021). Data mining with SPSS Modeler: Theory, exercises and solutions (2nd ed.). Springer. https://doi.org/10.1007/978-3-030-54338-9
Wolpert, D. H. (1996). The lack of a priori distinctions between learning algorithms. Neural Computation, 8(7), 1341-1390. https://doi.org/10.1162/neco.1996.8.7.1341
Yarkoni, T., & Westfall, J. (2017). Choosing prediction over explanation in psychology: Lessons from machine learning. Perspectives on Psychological Science, 12(6), 1100-1122. https://doi.org/10.1177/1745691617693393