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

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

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

المزيد عن نماذج واحد مقابل واحد

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

ينفذ هذا المكون طريقة واحد مقابل واحد، حيث يتم إنشاء نموذج ثنائي لكل زوج فئة. في وقت التنبؤ ، يتم اختيار الفئة التي حصلت على أكبر عدد من الأصوات. نظرا لأنها تتطلب ملاءمة n_classes * (n_classes - 1) / 2 المصنفات ، فإن هذه الطريقة عادة ما تكون أبطأ من واحد مقابل كل شيء ، نظرا لتعقيدها O(n_classes^2). ومع ذلك ، قد تكون هذه الطريقة مفيدة للخوارزميات مثل خوارزميات kernel التي لا تتوسع بشكل جيد مع n_samples. وذلك لأن كل مشكلة تعلم فردية لا تنطوي إلا على مجموعة فرعية صغيرة من البيانات بينما ، مع واحد مقابل كل شيء ، يتم استخدام n_classes مجموعة البيانات الكاملة مرات.

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

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

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

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

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

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

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

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

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

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

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

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

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

النتائج

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

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

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

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