ما هو التحقق المتقاطع؟ مقارنة نماذج التعلم الآلي

نشرت: 2021-07-21

يعد التحقق المتبادل أداة لا تقدر بثمن لعلماء البيانات.

إنها مفيدة لبناء أكثر دقة   التعلم الالي   نماذج وتقييم مدى جودة عملها على مجموعة بيانات اختبار مستقلة.

من السهل فهم وتنفيذ التحقق المتقاطع ، مما يجعله طريقة انتقال لمقارنة القدرات (أو المهارات) التنبؤية لنماذج مختلفة واختيار الأفضل. يكون مفيدًا عندما تكون كمية البيانات المتاحة محدودة وهي طريقة رائعة للتحقق من كيفية عمل النموذج التنبئي في الممارسة العملية.

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

هل كنت تعلم؟ يعتبر النموذج "أكثر من اللازم" إذا كان نموذجًا لبيانات التدريب جيدًا بحيث يؤثر سلبًا على أدائه على البيانات الجديدة.

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

ببساطة ، في عملية التحقق المتقاطع ، يتم تقسيم عينة البيانات الأصلية بشكل عشوائي إلى عدة مجموعات فرعية. يتدرب نموذج التعلم الآلي على جميع المجموعات الفرعية ، باستثناء مجموعة واحدة. بعد التدريب ، يتم اختبار النموذج من خلال عمل تنبؤات على المجموعة الفرعية المتبقية.

في كثير من الحالات ، يتم إجراء جولات متعددة من التحقق المتبادل باستخدام مجموعات فرعية مختلفة ، ويتم حساب متوسط ​​نتائجها لتحديد النموذج الذي يعد مؤشرًا جيدًا.

لماذا يعتبر التحقق المتبادل مهمًا؟

يعد التحقق المتبادل أمرًا بالغ الأهمية عندما تكون كمية البيانات المتاحة محدودة.

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

لإنشاء نموذج تنبؤي ، ستستخدم هذه البيانات (التاريخية). هناك شيئان تحتاج إلى القيام بهما بهذه البيانات - تدريب الخوارزمية واختبار النموذج.

هل كنت تعلم؟ في التعلم الآلي ، الخوارزمية والنموذج مختلفان. النموذج هو ما تعلمته خوارزمية التعلم الآلي.

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

إعادة استخدام مجموعة التدريب كمجموعة اختبار ليست فكرة رائعة لأننا نحتاج إلى تقييم دقة النموذج على البيانات التي لم يتم التدريب عليها. ذلك لأن الهدف الرئيسي من التدريب هو إعداد النموذج للعمل على بيانات العالم الحقيقي. ومن غير المحتمل أن تحتوي مجموعة بيانات التدريب الخاصة بك على جميع نقاط البيانات المحتملة التي سيواجهها النموذج في أي وقت.

قد تكون الفكرة الأفضل هي استخدام أول 75 بالمائة (ثلاث مجموعات) من البيانات كمجموعة بيانات تدريبية وآخر 25 بالمائة (كتلة واحدة) كمجموعة بيانات اختبار . سيسمح لك ذلك بمقارنة مدى جودة تصنيف الخوارزميات المختلفة لبيانات الاختبار.

لكن بالطبع ، كيف تعرف أن استخدام أول 75 بالمائة من البيانات كمجموعة تدريب و 25 بالمائة المتبقية كمجموعة اختبار هي أفضل طريقة؟

بدلاً من ذلك ، يمكنك استخدام أول 25 بالمائة من البيانات للاختبار ؛ أو يمكنك استخدام الكتلة الثالثة من البيانات كمجموعة بيانات الاختبار والباقي كمجموعة بيانات التدريب.

نصيحة: استخدم برنامج التعلم الآلي لأتمتة المهام وعمل تنبؤات دقيقة.

نتيجة لذلك ، يستخدم نوع من التحقق المتقاطع يسمى التحقق المتقاطع k-fold جميع الأجزاء (الأربعة) من مجموعة البيانات كبيانات اختبار ، واحدة تلو الأخرى ، ثم تلخص النتائج.

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

بعد تسجيل الأداء أو الدقة ، ستستخدم المجموعات الأولى والثانية والرابعة من البيانات للتدريب والكتلة الثالثة للاختبار. تستمر العملية حتى يتم استخدام جميع الكتل مرة واحدة كبيانات اختبار. يتم حساب متوسط ​​جميع النتائج لتقييم أداء النموذج.

في المثال أعلاه ، تم تقسيم البيانات إلى أربع كتل. ومن ثم ، يُطلق على هذا التحقق المتقاطع التحقق من الصحة بأربعة أضعاف . إذا تم تقسيمها إلى عشر كتل ، فسيكون ذلك بمثابة تحقق متقاطع بمقدار 10 أضعاف .

باختصار ، يعد التحقق المتقاطع مفيدًا لاختيار النموذج ويجعل من السهل فحص مدى نجاح النموذج في التعميم على البيانات الجديدة.

بمعنى آخر ، من المفيد تحديد خطأ التنبؤ لنموذج ما. يتم استخدامه أيضًا لمقارنة أداء أو دقة طرق التعلم الآلي المختلفة مثل آلة متجه الدعم (SVM) أو أقرب جوار K (KNN) أو الانحدار الخطي أو الانحدار اللوجستي.

فيما يلي بعض الأسباب التي تجعل علماء البيانات يحبون التحقق المتبادل:

  • يتيح لهم استخدام جميع البيانات دون التضحية بأي مجموعة فرعية (غير صالح لطريقة الانتظار)
  • يكشف عن تناسق البيانات والخوارزمية
  • يساعد على تجنب فرط التجهيز

يُستخدم التحقق المتقاطع أيضًا لضبط ملف   hyperparameters   لنموذج التعلم الآلي من خلال تقنية تسمى التحقق من الصحة عبر شبكة البحث العشوائية .

أنواع التحقق المتبادل

يمكن تصنيف طرق التحقق المتقاطع على نطاق واسع إلى فئتين: طرق شاملة وغير شاملة .

كما يوحي الاسم ، تسعى طرق التحقق الشاملة الشاملة إلى اختبار جميع الطرق الممكنة لتقسيم عينة البيانات الأصلية إلى مجموعة تدريب واختبار. من ناحية أخرى ، لا تحسب الأساليب غير الشاملة جميع طرق تقسيم البيانات الأصلية إلى مجموعات تدريب وتقييم.

فيما يلي الأنواع الخمسة الشائعة للتحقق المتبادل.

1. طريقة التعطيل

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

في معظم الحالات ، يكون حجم مجموعة بيانات التدريب ضعف حجم مجموعة بيانات الاختبار ، مما يعني أن مجموعة البيانات الأصلية مقسمة بنسبة 80:20 أو 70:30. أيضًا ، يتم خلط البيانات عشوائيًا قبل تقسيمها إلى مجموعات تدريب وتحقق من الصحة.

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

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

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

2. K- أضعاف عبر التحقق من الصحة

طريقة k-fold cross-validation هي نسخة محسّنة من طريقة Holdout. إنه يجلب مزيدًا من الاتساق إلى درجة النموذج لأنه لا يعتمد على كيفية اختيار مجموعة بيانات التدريب والاختبار.

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

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

وبالمثل ، إذا كانت قيمة k تساوي خمسة ، فإن النهج يسمى طريقة التحقق من صحة 5 أضعاف وسيشمل خمس مجموعات فرعية وخمسة تكرارات. أيضًا ، قيمة k تعسفية. بشكل عام ، يتم تعيين قيمة k على 10. إذا كنت مرتبكًا بشأن اختيار قيمة ، فيوصى بنفس الشيء.

يبدأ إجراء التحقق المتقاطع k-fold بتقسيم مجموعة البيانات الأصلية عشوائيًا إلى عدد k من الطيات أو المجموعات الفرعية. في كل تكرار ، يتم تدريب النموذج على المجموعات الفرعية k-1 لمجموعة البيانات بأكملها. بعد ذلك ، يتم اختبار النموذج على المجموعة الفرعية k للتحقق من أدائه.

تتكرر هذه العملية حتى تصبح جميع k-folds بمثابة مجموعة التقييم. يتم حساب متوسط ​​نتائج كل تكرار ، ويطلق عليها دقة التحقق المتبادل . تُستخدم دقة التحقق المتبادل كمقياس أداء لمقارنة كفاءة النماذج المختلفة.

تنتج تقنية التحقق من صحة k-fold عمومًا نماذج أقل تحيزًا حيث ستظهر كل نقطة بيانات من مجموعة البيانات الأصلية في كل من مجموعة التدريب والاختبار. هذه الطريقة مثالية إذا كان لديك كمية محدودة من البيانات.

ومع ذلك ، كما هو متوقع ، قد تستغرق هذه العملية وقتًا طويلاً لأن الخوارزمية يجب أن تعيد تشغيل k مرة من البداية. هذا يعني أيضًا أنه يتطلب حسابًا أكثر من طريقة K-1 مرات أكثر من طريقة التوقف.

3. التحقق الطبقي k-fold Cross-Validation

نظرًا لأننا نتبادل البيانات عشوائيًا ونقسمها إلى طيات في التحقق من صحة k-fold ، فهناك احتمال أن ينتهي بنا المطاف بمجموعات فرعية غير متوازنة. يمكن أن يتسبب هذا في أن يكون التدريب متحيزًا ، مما يؤدي إلى نموذج غير دقيق.

على سبيل المثال ، ضع في اعتبارك حالة مشكلة التصنيف الثنائي حيث يشتمل كل نوع من نوعي تصنيفات الفئات على 50 بالمائة من البيانات الأصلية. هذا يعني أن الفئتين موجودتان في العينة الأصلية بنسب متساوية. من أجل البساطة ، دعنا نطلق على الفئتين A و B.

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

لتجنب مثل هذه المواقف ، يتم تقسيم الطيات إلى طبقات باستخدام عملية تسمى التقسيم الطبقي . في التقسيم الطبقي ، يتم إعادة ترتيب البيانات للتأكد من أن كل مجموعة فرعية تمثل تمثيلًا جيدًا لمجموعة البيانات بأكملها.

في المثال أعلاه للتصنيف الثنائي ، قد يعني هذا أنه من الأفضل تقسيم العينة الأصلية بحيث تكون نصف نقاط البيانات في حظيرة من الفئة أ والباقي من الفئة ب.

4. إجازة p-out التحقق من صحة

يُعد التحقق المتبادل للإجازة (LpOCV) طريقة شاملة يتم فيها أخذ عدد نقاط البيانات من العدد الإجمالي لعينات البيانات التي يمثلها n.

يتم تدريب النموذج على نقاط بيانات np واختباره لاحقًا على نقاط بيانات p. تتكرر نفس العملية لجميع التوليفات الممكنة لـ p من العينة الأصلية. أخيرًا ، يتم حساب متوسط ​​نتائج كل تكرار لتحقيق دقة التحقق المتبادل.

5. اترك عملية التحقق من الصحة

نهج التحقق المتبادل (LOOCV) هو نسخة مبسطة من LpOCV. في أسلوب التحقق المتبادل هذا ، يتم تعيين قيمة p على واحد. ومن ثم ، فإن هذه الطريقة أقل شمولاً. ومع ذلك ، فإن تنفيذ هذه الطريقة مكلف ويستغرق وقتًا طويلاً حيث يجب تركيب النموذج لعدد n من المرات.

هناك تقنيات أخرى للتحقق من الصحة ، بما في ذلك التحقق من صحة العينات الفرعية العشوائية المتكررة ، والتحقق المتبادل المتداخل ، والتحقق من صحة السلاسل الزمنية.

تطبيقات التحقق المتبادل

التطبيق الأساسي للتحقق المتبادل هو تقييم أداء نماذج التعلم الآلي. يساعد هذا في مقارنة طرق التعلم الآلي وتحديد الطريقة المثالية لحل مشكلة معينة.

على سبيل المثال ، افترض أنك تفكر في k-الأقرب جيران (KNN) أو تحليل المكون الرئيسي (PCA) لإجراء التعرف البصري على الأحرف. في هذه الحالة ، يمكنك استخدام التحقق المتبادل للمقارنة بين الاثنين استنادًا إلى عدد الأحرف التي تم تصنيفها بشكل خاطئ بواسطة كل طريقة.

يمكن أيضًا استخدام التحقق المتبادل في تحديد المعالم لتحديد الميزات التي تساهم بشكل أكبر في إخراج التنبؤ.

حدود التحقق المتبادل

التحدي الأساسي المتمثل في التحقق المتبادل هو الحاجة إلى موارد حسابية مفرطة ، خاصة في طرق مثل k-fold CV. نظرًا لأنه يجب إعادة تشغيل الخوارزمية من نقطة الصفر لعدد k مرة ، فإنها تتطلب حسابًا أكثر بمقدار k مرة للتقييم.

القيد الآخر هو الذي يحيط بالبيانات غير المرئية. في التحقق المتبادل ، تكون مجموعة بيانات الاختبار هي مجموعة البيانات غير المرئية المستخدمة لتقييم أداء النموذج. من الناحية النظرية ، تعد هذه طريقة رائعة للتحقق من كيفية عمل النموذج عند استخدامه لتطبيقات العالم الحقيقي.

ولكن ، لا يمكن أن تكون هناك مجموعة شاملة من البيانات غير المرئية في الممارسة العملية ، ولا يمكن للمرء أبدًا التنبؤ بنوع البيانات التي قد يواجهها النموذج في المستقبل.

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

علاوة على ذلك ، لن ينتج عن التحقق المتبادل نتائج ذات مغزى إلا إذا تم التحكم في التحيزات البشرية في مجموعة العينات الأصلية.

عبر التحقق من صحة الإنقاذ

يعد بناء النماذج التي تم التحقق من صحتها طريقة ممتازة لإنشاء تطبيقات التعلم الآلي بدقة أو أداء أكبر. تتيح تقنيات التحقق المتقاطع مثل التحقق المتقاطع k-fold من الممكن تقدير أداء النموذج دون التضحية بتقسيم الاختبار.

كما أنها تقضي على المشكلات التي يسببها عدم توازن البيانات ؛ باختصار ، يمكنهم تمكين علماء البيانات من الاعتماد بشكل أقل على الحظ والمزيد على التكرارات.

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