فئة واحدة مقابل الكل متعددة الفئات

توضح هذه المقالة كيفية استخدام مكون One-vs-All Multiclass في Azure التعلم الآلي مصمم. الهدف هو إنشاء نموذج تصنيف يمكنه التنبؤ بفئات متعددة ، باستخدام نهج واحد مقابل الكل .

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

المزيد حول الموديلات الواحدة مقابل الكل

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

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

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

على سبيل المثال، لنفترض أنك قمت بتكوين طراز Two-Class Support Vector Machine وتوفيره كإدخال لمكون One vs-All Multiclass. سيقوم المكون بإنشاء نماذج آلة متجهة دعم من فئتين لجميع أعضاء فئة الإخراج. ثم يطبق طريقة واحد مقابل كل لدمج النتائج لجميع الفئات.

يستخدم المكون OneVsRestClassifier من sklearn، ويمكنك معرفة المزيد من التفاصيل هنا.

كيفية تكوين المصنف متعدد الفئات واحد مقابل الكل

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

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

عند دمج النماذج، يقوم One-vs-All Multiclass بإنشاء نماذج تصنيف ثنائية متعددة، وتحسين الخوارزمية لكل فئة، ثم دمج النماذج. يقوم المكون بهذه المهام على الرغم من أن مجموعة بيانات التدريب قد تحتوي على قيم فئة متعددة.

  1. أضف مكون One-vs-All Multiclass إلى خط الأنابيب الخاص بك في المصمم. يمكنك العثور على هذا المكون ضمن التعلم الآلي - تهيئة ، في فئة التصنيف.

    لا يحتوي المصنف One-vs-All Multiclass على معلمات قابلة للتكوين خاصة به. يجب إجراء أي تخصيصات في نموذج التصنيف الثنائي الذي يتم توفيره كمدخلات.

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

  3. أضف مكون نموذج القطار إلى خط الأنابيب الخاص بك. الاتصال المصنف غير المدرب الذي هو إخراج One مقابل All Multiclass.

  4. على الإدخال الآخر لنموذج القطار، قم بتوصيل مجموعة بيانات تدريب مصنفة تحتوي على قيم فئة متعددة.

  5. إرسال المسار.

النتائج

بعد اكتمال التدريب ، يمكنك استخدام النموذج لإجراء تنبؤات متعددة الفئات.

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

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

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