الغابات العشوائية
الغابة العشوائية (RF) هي مجموعة من أشجار القرارات يتم فيها تدريب كل شجرة قرار باستخدام مصدر تشويش عشوائي محدّد. الغابات العشوائية هي الشكل الأكثر شيوعًا لمجموعة أشجار القرارات. تتناول هذه الوحدة العديد من الأساليب لإنشاء أشجار قرارات مستقلة لتحسين احتمالات إنشاء غابة عشوائية فعّالة.
طريقة التعبئة
التجميع (bootstrap aggregating) يعني تدريب كل شجرة صعدنا على مجموعة فرعية عشوائية من الأمثلة في مجموعة التدريب. بعبارة أخرى، يتم تدريب كل شجرة قرار في الغابة العشوائية على مجموعة فرعية مختلفة من المثالَين.
الحزمة غريبة. يتم تدريب كل شجرة قرارات على العدد نفسه من المثالين المُستخدَمَين في مجموعة التدريب الأصلية. على سبيل المثال، إذا كانت مجموعة التدريب الأصلية تحتوي على 60 مثالاً، يتم تدريب كل شجرة قرار على 60 مثالاً. ومع ذلك، لا تدرِّب تقنية "تجميع البيانات" كل شجرة قرار إلا على مجموعة فرعية (عادةً بنسبة %67) من هذه الأمثلة. وبالتالي، يجب إعادة استخدام بعض هذه الأمثلة الأربعين في المجموعة الفرعية أثناء تدريب شجرة قرارات معيّنة. ويُعرف هذا إعادة الاستخدام باسم "التدريب مع الاستبدال".
على سبيل المثال، يوضّح الجدول 6 كيف يمكن أن توزّع تقنية "التجميع" ستة أمثلة على ثلاث أشجار قرارات. يُرجى مراعاة ما يلي:
- يتم تدريب كل شجرة قرارات على إجمالي ستة أمثلة.
- يتم تدريب كل شجرة قرارات على مجموعة مختلفة من الأمثلة.
- تعيد كل شجرة قرارات استخدام أمثلة معيّنة. على سبيل المثال، يتم استخدام المثال رقم 4 مرّتين في تدريب شجرة القرار 1، وبالتالي يتم مضاعفة الوزن المستنِد إلى المثال رقم 4 بشكل فعّال في شجرة القرار 1.
الجدول 6: تجميع ستة أمثلة تدريبية في ثلاث أشجار قرارات يمثّل كل رقم عدد المرات التي يتم فيها تكرار مثال تدريبي معيّن (#1-6) في مجموعة بيانات التدريب الخاصة بشجرة قرارات معيّنة (1-3).
أمثلة على التدريب | ||||||
---|---|---|---|---|---|---|
#1 | #2 | #3 | #4 | #5 | #6 | |
مجموعة البيانات الأصلية | 1 | 1 | 1 | 1 | 1 | 1 |
شجرة القرار 1 | 1 | 1 | 0 | 2 | 1 | 1 |
شجرة القرار 2 | 3 | 0 | 1 | 0 | 2 | 0 |
شجرة القرار 3 | 0 | 1 | 3 | 1 | 0 | 1 |
في أسلوب "التجميع"، يتم تدريب كل شجرة قرارات تقريبًا دائمًا على إجمالي عدد المثالين في مجموعة التدريب الأصلية. إنّ تدريب كل شجرة قرارات على مزيد من المثالين أو أقلّ منهما يؤدي إلى خفض جودة الغابة العشوائية.
على الرغم من أنّه غير مذكور في مقالة الغابة العشوائية الأصلية، يتم أحيانًا جمع عناوين العينات من الأمثلة "بدون استبدال"، أي أنّه لا يمكن أن يظهر مثال تدريبي أكثر من مرّة في مجموعة تدريب شجيرة القرار. على سبيل المثال، في الجدول السابق، ستكون جميع القيم إما 0 أو 1.
bootstrap_training_dataset=False
تحليل عيّنات السمات
تحليل عيّنات السمات يعني أنّه بدلاً من البحث عن أفضل شرط على مستوى جميع الميزات المتاحة، يتم اختبار مجموعة فرعية عشوائية من الميزات فقط في كل عقدة. يتم أخذ عيّنات عشوائية من مجموعة الميزات التي تم اختبارها في كل عقدة من شجرة القرارات.
توضّح شجرة القرار التالية عملية تحليل عيّنات السمات أو الميزات. في ما يلي شجرة قرارات تم تدريبها على 5 ميزات (f1-f5). تمثّل العقد الزرقاء الميزات التي تم اختبارها،بينما الميزات البيضاء لم يتم اختبارها. يتم إنشاء الشرط من أفضل ميزات تم اختبارها (يتم تمثيلها بخط أحمر).
الشكل 21: تحليل عيّنات السمات:
إنّ نسبة تحليل عيّنات السمات هي مَعلمة متغيرة هامة لفرض قواعد عامة. استخدَم الشكل السابق نسبة تقريبًا ⅗. تختبِر العديد من عمليات تنفيذ الغابات العشوائية، تلقائيًا، ثلث الميزات للانحدار وsqrt(عدد الميزات) للتصنيف.
في TF-DF، تتحكّم المَعلمات الفائقة التالية في أخذ عيّنات من السمات:
num_candidate_attributes
num_candidate_attributes_ratio
على سبيل المثال، إذا كان num_candidate_attributes_ratio=0.5
، سيتم اختبار نصف الميزات
في كل عقدة.
إيقاف ميزة "تسويّة شجرة القرار"
يتم تدريب أشجار القرارات الفردية في الغابة العشوائية بدون تقليم. (راجِع فرط التكيّف والتقليم). ويؤدي ذلك إلى إنشاء أشجار معقدة للغاية ذات جودة توقّعية ضعيفة. بدلاً من تسوية أشجار الفردي ، يتم تجميع الأشجار معًا لإنتاج توقّعات إجمالية أكثر دقة.
نتوقّع أن تختلف دقة التدريب والاختبار في الغابة العشوائية. تكون دقة التدريب في الغابة العشوائية بشكل عام أعلى بكثير (تساوي أحيانًا %100). ومع ذلك، فإنّ تسجيل دقة تدريب عالية جدًا في الغابة العشوائية هو أمر عادي ولا يشير إلى أنّ الغابة العشوائية قد تم تدريبها بشكل مفرط.
يضمن مصدرا العشوائية (التجميع العشوائي وتحليل عيّنات السمات) الاستقلال النسبي بين أشجار القرارات. وتصحِّح هذه الاستقلالية الملاءمة الزائدة لأشجار القرارات الفردية. ونتيجةً لذلك، لا يتمّ تدريب المجموعة بشكلٍ مفرط. سنوضّح هذا التأثير غير البديهي في الوحدة التالية.
يتم تدريب الغابات العشوائية الخالصة بدون حد أقصى للعمق أو حد أدنى لعدد الملاحظات لكل ورقة. من الناحية العملية، من المفيد الحد من الحد الأقصى للعمق والحد الأدنى لعدد الملاحظات لكل ورقة. بشكلٍ تلقائي، تستخدِم العديد من الغابات العشوائية الإعدادات التلقائية التالية:
- الحد الأقصى للعمق 16 تقريبًا
- الحد الأدنى لعدد الملاحظات لكل ورقة هو 5 تقريبًا.
ويمكنك ضبط هذه المَعلمات الفائقة.
وضوح الضوضاء
لماذا يؤدي الضوضاء العشوائية إلى تحسين جودة الغابة العشوائية؟ لتوضيح فوائد الضوضاء العشوائية، يعرض الشكل 22 توقّعات شجرة قرارات كلاسيكية (مُقتطعة) وغابة عشوائية تم تدريبها على بعض الأمثلة على المسألة الثنائيّة الأبعاد البسيطة التي تتضمّن نمطًا بيضاويًا.
يُعرف أنّ أنماط الدوائر البيضاوية من الصعب على خوارزميات أشجار القرارات و"غابات القرارات" التعرّف عليها باستخدام الشروط الموازية للمحور، لذا فهي تشكل مثالاً جيدًا. يُرجى العِلم أنّ شجرة القرار التي تمّت تهذيبها لا يمكنها الحصول على جودة التنبؤ نفسها التي تحقّقها الغابة العشوائية.
الشكل 22: الحقيقة الأساسية في مقابل التوقّعات التي تم إنشاؤها من خلال شجرة قرارات واحدة تمّ تقليمها والتوقّعات التي تم إنشاؤها من خلال غابة عشوائية
يعرض الرسم البياني التالي توقّعات أوّل ثلاث أشجار قرارات لم تتم تهذيبها من الغابة العشوائية، أي أنّه تم تدريب جميع أشجار القرارات باستخدام مزيج من:
- الحزمة
- جمع عيّنات من السمات
- إيقاف ميزة "التقليم"
يُرجى ملاحظة أنّ التنبؤات الفردية لهذه الأشجار الثلاث للقرارات أسوأ من تنبؤات شجرة القرار التي تمّت تهذيبها في الشكل السابق. ومع ذلك، بما أنّ أخطاء أشجار القرارات الفردية مرتبطة ببعضها بشكل ضعيف فقط، يتم دمج أشجار القرارات الثلاث في مجموعة لإنشاء توقّعات فعالة.
الشكل 23: ثلاث أشجار قرارات لم تتم إزالة أقسام منها، ما سيؤدي إلى إنشاء مجموعة فعّالة.
بما أنّه لا يتمّ تقليم أشجار القرارات في الغابة العشوائية، لا يتطلّب تدريب الغابة العشوائية مجموعة بيانات التحقّق. في الممارسة العملية، وخصوصًا في مجموعات البيانات الصغيرة، يجب تدريب النماذج على جميع البيانات المتاحة.
عند تدريب غابة عشوائية، مع إضافة المزيد من أشجار القرار، ينخفض الخطأ تقريبًا دائمًا، أي أنّ جودة النموذج تتغيّر تقريبًا دائمًا للأفضل. نعم، تؤدي إضافة المزيد من أشجار القرارات في أغلب الأحيان إلى خفض خطأ الغابة العشوائية. بعبارة أخرى، لا يمكن أن تؤدي إضافة المزيد من أشجار القرارات إلى زيادة التوافق في الغابة العشوائية. في مرحلة ما، يتوقف النموذج عن التحسّن. قال "ليو برايمان" عبارة شهيرة: "لا تؤدي الغابات العشوائية إلى التكيّف المفرط، لأنّه تتم إضافة المزيد من الأشجار".
على سبيل المثال، يعرض الرسم البياني التالي تقييم الاختبار لنموذج "غابة عشوائية" عند إضافة المزيد من أشجار القرارات. تتحسن الدقة بسرعة إلى أن تصل إلى مستوى ثابت يبلغ 0.865 تقريبًا. ومع ذلك، فإنّ إضافة المزيد من أشجار القرار لا يؤدي إلى انخفاض الدقة، بعبارة أخرى، لا يُجري النموذج عمليات التكيّف الزائد. يكون هذا السلوك صحيحًا (في معظم الأحيان) دائمًا ومستقلًا عن المَعلمات الفائقة.
الشكل 24: تظل الدقة ثابتة عند إضافة المزيد من أشجار القرارات إلى الغابة العشوائية.