البيانات الرقمية: التسوية

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

  • تتراوح سمة 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 أوسع بعشر مرات من نطاق العنصر A. لذلك:

  • في بداية التدريب، يفترض النموذج أنّ الميزة B أكثر "أهمية" بعشر مرّات من الميزة A.
  • سيستغرق التدريب وقتًا أطول من المعتاد.
  • قد يكون النموذج الناتج أقل من المستوى المطلوب.

سيكون الضرر الإجمالي الناتج عن عدم تسويتها صغيرًا نسبيًا، ومع ذلك، ننصحك بتسويتها على المقياس نفسه، ربما من -1.0 إلى +1.0.

لنلقِ الآن نظرة على سمتَين تتباين نطاقاتهما بشكل أكبر:

  • أدنى قيمة للميزة C هي -1 وأعلى قيمة هي +1.
  • أدنى قيمة للميزة D هي 5000 والقيمة الأعلى هي 1,000,000,000.

في حال عدم تسويف السمة C والسمة D، من المرجّح أن يكون نموذجك غير مثالي. علاوة على ذلك، سيستغرق التدريب وقتًا أطول للتجمع أو حتى الفشل في التقارب تمامًا!

يتناول هذا القسم ثلاث طرق شائعة للتسوية:

  • التكبير/التصغير الخطي
  • تكبير الدرجة المعيارية
  • تكبير السجلّ

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

التحجيم الخطي

التصغير/التكبير الخطي (يُختصر عادةً إلى التصغير/التكبير فقط) يعني تحويل قيم النقطة العائمة من نطاقها الطبيعي إلى نطاق عادي، وعادةً ما يكون من 0 إلى 1 أو -1 إلى +1.

يُعدّ التكبير/التصغير الخطي خيارًا جيدًا عند استيفاء جميع الشروط التالية:

  • لا يتغيّر الحدان الأدنى والعلوي للبيانات كثيرًا بمرور الوقت.
  • تحتوي الميزة على عدد قليل من القيم الشاذة أو لا تحتوي على أي قيم شاذة، وتلك القيم الشاذة ليست شديدة.
  • يتم توزيع الميزة بشكلٍ موحّد تقريبًا على مستوى نطاقها. وهذا يعني أن المدرج التكراري يعرض الأشرطة المتساوية تقريبًا لمعظم القيم.

لنفترض أنّ المستخدِم age هو ميزة. يُعد التحجيم الخطي أسلوب تسوية جيدًا لـ age للأسباب التالية:

  • تتراوح الحدود الدنيا والعليا التقريبية بين 0 و100.
  • يحتوي age على نسبة صغيرة نسبيًا من القيم الشاذة. لا يتجاوز عدد الأشخاص الذين تزيد أعمارهم عن 100 عام% 0.3 من السكان.
  • على الرغم من أنّ فئات عمرية معيّنة يتم تمثيلها بشكل أفضل من غيرها، يجب أن تحتوي مجموعة البيانات الكبيرة على أمثلة كافية لجميع الفئات العمرية.

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

لنفترض أنّ نموذجك يتضمّن سمة باسم net_worth تحتوي على القيمة الصافية لأشخاص مختلفين. هل سيكون التكبير/التصغير الخطي أسلوبًا جيدًا للتسوية في net_worth؟ ما سبب ذلك؟

تكبير الدرجة المعيارية

الدرجة Z هي عدد الانحرافات المعيارية التي تكون قيمتها عن المتوسط. على سبيل المثال، إذا كانت القيمة أكبر بمقدار انحرافين معياريين من المتوسط، يكون لها مقياس Z‏ +2.0. إذا كانت القيمة تساوي 1.5 انحرافًا معياريًا أقل من القيمة المتوسطة، تكون لها درجة Z -1.5.

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

  • على يمين الصفحة، توزيع طبيعي عادي.
  • على يسار الصفحة، التوزيع نفسه بعد تسويته باستخدام مقياس النتيجة المعيارية.
الشكل 4.  مدرجَان تكراريان: يعرض كلاهما توزيعات عادية
           بالتوزيع نفسه. الرسم البياني الشريطي الأول الذي يحتوي على بيانات أساسية
           له متوسط 200 وانحراف معيّن يبلغ 30. المدرج التكراري
           الثاني الذي يحتوي على نسخة من مقياس Z للتوزيع
           الأول له متوسط 0 وانحراف معيّن يبلغ 1.
الشكل 4. البيانات الأوّلية (على اليسار) مقابل الدرجة المعيارية (على اليمين) لتوزيع عادي

يُعدّ توسيع نطاق الدرجة القياسية (الدرجة z) خيارًا جيدًا أيضًا للبيانات مثل تلك الموضّحة في الشكل التالي، والتي تتضمّن توزيعًا طبيعيًا بشكل غامض فقط.

الشكل 5.  رسمان بيانيان هرميّان الشكل متطابقان، يعرض كل منهما صعودًا شديدًا
            إلى مستوى ثابت ثم نزولًا سريعًا نسبيًا متبوعًا
            بانخفاض تدريجي يوضّح أحد المدرجَين التكراريَين
            توزيع البيانات الأوّلية، ويوضّح المدرج التكراري الآخر
            توزيع البيانات الأوّلية عند تسويتها من خلال توسيع درجة Z.
            القيم على محور X في المدرجَين التكراريَين مختلفة جدًا.
            يتراوح المدرج التكراري للبيانات الأوّلية بين 0 و29,000، في حين يتراوح المدرج التكراري الذي تمّ قياسه حسب مقياس "معدّل Z" بين -1 و4.8 تقريبًا.
الشكل 5. البيانات الأوّلية (على يمين الشاشة) مقارنةً بتوسيع نطاق الدرجة المعيارية (على يمين الشاشة) لتوزيع عادي غير كلاسيكي

يُعدّ "معدّل Z" خيارًا جيدًا عندما تتّبع البيانات توزيعًا طبيعيًا أو توزيعًا يشبه التوزيع الطبيعي إلى حدّ ما.

يُرجى ملاحظة أن بعض التوزيعات قد تكون طبيعية داخل الجزء الأكبر من نطاقها، ولكنها لا تزال تحتوي على قيم استثنائية للغاية. على سبيل المثال، قد تتوافق جميع النقاط تقريبًا في ميزة net_worth بشكلٍ جيد مع 3 انحرافات معيارية، ولكن قد تكون بعض الأمثلة على هذه الميزة مئات الانحرافات المعيارية بعيدًا عن المتوسط. في هذه الحالات، يمكنك الجمع بين توسيع نطاق "مقياس Z" مع شكل آخر من أشكال التسويف (عادةً ما يكون الاقتصاص) للتعامل مع هذا الموقف.

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

لنفترض أنّ النموذج يتدرّب على سمة باسم height تحتوي على قياسات الطول الخاصة بالنساء البالغات لعشرة ملايين امرأة. هل سيكون استخدام مقياس الدرجة المعيارية (Z-score) أسلوبًا جيدًا للتوحيد في height؟ ما سبب ذلك؟

تحجيم السجل

تُستخدَم طريقة "تكبير اللوغاريتم" لاحتساب اللوغاريتم للقيمة الأولية. من الناحية النظرية، يمكن أن يكون للوغاريثم أي أساس، ولكن من الناحية العملية، يحسب عادةً توسيع اللوغاريتم اللوغاريثم الطبيعي (ln).

يكون التكبير اللوغاريتمي مفيدًا عندما تكون البيانات متوافقة مع توزيع قانون القوة. بشكل عام، يبدو توزيع قانون الطاقة على النحو التالي:

  • تضم القيم المنخفضة لـ X قيمًا عالية جدًا تبلغ Y.
  • كلما زادت قيم X، تنخفض قيم Y بسرعة. ونتيجةً لذلك، تكون القيم العالية لسمة X مرتبطة بقيم منخفضة جدًا لسمة Y.

تعتبر تقييمات الأفلام مثالاً جيدًا لتوزيع قانون الطاقة. في الشكل التالي، لاحظ:

  • تحظى بعض الأفلام بالكثير من تقييمات المستخدمين. (ترتبط القيم المنخفضة لسمة X بقيَم Y مرتفعة).
  • لا تتلقّى معظم الأفلام سوى عدد قليل جدًا من تقييمات المستخدمين. (ترتبط القيم العالية لـ X بقيَم Y منخفضة.)

يؤدي تغيير مقياس اللوغاريتم إلى تغيير التوزيع، ما يساعد في تدريب نموذج ينجح في إجراء توقّعات أفضل.

الشكل 6. رسمان بيانيان يقارنان البيانات الأوّلية بسجلّ البيانات الأوّلية
            يعرض الرسم البياني للبيانات الأوّلية الكثير من تقييمات المستخدمين في الجزء العلوي، متبوعًا
            بمجموعة كبيرة من التقييمات الأقل شيوعًا. يعرض الرسم البياني للسجلّ توزيعًا أكثر توازناً.
الشكل 6. مقارنة توزيع أولي بسجلّه

في المثال الثاني، تتوافق مبيعات الكتب مع توزيع قانون الطاقة لأنّه:

  • تُباع معظم الكتب المنشورة بعدد صغير من النُسخ، ربما مائة نسخة أو اثنتان.
  • تبيع بعض الكتب عددًا معتدلاً من النُسخ، بالآلاف.
  • عدد قليل فقط من الأكثر مبيعًا سيبيع أكثر من مليون نسخة.

لنفترض أنّك تدرِّب نموذجًا خطيًا للعثور على العلاقة بين أغلفة الكتب ومبيعاتها مثلاً. إنّ تدريب نموذج خطي على القيم الأولية يجب أن يجد شيئًا عن أغلفة الكتب التي تبيع مليون نسخة يكون أكثر فعالية بمقدار 10,000 مرة من أغلفة الكتب التي تبيع 100 نسخة فقط. ومع ذلك، فإن توسيع نطاق جميع أرقام المبيعات يجعل المهمة أكثر جدوى بكثير. على سبيل المثال، اللوغاريتم رقم 100 هو:

  ~4.6 = ln(100)

في حين أنّ اللوغاريتم لـ 1,000,000 هو:

  ~13.8 = ln(1,000,000)

وبالتالي، فإنّ اللوغاريتم لـ 1,000,000 أكبر بثلاث مرات تقريبًا من اللوغاريتم لـ 100. يمكنك على الأرجح تخيل أنّ غلاف كتاب من الكتب الأكثر مبيعًا يكون أثره (بطريقة ما) ثلاثة أضعاف غلاف كتاب يُباع بكميات صغيرة.

الاقتصاص

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

على سبيل المثال، تخيل مجموعة بيانات تحتوي على سمة باسم roomsPerPerson، التي تمثّل عدد الغرف (إجمالي الغرف مقسومًا على عدد المقيمين) في منازل مختلفة. يوضح الرسم التالي أن أكثر من 99% من قيم الخصائص تتوافق مع توزيع طبيعي (تقريبًا متوسط 1.8 وانحراف معياري 0.7). ومع ذلك، تحتوي الميزة على بضع قيم شاذة، وبعضها شديد الشذوذ:

الشكل 7 يشير ذلك المصطلح إلى مخطط للغرف PerPerson يتم تجميع كل القيم فيه تقريبًا
 بين 0 و4، ولكن هناك حيوان فيربري ذيل طويل
 ويصل إلى 17 غرفة لكل شخص.
الشكل 7. طبيعية بشكل أساسي، ولكن ليس تمامًا

كيف يمكنك تقليل تأثير القيم الشاذة القصوى؟ حسنًا، فإنّ )"مخطّط الشرائح)" ليس توزيعًا متساويًا أو توزيعًا طبيعيًا أو توزيعًا وفقًا لقانون القوة. ماذا لو استخدمت الحد الأقصى أو المقطع كحد أقصى لقيمة roomsPerPerson بقيمة عشوائية، لنفترض 4.0؟

رسم بياني لعدد الغرف لكل شخص تكون فيه جميع القيم بين 0 و
            4.0 الرسم البياني على شكل جرس، ولكن هناك تلة شاذة عند 4.0
الشكل 8. اقتصاص قيم العناصر عند 4.0

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

يُرجى الانتظار. هل يمكنك حقًا تقليل كل قيمة استثنائية إلى حد أعلى عشوائي؟ عند تدريب أحد النماذج، نعم.

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

  • قم بتقسيم نقاط Z أكبر من 3 لتصبح 3 بالضبط.
  • اقتصاص نتائج اختبار Z-Score التي تقل عن -3 لتصبح -3 بالضبط

ويمنع الاقتصاص النموذج من إنشاء فهرس زائد للبيانات غير المهمة. ومع ذلك، فإن بعض القيم الاستثنائية مهمة في الواقع، لذا قم باقتصاص القيم بعناية.

ملخّص لتقنيات التسويّة

أسلوب تسوية البياناتالصيغةحالات الاستخدام
التحجيم الخطي $$ x' = \frac{x - x_{min}}{x_{max} - x_{min}} $$ عندما تكون الميزة موزّعة بشكلٍ موحّد على سطح نطاق ثابت
تكبير الدرجة المعيارية $$ x' = \frac{x - μ}{σ}$$ عندما لا يحتوي توزيع العناصر على قيم شاذة متطرفة
تكبير السجلّ $$ x' = log(x)$$ عندما تكون الميزة متوافقة مع قانون الطاقة
الاقتصاص إذا كان $x > max$، اضبط $x' = max$
إذا كان $x < min$، اضبط $x' = min$
عندما تحتوي الميزة على قيم شاذة للغاية

تمرين: اختبار معلوماتك

ما هي التقنية الأنسب لتسويه ميزة ذات التوزيع التالي؟

مخطّط بياني هرمي يعرض مجموعة من البيانات التي تتضمّن قيمًا تتراوح بين 0 و
          200,000 يزداد عدد نقاط البيانات تدريجيًا في النطاق
          من 0 إلى 100,000، ثم ينخفض تدريجيًا من 100,000 إلى
          200,000.

تحجيم درجة Z
تتوافق نقاط البيانات بشكل عام مع التوزيع الطبيعي، لذا سيؤدي توسيع نطاق "درجة z" إلى وضعها في النطاق من -3 إلى +3.
التحجيم الخطي
راجِع المناقشات حول أساليب التسويف في هذه الصفحة، وأعِد المحاولة.
تحجيم السجل
راجِع المناقشات حول أساليب التسويف في هذه الصفحة، وأعِد المحاولة.
اقتصاص
راجِع المناقشات حول أساليب التسويف في هذه الصفحة، وأعِد المحاولة.

لنفترض أنّك تعمل على تطوير نموذج يتنبّأ بإنتاجية مركز البيانات استنادًا إلى درجة الحرارة المقاسة داخل مركز البيانات. تقع جميع قيم temperature تقريبًا في مجموعة البيانات بين 15 و30 (درجة مئوية)، باستثناء الحالات التالية:

  • مرة أو مرتين في السنة، في الأيام الحارة جدًا، يتم تسجيل بعض القيم التي تتراوح بين 31 و45 في temperature.
  • يتم ضبط كل نقطة في temperature على 1,000 بدلاً من درجة الحرارة الفعلية.

ما هو أسلوب التسوية المعقولة للسمة temperature؟

اقتطع قيم القيم الشاذة بين 31 و45، ولكن احذف القيم الشاذة التي تبلغ قيمتها 1,000.

وتُعد القيم 1,000 أخطاء، ويجب حذفها بدلاً من اقتصاصها.

القيم بين 31 و45 هي نقاط بيانات مشروعة. من المحتمل أن يكون الاقتصاص فكرة جيدة لهذه القيم، بافتراض أنّ مجموعة البيانات لا تحتوي على أمثلة كافية في نطاق درجة الحرارة هذا لتدريب النموذج لتقديم تنبؤات جيدة. ومع ذلك، أثناء الاستنتاج، يُرجى العِلم أنّ النموذج المقتطع سيقدّم بالتالي التوقّع نفسه لشدَّة حرارة تبلغ ‏45 درجة وشدَّة حرارة تبلغ ‏35 درجة.

قص كلّ القيم الشاذّة
يُرجى مراجعة المناقشات حول أساليب التسوية في هذه الصفحة وإعادة المحاولة.
حذف كل القيم الشاذّة
راجِع المناقشات حول أساليب التسويف في هذه الصفحة، وأعِد المحاولة.
احذف قيم القيم الشاذة بين 31 و45، ولكن اقطع القيم الشاذة التي تبلغ قيمتها 1,000.
راجِع المناقشات حول أساليب التسويف في هذه الصفحة، وأعِد المحاولة.