במקום להשוות נתוני תכונות שמשלבים באופן ידני, אפשר לצמצם את התכונה מנתונים לייצוגים שנקראים הטמעות, ואז משווים של הטמעות. הטמעות נוצרות באמצעות אימון של נוירונים עמוקים מפוקחים ערוץ (DNN) בתכונה עצמו. ההטמעות ממפות את נתוני התכונה לווקטור בהטמעה בדרך כלל עם פחות מימדים מאשר בנתוני התכונה. ההטמעות הן שמפורטים בקטע הטמעות בקורס הקריסה של למידת מכונה, ואילו רשתות נוירונים מתוארות רשתות נוירונים של מודל טרנספורמר. הטמעת וקטורים של דוגמאות דומות, כמו סרטוני YouTube נושאים דומים שבהם צופים אותם משתמשים, בסופו של דבר הם קרובים זה לזה בהטמעה המרחב המשותף. מדד דמיון בפיקוח משתמשת ברמת ה"קרבה" לכמת את הדמיון בין צמדים דוגמאות.
חשוב לזכור שאנחנו מדברים על למידה בפיקוח רק כדי ליצור דמיון בינינו מדידה. לאחר מכן, מידת הדמיון, ידנית או בפיקוח, משמשת את אלגוריתם לביצוע אשכולות לא מפוקחים.
השוואה בין אמצעים ידניים לבין אמצעים בפיקוח
בטבלה הזו מוסבר מתי להשתמש בדמיון ידני או בפיקוח מודדים בהתאם לדרישות שלכם.
דרישה | ידני | בפיקוח |
---|---|---|
לבטל מידע מיותר בתכונות קשורות? | לא, צריך לבדוק כל התאמה בין התכונות. | כן, DNN מונע מידע מיותר. |
האם מספק תובנות לגבי נקודות דמיון מחושבים? | כן | לא, לא ניתן לפענח הטמעות. |
מתאים למערכי נתונים קטנים עם מעט תכונות? | כן. | לא, מערכי נתונים קטנים לא מספקים מספיק נתוני אימון ל-DNN. |
מתאים למערכי נתונים גדולים עם תכונות רבות? | לא, הסרה ידנית של מידע מיותר מכמה תכונות ואז קשה מאוד לשלב ביניהם. | כן, ה-DNN מונע באופן אוטומטי מידע מיותר משלב תכונות. |
יצירת מדד דמיון בפיקוח
סקירה כללית של תהליך היצירה של מדד דמיון בפיקוח:
בדף הזה מוסבר על מספרי DNN. בדפים הבאים מפורטים השלבים הנותרים.
בחירת DNN על סמך תוויות אימון
מפחיתים את נתוני התכונות להטמעות ממדיות נמוכות יותר על ידי אימון של DNN משתמשת באותם נתוני תכונה גם כקלט וגם כתוויות. לדוגמה, ב- במקרים של נתוני בתים, ה-DNN ישתמש בתכונות כמו מחיר, גודל מיקוד — כדי לחזות את הישויות האלה בעצמם.
מקודד אוטומטי
DNN שלומד הטמעות של נתוני קלט על ידי חיזוי של נתוני הקלט נקראת מקודד אוטומטי. כי השכבות הסמויות של מקודד אוטומטי הן קטנות יותר מאשר בשכבות הקלט והפלט, המקודד האוטומטי נאלץ ללמוד ייצוג דחוס של נתוני תכונת הקלט. אחרי האימון של ה-DNN, מחלצים את ההטמעות מהשכבה הקטנה ביותר הסמויה כדי לחשב את הדמיון.
![דמות שמציגה מספר גדול של צמתים עבור אותה קבוצה
נתוני קלט ופלט, שנדחסו לשלושה צמתים באמצע.
של חמש שכבות נסתרות.](https://developers.google.cn/machine-learning/clustering/images/autoencoder.png?authuser=7&hl=he)
חיזוי
מקודד אוטומטי הוא האפשרות הפשוטה ביותר ליצירת הטמעות. אבל, מקודד אוטומטי הוא לא הבחירה האופטימלית כשיש תכונות שחשובים לאחרים בקביעת הדמיון. לדוגמה, בנתוני הבית, נניח שהמחיר חשוב יותר מהמיקוד. במקרים כאלה, צריך להשתמש רק את התכונה החשובה בתור תווית האימון של ה-DNN. מכיוון שה-DNN הזה חוזה תכונת קלט ספציפית במקום לחזות את כל תכונות הקלט, נקרא DNN של חיזוי. בדרך כלל יש לחלץ הטמעות מתוך את שכבת ההטמעה האחרונה.
![איור שמציג את מספר הצמתים הגדול בווקטור הקלט
מופחתות משלוש שכבות נסתרות לשכבה של שלוש צמתים שממנה
יהיה צריך לחלץ הטמעות. שכבת הפלט האחרונה היא
ערך התווית.](https://developers.google.cn/machine-learning/clustering/images/predictor.png?authuser=7&hl=he)
כשבוחרים תכונה שתשמש לתווית:
העדפה מספרית לתכונות מספריות על פני תכונות קטגוריות כי הפסד קל יותר לחשב ולפרש אותו עבור תכונות מספריות.
מסירים את התכונה שמשתמשים בה כתווית מהקלט ל-DNN, או אחרת, ה-DNN ישתמש בתכונה הזו כדי לחזות את הפלט בצורה מושלמת. (זהו דוגמה קיצונית לדליפת תוויות).
בהתאם לתוויות שבחרתם, ה-DNN שמתקבל במקודד אוטומטי או בכלי חיזוי.