بعد فحص بياناتك باستخدام تقنيات الإحصاءات وتقنيات العروض المرئية، عليك تحويل بياناتك بطرق تساعد في تدريب النموذج بفعالية أكبر. إن الهدف من التسوية هي تحويل الميزات على نطاق مماثل. على سبيل المثال، ضع في الاعتبار ما يلي الجديدة:
- تتراوح سمة
X
بين 154 و24,917,482. - تمتد الميزة
Y
إلى النطاق من 5 إلى 22.
تمتد هاتان الميزتان على نطاقين مختلفين جدًا. قد تؤدي عملية التسويف إلى التلاعب بقيمة
X
وY
لكي تتراوح بين قيمتَين مشابهتَين، ربما من 0 إلى 1.
توفّر التسوية المزايا التالية:
- يساعد ذلك في التواصل بسرعة أكبر أثناء التدريب. عندما يكون للميزات المختلفة نطاقات مختلفة، يمكن أن يؤدي "التناقص التدرّجي" إلى "الارتداد" وتباطؤ عملية التقارب. ومع ذلك، فإنّ أدوات التحسين الأكثر تقدمًا، مثل Adagrad وAdam، تحمي من هذه المشكلة من خلال تغيير معدّل التعلّم الفعّال بمرور الوقت.
- يساعد النماذج في استنتاج عبارات بحث مقترحة أفضل. عندما يكون للميزات المختلفة نطاقات مختلفة، فإن ناتج نموذجك قد ينتج عنه تنبؤات أقل فائدة إلى حد ما.
- يساعد في تجنُّب "فخ NaN" عندما تكون قيم السمات مرتفعة جدًا.
NaN هو اختصار لعبارة
ليس رقمًا. عندما تتجاوز قيمة في أحد النماذج الحد الأقصى لدقة النقطة العائمة، يضبط النظام القيمة على
NaN
بدلاً من عدد. عندما يصبح رقم واحد في النموذج NaN، تصبح الأرقام الأخرى في النموذج أيضًا NaN في نهاية المطاف. - يساعد ذلك النموذج في معرفة القيم التقديرية المناسبة لكل ميزة. بدون تكييف الميزات، يولي النموذج اهتمامًا كبيرًا للميزات ذات النطاقات الواسعة ولا يولي اهتمامًا كافيًا للميزات ذات النطاقات الضيقة.
نوصي بتسوية الميزات الرقمية بشكل واضح
نطاقات مختلفة (مثل العمر والدخل).
كما نوصي بتسوية دالة رقمية واحدة تغطي نطاقًا واسعًا،
على سبيل المثال city population.
ننصحك بالانتباه إلى السمتَين التاليتَين:
- أدنى قيمة للميزة
A
هي -0.5 وأعلى قيمة هي +0.5. - أدنى قيمة للميزة
B
هي -5.0 وأعلى قيمة هي +5.0.
نطاقا الميزة A
والميزة B
ضيقان نسبيًا. ومع ذلك، فإنّ
نطاق العنصر B
أوسع بمقدار 10 مرات من نطاق العنصر A
. لذلك:
- في بداية التدريب، يفترض النموذج أنّ الميزة
A
تساوي عشر مرات. أكثر "أهمية" من الميزةB
- سيستغرق التدريب وقتًا أطول مما ينبغي.
- قد يكون النموذج الناتج دون المستوى.
سيكون الضرر الإجمالي الناتج عن عدم تسويتها صغيرًا نسبيًا، ومع ذلك، ننصحك بتسويتها على المقياس نفسه، ربما من -1.0 إلى +1.0.
لنلقِ الآن نظرة على سمتَين تتباين نطاقاتهما بشكل أكبر:
- أدنى قيمة للميزة
C
هي -1 وأعلى قيمة هي 1+. - أدنى قيمة للميزة
D
هي +5,000 وأعلى قيمة هي +1,000,000,000.
في حال عدم تسويف السمة C
والسمة D
، من المرجّح أن يكون النموذج
غير مثالي. بالإضافة إلى ذلك، سيستغرق التدريب وقتًا أطول بكثير لمحاولة
التقارب أو قد يتعذّر عليه التقارب تمامًا.
يتناول هذا القسم ثلاث طرق شائعة للتسوية:
- التكبير/التصغير الخطي
- تكبير الدرجة المعيارية
- توسيع نطاق السجلّ
يتناول هذا القسم أيضًا الاقتصاص. على الرغم من أنّ الاقتصاص ليس أسلوبًا حقيقيًا للتسوية، إلا أنّه يحدّ من الميزات الرقمية غير المنظَّمة ويحوّلها إلى نطاقات تؤدي إلى إنشاء نماذج أفضل.
التحجيم الخطي
التصغير/التكبير الخطي (يُختصر عادةً إلى التصغير/التكبير فقط) يعني تحويل قيم النقطة العائمة من نطاقها الطبيعي إلى نطاق عادي، وعادةً ما يكون من 0 إلى 1 أو -1 إلى +1.
يعد التحجيم الخطي خيارًا جيدًا عند استيفاء جميع الشروط التالية:
- لا يتغيّر الحدان الأدنى والعلوي للبيانات كثيرًا بمرور الوقت.
- الميزة لا تحتوي على قيم شاذة قليلة أو لا تحتوي على أي قيم شاذة، وهذه القيم الشاذّة ليست للغاية.
- يتم توزيع الميزة بشكلٍ موحّد تقريبًا على مستوى نطاقها. وهذا يعني أنّ المدرج التكراري سيعرض أشرطة متساوية تقريبًا لمعظم القيم.
لنفترض أنّ العنصر age
البشري هو ميزة. يُعد التحجيم الخطي تسوية جيدة
لـ age
للأسباب التالية:
- ويتراوح الحد الأدنى والعلوي التقريبي من 0 إلى 100.
- تحتوي الدالة
age
على نسبة مئوية صغيرة نسبيًا من القيم الشاذّة. حوالي 0.3٪ فقط من عدد السكان أكثر من 100. - على الرغم من أنّ فئات عمرية معيّنة يتم تمثيلها بشكل أفضل من غيرها، يجب أن تحتوي مجموعة البيانات الكبيرة على أمثلة كافية لجميع الفئات العمرية.
تمرين: التحقّق من فهمك
لنفترض أنّ نموذجك يتضمّن سمة باسمnet_worth
تحتوي على القيمة الصافية
لأشخاص مختلفين. هل سيكون التحجيم الخطي تسوية جيدة؟
لـ net_worth
؟ ما سبب ذلك؟
تحجيم درجة Z
الدرجة Z هي عدد الانحرافات المعيارية التي تكون قيمتها عن المتوسط. على سبيل المثال، إذا كانت القيمة أكبر بمقدار انحرافين معياريين عن المتوسط، يكون لها مقياس Z +2.0. إذا كانت القيمة أقل من المتوسط بمقدار 1.5 انحرافات معيارية، يكون لها مقياس Z يساوي -1.5.
يعني تمثيل ميزة باستخدام تحجيم الدرجة المعيارية تخزين بيانات الدرجة المعيارية في خط متجه الخصائص. فعلى سبيل المثال، يوضح الشكل التالي اثنين المدرجات التكرارية:
- على اليسار، توزيع عادي كلاسيكي.
- على اليمين، تمت تسوية نفس التوزيع من خلال مقياس الدرجة المعيارية.
يعد التحجيم بالدرجة Z خيارًا جيدًا لبيانات مثل تلك التي تظهر في الشكل التالي، والذي له توزيع طبيعي غامض فقط.
يُعدّ "معدّل Z" خيارًا جيدًا عندما تتّبع البيانات توزيعًا طبيعيًا أو توزيعًا يشبه التوزيع الطبيعي إلى حدّ ما.
يُرجى العِلم أنّ بعض التوزيعات قد تكون عادية في معظم
نطاقها، ولكنّها لا تزال تحتوي على قيم شاذة متطرفة. على سبيل المثال، قد تتوافق جميع
النقاط تقريبًا في ميزة net_worth
بشكلٍ جيد مع 3 انحرافات معيارية،
ولكن قد تكون بعض الأمثلة على هذه الميزة مئات الانحرافات المعيارية
بعيدًا عن المتوسط. في هذه الحالات، يمكنك الجمع بين توسيع نطاق "مقياس Z" مع
شكل آخر من أشكال التسويف (عادةً ما يكون الاقتصاص) للتعامل مع هذا الموقف.
تمرين: التحقّق من فهمك
لنفترض أنّ النموذج يتدرّب على سمة باسمheight
تحتوي على قياسات الطول الخاصة بالنساء البالغات في عشرة ملايين امرأة. هل سيكون تحجيم الدرجة المعيارية تسوية جيدة
لـ height
؟ ما سبب ذلك؟
تكبير السجلّ
يحسب المقياس اللوغاريتمي لوغاريتم القيمة الأولية. من الناحية النظرية، ويمكن أن يكون اللوغاريتم أي قاعدة، عمليًا، غالبًا ما يحسب مقياس السجل اللوغاريتم الطبيعي (ln).
يكون التكبير اللوغاريتمي مفيدًا عندما تكون البيانات متوافقة مع توزيع قانون القوة. بشكل عام، يبدو توزيع قانون الطاقة على النحو التالي:
- تكون القيم المنخفضة
X
لها قيمY
مرتفعة جدًا. - كلما زادت قيم
X
، تنخفض قيمY
بسرعة. ونتيجةً لذلك، تكون القيم العالية لسمةX
مرتبطة بقيم منخفضة جدًا لسمةY
.
تعتبر تقييمات الأفلام مثالاً جيدًا لتوزيع قانون الطاقة. في الشكل التالي، يُرجى ملاحظة ما يلي:
- تقييمات كثيرة من المستخدمين لعدد قليل من الأفلام (القيم المنخفضة لـ
X
لها مرتفعةY
). - لا تتلقّى معظم الأفلام سوى عدد قليل جدًا من تقييمات المستخدمين. (القيم العالية لـ
X
لها قيمة منخفضةY
).
يؤدي تغيير مقياس اللوغاريتم إلى تغيير التوزيع، ما يساعد في تدريب نموذج ينجح في إجراء توقّعات أفضل.
وكمثال ثانٍ، تتوافق مبيعات الكتب مع توزيع قانون الطاقة للأسباب التالية:
- تُباع معظم الكتب المنشورة بعدد صغير من النُسخ، ربما مائة نسخة أو اثنتان.
- تُباع بعض الكتب بعدد معقول من النسخ بالآلاف.
- ولن تبيع سوى بعض الكتب الأكثر مبيعًا أكثر من مليون نسخة.
لنفترض أنك تدرّب نموذجًا خطيًا لإيجاد العلاقة مثل أغلفة الكتب لبيع الكتب. فإن تدريب النموذج الخطي على القيم الأولية عليك البحث عن معلومات حول أغلفة الكتب التي تبيع مليون نسخة وهو أقوى بـ 10,000 من أغلفة الكتب التي لا تبيع سوى 100 نسخة. ومع ذلك، فإن توسيع نطاق جميع أرقام المبيعات يجعل المهمة أكثر جدوى بكثير. على سبيل المثال، اللوغاريتم لـ 100 هو:
~4.6 = ln(100)
في حين أنّ اللوغاريتم لـ 1,000,000 هو:
~13.8 = ln(1,000,000)
لذا، يكون السجل 1000000 أكبر ثلاث مرات تقريبًا من سجل 100. قد تتخيل أنّ غلاف الكتاب الأكثر مبيعًا يبلغ تقريبًا ثلاث مرات أكثر قوة (بطريقة ما) من غلاف كتاب صغير الحجم.
اقتصاص
الاقتصاص هو أسلوب يقلل من تأثير القيم الشاذة. باختصار، تعمل ميزة "الاقتصاص" عادةً على وضع حد أقصى لقيمة القيم الشاذة (أو تقليلها) إلى قيمة محددة. قد تبدو فكرة الاقتصاص غريبة، ولكن يمكن أن تكون فعالة للغاية.
على سبيل المثال، تخيل مجموعة بيانات تحتوي على سمة باسم roomsPerPerson
،
التي تمثّل عدد الغرف (إجمالي الغرف مقسومًا
على عدد المقيمين) في منازل مختلفة. يوضح المخطط التالي أنه كلما
وتتوافق 99% من قيم الخصائص مع توزيع طبيعي (تقريبًا، متوسط
1.8 وانحراف معياري يبلغ 0.7). ومع ذلك، تحتوي الميزة على
بعض القيم الاستثنائية، وبعضها يكون مفرطًا:
كيف يمكنك تقليل تأثير تلك القيم الشاذّة للغاية؟ حسنًا،
المدرّج التكراري ليس توزيعًا زوجيًا أو توزيعًا عاديًا أو قانونًا للطاقة
التوزيع. ماذا لو حدّدت أو قطعت الحد الأقصى لقيمة
roomsPerPerson
عند قيمة عشوائية، مثل 4.0؟
إنّ اقتصاص قيمة السمة عند 4.0 لا يعني أنّ النموذج يتجاهل جميع القيم التي تزيد عن 4.0. بدلاً من ذلك، يعني ذلك أنّ جميع القيم التي كانت أكبر من 4.0 أصبحت الآن 4.0. وهذا ما يفسّر الارتفاع المفاجئ في الإصدار 4.0. على الرغم من هذا الارتفاع، أصبحت مجموعة العناصر الموسّعة الآن أكثر فائدة من البيانات الأصلية.
يُرجى الانتظار قليلاً. هل يمكنك فعلاً تقليل كل قيمة شاذة إلى حدّ صعِب تحديده؟ نعم، عند تدريب نموذج.
يمكنك أيضًا اقتصاص القيم بعد تطبيق أشكال أخرى من التسويف. على سبيل المثال، افترض أنك تستخدم مقياس الدرجة المعيارية، ولكن هناك عدد قليل من القيم المتطرفة القيم المطلقة أكبر بكثير من 3. في هذه الحالة، يمكنك:
- اقتطع نتائج "مقياس ز" التي تزيد عن 3 لتصبح 3 بالضبط.
- ضع نقاط Z أقل من -3 لتصبح -3 بالضبط.
يمنع الاقتصاص النموذج من الإفراط في فهرسة البيانات غير المهمة. ومع ذلك، قد تكون بعض القيم الشاذة مهمة، لذا عليك اقتصاص القيم بعناية.
ملخّص لتقنيات التسويّة
أسلوب تسوية البيانات | الصيغة | حالات الاستخدام |
---|---|---|
التحجيم الخطي | $$ x' = \frac{x - x_{min}}{x_{max} - x_{min}} $$ | عندما يتم توزيع الميزة بشكل موحد عبر نطاق ثابت. |
تحجيم درجة Z | $$ x' = \frac{x - μ}{σ}$$ | عندما لا يحتوي توزيع الخصائص على قيم استثنائية للغاية. |
تكبير السجلّ | $$ x' = log(x)$$ | عندما تتوافق الميزة مع قانون الطاقة |
الاقتصاص | إذا كان $x > max$، اضبط $x' = max$ إذا كان $x < min$، اضبط $x' = min$ |
عندما تحتوي الميزة على قيم شاذة للغاية |
تمرين: اختبر معلوماتك
لنفترض أنك تعمل على تطوير نموذج للتنبؤ
على أساس درجة الحرارة التي تقاس داخل مركز البيانات.
تقع جميع قيم temperature
تقريبًا في مجموعة البيانات
بين 15 و30 درجة مئوية، مع الاستثناءات التالية:
- مرة أو مرتين في السنة، في الأيام الحارة جدًا، يتم تسجيل بعض القيم التي تتراوح بين
31 و45 في
temperature
. - يتم ضبط كل نقطة في
temperature
على 1,000 بدلاً من درجة الحرارة الفعلية.
ما هي تقنية التسويف المعقولة لقياس
temperature
؟
تُعد القيم 1000 أخطاء، ويجب حذفها بدلاً من مثبت.
القيم بين 31 و45 هي نقاط بيانات مشروعة. من المحتمل أن يكون الاقتصاص فكرة جيدة لهذه القيم، بافتراض أنّ مجموعة البيانات لا تحتوي على أمثلة كافية في نطاق درجة الحرارة هذا لتدريب النموذج لتقديم تنبؤات جيدة. ومع ذلك، أثناء الاستنتاج، أن النموذج المقطوع سيؤدي بالتالي إلى إجراء نفس التنبؤ درجة الحرارة 45 مقابل درجة الحرارة 35.