قياس التشابه تحت الإشراف

بدلاً من مقارنة بيانات الميزة التي تم دمجها يدويًا، يمكنك تقليل بيانات الميزات لتصبح تمثيلات تُسمّى embeddings، ويمكنك بعد ذلك مقارنة التضمينات. يتم إنشاء التضمينات من خلال تدريب شبكة عصبية (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، ستكون لديك ثلاثة مخرجات. ولكن مجموع الخسارة لثلاثة مخرجات يعني أنّ فقدان اللون قد تم ترجيحه ثلاثة أضعاف الميزات الأخرى. بدلاً من ذلك، اضرب كل إخراج في 1/3.

استخدام DNN في نظام على الإنترنت

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