הנדסת מאפיינים (Feature Engineering)

יסודות בינה מלאכותית

הגדרה

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

הנדסת מאפיינים (Feature Engineering) היא תהליך שבו אדם עם ידע-תחום בוחר, משנה או יוצר מחדש את המשתנים ("מאפיינים", Features) שמוזנים למודל למידת-מכונה, כדי שיהיו שימושיים ככל האפשר לחיזוי המבוקש. לדוגמה: מתאריך גולמי אפשר לגזור מאפיינים חדשים כמו "יום בשבוע" או "האם זה חג"; משתי עמודות "אורך" ו"רוחב" אפשר לחשב עמודת "שטח" חדשה שמסבירה יותר על התוצאה מכל אחת מהעמודות המקוריות בנפרד. בניגוד לאלגוריתם עצמו, שאפשר להריץ אותו בצורה שיטתית על כל מערך-נתונים, הנדסת-מאפיינים תלוית-תחום במיוחד — מה שעובד היטב לחיזוי מזג-אוויר לא בהכרח דומה למה שעובד לחיזוי נטישת-לקוחות.

חשיבות השלב הזה תועדה במאמר משפיע מ-2012 של החוקר פדרו דומינגוס, "A Few Useful Things to Know about Machine Learning", שפורסם בכתב-העת Communications of the ACM. דומינגוס טען שם שהנדסת-מאפיינים היא לעיתים קרובות הגורם המכריע בין פרויקט למידת-מכונה מוצלח לכושל, יותר מבחירת-האלגוריתם — קביעה שהתקבלה בהסכמה רחבה בקרב מדעני-נתונים, גם אם קשה לכמת אותה במספר מדויק אחד. במשך שנים רבות, לפני עידן הלמידה-העמוקה, חלק ניכר מזמן-העבודה בפרויקט למידת-מכונה טיפוסי הוקדש בפועל לשלב הזה, ולא לאימון המודל עצמו.

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

חשוב להבחין בין הנדסת-מאפיינים — יצירת מאפיינים חדשים מתוך ידע-תחום — לבין בחירת-מאפיינים (Feature Selection), תהליך נפרד שמצמצם מתוך מאפיינים קיימים רק את החשובים ביותר, בלי ליצור אף מאפיין חדש. שיטות צמצום-ממדים כמו ניתוח רכיבים עיקריים עומדות בתווך שבין השתיים: הן לא בוחרות ידנית אילו מאפיינים חשובים, אלא בונות אוטומטית צירופים חדשים מתוך הקיימים — סוג של הנדסת-מאפיינים אוטומטית, שלא דורשת מהמהנדס לדעת מראש אילו שילובים בדיוק יעבדו הכי טוב על הנתונים הספציפיים שלפניו.