وبعد فحص بياناتك من خلال الأساليب الإحصائية والتصور، عليك تحويل بياناتك بطرق تساعد نموذجك على التدريب بشكل أكبر فعالية. إن الهدف من التسوية هي تحويل الميزات على نطاق مماثل. على سبيل المثال، ضع في الاعتبار ما يلي الجديدة:
- تمتد الميزة
X
إلى النطاق من 154 إلى 24,917,482. - تمتد الميزة
Y
إلى النطاق من 5 إلى 22.
تمتد هاتان الميزتان على نطاقين مختلفين جدًا. قد تعالج التسوية
X
وY
بحيث يمتدان إلى نطاق مشابه، وقد يكون 0 إلى 1.
توفّر التسوية المزايا التالية:
- يساعد ذلك في التواصل بسرعة أكبر أثناء التدريب. عندما تحتوي الميزات المختلفة على نطاقات مختلفة، يمكن أن تؤدي خوارزمية انحدار التدرج "ارتداد" والتقارب البطيء. ومع ذلك، يميل محترفو التحسين الأكثر تقدمًا إلى أداغراد وآدم على الحماية من هذه المشكلة عن طريق تغيير معدل التعلم الفعال بمرور الوقت.
- يساعد النماذج في استنتاج عبارات بحث مقترحة أفضل. عندما يكون للميزات المختلفة نطاقات مختلفة، فإن ناتج نموذجك قد ينتج عنه تنبؤات أقل فائدة إلى حد ما.
- يساعد على تجنُّب " فخ 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
، من المرجّح أن يزداد احتمال
دون المستوى. علاوة على ذلك، سيستغرق التدريب وقتًا أطول بكثير
تتقارب أو حتى تفشل في التقارب تمامًا!
يتناول هذا القسم ثلاث طرق شائعة للتسوية:
- التحجيم الخطي
- تحجيم درجة Z
- التحجيم اللوغاريتمي
يتناول هذا القسم أيضًا الاقتصاص والدمج. رغم أنه ليس صحيحًا فإن الاقتصاص يعوض الخصائص العددية غير المنحرفة النطاقات التي تُنتج نماذج أفضل.
التحجيم الخطي
التحجيم الخطي (أكثر شيوعًا ويتم اختصارها إلى تحجيم فقط) تعني تحويل قيم النقطة العائمة من نطاقها الطبيعي إلى نطاق قياسي — عادة ما يكون من 0 إلى 1 أو -1 لإجراء 1+.
يعد التحجيم الخطي خيارًا جيدًا عند استيفاء جميع الشروط التالية:
- لا يتغيّر الحدان الأدنى والعلوي للبيانات كثيرًا بمرور الوقت.
- الميزة لا تحتوي على قيم شاذة قليلة أو لا تحتوي على أي قيم شاذة، وهذه القيم الشاذّة ليست للغاية.
- يتم توزيع الميزة بشكل منتظم تقريبًا عبر نطاقها. وهذا يعني أن المدرج التكراري سيُظهر الأشرطة تقريبًا لمعظم الأعمار.
لنفترض أنّ العنصر age
البشري هو ميزة. يُعد التحجيم الخطي تسوية جيدة
لـ age
للأسباب التالية:
- ويتراوح الحد الأدنى والعلوي التقريبي من 0 إلى 100.
- تحتوي الدالة
age
على نسبة مئوية صغيرة نسبيًا من القيم الشاذّة. حوالي 0.3٪ فقط من عدد السكان أكثر من 100. - وعلى الرغم من أن بعض الأعمار يتم تمثيلها بشكل أفضل إلى حد ما من غيرها، إلا أن مجموعة البيانات أمثلة كافية من جميع الأعمار.
التحقق من فهمك
لنفترض أن نموذجك يحتوي على ميزة اسمهاnet_worth
تحمل الشبكة.
من أشخاص مختلفين. هل سيكون التحجيم الخطي تسوية جيدة؟
لـ net_worth
؟ ما سبب ذلك؟
تحجيم درجة Z
الدرجة Z هي عدد الانحرافات المعيارية التي تكون قيمتها عن المتوسط. على سبيل المثال، القيمة التي بها انحرافان معياريان أكبر من المتوسط. له درجة Z تبلغ +2.0. قيمة تساوي 1.5 انحرافًا معياريًا أقل من فإن المتوسط لديه درجة ي تساوي -1.5.
يعني تمثيل ميزة باستخدام تحجيم الدرجة المعيارية تخزين بيانات الدرجة المعيارية في خط متجه الخصائص. فعلى سبيل المثال، يوضح الشكل التالي اثنين المدرجات التكرارية:
- على اليسار، توزيع عادي كلاسيكي.
- على اليمين، تمت تسوية نفس التوزيع من خلال مقياس الدرجة المعيارية.
![الشكل 4. مدرجان تكراريان: يعرض كلاهما التوزيعات العادية باستخدام
للتوزيع المتماثل. المدرّج التكراري الأول، الذي يحتوي على بيانات أوّلية
البيانات، بمتوسط 200 وانحراف معياري يبلغ 30. الفرصة الثانية
المدرّج التكراري، الذي يحتوي على إصدار الدرجة القياسية (Z) لأول
والتوزيع، يكون فيه المتوسط 0 والانحراف المعياري 1.](https://developers.google.cn/static/machine-learning/crash-course/images/z-scaling_classic.png?authuser=9&hl=ar)
يعد التحجيم بالدرجة Z خيارًا جيدًا لبيانات مثل تلك التي تظهر في الشكل التالي، والذي له توزيع طبيعي غامض فقط.
![الشكل 5. مدرجان تكراريان لهما شكل متطابق، ويظهر كل منهما في
إلى هضبة ثم هبوط سريع نسبيًا متبوعًا
التضاؤل التدريجي. يوضح أحد المدرجات التكرارية
وتوزيع البيانات الأولية؛ يوضح المدرج التكراري الآخر
توزيع البيانات الأولية عند تسويتها من خلال تحجيم الدرجة المعيارية.
تختلف القيم على المحور س للمدرجين التكراريين بشكل كبير.
يمتد المدرج التكراري للبيانات الأولية عبر النطاق من 0 إلى 29000، بينما
يتراوح المدرّج التكراري المتدرج لدرجة Z من -1 إلى +4.8 تقريبًا](https://developers.google.cn/static/machine-learning/crash-course/images/z-scaling-non-classic-normal-distribution.png?authuser=9&hl=ar)
وتعد الدرجة المعيارية اختيارًا جيدًا عندما تتبع البيانات توزيعًا طبيعيًا أو توزيع يشبه إلى حد ما التوزيع الطبيعي.
لاحظ أن بعض التوزيعات قد تكون طبيعية داخل الجزء الأكبر من
النطاق، ولكنها لا تزال تحتوي على قيم استثنائية للغاية. على سبيل المثال، جميع
من أي نقاط في ميزة 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)
في حين أن السجل 1000000 هو:
~13.8 = ln(1,000,000)
لذا، يكون السجل 1000000 أكبر ثلاث مرات تقريبًا من سجل 100. قد تتخيل أنّ غلاف الكتاب الأكثر مبيعًا يبلغ تقريبًا ثلاث مرات أكثر قوة (بطريقة ما) من غلاف كتاب صغير الحجم.
اقتصاص
الاقتصاص هو أسلوب إلى تقليل تأثير القيم الاستثنائية القصوى. باختصار، يجعل الاقتصاص عادةً أحرفًا كبيرة (يقلل) قيمة القيم الاستثنائية إلى قيمة قصوى معينة. الاقتصاص هو فكرة غريبة، ومع ذلك، يمكن أن تكون فعالة للغاية.
فعلى سبيل المثال، تخيل أن هناك مجموعة بيانات بها ميزة اسمها roomsPerPerson
،
الذي يمثّل عدد الغُرف (إجمالي الغُرف مقسومًا على)
حسب عدد النزلاء) في منازل مختلفة. يوضح المخطط التالي أنه كلما
وتتوافق 99% من قيم الخصائص مع توزيع طبيعي (تقريبًا، متوسط
1.8 وانحراف معياري يبلغ 0.7). ومع ذلك، تحتوي الميزة على
بعض القيم الاستثنائية، وبعضها يكون مفرطًا:
![الشكل 7. يشير ذلك المصطلح إلى مخطط ل roomPerPerson تكون فيه جميع القيم
قد تتجمع بين 0 و4، ولكن هناك ذيل طويل فيريري
وتصل إلى 17 غرفة للشخص الواحد](https://developers.google.cn/static/machine-learning/crash-course/images/PreClipping.png?authuser=9&hl=ar)
كيف يمكنك تقليل تأثير تلك القيم الشاذّة للغاية؟ حسنًا،
المدرّج التكراري ليس توزيعًا زوجيًا أو توزيعًا عاديًا أو قانونًا للطاقة
التوزيع. ماذا لو استخدمت الحد الأقصى أو المقطع كحد أقصى لقيمة
roomsPerPerson
بقيمة عشوائية، لنفترض 4.0؟
![يشير ذلك المصطلح إلى مخطط لـ roomPerPerson تقع فيه جميع القيم بين 0 و
4.0. المخطط على شكل جرس، ولكن يوجد تل غير مألوف عند 4.0](https://developers.google.cn/static/machine-learning/crash-course/images/Clipping.png?authuser=9&hl=ar)
لا يعني اقتصاص قيمة الميزة إلى 4.0 أن النموذج يتجاهل جميع القيم الأكبر من 4.0. بل يعني ذلك أن جميع القيم التي كانت أكبر من 4.0 تصبح الآن 4.0. يوضح هذا التل الفريد عند 4.0. رغم هذا التل، أصبحت مجموعة الخصائص المدرجة الآن أكثر فائدة من البيانات الأصلية.
يُرجى الانتظار قليلاً. هل يمكنك تخفيض كل قيمة استثنائية إلى بعض القيم العشوائية العليا الحد؟ عند تدريب أحد النماذج، نعم.
يمكنك أيضًا اقتصاص القيم بعد تطبيق أشكال أخرى من التسوية. على سبيل المثال، افترض أنك تستخدم مقياس الدرجة المعيارية، ولكن هناك عدد قليل من القيم المتطرفة القيم المطلقة أكبر بكثير من 3. في هذه الحالة، يمكنك:
- قم بتقسيم نقاط Z أكبر من 3 لتصبح 3 بالضبط.
- ضع نقاط Z أقل من -3 لتصبح -3 بالضبط.
يمنع الاقتصاص النموذج من الإفراط في فهرسة البيانات غير المهمة. ومع ذلك، بعض القيم الاستثنائية مهمة بالفعل، لذا قم باقتصاص القيم بعناية.
ملخّص أساليب التسوية
أسلوب التسوية | الصيغة | حالات الاستخدام |
---|---|---|
التحجيم الخطي | $$ x' = \frac{x - x_{min}}{x_{max} - x_{min}} $$ | عندما يتم توزيع الميزة بشكل موحد عبر نطاق ثابت. |
تحجيم درجة Z | $$ x' = \frac{x - μ}{σ}$$ | عندما لا يحتوي توزيع الخصائص على قيم استثنائية للغاية. |
تحجيم السجل | $$ x' = log(x)$$ | عندما تتوافق الميزة مع قانون الطاقة |
اقتصاص | إذا كانت $x> الحد الأقصى دولار، تعيين $x' = دولار أمريكي كحد أقصى إذا كانت قيمة $x < min$، تعيين $x' = دقيقة$ |
عندما تحتوي الميزة على قيم استثنائية للغاية. |
تمرين: اختبر معلوماتك
لنفترض أنك تعمل على تطوير نموذج للتنبؤ
على أساس درجة الحرارة التي تقاس داخل مركز البيانات.
تقع جميع قيم temperature
تقريبًا في مجموعة البيانات
بين 15 و30 درجة مئوية، مع الاستثناءات التالية:
- مرة أو مرتين سنويًا، في الأيام الحارة للغاية، تتراوح بعض القيم بين
تم تسجيل 31 و45 في
temperature
. - يتم ضبط قيمة كل 1,000 نقطة في
temperature
على 1,000. بدلاً من درجة الحرارة الفعلية.
وهو ما قد يكون أسلوب تسوية معقول
temperature
؟
تُعد القيم 1000 أخطاء، ويجب حذفها بدلاً من مثبت.
القيم بين 31 و45 هي نقاط بيانات مشروعة. قد يكون الاقتصاص فكرة جيدة لهذه القيم، بافتراض أن مجموعة البيانات لا تحتوي على أمثلة كافية في نطاق درجة الحرارة هذا تدريب النموذج لوضع تنبؤات جيدة. ومع ذلك، أثناء الاستنتاج، أن النموذج المقطوع سيؤدي بالتالي إلى إجراء نفس التنبؤ درجة الحرارة 45 مقابل درجة الحرارة 35.