يشير مصطلح السمة إلى عدد العناصر في متّجه السمات. بعض السمات الفئوية ذات الأبعاد المنخفضة. على سبيل المثال:
اسم العنصر | عدد الفئات | أمثلة على الفئات |
---|---|---|
snowed_today | 2 | صحيح، خطأ |
skill_level | 3 | مبتدئ، ممارس، خبير |
season | 4 | الشتاء والربيع والصيف والخريف |
day_of_week | 7 | الاثنين والثلاثاء والأربعاء |
كوكب | 8 | عطارد والزهرة والأرض |
عندما تحتوي السمة الفئوية على عدد قليل من الفئات المحتمَلة، يمكنك ترميزها على أنّها مسرد كلمات. باستخدام ترميز المفردات، يتعامل النموذج مع كل قيمة فئوية ممكنة على أنّها سمة منفصلة. أثناء التدريب، يتعرّف ال نموذج على قيم مختلفة لكل فئة.
على سبيل المثال، لنفترض أنّك تنشئ نموذجًا لتوقّع سعر سيارة استنادًا،
جزئيًا، إلى سمة تصنيفية باسم car_color
.
ربما تكون السيارات الحمراء أكثر قيمة من السيارات الخضراء.
بما أنّ المصنّعين يوفّرون عددًا محدودًا من الألوان الخارجية، فإنّ car_color
هو
سمة تصنيفية منخفضة الأبعاد.
يوضّح الرسم التوضيحي التالي مفردات (قيم محتملة) لسمة
car_color
:
تمرين: التحقّق من فهمك
أرقام الفهرس
لا يمكن لنماذج تعلُّم الآلة التعامل إلا مع الأعداد الكسورية. لذلك، عليك تحويل كل سلسلة إلى رقم فهرس فريد، كما هو موضّح في الرسم التوضيحي التالي:
بعد تحويل السلاسل إلى أرقام فهرس فريدة، عليك معالجة data بشكلٍ أكبر لتمثيلها بطرق تساعد النموذج على تعلُّم علاقات مفيدة بين القيم. إذا تم ترك بيانات السمات الفئوية على هيئة أعدّاد تكاملية مُفهرسة وتحميلها إلى نموذج، سيتعامل النموذج مع القيم المُفهرسة على أنّها أعداد نقطية متّصلة. سيعتبر النموذج بعد ذلك أنّه من المرجّح أن يظهر اللون "الأرجواني" ست مرات أكثر من اللون "البرتقالي".
ترميز أحادي
الخطوة التالية في إنشاء قاموس هي تحويل كل رقم فهرس إلى ترميز واحد ساخن. في الترميز الأحادي الفعال:
- يتم تمثيل كل فئة بمتجه (صفيف) من N عنصرًا، حيث يكون N
هو عدد الفئات. على سبيل المثال، إذا كان لدى
car_color
ثمانية تصانيف ممكنة، سيكون للمتجه الثنائي الحالة الذي يمثّل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 |
"أصفر" | 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 |
إنّ المتّجه أحادي الحالة، وليس السلسلة أو رقم الفهرس، هو الذي يتم تمريره إلى متّجه السمات. يتعرّف النموذج على وزن منفصل لكل عنصر من مكونات متجه السمات.
يوضّح الرسم التوضيحي التالي عمليات التحويل المختلفة في تمثيل المفردات:
التمثيل المتناثر
تُعرف السمة التي تكون قيمها غالبًا صفرًا (أو فارغة) باسم
سمة متناثرة. غالبًا ما تكون العديد من
السمات الفئوية، مثل 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 تقريبًا | "سعيد"، "يمشي" |
US_postal_codes | 42,000 تقريبًا | "02114", "90301" |
last_names_in_Germany | ~850,000 | "Schmidt"، "Schneider" |
عندما يكون عدد الفئات مرتفعًا، يكون ترميز One-hot عادةً خيارًا سيئًا. وعمليات التضمين، الموضّحة بالتفصيل في وحدة التضمين المنفصلة، هي عادةً خيار أفضل بكثير. تقلّل عمليات التضمين بشكل كبير من عدد السمات، ما يعود بالفائدة على النماذج بطريقتَين مهمتَين:
- يتم عادةً تدريب النموذج بشكل أسرع.
- عادةً ما يستنتج النموذج الذي تم إنشاؤه التوقّعات بشكل أسرع. وهذا يعني أنّ نموذج يتمتع بوقت استجابة أقل.
التجزئة (المعروفة أيضًا باسم خدعة التجزئة) هي طريقة أقل شيوعًا لتقليل عدد السمات.
انقر هنا للاطّلاع على معلومات عن التجزئة