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

توضح هذه المقالة كيفية استخدام مكون نموذج التحقق المتقاطع في مصمم التعلم الآلي من Microsoft Azure. التحقق المتبادل هو أسلوب يستخدم غالباً في التعلم الآلي لتقييم كل من تنوع مجموعة البيانات وموثوقية أي نموذج يتم تدريبه من خلال تلك البيانات.

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

يُرجع نموذج Cross Validate أيضاً النتائج والاحتمالات المتوقعة لمجموعة البيانات، بحيث يمكنك تقييم موثوقية التوقعات.

كيف يعمل التحقق المتبادل

  1. يقسم التحقق المتقاطع بيانات التدريب بشكل عشوائي إلى ثنايا.

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

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

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

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

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

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

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

  • يستخدم التحقق المتقاطع المزيد من بيانات الاختبار.

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

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

  • يقيّم التحقق المتقاطع كلاً من مجموعة البيانات والنموذج.

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

كيفية استخدام نموذج التحقق المتقاطع

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

في هذا السيناريو، تقوم بتدريب النموذج واختباره باستخدام Cross Validate Model.

  1. أضف مكون Cross Validate Model إلى مسار التدفق الخاص بك. يمكنك العثور عليه في مصمم Azure التعلم الآلي، في فئة Model Scoring & Evaluation.

  2. قم بتوصيل مخرجات أي تصنيف أو نموذج انحدار.

    على سبيل المثال، إذا كنت تستخدم Two Class Boosted Decision Tree للتصنيف، فقم بتكوين النموذج بالمعلمات التي تريدها. بعد ذلك، اسحب موصلاً من منفذ نموذج غير مدرب للمصنف إلى المنفذ المطابق لـ Cross Validate Model.

    تلميح

    لا يتعين عليك تدريب النموذج، لأن Cross-Validate Model يقوم تلقائياً بتدريب النموذج كجزء من التقييم.

  3. في منفذ Dataset من Cross Validate Model، قم بتوصيل أي مجموعة بيانات تدريب معنونة.

  4. في اللوحة اليمنى من Cross Validate Model، انقر على Edit column. حدد العمود الفردي الذي يحتوي على تسمية الفئة، أو القيمة المتوقعة.

  5. عيّن قيمة للمعلمة Random seed إذا كنت تريد تكرار نتائج التحقق المتبادل عبر عمليات التشغيل المتتالية على نفس البيانات.

  6. إرسال البنية الأساسية.

  7. راجع قسم النتائج للحصول على وصف للتقارير.

النتائج

بعد اكتمال جميع التكرارات، يُنشئ Cross Validate Model درجات لمجموعة البيانات بأكملها. كما أنه ينشئ قياسات أداء يمكنك استخدامها لتقييم جودة النموذج.

النتائج المسجلة

يوفر الناتج الأول للمكون البيانات المصدر لكل سجل، مع بعض القيم المتوقعة والاحتمالات ذات الصلة.

لعرض النتائج، في مسار التدفق، انقر بزر الماوس الأيمن على مكون Cross Validate Model. حدد Visualize Scored results.

اسم العمود الجديد ‏‏الوصف
تسميات مسجلة يضاف هذا العمود في نهاية مجموعة البيانات. يحتوي على القيمة المتوقعة لكل سجل.
الاحتمالات المسجلة يضاف هذا العمود في نهاية مجموعة البيانات. يشير إلى الاحتمال المقدر للقيمة في Scored Labels.
رقم الطية يشير إلى فهرس الطية ذي الأساس الصفري الذي تم تعيين كل سجل من البيانات إليه أثناء التحقق المتبادل.

نتائج التقييم

تم تجميع التقرير الثاني حسب الطيات. تذكر أنه أثناء التنفيذ، يقسم Cross Validate Model بيانات التدريب عشوائياً إلى n أضعاف (افتراضياً، 10). في كل تكرار عبر مجموعة البيانات، يستخدم Cross Validate Model طية واحدة كمجموعة بيانات للتحقق. يستخدم طيات n-1 المتبقية لتدريب نموذج. يتم اختبار كل نموذج من نماذج n مقابل البيانات الموجودة في جميع الطيات الأخرى.

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

لعرض النتائج، في مسار التدفق، انقر بزر الماوس الأيمن على مكون Cross Validate Model. حدد Visualize Evaluation results by fold.

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

يتضمن المكون أيضاً القياسات التالية لكل طية، اعتماداً على نوع النموذج الذي تقوم بتقييمه:

  • نماذج التصنيف: الدقة، الاسترجاع، الدرجة F، AUC، الدقة

  • نماذج الانحدار: متوسط ​​الخطأ المطلق، جذر متوسط ​​الخطأ التربيعي، الخطأ النسبي المطلق، الخطأ التربيعي النسبي، ومعامل التحديد

الملاحظات التقنية

  • من أفضل الممارسات تسوية مجموعات البيانات قبل استخدامها للتحقق المتبادل.

  • يعد Cross Validate Model أكثر كثافة من الناحية الحسابية ويستغرق وقتاً أطول لإكماله مما لو قمت بالتحقق من صحة النموذج باستخدام مجموعة بيانات مقسمة عشوائياً. والسبب هو أن Cross Validate Model يتدرب ويتحقق من النموذج عدة مرات.

  • ليست هناك حاجة لتقسيم مجموعة البيانات إلى مجموعات تدريب واختبار عند استخدام التحقق المتبادل لقياس دقة النموذج.

الخطوات التالية

راجع مجموعة المكونات المتوفرة للتعلم الآلي من Azure.