تحليل المصفوفة إلى عوامل

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

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

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

ويتم التعرّف على التضمينات كي يكون المنتج \(U V^T\) والتقريب الجيد لمصفوفة التعقيبات A. لاحظ أن \((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.

تقليل الدالة الموضوعية

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

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

  • إصلاح \(U\) وحل مشاكل \(V\).
  • إصلاح \(V\) وحل مشاكل \(U\).

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

SGD مقابل WALS

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

SGD

مرن جدًا — يمكن استخدام معلومات غير واضحة الأخرى.

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

أبطأ: لا تتقارب هذه الطريقة بالسرعة نفسها.

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

WALS

اعتمادًا على منصّة Loss Squares فقط

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

هذا المقياس أسرع من SGD.

تسهيل التعامل مع الإدخالات غير المرصودة.