מדד דמיון בפיקוח

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

חשוב לזכור שאנחנו מדברים על למידה בפיקוח רק כדי ליצור את מדד הדמיון שלנו. לאחר מכן, האלגוריתם משתמש במדד הדמיון, בין שהוא ידני ובין שהוא בפיקוח, כדי לבצע קיבוץ ללא פיקוח.

השוואה בין מדדים ידניים למדדים בפיקוח

בטבלה הבאה מוסבר מתי כדאי להשתמש במדד ידני או בפיקוח של דמיון, בהתאם לדרישות שלכם.

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

יצירת מדד הדמיון בפיקוח

לפניכם סקירה כללית של התהליך ליצירת מדד הדמיון בפיקוח:

מזינים את נתוני התכונות. בוחרים DNN: autoencoder או predictor.
      חילוץ הטמעות. בוחרים את המדידה: מכפלת וקטוריים, קוסינוס או מרחק אוקלידי.
איור 1: השלבים ליצירת מדד הדמיון בפיקוח.

בדף הזה נסביר על רשתות DNN, ובדפים הבאים נסביר על השלבים הנותרים.

בחירת DNN על סמך תוויות אימון

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

אוטו-קונדרטור

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

איור שבו מוצג מספר גדול של צמתים לנתוני הקלט והפלט זהים, שמכווצים לשלושה צמתים באמצע.
       של חמש שכבות מוסתרות.
איור 2: ארכיטקטורה של מקודד אוטומטי.

חזוי

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

איור שבו מוצג מספר הצמתים הגדול בוקטור הקלט, שמצטמצם דרך שלוש שכבות חבויות לשכבה עם שלושה צמתים, שממנה צריך לחלץ את הטמעות הנתונים. שכבת הפלט האחרונה היא ערך התווית החזוי.
איור 3: ארכיטקטורת החזוי.

כשבוחרים תכונה שתהיה התווית:

  • עדיף להשתמש בתכונות מספריות במקום בתכונות קטגוריות, כי קל יותר לחשב ולפרש את האובדן של תכונות מספריות.

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

בהתאם לבחירת התוויות, ה-DNN שנוצר הוא אוטו-קונדרטור או מנבא.