Target Encoding بدون تسرب البيانات: LOO وK-Fold في مواجهة وهم الجودة
يبدو target encoding طريقة بسيطة لمعالجة features الفئوية — لكن التنفيذ الساذج يسرّب target إلى مجموعة التدريب من دون أن يبدو ذلك واضحًا. تبدو مقاييس التحقق…
معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
ترميز الهدف هو طريقة شهيرة لترميز الميزات الفئوية، لكن تنفيذها الساذج يضخم المقاييس بشكل منهجي ويخلق وهماً من نموذج جيد ينهار في الإنتاج.
ما هو ترميز الهدف
يستبدل ترميز الهدف كل قيمة فريدة من ميزة فئوية بمتوسط قيمة المتغير المستهدف عبر جميع الكائنات في تلك الفئة. بالنسبة لميزة "المدينة"، يتم تعيين كل مدينة بمتوسط المبيعات عبر جميع العملاء منها. بالنسبة لميزة "المتصفح" — متوسط التحويل عبر جميع الجلسات مع هذا المتصفح. عمود رقمي واحد بدلاً من مئات الأعمدة الثنائية.
الطريقة جذابة بشكل خاص مع الأساسية العالية: بدلاً من مئات الأعمدة الثنائية من ترميز One-Hot، يبقى ميزة رقمية مدمجة واحدة تحمل مباشرة معلومات عن العلاقة بين الفئة والهدف. هذا هو السبب في أن ترميز الهدف يُستخدم بنشاط في مسابقات Kaggle وفي خطوط الأنابيب ML الصناعية — يحصل النموذج على مدخل معلوماتي يتدرب بسرعة وسهل التفسير.
من أين يأتي التسرب
تنشأ المشكلة في لحظة حساب المتوسط. يحسب التنفيذ الساذج الترميز عبر عينة التدريب بالكامل — بما في ذلك الكائن الحالي. ونتيجة لذلك، يشارك الهدف لهذا الكائن في حساب الميزة التي يتم تغذيتها بعد ذلك للنموذج كمدخل أثناء التدريب. يرى النموذج بشكل فعلي المتغير المستهدف في شكل مخفي — ليس مباشرة، بل من خلال هذه الميزة.
عواقب مثل هذا التسرب يمكن التنبؤ بها:
- المقاييس على التدريب والتحقق من الصحة المتقاطع تبدو ممتازة — يعرف النموذج "الإجابة" من خلال الميزة
- يحفظ النموذج الضوضاء والقيم الشاذة للكائنات المحددة، وليس الأنماط الحقيقية
- على الاختبار أو في الإنتاج، ينخفض الجودة بشكل حاد — هناك يتم حساب الترميز من التدريب بدون الكائن الحالي
- كلما قل عدد الكائنات في الفئة — كلما كان التسرب أقوى: مع كائن واحد، يساوي الترميز ببساطة الهدف
- التأثير غير مرئي تحت فحوصات المقاييس القياسية، لكنه يظهر في اختبار A/B في الإنتاج
هذا فخ كلاسيكي: كل شيء يبدو مثالياً حتى النشر، وبعده يتبين أن النموذج عديم الفائدة. أظهرت العديد من الحلول التنافسية على Kaggle CV رائعة لهذا السبب بالضبط، لكنها لم تنج من الفحص النهائي.
LOO و K-Fold: كيفية الحساب بشكل صحيح
يحل كلا الأسلوبين مهمة واحدة: عند حساب الترميز، عدم استخدام قيمة الهدف الخاصة بالكائن.
ترك واحد للخارج (LOO) عند ترميز كل كائن يستبعد قيمته من حساب المتوسط. رسمياً: متوسط الهدف عبر جميع كائنات نفس الفئة، باستثناء الكائن الحالي. يتم قطع الاعتماد المباشر، يتم الحفاظ على المعلومات حول توزيع الفئة. التنفيذ مباشر وحتمي.
ترميز K-Fold يعمل بشكل مختلف. تنقسم عينة التدريب إلى K folds. لكل fold، يتم حساب الترميز فقط من K-1 folds المتبقية، ثم يتم تطبيقه على fold "المُجنَّب". الطريقة مشابهة للتحقق المتقاطع: لا يشارك أي كائن في حساب ترميزه الخاص.
"الميزة النزيهة هي تلك التي يتم حسابها أثناء التدريب بنفس الطريقة التي
سيتم حسابها في الإنتاج."
لكل طريقة نقاطها الدقيقة: LOO حتمي ويضيف الحد الأدنى من الضوضاء، لكن مع الفئات الصغيرة (1-2 كائن) تبقى عرضة لتسرب متبقي. يُدخل K-Fold ضوضاء التنظيم بسبب الانقسام العشوائي — هذه خاصية مفيدة وليست خلل. بالنسبة لكلا الطريقتين، قاعدة واحدة مهمة: يتم دائماً حساب الترميز لعينة الاختبار من عينة التدريب بأكملها ككل، بدون LOO أو K-Fold — هذا هو بالضبط كيف سيعمل في الإنتاج.
ماذا يعني هذا
يبقى ترميز الهدف أداة قوية للعمل مع الميزات الفئوية، لكنه يتطلب تنفيذاً حذراً. يخلق الأسلوب الساذج وهماً من الجودة — مقاييس جميلة لن تنجو من الإنتاج. يوفر LOO و K-Fold ميزات نزيهة: تعكس أرقام التحقق القدرة الحقيقية للنموذج على التعميم، وليست نتيجة لتسرب البيانات. إذا بدت المقاييس جيدة جداً — يجب فحص الترميز في المقام الأول.
هل تريد التوقف عن قراءة الذكاء الاصطناعي والبدء باستخدامه؟
AI News هو موجز منسق لأخبار الذكاء الاصطناعي. تعلمك Hamidun Academy استخدام الذكاء الاصطناعي في عملك.