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

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

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

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

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

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

תהליך לסימון מידת הדמיון בפיקוח

האיור הבא מסביר איך ליצור מדד דמיון בפיקוח:

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

כבר למדת את השלב הראשון. בדף הזה מתוארים השלבים הבאים, ובדפים הבאים מפורטים השלבים הנותרים.

בחירת DNN לפי תוויות הדרכה

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

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

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

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

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

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

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

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

פונקציית אובדן נתונים ב-DNN

כדי ללמד את ה-DNN, עליכם ליצור פונקציית הפסד על ידי ביצוע השלבים הבאים:

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

בעת חישוב ההפסדים, יש לוודא שכל תכונה תורמת באופן יחסי לאובדן. לדוגמה, אם ממירים נתוני צבע לערכים של RGB, מתקבלות שלוש פלטים. עם זאת, כדי לחשב את ההפסד של שלוש פלטות, אובדן המשקל משוקלל פי 3 משקלים של תכונות אחרות. במקום זאת, מכפילים כל פלט ב-1/3.

שימוש ב-DNN במערכת מקוונת

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