التمثيل: تنظيف البيانات

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

تدريج قيم الخصائص

يعني التحجيم تحويل قيم عناصر النقطة العائمة من نطاقها الطبيعي (على سبيل المثال، 100 إلى 900) إلى نطاق قياسي (على سبيل المثال، 0 إلى 1 أو -1 إلى 1+). إذا كانت مجموعة الميزات تتكون من ميزة واحدة فقط، فإن تغيير الحجم يقدم القليل من الفائدة العملية أو لا يقدم أي فائدة على الإطلاق. ومع ذلك، إذا كانت مجموعة الميزات تتكون من ميزات متعددة، فإن تحجيم الميزة يوفر الفوائد التالية:

  • يساعد على التقارب بين انحدار التدرج بسرعة أكبر.
  • يساعد في تجنب "فخ NaN" الذي يصبح فيه رقم واحد في النموذج NaN (على سبيل المثال، عندما تتجاوز القيمة حد دقة النقطة العائمة أثناء التدريب)، وبسبب العمليات الحسابية، يصبح كل رقم آخر في النموذج أيضًا في النهاية رقمًا NaN.
  • يساعد النموذج على معرفة الأوزان المناسبة لكل ميزة. بدون تحجيم الميزة، سيولي النموذج الكثير من الاهتمام للميزات التي لها نطاق أوسع.

ليس عليك إعطاء كل ميزة نقطة عائمة نفس المقياس تمامًا. لن يحدث أي شيء سيئ إذا تم تغيير حجم الميزة "أ" من -1 إلى 1+ بينما تم تحجيم الميزة "ب" من -3 إلى +3. ومع ذلك، سيكون رد فعل النموذج ضعيفًا إذا تم تحجيم الميزة ب من 5000 إلى 100000.

التعامل مع القيم الاستثنائية المتطرفة

يمثل المخطط التالي ميزة تسمى roomsPerPerson من مجموعة بيانات الإسكان في كاليفورنيا. تم احتساب قيمة roomsPerPerson من خلال قسمة إجمالي عدد الغرف لمنطقة ما على عدد سكان تلك المنطقة. يوضح المخطط أن الغالبية العظمى من المناطق في كاليفورنيا لديها غرفة أو غرفتين لكل شخص. لكن ألقِ نظرة على المحور س.

قطعة من الغرف لكل شخص يتم فيها تجميع جميع القيم تقريبًا بين 0 و4، ولكن هناك عدد قليل من الغرف يصل إلى 55 غرفة لكل شخص

الشكل 4. كلب يا حيوان

كيف يمكننا تقليل تأثير تلك القيم الشاذّة المتطرفة؟ حسنًا، إحدى الطرق هي أخذ سجل كل قيمة:

يشير ذلك المصطلح إلى مخطط من قيم log(roomsPerperson) تتجمع فيها 99% من القيم بين حوالي 0.4 و1.8، ولكن لا يزال هناك ذيل طويل يصل إلى 4.2 أو نحو ذلك.

الشكل 5. لا تزال التحجيم اللوغاريتمي تترك ذيلاً.

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

يشير ذلك المصطلح إلى مخطط من الغرف لكل شخص تُدرج فيه جميع القيم بين -0.3 و4.0. المخطط على شكل جرس، ولكن هناك تلة شاذة عند 4.0

الشكل 6. قيم ميزات الاقتصاص هي 4.0

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

الربط

يوضح المخطط التالي الانتشار النسبي للمنازل على خطوط عرض مختلفة في كاليفورنيا. لاحظ التجميع العنقودي — تقع لوس أنجلوس عند خط العرض 34 وسان فرانسيسكو تقريبًا عند خط العرض 38.

مخطط منازل لكل خط عرض. المخطط غير منتظم إلى حد كبير، حيث يحتوي على طوابق حول خط العرض 36 وارتفاعات كبيرة حول خطي العرض 34 و38.

الشكل 7. عدد المنازل حسب خط العرض

في مجموعة البيانات، تمثّل latitude قيمة نقطة عائمة. ومع ذلك، ليس من المنطقي تمثيل latitude كميزة نقطة عائمة في نموذجنا. وهذا بسبب عدم وجود علاقة خطية بين قيم خطوط العرض السكنية. على سبيل المثال، المنازل الواقعة في خط العرض 35 ليست \(\frac{35}{34}\) أكثر تكلفة (أو أقل تكلفة) من المنازل الواقعة في خط العرض 34. ومع ذلك، من المحتمل أن تكون خطوط العرض الفردية مؤشرًا جيدًا جدًا لقيم المنازل.

لجعل خط العرض مؤشرًا مفيدًا، لنقسم خطوط العرض إلى "سلال" كما يقترح الشكل التالي:

مخطط منازل لكل خط عرض. يتم تقسيم المخطط إلى

الشكل 8. دمج القيم

بدلاً من توفُّر ميزة نقطة عائمة واحدة، أصبح لدينا الآن 11 ميزة منطقية مختلفة (LatitudeBin1، LatitudeBin2، ...، LatitudeBin11). يعتبر توفُّر 11 ميزة منفصلة أمرًا غير دقيق إلى حد ما، لذا لندمجها في متجه واحد مكوّن من 11 عنصرًا. القيام بذلك يمكّننا من تمثيل خط العرض 37.4 على النحو التالي:

[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]

بفضل التغليف، يمكن لنموذجنا الآن أن يتعلم أوزانًا مختلفة تمامًا لكل خط عرض.

تنقيح

حتى الآن، افترضنا أن جميع البيانات المستخدمة للتدريب والاختبار كانت جديرة بالثقة. في الحياة الواقعية، العديد من الأمثلة في مجموعات البيانات غير موثوقة بسبب واحد أو أكثر مما يلي:

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

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

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

  • الحد الأقصى والأدنى
  • المتوسّط والوسيط
  • الانحراف المعياري

ضع في اعتبارك إنشاء قوائم بالقيم الأكثر شيوعًا للميزات المنفصلة. على سبيل المثال، هل يتطابق عدد الأمثلة التي تتضمّن country:uk مع الرقم الذي تتوقّعه. هل يجب أن تكون اللغة language:jp هي اللغة الأكثر شيوعًا في مجموعة البيانات لديك؟

معرفة بياناتك

عليك اتّباع القواعد التالية:

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

تعامل مع بياناتك بعناية مثلما تتعامل مع أي رمز مهم للمهمة. يعتمد تعلُّم الآلة الجيد على بيانات جيدة.

معلومات إضافية

قواعد تعلُّم الآلة، المرحلة الثانية من تعلُّم الآلة: هندسة الميزات