
مرحبًا ، خابروزيتيلي ، سلمنا إلى دار الطباعة كتابًا جديدًا بعنوان
"التعلم الآلي: الخوارزميات للأعمال" . في ما يلي مقتطفات حول أساليب الفرقة ، والغرض منها هو شرح ما الذي يجعلها فعالة ، وكيفية تجنب الأخطاء الشائعة التي تؤدي إلى إساءة استخدامها في التمويل.
6.2. ثلاثة مصادر للخطأ
نماذج مو تعاني عادة من ثلاثة
أخطاء .
1. الانحياز: هذا الخطأ ناتج عن افتراضات غير واقعية. عندما يكون التحيز كبيرًا ، فهذا يعني أن خوارزمية MO لا يمكنها التعرف على العلاقات المهمة بين السمات والنتائج. في هذه الحالة ، يقال إن الخوارزمية "غير معتمدة".
2. التشتت: يحدث هذا الخطأ بسبب حساسية التغييرات الصغيرة في مجموعة التدريب الفرعية. عندما يكون التباين مرتفعًا ، فهذا يعني أن الخوارزمية تتم إعادة محاذاةها مع مجموعة التدريب الفرعية ، وبالتالي فإن التغييرات البسيطة في مجموعة التدريب الفرعية يمكن أن تنتج تنبؤات مختلفة بشكل كبير. بدلاً من نمذجة الأنماط العامة في مجموعة فرعية للتدريب ، تأخذ الخوارزمية عن طريق الخطأ ضوضاء للإشارة.
3. الضوضاء: يحدث هذا الخطأ بسبب تشتت القيم المرصودة ، مثل التغييرات التي لا يمكن التنبؤ بها أو أخطاء القياس. هذا خطأ فادح لا يمكن تفسيره بأي نموذج.
طريقة التجميع هي طريقة تجمع بين العديد من الطلاب الضعفاء ، الذين يعتمدون على نفس خوارزمية التعلم ، بهدف إنشاء طالب (أقوى) يكون أدائه أفضل من أي فرد من الطلاب. تقنيات الفرقة تساعد في تقليل التحيز و / أو التشتت.
6.3. الحذاء التجميع
تعد التعبئة (التجميع) ، أو تجميع عينات التمهيد ، طريقة فعالة لتقليل التباين في التنبؤات. وهو يعمل على النحو التالي: أولاً ، من الضروري إنشاء مجموعات فرعية للتدريب على البيانات باستخدام أخذ عينات عشوائية مع الإرجاع. ثانياً ، قم بتقييم المقيِّمين N ، واحد لكل مجموعة تدريب فرعية. يتم ضبط هؤلاء المقيِّمين بشكل مستقل عن بعضهم البعض ، وبالتالي ، يمكن تعديل النماذج بشكل متوازٍ. ثالثًا ، إن التنبؤ بالمجموعة عبارة عن وسيلة حسابية بسيطة للتنبؤات الفردية من نماذج N. في حالة المتغيرات الفئوية ، يتم تحديد احتمالية أن تنتمي الملاحظة إلى فئة ما بواسطة حصة المقيّمين الذين يصنفون هذه الملاحظة كعضو في هذه الفئة (بأغلبية الأصوات ، أي بتصويت الأغلبية). عندما يتمكن المثمن الأساسي من إجراء تنبؤات باحتمال التنبؤ ، يمكن أن يحصل المصنِّف المكدس على متوسط قيمة الاحتمالات.
إذا كنت تستخدم فئة baggingClassifier بمكتبة sklearn لحساب دقة عدم الحزمة ، فيجب عليك معرفة هذا العيب:
https://github.com/scikit-learn/scikitlearn/issues/8933 . أحد الحلول هو إعادة تسمية التسميات بترتيب تسلسلي صحيح.
6.3.1. تخفيض التشتت
الميزة الرئيسية للتعبئة هي أنها تقلل من تباين التوقعات ، مما يساعد على حل مشكلة التحليق الزائد. التباين في التنبؤ المغلف (φi [c]) هو دالة لعدد المثمنين المغلفين (N) ، ومتوسط التباين للتنبؤات التي يقوم بها مثمن واحد (σ̄) ، ومتوسط الارتباط بين تنبؤاتهم (ρ̄):
إن الحذاء المتسلسل (الفصل 4) هو أخذ عينات مستقلة قدر الإمكان ، وبالتالي تقليل ρ̄ ، والتي ينبغي أن تقلل من تشتت المصنفات المغلفة. في التين. 6.1 ، قمنا برسم مخطط الانحراف المعياري للتنبؤ المعبأ كدالة لـ N ∈ [5، 30]، ρ̄ ∈ [0، 1] و σ̄ = 1.
6.3.2. تحسين دقة
فكر في مصنف مصنّف ، مما يجعل التنبؤ بالفصول k بأغلبية الأصوات بين المصنفين المستقلين N. يمكننا تعيين التنبؤات على أنها {0،1} ، حيث 1 تعني التنبؤ الصحيح. دقة المصنف هي الاحتمال p لوضع علامة للتنبؤ على أنه 1. في المتوسط ، نحصل على تنبؤات Np تحمل علامة 1 مع اختلاف Np (1 - p). يجعل تصويت الأغلبية التنبؤ الصحيح عند ملاحظة الطبقة الأكثر قابلية للتنبؤ. على سبيل المثال ، بالنسبة إلى N = 10 و k = 3 ، قام المصنف المكتوب بالتنبؤ الصحيح عند الملاحظة
القائمة 6.1. صحة المصنف المكتبي
from scipy.misc import comb N,p,k=100,1./3,3. p_=0 for i in xrange(0,int(N/k)+1): p_+=comb(N,i)*p**i*(1-p)**(Ni) print p,1-p_
هذه حجة قوية لصالح تعبئة أي مصنف في الحالة العامة ، عندما تسمح به القدرات الحسابية. ومع ذلك ، على عكس التعزيز ، لا يمكن للتعبئة تحسين دقة المصنفات الضعيفة:
للحصول على تحليل مفصل لهذا الموضوع ، يُنصح القارئ بالانتقال إلى نظرية لجنة تحكيم Condorcet. على الرغم من أن هذه النظرية تم الحصول عليها لغرض التصويت بالأغلبية في العلوم السياسية ، إلا أن المشكلة التي عالجتها هذه النظرية لها سمات مشتركة مع النظرة الموضحة أعلاه.
6.3.3. تكرار الملاحظات
في الفصل 4 ، درسنا أحد الأسباب التي لا يمكن اعتبار الملاحظات المالية موزعة بالتساوي ومستقلة. الملاحظات المفرطة لها تأثيران ضاران على التعبئة. أولاً ، من المرجح أن تكون العينات المأخوذة مع عودة متطابقة تقريبًا ، حتى لو لم يكن لديها ملاحظات شائعة. إنه كذلك

لن يقلل التباين من التباين ، بصرف النظر عن N. على سبيل المثال ، إذا تم وضع علامة على كل حالة في t وفقًا للعائد المالي بين t و t + 100 ، فيجب علينا تحديد 1٪ من الحالات لكل المثمن الذي تم تعبئته ، ولكن ليس أكثر. في الفصل 4 ، القسم 4.5 ، يوصى بثلاثة حلول بديلة ، أحدها كان تعيين max_samples = out ['tW']. Mean () في تنفيذ فئة المصنف المكتظ في مكتبة sklearn. حل آخر (أفضل) هو تطبيق طريقة اختيار bootstrap المتسلسل.
التأثير الضار الثاني لتكرار الملاحظة هو أن دقة الرزمة الإضافية سيتم تضخيمها. ويرجع ذلك إلى حقيقة أن أخذ العينات العشوائية مع أخذ العينات يعود إلى عينات مجموعة التدريب التي تشبه إلى حد كبير تلك الموجودة خارج الحزمة. في هذه الحالة ، سيظهر التحقق المتبادل الصحيح للكتل k دون التقليب قبل التقسيم دقة أقل بكثير في مجموعة الاختبار الفرعية من تلك التي تم تقييمها خارج الحزمة. لهذا السبب ، عند استخدام فئة مكتبة sklearn هذه ، يوصى بتعيين stratifiedKFold (n_splits = k ، shuffle = False) ، والتحقق من المصنف المعبأ ، وتجاهل نتائج دقة غير الحزمة. يُفضل أن يكون k k منخفضًا عند k k ، حيث إن الانقسام الزائد سوف يضع الأنماط مرة أخرى في مجموعة الاختبار الفرعية التي تشبه تلك المستخدمة في مجموعة التدريب الفرعية.
6.4. غابة عشوائية
وأشجار القرار معروفة جيدًا لأنها تميل إلى الإفراط في الملاءمة ، مما يزيد من تباين التوقعات. من أجل معالجة هذه المشكلة ، تم تطوير طريقة غابة عشوائية (RF) لتوليد تنبؤات الفرق مع اختلاف أقل.
لدى الغابة العشوائية بعض أوجه التشابه الشائعة مع التعبئة بمعنى تدريب المقيِّمين الفرديين بشكل مستقل على مجموعات البيانات الفرعية المقلدة. يتمثل الاختلاف الرئيسي بين التعبئة في أن المستوى الثاني من العشوائية مبني في غابات عشوائية: أثناء تعظيم الاستفادة من كل تجزئة عقدي ، سيتم تقييم نموذج فرعي عشوائي فقط (بدون إرجاع) من أجل زيادة ربط المقيّمين.
مثل التعبئة ، الغابة العشوائية تقلل من تباين التوقعات دون التحليق (تذكر ذلك حتى). الميزة الثانية هي أن غابة عشوائية تقيم أهمية السمات ، والتي سنناقشها بالتفصيل في الفصل 8. الميزة الثالثة هي أن غابة عشوائية توفر تقديرات للدقة خارج الحزمة ، ولكن في التطبيقات المالية من المحتمل أن تكون مضخمة (كما هو موضح في القسم 6.3.3). ولكن مثل التعبئة ، لن تظهر غابة عشوائية بالضرورة أقل تحيزًا من أشجار القرارات الفردية.
إذا كان هناك عدد كبير من العينات زائدة عن الحاجة (غير موزعة بالتساوي ومستقلة بشكل متبادل) ، فسيظل هناك إعادة ملاءمة: العينات العشوائية ذات العائد ستقوم ببناء عدد كبير من الأشجار المتطابقة تقريبًا () ، حيث يتم تجهيز كل شجرة قرار (عيب بسبب أي أشجار قرار مشهورة) . على عكس التعبئة ، تقوم مجموعة التفرعات العشوائية دائمًا بتعيين حجم عينات التمهيد وفقًا لحجم مجموعة التدريب الفرعية من البيانات. دعونا نلقي نظرة على كيفية حل مشكلة إعادة تكوين الغابات العشوائية في مكتبة sklearn. لأغراض التوضيح ، سأشير إلى فصول مكتبة sklearn ؛ ومع ذلك ، يمكن تطبيق هذه الحلول على أي تطبيق:
1. قم بتعيين المعلمة max_features على قيمة أقل لتحقيق تباين بين الأشجار.
2. التوقف المبكر: اضبط معلمة التنظيم min_weight_fraction_leaf على قيمة كبيرة بدرجة كافية (على سبيل المثال ، 5٪) بحيث تتقارب دقة الرزمة خارج الحزمة (k-block) من الدقة.
3. استخدم مقيم BaggingClassifier في مقيم DecisionTreeClassifier الأساسي ، حيث يتم تعيين max_samples على متوسط التفرد (avgU) بين العينات.
- clf = DecisionTreeClassifier (المعيار = 'إنتروبي' ، max_features = 'تلقائي' ، class_weight = 'متوازن')
- bc = BaggingClassifier (base_estimator = clf ، n_estimators = 1000 ، max_samples = avgU ، max_features = 1.)
4. استخدم مقيم BaggingClassifier في مقيم RandomForestClassifier الأساسي ، حيث تم تعيين max_samples على متوسط التفرد (avgU) بين العينات.
- clf = RandomForestClassifier (n_estimators = 1 ، المعيار = 'entropy' ، bootstrap = False ، class_weight = 'balance_subsample')
- bc = BaggingClassifier (base_estimator = clf ، n_estimators = 1000 ، max_samples = avgU ، max_features = 1.)
5. قم بتعديل فئة مجموعة التفرعات العشوائية لاستبدال bootstraps القياسية بأصابع التشغيل المتسلسلة.
لتلخيص ، يعرض سرد 6.2 ثلاث طرق بديلة لتكوين مجموعة تفرعات عشوائية باستخدام فئات مختلفة.
القائمة 6.2. ثلاث طرق لاقامة غابة عشوائية
clf0=RandomForestClassifier(n_estimators=1000, class_weight='balanced_ subsample', criterion='entropy') clf1=DecisionTreeClassifier(criterion='entropy', max_features='auto', class_weight='balanced') clf1=BaggingClassifier(base_estimator=clf1, n_estimators=1000, max_samples=avgU) clf2=RandomForestClassifier(n_estimators=1, criterion='entropy', bootstrap=False, class_weight='balanced_subsample') clf2=BaggingClassifier(base_estimator=clf2, n_estimators=1000, max_samples=avgU, max_features=1.)
عند تركيب أشجار القرار ، فإن دوران مساحة الميزة في الاتجاه الذي يتزامن مع المحاور ، كقاعدة عامة ، يقلل من عدد المستويات اللازمة للشجرة. لهذا السبب ، أقترح أن تضع شجرة عشوائية على PCA من السمات ، لأن هذا يمكن أن يسرع العمليات الحسابية ويقلل من إعادة التهيئة قليلاً (المزيد حول هذا في الفصل 8). بالإضافة إلى ذلك ، كما هو موضح في الفصل 4 ، الفصل 4.8 ، ستساعد الوسيطة class_weight = 'balance_subsample' على منع الأشجار من تصنيف فئات الأقليات.
6.5. دفعة
كان Kearns and Valiant [1989] من أوائل من سألوا عما إذا كان من الممكن الجمع بين المثمنين الضعفاء من أجل تحقيق مقيم دقيق للغاية. بعد ذلك بوقت قصير ، أظهر Schapire [1990] إجابة إيجابية على هذا السؤال باستخدام إجراء نسميه اليوم تعزيز (تعزيز ، تعزيز ، تضخيم). بعبارات عامة ، تعمل على النحو التالي: أولاً ، قم بإنشاء مجموعة تدريب فرعية من خلال اختيار عشوائي مع الإرجاع وفقًا لبعض أوزان العينة (التي تمت تهيئتها بواسطة أوزان موحدة). ثانياً ، قم بتقييم مقيم واحد باستخدام مجموعة التدريب الفرعية هذه. ثالثًا ، إذا حقق المثمن المفرد دقة تتجاوز عتبة القبول (على سبيل المثال ، في المصنف الثنائي يكون 50٪ بحيث يعمل المصنف بشكل أفضل من إخبار الحظ العشوائي) ، فإن المثمن يبقى ، وإلا فإنه يتم تجاهله. رابعًا ، أعط وزناً أكبر للملاحظات المصنفة بشكل غير صحيح وأقل وزناً من الملاحظات المصنفة بشكل صحيح. خامسًا ، كرر الخطوات السابقة حتى يتم تلقي المثمنين N. سادساً ، توقعات المجموعة هي المتوسط المرجح للتنبؤات الفردية من نماذج N ، حيث يتم تحديد الأوزان من خلال دقة المقيِّمين الفرديين. هناك عدد من الخوارزميات المعززة ، والتي يعد تعزيز AdaBoost التكيفي من أكثرها شعبية (Geron [2017]). يلخص الشكل 6.3 تدفق القرار في التنفيذ القياسي لخوارزمية AdaBoost.

6.6. التعبئة مقابل تعزيز التمويل
من الوصف أعلاه ، هناك عدة جوانب تجعل التعزيز مختلفًا تمامًا عن
التعبئة :
- يتم تنفيذ المصنفات الفردية بالتتابع.
- تم رفض المصنفات الضعيفة.
- في كل تكرار ، يتم وزن الملاحظات بشكل مختلف.
توقعات المجموعة هي المتوسط المرجح للطلاب الفرديين.
الميزة الرئيسية لتعزيز هو أنه يقلل كل من التباين والتحيز في التوقعات. ومع ذلك ، يحدث تصحيح التحيز بسبب زيادة خطر الإفراط في التركيب. يمكن القول أنه في التطبيقات المالية ، عادة ما يكون التعبئة أفضل من حيث الحجم. التعبئة تحل مشكلة التحليق ، بينما تعزز المعالجة مشكلة التحمل. غالبًا ما يكون التجهيز الزائد مشكلة أكثر خطورة من التجهيز ، لأن تركيب خوارزمية MO بإحكام شديد للبيانات المالية ليس صعبًا على الإطلاق بسبب انخفاض نسبة الإشارة إلى الضوضاء. علاوة على ذلك ، يمكن أن يكون التوازي متوازياً ، بينما يتطلب التعزيز عادة تنفيذ متسلسل.
6.7. التعبئة من أجل قابلية التوسع
كما تعلمون ، بعض خوارزميات MO الشائعة لا يتم قياسها جيدًا وفقًا لحجم العينة. مثال على طريقة آلات مكافحة ناقلات الدعم (SVM). إذا حاولت احتواء مقيم SVM على أكثر من مليون ملاحظة ، فقد يستغرق الأمر وقتًا طويلاً حتى تتقارب الخوارزمية. وحتى بعد التقارب ، ليس هناك ما يضمن أن الحل هو الأمثل العالمي أو أنه لن يتم إعادة محاذاة.
تتمثل إحدى الطرق العملية في إنشاء خوارزمية تم تجميعها حيث ينتمي المقيِّم الأساسي إلى فصل لا يتناسب جيدًا مع حجم العينة ، مثل SVM. في تعريف هذا المثمن الأساسي ، نقدم شرطًا صارمًا للتوقف المبكر. على سبيل المثال ، عند تنفيذ أجهزة ناقل الدعم (SVM) في مكتبة sklearn ، يمكنك تعيين قيمة منخفضة لمعلمة max_iter ، على سبيل المثال ، تكرار 1E5. القيمة الافتراضية هي max_iter = -1 ، والتي تخبر المقيِّم بالاستمرار في التكرار حتى تنخفض الأخطاء عن مستوى التسامح. من ناحية أخرى ، يمكنك زيادة مستوى التسامح باستخدام معلمة tol ، والتي تقوم افتراضيًا بالارتقاء إلى = iE-3. أي من هذين الخيارين سيؤدي إلى توقف مبكر. يمكنك إيقاف الخوارزميات الأخرى مبكرًا باستخدام معلمات مكافئة ، مثل عدد المستويات في غابة عشوائية (max_depth) أو الحد الأدنى للكسر المرجح لمجموع إجمالي الأوزان (جميع عينات المدخلات) المطلوبة لتكون على عقدة ورقة (min_weight_fraction_leaf).
بالنظر إلى أن الخوارزميات المعبأة يمكن أن تكون متوازية ، فنحن نقوم بتحويل مهمة متسلسلة كبيرة إلى سلسلة من أصغر منها يتم تنفيذها في وقت واحد. بطبيعة الحال ، فإن التوقف المبكر سيزيد من تباين النتائج من المقيِّمين الأساسيين الفرديين ؛ ومع ذلك ، يمكن تعويض هذه الزيادة بأكثر من الانخفاض في التباين المرتبط بالخوارزمية المكتسبة. يمكنك التحكم في هذا التخفيض بإضافة مقيمين أساسيين مستقلين جدد. عند استخدام هذه الطريقة ، فإن التعبئة تسمح لك بالحصول على تقديرات سريعة وقوية لمجموعات البيانات الكبيرة جدًا.
»يمكن الاطلاع على مزيد من المعلومات حول الكتاب على
موقع الناشر»
المحتويات»
مقتطفاتخصم 25٪ على كتب Khabrozhiteley للطلب المسبق على كوبون -
Machine Learning