تُعزّز تقنية التدرّج الهرمي، مثل إضافة الترقيم والتعزيز، إلى منهجية أخرى لتعلُّم الآلة. بشكل غير رسمي، تشتمل ميزة تعزيز التدرج على نوعَين من النماذج:
- نموذج، "تعلُّم الآلة" هو "تعلُّم الآلة"، وهو عادةً شجرة القرارات.
- نموذج "تعلّم الآلة" يشتمل على عدّة نماذج ضعيفة.
في تعزيز التدرج، في كل خطوة، يتم تدريب نموذج ضعيف جديد على توقّع "الخطأ" للنموذج القوي الحالي (الذي يُطلق عليه الاستجابة الزائفة). وسنوضّح لاحقًا "الشريحة &الخطأ"& لاحقًا. تفترض حاليًا أنّ "error;error" هي الفرق بين عبارة البحث المقترَحة وتصنيف التراجع. وبعد ذلك، تتم إضافة النموذج الضعيف (أي "error") إلى النموذج الفعّال الذي يحمل علامة سالبة لتقليل الخطأ في النموذج القوي.
التعزيز التدريجي هو تكرار. يستدعي كل تكرار الصيغة التالية:
\[ F_{i+1} = F_i - f_i \]
المكان:
- $F_i$ هو النموذج القوي في الخطوة $i$.
- يمثّل $f_i$ النموذج الضعيف في الخطوة $i$.
تكرر هذه العملية حتى يتم استيفاء معيار الإيقاف، مثل الحد الأقصى لعدد التكرارات أو إذا بدأ النموذج (القوي) في الاحترار الزائد كما يتم قياسه على مجموعة بيانات منفصلة للتحقّق من الصحة.
لنوضّح هنا كيفية تعزيز التدرج باستخدام مجموعة بيانات انحدار بسيطة، حيث:
- الهدف هو توقّع $y$ من $x$.
- تم إعداد النموذج القوي على قيمة ثابتة تبلغ صفرًا: $F_0(x) = 0$.
# Simplified example of regressive gradient boosting.
y = ... # the labels
x = ... # the features
strong_model = []
strong_predictions = np.zeros_like(y) # Initially, the strong model is empty.
for i in range(num_iters):
# Error of the strong model
error = strong_predictions - y
# The weak model is a decision tree (see CART chapter)
# without pruning and a maximum depth of 3.
weak_model = tfdf.keras.CartModel(
task=tfdf.keras.Task.REGRESSION,
validation_ratio=0.0,
max_depth=3)
weak_model.fit(x=x, y=error)
strong_model.append(weak_model)
weak_predictions = weak_model.predict(x)[:,0]
strong_predictions -= weak_predictions
لنطبّق هذا الرمز على مجموعة البيانات التالية:
الشكل 25. مجموعة بيانات عكسية اصطناعية مع ميزة رقمية واحدة.
في ما يلي ثلاث مخططات بعد التكرار الأول لخوارزمية تحسين الانحدار:
الشكل 26. ثلاثة مخططات بعد التكرار الأول
يُرجى ملاحظة ما يلي في الرسوم البيانية في الشكل 26:
- تعرض المخطّطة الأولى توقّعات النموذج القوي، وهو في الوقت الحالي 0 دائمًا.
- يعرض المخطّط الثاني الخطأ، وهو تصنيف النموذج الضعيف.
- ويوضّح المخطّط الثالث النموذج الضعيف.
النموذج الأول الضعيف هو تعلّم تمثيل تقريبي للتصنيف، ويركّز بشكل أساسي على الجزء الأيمن من مساحة الميزة (الجزء الذي يضم أكبر قدر من الاختلافات، وبالتالي الأكثر خطأ في النموذج الخاطئ الثابت).
في ما يلي الرسومات نفسها لتكرار خوارزمية أخرى:
الشكل 27. ثلاثة مخططات بعد التكرار الثاني
يُرجى ملاحظة ما يلي في الرسوم البيانية في الشكل 27:
- يحتوي النموذج القوي الآن على توقع النموذج الضعيف من التكرار السابق.
- والخطأ الجديد في النموذج القوي أصغر قليلاً.
- يركّز التنبؤ الجديد للنموذج الضعيف الآن على الجزء المناسب من مساحة الميزة.
ونشغِّل الخوارزمية مع 8 نُسخ طبق الأصل أخرى:
الشكل 28. ثلاثة مخططات بعد التكرار الثالث والتكرار العاشر.
في الشكل 28، لاحظ أن توقع النموذج القوي يبدأ في التشابه مع مخطط مجموعة البيانات.
توضّح هذه الأرقام خوارزمية تعزيز التدرّج باستخدام أشجار اتخاذ القرارات بسبب ضعف تعلّم المتعلّمين. ويُطلق على هذه التركيبة اسم أشجار محسّنة بالتدرّج.
تشير الرسوم البيانية السابقة إلى جوهر تعزيز التدرّج. ومع ذلك، يفتقر هذا المثال إلى العمليتين التاليتين على أرض الواقع:
- تصغير
- تحسين قيم أوراق الشجر باستخدام خطوة واحدة من طريقة نيوتن
تصغير
ويتم ضرب النموذج الضعيف $f_i$ في قيمة صغيرة $\nu$ (على سبيل المثال، $\nu = 0.1$) قبل إضافته إلى النموذج $F_i$ القوي. وتُسمى هذه القيمة الصغيرة تقليص. بمعنى آخر، بدلاً من تكرارها باستخدام الصيغة التالية:
\[ F_{i+1} = F_i - f_i \]
يستخدم كل تكرار الصيغة التالية:
\[ F_{i+1} = F_i - \nu f_i \]
إنّ التقلّب في تعزيز التدرّج هو تقنية مشابهة لمعدّل التعلّم في الشبكات العصبية. يتيح تقليص الحجم التحكم في مدى سرعة تعلّم النموذج القوي، ما يساعد على الحدّ من التعارض. وهذا يعني أن قيمة التقليص التي تكون أقرب من 0.0 تقلل من الزيادة الزائدة عن قيمة التقليص الأقرب إلى 1.0.
في الرمز الوارد أعلاه، سيتم تنفيذ التقليص على النحو التالي:
shrinkage = 0.1 # 0.1 is a common shrinkage value.
strong_predictions -= shrinkage * weak_predictions