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

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

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

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

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

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

تمرين: التحقّق من فهمك

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

أرقام الفهرس

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

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

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

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

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

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

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

الميزة أحمر برتقالي بالأزرق أصفر أخضر أسود أرجواني بالبني
"أحمر" 1 0 0 0 0 0 0 0
"برتقال" 0 1 0 0 0 0 0 0
"أزرق" 0 0 1 0 0 0 0 0
"Yellow" 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 ‫~500,000 "happy", "walking"
US_postal_codes ~42,000 "02114"، "90301"
last_names_in_Germany ~850,000 "Schmidt", "Schneider"

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

  • عادةً ما يتم تدريب النموذج بشكل أسرع.
  • عادةً ما يستنتج النموذج الذي تم إنشاؤه التوقعات بسرعة أكبر. وهذا يعني أنّ النموذج يتميّز بوقت استجابة أقل.

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