التعاون بين الخوارزميات من أجل إتخاد قرار

AdaBoost: AdaBoostClassifier, GradientBoostingClassifier

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

الصورة 1


في مكتبة (Scikit-Learn ) وفرت لنا (AdaBoostClassifier) و هو مصنف يطبق مبادئ (AdaBoost) في التعاون بين الخوارزميات. من أجل مثال تطبيقي لتسهيل الفهم إخترنا قاعدة البيانات (iris) الموجودة على مكتبة (Scikit-Learn ) و هي قاعدة بيانات لنوع من الأزهار حيث تتكون من 3 فئات و كل فئة تحتوي على 50 مثالا و كل مثال ممثل ب 4 خصائص (Features = 4) و هي أعداد حقيقية كما يظهر في الصورة 2.

الصورة 2


في الصورة 3، من السطر 18 إلى 25 يوجد كود (AdaBoostClassifier). من أجل معلومات أكثر حوله إطلع على الكلاس الخاص به و كذلك مختلف (Parameters and Methods ) في مراجع (Scikit-Learn ). كما يمكن إستعماله مع تحديد نوع الخوارزميات المشاركة مثلا (Decision trees) أو (SVM).

من السطر 27 حتى 31 يوجد كود (GradientBoostingClassifier) و الذي يشبه مبدا عمل (AdaBoost ) و لكنه يعتمد على (decision trees ) و يركز على تقليل نسبة الخطأ أكثر من (AdaBoost ). و توجد طريقة أخرى تعتبر إمتدادا له و هي (XGBoost).

 هناك تشابه كبير مع مبدأ عمل (Random Forest Algorithm) فيما عدا طريقة كيفية إتخاد القرار النهائي تختلف.

الصورة 3


يمكن إستعمالهم ليس مع (Classification )  فقط حتى مع (Regression ) أيضا.

المثال التطبيقي المستعمل الغاية منه توضيح و تبسيط الشرح و ليس الحصول على نتائج أفضل.

رابط الكود هنا


#artificial_intelligence #machine_learning #deep_learning
#الذكاء_الإصطناعي #تعلم_الألة #التعلم_العميق
الكاتب : هشام فلواط - hichem felouat
تابعوا مقالاتي على الهاشتاج : #هشام_فلواط

Comments

Popular posts from this blog

نصائح إلى الطلبة الذين سيدرسون تخصص الإعلام الألي

تحسين أداء خوارزميات تعلم الألة

أقسام الذكاء الاصطناعي Subdomains of AI