شعار زيفيرنت

التعلم الآلي من الصفر: أشجار القرار

التاريخ:

v
صورة من بيكسل

 

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

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

هناك عدد قليل من الخوارزميات المعروفة في DTs مثل ID3 و C4.5 و CART و C5.0 و CHAID و QUEST و CRUISE. في هذه المقالة ، سنناقش أبسط وأقدم واحد: ID3.

ID3، أو Dichotomizer البديل ، كان الأول من ثلاثة تطبيقات لشجرة القرار التي طورها روس كوينلان.

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

سلبيات:

  • قد يكون النموذج أكثر من اللازم.
  • يعمل فقط على الميزات الفئوية
  • لا يعالج القيم المفقودة
  • سرعة منخفضة
  • لا يدعم التقليم
  • لا يدعم التعزيز

الكثير من عيوب خوارزمية واحدة ، لماذا نناقش هذا حتى؟

الإجابة: إن تطوير الحدس لخوارزميات الشجرة أمر بسيط ورائع.

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

 

تعلم الآلة من البداية: أشجار القرار

المصدر: ويكيبيديا

 

تبدو البيانات كما يلي:

 

تعلم الآلة من البداية: أشجار القرار

 

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

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

غير قادر علي: يستخدم هذا لحساب عدم تجانس العينة وتقع قيمته بين 0 و 1. إذا كانت العينة متجانسة ، فإن الانتروبيا تكون 0 وإذا كانت العينة تحتوي على نفس النسبة من جميع الفئات ، فإنها تحتوي على نسبة 1.

S = -(p * log₂p + q * log₂q)

 

في p و  q هي نسبة الفئتين في العينة.

يمكن أيضًا كتابة هذا على النحو التالي: S = -(p * log₂p + (1-p)* log₂(1-p))

 

تعلم الآلة من البداية: أشجار القرار

 

كسب المعلومات: إنه الاختلاف في إنتروبيا العقدة ومتوسط ​​الانتروبيا لجميع قيم العقدة الفرعية. يتم اختيار الميزة التي توفر أقصى قدر من المعلومات للتقسيم.

إنتروبيا عقدة الجذر: (9 - نعم و 5 - لا)

S = -(9/14)*log(9/14) — (5/14) * log(5/14) = 0.94

 

هناك 4 طرق ممكنة لتقسيم عقدة الجذر. ("درجة الحرارة" و "سرعة الرياح" و "التوقعات" و "الرطوبة"). وهكذا نحسب متوسط ​​الانتروبيا المرجح للعقدة الفرعية إذا اخترنا أيًا مما سبق:

I(Temperature) = Hot*E(Temperature=Hot) + Mild*E(Temperature=Mild) + Cool*E(Temperature=Cool)

 

حيث تمثل Hot و Mild و Cool نسبة القيم الثلاث في البيانات.

I(Temperature) = (4/14)*1 + (6/14)*0.918 + (4/14)*0.811 = 0.911

 

هنا يتم حساب الانتروبيا لكل قيمة عن طريق تصفية العينة باستخدام قيمة الميزة ثم استخدام صيغة الانتروبيا. على سبيل المثال ، يتم حساب E (درجة الحرارة = ساخن) عن طريق تصفية العينة الأصلية حيث تكون درجة الحرارة ساخنة (في هذه الحالة لدينا عدد متساوٍ من نعم ولا ، مما يعني أن الانتروبيا يساوي 1).

 

تعلم الآلة من البداية: أشجار القرار

 

نحسب كسب المعلومات من الانقسام على درجة الحرارة عن طريق طرح متوسط ​​الانتروبيا لدرجة الحرارة من العقد الجذرية Entropy.

G(Temperature) = S — I(Temperature) = 0.94–0.911 = 0.029

 

وبالمثل ، نحسب الكسب من جميع الميزات الأربع ونختار 1 مع أقصى ربح.

G(WindSpeed) = S — I(WindSpeed) = 0.94–0.892 =0.048

 

G(Outlook) = S — I(Outlook) = 0.94–0.693 =0.247

 

G(Humidity) = S — I(Humidity) = 0.94–0.788 =0.152

 

يتمتع Outlook بأقصى قدر من كسب المعلومات ، وبالتالي سنقوم بتقسيم العقدة الجذرية في Outlook وتمثل كل من العقد الفرعية العينة التي تمت تصفيتها بواسطة إحدى قيم Outlook مثل Sunny و Overcast و Rainy.

الآن نكرر نفس العملية من خلال معالجة العقد الجديدة التي تشكلت كعقد جذر مع عينات مفلترة وحساب الانتروبيا لكل منها واختبار الانقسامات عن طريق حساب متوسط ​​الانتروبيا لكل تقسيم إضافي وطرح ذلك من العقدة الحالية Entropy للحصول على المعلومات. يرجى ملاحظة أن ID3 لا يسمح باستخدام الميزة المستخدمة بالفعل لتقسيم العقد الفرعية. وبالتالي لا يمكن استخدام كل ميزة إلا مرة واحدة في الشجرة للانقسام.

هذه هي الشجرة النهائية التي تكونت من كل الانقسامات:

 

تعلم الآلة من البداية: أشجار القرار

 

يمكن العثور على تنفيذ بسيط باستخدام كود Python هنا

وفي الختام

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

شكرا للقراءة!

 
 
عنكيت مالك تقوم ببناء حلول AI / ML قابلة للتطوير عبر مجالات متعددة مثل التسويق وسلسلة التوريد والبيع بالتجزئة والإعلان وأتمتة العمليات. لقد عمل على طرفي الطيف من مشاريع علوم البيانات الرائدة في شركات Fortune 500 إلى كونه العضو المؤسس لحاضنة علوم البيانات في العديد من الشركات الناشئة. لقد كان رائداً في العديد من المنتجات والخدمات المبتكرة وهو مؤمن بالقيادة الخادمة.

 
أصلي. تم إعادة النشر بإذن.
 

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة