صيغة المصفوفة

معامل المصفوفة هو نموذج تضمين بسيط. نظرًا لمصفوفة التعليقات (أ) \(\in R^{m \times n}\)، حيث \(m\) يكون عدد المستخدمين (أو طلبات البحث) و \(n\) هو عدد العناصر، يتعرّف النموذج عليها:

  • مصفوفة تضمين مستخدم \(U \in \mathbb R^{m \times d}\)، حيث يكون الصف i هو التضمين للمستخدم i.
  • مصفوفة تضمين العنصر \(V \in \mathbb R^{n \times d}\) حيث يكون الصف j هو التضمين للعنصر j.

رسم توضيحي لعامل المصفوفة باستخدام مثال الفيلم المتكرر.

يتم تعلّم التضمينات لكي يكون المنتج \(U V^T\) تقريبًا جيدًا من مصفوفة التعليقات"أ". تجدُر الإشارة إلى أنّ \((i, j)\) الإدخال \(U . V^T\) هو ببساطة عامل النقطة \(\langle U_i, V_j\rangle\) لتضمينات المستخدم \(i\) والسلع \(j\)التي يجب أن تكون بالقرب من \(A_{i, j}\).

اختيار الدالة الموضوعية

الدالة الموضوعية البسيطة هي المسافة المربّعة. لإجراء ذلك، حدِّد مجموع الأخطاء المربّعة من جميع أزواج الإدخالات التي تمت ملاحظتها:

\[\min_{U \in \mathbb R^{m \times d},\ V \in \mathbb R^{n \times d}} \sum_{(i, j) \in \text{obs}} (A_{ij} - \langle U_{i}, V_{j} \rangle)^2.\]

في هذه الدالة الموضوعية، يمكنك فقط جمع الأزواج المرصودة (i، j)، أي القيم غير الصفرية في مصفوفة التعليقات. وعلى الرغم من ذلك، فإن جمع أكثر من قيمة واحدة فقط لا يمثّل فكرة جيدة، حيث ستحظى مصفوفة من جميع هذه الأنواع بقليل من الخسارة وستنتج نموذجًا لا يمكنه تقديم اقتراحات فعّالة بشكل عام بصورة عامة.

رسم توضيحي لثلاث مصفوفات: عوامل المصفوفة التي تمت ملاحظتها فقط، والعامل المرجّح، وتحلل القيمة الفردية.

ربما يمكنك التعامل مع القيم غير المرصودة على أنها صفر، والجمع بين كل الإدخالات في المصفوفة. وهذا يتوافق مع تقليل مسافة Frobenius المُربَّعة بين \(A\) ومقاربها \(U V^T\):

\[\min_{U \in \mathbb R^{m \times d},\ V \in \mathbb R^{n \times d}} \|A - U V^T\|_F^2.\]

يمكنك حلّ هذه المشكلة التربيعية من خلال تحلل القيمة المفردة (SVD) للمصفوفة. ومع ذلك، لا يُعدّ SVD حلاً رائعًا، لأنه في التطبيقات الحقيقية، قد تكون المصفوفة \(A\) ضئيلة جدًا. على سبيل المثال، فكِّر في جميع الفيديوهات على YouTube مقارنةً بجميع الفيديوهات التي شاهدها مستخدم معيّن. من المرجّح أن يكون الحلّ \(UV^T\) (الذي يتطابق مع نموذج مصفوفة الإدخال) بالقرب من الصفر، ما يؤدي إلى ضعف مستوى الأداء العام.

وعلى عكس ذلك، تعمل صيغة المصفوفة المرجّحة على تقسيم الهدف إلى المجموعَين التاليَين:

  • مجموع على الإدخالات التي تمت ملاحظتها.
  • مجموع على الإدخالات التي لم تتم ملاحظتها (يتم التعامل معه على أنه أصفار).

\[\min_{U \in \mathbb R^{m \times d},\ V \in \mathbb R^{n \times d}} \sum_{(i, j) \in \text{obs}} (A_{ij} - \langle U_{i}, V_{j} \rangle)^2 + w_0 \sum_{(i, j) \not \in \text{obs}} (\langle U_i, V_j\rangle)^2.\]

في ما يلي، \(w_0\) هي معلمة تشعّبية تقيّم العبارتَين بحيث لا يهيمن الهدف على أحدهما. إنّ ضبط هذه المعلّمة الزائدة أمر مهم جدًا.

\[\sum_{(i, j) \in \text{obs}} w_{i, j} (A_{i, j} - \langle U_i, V_j \rangle)^2 + w_0 \sum_{i, j \not \in \text{obs}} \langle U_i, V_j \rangle^2\]

حيث \(w_{i, j}\) هي دالة لتكرار طلب البحث i والسلعة j.

تصغير الغرض

تتضمن الخوارزميات الشائعة لتقليل دالة الهدف ما يلي:

  • النزهات العشوائية (SGD) هي طريقة عامة للحدّ من دوال الخسارة.

  • المجالات البديلة المُثقلة (WALS) متخصّصة في هذا الهدف تحديدًا.

الغرض تربيعي في كل واحدة من المصفوفتين U وV. (ملاحظة، ولكنه لا تحدث المشكلة بشكل مشترك). تعمل خدمة WALS عن طريق إعداد عملية التضمين بشكل عشوائي، ثم التبديل بين:

  • إصلاح \(U\) وحلّ \(V\).
  • إصلاح \(V\) وحلّ \(U\).

ويمكن حلّ كل مرحلة بالضبط (عبر حلّ نظام خطي) ويمكن توزيعها. ونؤكّد أنّ هذه التقنية متقاربة لأنّ كل خطوة ضمنها تقليل نسبة الخسارة.

SGD مقابل WALS

لكل من SGD وWALS مزايا وعيوب. راجِع المعلومات التالية للاطّلاع على المقارنة بينها:

الدولار السنغافوري

مرنة جدًا، يمكن أن تستخدم دوال الخسارة الأخرى.

يمكن أن يكون بالتوازي.

أبطأ: لا يتقارب بسرعة.

صعبة التعامل مع الإدخالات غير الملاحَظة (بحاجة إلى استخدام عينات سلبية أو جاذبية).

WAS

الاعتماد على ساحة الخسارة فقط.

يمكن أن يكون بالتوازي.

تتضاعف أسرع من دولار سنغافوري.

التعامل مع الإدخالات التي لم تتم ملاحظتها بسهولة أكبر.