شجرة القرار الواحدة قوية لكنها هشة. درّبها على بيانات مختلفة قليلًا وستحصل على شجرة مختلفة تمامًا. هذه الحساسية — التي تُسمى التباين العالي — هي الضعف الجوهري للأشجار الفردية. تحل الغابات العشوائية هذه المشكلة بفكرة بسيطة بشكل جميل: ابنِ أشجارًا كثيرة، كل منها مختلفة قليلًا، ودعها تتصوت.
شجرة القرار العميقة ستحفظ مجموعة التدريب بشكل شبه كامل. إذا أُعطيت نفس المهمة ببيانات مُعدّلة قليلًا، فإنها تنتج بنية مختلفة جدًا. النموذج لديه تحيز منخفض (يستطيع ملاءمة أنماط معقدة) لكن تباين عالٍ (حساس جدًا لنقاط البيانات التي يراها).
الأرقام تروي القصة: شجرة عميقة غير مقلّمة قد تحقق 100% دقة على بيانات التدريب و60% فقط على بيانات الاختبار. الفجوة بين هذين الرقمين هي مشكلة التباين.
الرؤية الجوهرية: إذا كان لديك N من النماذج المستقلة، كل منها يرتكب أخطاءً عشوائية، فإن متوسط تنبؤاتها لديه تباين أصغر بمقدار N مرة من أي نموذج منفرد. الأخطاء تتلاشى.
افترض أنك طلبت من 100 شخص تقدير وزن جرة من العملات المعدنية. كل شخص خطأه صغير لكن الأخطاء تسير في اتجاهات مختلفة — بعضها مرتفع، بعضها منخفض. متوسط تخميناتهم سيكون على الأرجح أقرب للحقيقة من أي شخص منفرد.
هذا هو التعلم التجميعي. الغابات العشوائية تطبق نفس المبدأ على أشجار القرار. كل شجرة مُقدِّر منفرد غير كامل لكنه مستقل. تنبؤهم الجماعي أكثر موثوقية من أي شجرة واحدة.
كل شجرة في الغابة تتدرب على مجموعة بيانات مختلفة — لكننا لا نجمع بيانات جديدة. بدلًا من ذلك، نأخذ عينة من مجموعة التدريب الموجودة بالسحب مع الإعادة. يُسمى هذا عينة Bootstrap.
إذا كان لديك 1,000 مثال تدريبي، كل شجرة ترى سحبًا عشوائيًا من 1,000 مثال — لكن بعضها يظهر مرتين، بعضها ثلاث مرات، وحوالي 37% لا تظهر أبدًا. أشجار مختلفة ترى نسخًا مختلفة من البيانات، مما يجبرها على التعلم بشكل مختلف.
هذه التقنية — تدريب نماذج متعددة على عينات Bootstrap ودمجها — تُسمى التجميع التكثيفي (Bagging). قدّمها ليو بريمان عام 1994.
التجميع التكثيفي وحده يجعل الأشجار مختلفة من حيث العينات التي تراها. لكن إذا كانت جميع الميزات متاحة عند كل تقسيم، فستبدو الأشجار المدرّبة على بيانات متداخلة متشابهة — خاصة قرب الجذر، حيث يميل اختيار ميزة مهيمنة واحدة أولًا.
تضيف الغابات العشوائية مصدرًا ثانيًا للعشوائية: عند كل تقسيم في كل شجرة، تُنظر فقط في مجموعة فرعية عشوائية من الميزات. حجم المجموعة الفرعية النموذجية يتبع قاعدة إبهام:
بإجبار كل تقسيم على النظر في مجموعة فرعية فقط من الميزات، تصبح الأشجار غير مترابطة — تميل إلى استخدام ميزات مختلفة في تقسيمات مختلفة، مما يجعل أخطاءها أكثر استقلالية وأكثر ميلًا للتلاشي.
بمجرد تدريب جميع الأشجار، التنبؤ بسيط. كل شجرة تُصنّف المدخل باستقلالية. للتصنيف، الغابة تأخذ تصويت الأغلبية — أي فئة تنبأت بها أكثر الأشجار. للانحدار، تأخذ المتوسط عبر جميع الأشجار.
مثال: أربع أشجار تصوّت [نعم، نعم، لا، نعم] ← الغابة تتنبأ بنعم (3 من 4). إضافة أشجار أكثر يجعل التصويت أكثر استقرارًا وموثوقية.
تذكر أن ~37% من أمثلة التدريب لا تُستخدم من قِبَل أي شجرة معينة. تُسمى هذه عينات خارج الحقيبة (OOB) لتلك الشجرة. يمكننا استخدامها كمجموعة تحقق — تقييم كل مثال تدريبي باستخدام الأشجار فقط التي لم تره أثناء التدريب.
تجميع هذه التنبؤات يعطي تقدير خطأ OOB — تقدير غير متحيز لخطأ التعميم، مجانًا في الأساس، دون الحاجة لمجموعة تحقق منفصلة أو التحقق المتقاطع. هذا أحد الجماليات العملية للغابات العشوائية.
تأثير جانبي مفيد لتدريب الغابات العشوائية هو ترتيب مدى أهمية كل ميزة. المقياس القياسي هو متوسط انخفاض الشوائب (MDI):
الميزات التي تظهر مبكرًا في الأشجار (بالقرب من الجذر) وتحقق مكاسب نقاء كبيرة تتلقى درجات أهمية عالية. الدرجات النهائية مُعيّرة بحيث مجموعها يساوي 1.
هذا يعطيك ترتيبًا مجانيًا للمتغيرات الأكثر أهمية للتنبؤ — مفيد لاختيار الميزات، تفسير النموذج، وفهم مجال مشكلتك.
الغابات العشوائية سهلة الضبط بشكل لافت — تعمل جيدًا بالإعدادات الافتراضية وليست حساسة لمعظم المعاملات الفائقة.
المقايضة بين التحيز والتباين تشرح الغابات العشوائية بوضوح. شجرة القرار العميقة لها تحيز منخفض — يمكنها تقريب أي دالة تقريبًا — لكن تباين عالٍ — تتغير بشكل كبير مع بيانات التدريب.
عند متوسطة N من النماذج المستقلة، يبقى التحيز كما هو لكن التباين ينخفض بعامل N. المشكلة أن الأشجار ليست مستقلة تمامًا — مبنية من بيانات متداخلة وتشترك في الميزات. الترابط بين الأشجار يحد من تقليل التباين.
اختيار الميزات العشوائي هو الابتكار الجوهري الذي يقلل ترابط الأشجار. بإجبار كل شجرة على استخدام مجموعات ميزات مختلفة، تصبح الأشجار أكثر استقلالية، ويقترب تقليل التباين من الحد النظري 1/N.
الغابات العشوائية غالبًا أول نموذج تجرّبه على مسائل البيانات الهيكلية/الجدولية. تتعامل مع القيم المفقودة، أنواع الميزات المختلطة، والمدخلات عالية الأبعاد بكفاءة، ونادرًا ما تُفرط في التخصص بشكل سيئ.