יתרונות הסינון המשותף & חסרונות

יתרונות

לא נדרש ידע בתחום

אנחנו לא צריכים ידע בתחום כי ההטמעות נלמדות באופן אוטומטי.

מקריות

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

נקודת התחלה מצוינת

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

חסרונות

לא ניתן לטפל בפריטים חדשים

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

  • הקרנה ב-WALS. בהינתן פריט חדש \(i_0\) שלא מופיע באימון, אם למערכת יש מספר אינטראקציות עם משתמשים, המערכת יכולה לחשב בקלות הטמעה \(v_{i_0}\) של הפריט הזה, ללא צורך כדי לאמן מחדש את המודל כולו. המערכת צריכה לפתור את הבעיות הבאות של המשוואה או של הגרסה המשוקללת:

    \[\min_{v_{i_0} \in \mathbb R^d} \|A_{i_0} - U v_{i_0}\|\]

    המשוואה הקודמת תואמת לאיטרציה אחת ב-WALS: הטמעות המשתמשים נשארות קבועות, והמערכת פותרת את הבעיה של פריט \(i_0\). אפשר לבצע את אותה פעולה במקרה של משתמש חדש.

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

קשה לכלול תכונות צדדיות של שאילתה/פריט

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

כדי לכלול WALS, מרחיבים את מטריצת הקלט בעזרת תכונות על ידי הגדרת מטריצת הבלוקים \(\bar A\), כאשר:

  • בלוק (0, 0) הוא מטריצת המשוב המקורית \(A\).
  • בלוק (0, 1) הוא קידוד לוהט של תכונות המשתמש.
  • בלוק (1, 0) הוא קידוד לוהט של תכונות הפריט.