البيانات الفئوية: المفردات والترميز الأحادي

مصطلح البُعد هو مرادف لعدد العناصر في متّجه الميزة. بعض الخصائص الفئوية منخفضة الأبعاد. على سبيل المثال:

اسم العنصر عدد الفئات نماذج الفئات
snowed_today 2 صواب، خطأ
skill_level 3 مبتدئ، ممارس، خبير
season 4 الشتاء والربيع والصيف والخريف
day_of_week 7 الاثنين، الثلاثاء، الأربعاء
كوكب 8 عطارد والزهرة والأرض

عندما تحتوي إحدى الخصائص الفئوية على عدد قليل من الفئات المحتملة، يمكنك وترميزها باعتبارها مفردات. وباستخدام ترميز للمفردات، يتعامل النموذج مع كل أي قيمة فئوية ممكنة كـ عنصر منفصل. أثناء التدريب، يجب أن نموذج متعلم ترجيحات مختلفة لكل فئة.

فعلى سبيل المثال، لنفترض أنك تنشئ نموذجًا للتنبؤ بسعر السيارة بناءً على ذلك، جزئيًا، على عنصر فئوي يسمى car_color. ربما تكون قيمة السيارات الحمراء أكثر من السيارات الخضراء. بما أنّ الشركات المصنّعة تقدّم عددًا محدودًا من الألوان الخارجية، car_color هو خاصية فئوية منخفضة الأبعاد. يقترح الرسم التوضيحي التالي مفردات (قيم محتملة) car_color:

الشكل 1. يتم تمثيل كل لون في اللوحة كلون منفصل
      الجديدة. أي أن كل لون هو ميزة منفصلة في متجه الميزة.
      على سبيل المثال، "أحمر" ميزة، "برتقالي" ميزة منفصلة،
      وهكذا
الشكل 1. ميزة فريدة لكل فئة.

تمرين: تحقق من حدسك

صواب أم خطأ: يمكن لنموذج تعلم الآلة التدريب مباشرة على قيم السلسلة الأولية، مثل "Red" و"Black"، بدون تحويل هذه القيم إلى متجهات عددية.
صحيح
أثناء التدريب، يمكن لأي نموذج معالجة أعداد النقاط العائمة فقط. السلسلة "Red" ليست عددًا من النقاط العائمة. إِنْتَ يجب تحويل السلاسل مثل "Red" إلى أرقام النقطة العائمة.
خطأ
ولا يمكن لأي نموذج تعلُّم الآلة أن يتدرب إلا على ميزات ذات نقاط عائمة، لذلك ستحتاج إلى تحويل هذه السلاسل إلى قيم النقطة العائمة قبل التدريب.

أرقام الفهرس

يمكن لنماذج تعلُّم الآلة معالجة أعداد النقاط العائمة فقط. وبالتالي، يجب تحويل كل سلسلة إلى رقم فهرس فريد، كما في الرسم التوضيحي التالي:

الشكل 2.  يرتبط كل لون بقيمة عدد صحيح فريدة. بالنسبة
      مثال، "أحمر" مرتبطًا بعدد 0، "برتقالي" مع
      والعدد الصحيح 1، وهكذا.
الشكل 2. الميزات المفهرَسة

تحقق من حدسك

هل يتم تطبيق النموذج على الأرقام المعروضة مباشرةً في الشكل 2؟
نعم
إذا تم تدريب النموذج على أرقام الفهرس، فسوف التعامل بشكل غير صحيح مع كل منها كقيمة عددية والنظر في "Black" (رقم الفهرس 5) ليكون أكثر فائدة بمقدار 5 مرات إلى النموذج من "Orange" (رقم الفهرس 1).
لا
يجب ألا يتم تدريب النموذج على أرقام الفهرس. إذا كان الأمر كذلك، فسيعامل النموذج كل رقم فهرس على أنه عددي ونعتبر أن "Black" (رقم الفهرس 5) فائدة أكبر بـ 5 مرات للنموذج من القيمة ""Orange"" (رقم الفهرس 1).

الترميز الأحادي

الخطوة التالية في بناء المفردات هي تحويل كل رقم فهرس إلى ترميزه الأحادي في ترميز واحد فعال:

  • يتم تمثيل كل فئة بمتجه (مصفوفة) من العناصر N، حيث N هو عدد الفئات. على سبيل المثال، إذا كان لدى car_color ثمانية قيم ممكنة الفئات، فإن الخط المتجه الوحيد الذي يمثل ثمانية عناصر.
  • إنّ قيمة أحد العناصر في المتّجه الوحيد هو 1.0. جميع العناصر المتبقية لها القيمة 0.0.

على سبيل المثال، يعرض الجدول التالي الترميز الأكثر استخدامًا لكل ترميز car_color:

الميزة أحمر Orange بالأزرق أصفر أخضر أسود أرجواني بالبني
"أحمر" 1 0 0 0 0 0 0 0
"برتقالي" 0 1 0 0 0 0 0 0
"أزرق" 0 0 1 0 0 0 0 0
"أصفر" 0 0 0 1 0 0 0 0
"أخضر" 0 0 0 0 1 0 0 0
"أسود" 0 0 0 0 0 1 0 0
أرجواني 0 0 0 0 0 0 1 0
"بني" 0 0 0 0 0 0 0 1

إنه الخط المتجه الأحادي، وليس السلسلة أو رقم الفهرس، الذي يتم تمريره إلى الخط المتجه للخاصية. يتعلم النموذج وزنًا منفصلاً لكل عنصر خط المتجه الخاص.

يوضح الرسم التوضيحي التالي التحولات المختلفة في تمثيل المفردات اللغوية:

الشكل 3. رسم تخطيطي للعملية الشاملة لتعيين الفئات
      الخطوط المتجهة للخصائص. في الرسم التخطيطي، تشير ميزات الإدخال إلى "الأصفر"
      "برتقالي" و"أزرق" و"أزرق" للمرة الثانية.  يستخدم النظام ملف
      المفردات ("الأحمر" يساوي 0، "البرتقالي" 1، "الأزرق" 2، "الأصفر" 3،
      وما إلى ذلك) لتعيين قيمة الإدخال إلى أحد المعرّفات. وبالتالي، يعيّن النظام "الأصفر"،
      "برتقالي" و"أزرق" و"أزرق" إلى 3، 1، 2، 2. يقوم النظام بعد ذلك بتحويل
      هذه القيم إلى خط متجه خاصية واحدة. على سبيل المثال، بالنظر إلى النظام
      بثمانية ألوان محتملة، تصبح 3 هي 0، 0، 0، 1، 0، 0، 0، 0.
الشكل 3. العملية الشاملة لتعيين الفئات لتمييز المتجهات.

تمثيل متدني

يُطلق على العنصر الذي تكون قيمه في الغالب صفر (أو فارغة) اسم تفرقة الميزة. نتائج عديدة تكون الخصائص الفئوية، مثل car_color، عناصر متفرقة. التمثيل المحدود تعني تخزين موضع 1.0 في خط متجه متفرق. على سبيل المثال، الخط المتجه الوحيد لـ "Blue" هو:

[0، 0، 1، 0، 0، 0، 0، 0]

بما أن 1 في الموضع 2 (عند بدء العد عند 0)، فإن تمثيل متفرق للخط المتجه السابق أحادي الخط:

2

لاحظ أن التمثيل المتناثر يستهلك ذاكرة أقل بكثير من الخط المتجه أحادي العناصر المكون من ثمانية عناصر. والأهم من ذلك، يجب أن يتدرب النموذج على خط متجه واحد، وليس التمثيل الناقص.

القيم الشاذّة في البيانات الفئوية

مثل البيانات الرقمية، تحتوي البيانات الفئوية أيضًا على قيم استثنائية. فرض لا يحتوي car_color على الألوان الرائجة فحسب، بل يشمل أيضًا بعض الألوان التي نادرًا ما يتم استخدامها. الألوان الخارجية، مثل "Mauve" أو "Avocado". بدلاً من إعطاء كل لون من هذه الألوان الاستثنائية فئة منفصلة، يمكنهم تكديسهم في مقطع واحد اسمها خارج المفردات (OOV). بعبارة أخرى، يتم ربط كل الألوان الاستثنائية في لون واحد القيمة الاستثنائية. ويتعلم النظام وزنًا واحدًا لتلك المجموعة الاستثنائية.

ترميز الميزات الفئوية عالية الأبعاد

تحتوي بعض الخصائص الفئوية على عدد كبير من الأبعاد، مثل الموجودة في الجدول التالي:

اسم العنصر عدد الفئات نماذج الفئات
words_in_english 500000 تقريبًا "سعيد"، "مشي"
US_postal_codes 42000 تقريبًا "02114"، "90301"
last_names_in_Germany 850000 تقريبًا "شميدت"، "شنايدر"

عندما يكون عدد الفئات مرتفعًا، يكون الترميز الأحادي أمرًا سيئًا في العادة. قسم التضمين، تجده بالتفصيل في قسم منفصل تستخدم عادةً وحدة التضمينات خيارًا أفضل بكثير. تؤدي عمليات التضمين إلى تقليل عدد والذي يعود بالنفع على النماذج بطريقتين مهمتين:

  • وعادةً ما يتم تدريب النموذج بشكلٍ أسرع.
  • عادةً ما يستنتج النموذج المنشئ التوقعات بسرعة أكبر. وهي أن في النموذج ووقت استجابة أقل.

التجزئة (وتسمى أيضًا التجزئة) هذا السؤال) هو طريقة أقل شيوعًا لتقليل عدد الأبعاد.