كل ما تحتاج لمعرفته حول تحسين خوارزمية الغابة العشوائية

نشرت: 2020-12-22

افترض أنك أنشأت برنامجًا للتعلم الآلي واستخدمت نموذج الغابة العشوائية لتدريبه. ومع ذلك ، فإن إخراج / نتيجة البرنامج ليست دقيقة كما تريدها. اذن ماذا تفعل؟

هناك ثلاث طرق لتحسين نموذج التعلم الآلي لتحسين مخرجات برنامج التعلم الآلي:

  • تحسين جودة بيانات الإدخال وهندسة الميزات
  • ضبط Hyperparameter للخوارزمية
  • استخدام خوارزميات مختلفة

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

قبل الخوض في الضبط العشوائي للمعامل الفائق للغابات ، دعنا أولاً نلقي نظرة على المعلمات الفائقة وضبط المعلمة الفائقة بشكل عام.

جدول المحتويات

ما هي Hyperparameters؟

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

بالنسبة لضبط معلمة الغابة العشوائية ، تتضمن المعلمات التشعبية عدد أشجار القرار وعدد الميزات التي تراعيها كل شجرة أثناء تقسيم العقدة.

ما هو ضبط Hyperparameter؟

ضبط Hyperparameter هو عملية البحث عن مجموعة مثالية من المعلمات الفائقة لمشكلة التعلم الآلي.

الآن بعد أن رأينا ما هي المعلمات الفائقة وضبط المعلمات الفائقة ، دعونا نلقي نظرة على المعلمات الفائقة في غابة عشوائية وضبط معلمة الغابة العشوائية .

قراءة: أسئلة مقابلة شجرة القرار

ما هو الضبط العشوائي للغابات Hyperparameter؟

لفهم ماهية الضبط العشوائي للمعلمات الفائقة للغابات ، سنلقي نظرة على خمسة معلمات تشعبية وضبط المعلمة الفائقة لكل منها.

المعلمة الفائقة 1: أقصى عمق

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

المعامل التشعبي 2: max_terminal_nodes

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

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

قراءة ذات صلة: تصنيف شجرة القرار

المعامل التشعبي 3: n_estimators

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

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

المعامل التشعبي 4: max_features

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

المعامل التشعبي 5: min_samples_split

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

كيف نفعل ضبط الغابة العشوائية Hyperparameter؟

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

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

الغابة = RandomForestClassifier (Random_state = 1 ، n_estimators = 20 ، min_samples_split = 2)

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

خاتمة

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

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

إذا كنت مهتمًا بمعرفة المزيد عن أشجار القرار ، والتعلم الآلي ، فراجع IIIT-B & upGrad's دبلوم PG في التعلم الآلي والذكاء الاصطناعي المصمم للمهنيين العاملين ويقدم أكثر من 450 ساعة من التدريب الصارم ، وأكثر من 30 دراسة حالة ومهمة ، حالة خريجي IIIT-B ، أكثر من 5 مشاريع تتويجا عملية ومساعدة وظيفية مع كبرى الشركات.

لماذا نستخدم خوارزمية الغابة العشوائية؟

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

ما هو الفرق بين شجرة القرار والغابة العشوائية؟

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

ما هي مزايا استخدام خوارزمية الغابة العشوائية؟

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