Ансамбльді үйренудің сиқыры

Эй Хабр! Деректер инженерлері мен Machine Learning мамандарын тегін демо сабағына шақырамыз «Онлайн ұсыныстардың мысалын пайдалана отырып, ML үлгілерін өнеркәсіптік ортаға шығару». Біз сондай-ақ Лука Монноның мақаласын жариялаймыз - CDP SpA қаржылық талдау бөлімінің басшысы.

Машиналық оқытудың ең пайдалы және қарапайым әдістерінің бірі - Ensemble Learning. Ensemble Learning - XGBoost, Bagging, Random Forest және басқа да көптеген алгоритмдердің артындағы әдіс.

Деректер туралы ғылымға қатысты көптеген тамаша мақалалар бар, бірақ мен екі әңгімені таңдадым (бірінші и екіншісі) бұл маған ең ұнады. Неліктен EL туралы басқа мақала жазу керек? Себебі мен саған көрсеткім келеді қарапайым мысалмен қалай жұмыс істейді, бұл маған мұнда ешқандай сиқырдың жоқ екенін түсінді.

Мен алғаш рет EL әрекетін көргенде (кейбір өте қарапайым регрессия үлгілерімен жұмыс істеу) мен өз көзіме сене алмадым және осы әдісті үйреткен профессор әлі есімде.

Менде метрикасы бар екі түрлі модель (екі әлсіз жаттығу алгоритмі) болды үлгіден тыс R² сәйкесінше 0,90 және 0,93-ке тең. Нәтижеге қарамас бұрын, мен екі бастапқы мәннің арасында R² аламын деп ойладым. Басқаша айтқанда, мен EL үлгісін ең нашар модель сияқты нашар емес, бірақ ең жақсы үлгі көрсете алмайтындай етіп көрсету үшін қолдануға болатынына сендім.

Мені таң қалдырған жай ғана болжамды орташа алғанда R² 0,95 болды. 

Басында мен қатені іздей бастадым, бірақ кейін бұл жерде қандай да бір сиқыр жасырылған шығар деп ойладым!

Ансамбльді оқыту дегеніміз не

EL көмегімен екі немесе одан да көп үлгілердің болжамдарын біріктіріп, сенімдірек және өнімді үлгіні шығаруға болады. Модельдік ансамбльдермен жұмыс істеудің көптеген әдістемелері бар. Мұнда шолу жасау үшін ең пайдалы екіге тоқталамын.

Көмегімен регрессия қол жетімді үлгілердің өнімділігін орташалауға болады.

Көмегімен жіктеу Үлгілерге белгілерді таңдау мүмкіндігін бере аласыз. Ең жиі таңдалған жапсырма жаңа модель таңдайтын болады.

Неліктен EL жақсы жұмыс істейді?

EL жақсырақ жұмыс істеуінің негізгі себебі - әрбір болжамда қате бар (біз оны ықтималдық теориясынан білеміз), екі болжамды біріктіру қатені азайтуға көмектеседі, демек, өнімділік көрсеткіштерін жақсартады (RMSE, R², т.б.). d.).

Келесі диаграмма екі әлсіз алгоритмнің деректер жиынында қалай жұмыс істейтінін көрсетеді. Бірінші алгоритмде қажет болғаннан үлкен көлбеу бар, ал екіншісінде нөлге жуық (мүмкін, шамадан тыс реттеуге байланысты). Бірақ ансамблі әлдеқайда жақсы нәтиже көрсетеді. 

Егер сіз R² индикаторына қарасаңыз, онда бірінші және екінші жаттығу алгоритмі үшін ол сәйкесінше -0.01¹, 0.22 тең болады, ал ансамбль үшін ол 0.73-ке тең болады.

Ансамбльді үйренудің сиқыры

Алгоритмнің қарапайым мысалда да нашар үлгі болуының көптеген себептері бар: мүмкін сіз шамадан тыс орнатуды болдырмау үшін регуляризацияны пайдалануды шешкен шығарсыз немесе кейбір ауытқуларды жоққа шығармауды шешкен шығарсыз немесе полиномдық регрессияны қолданып, қате жіберген шығарсыз. дәрежесі (мысалы, біз екінші дәрежелі көпмүшені қолдандық және сынақ деректері үшінші дәреже жақсырақ болатын айқын асимметрияны көрсетеді).

EL жақсы жұмыс істегенде

Бір деректермен жұмыс істейтін екі оқыту алгоритмін қарастырайық.

Ансамбльді үйренудің сиқыры

Мұнда сіз екі модельді біріктіру өнімділікті айтарлықтай жақсартпағанын көре аласыз. Бастапқыда екі жаттығу алгоритмі үшін R² көрсеткіштері сәйкесінше -0,37 және 0,22 тең болды, ал ансамбль үшін ол -0,04 болды. Яғни, EL моделі көрсеткіштердің орташа мәнін алды.

Дегенмен, бұл екі мысалдың арасында үлкен айырмашылық бар: бірінші мысалда модель қателері теріс корреляцияланған, ал екіншісінде олар оң корреляцияланған (үш модельдің коэффициенттері бағаланбаған, бірақ жай ғана таңдалған. мысал ретінде автор.)

Сондықтан, Ensemble Learning кез келген жағдайда қиғаштық/дисперсиялық тепе-теңдікті жақсарту үшін пайдаланылуы мүмкін, бірақ қашан Үлгі қателері оң корреляцияланбайды, EL пайдалану өнімділікті жақсартуға әкелуі мүмкін.

Біртекті және гетерогенді модельдер

Көбінесе EL біртекті үлгілерде қолданылады (осы мысалдағыдай немесе кездейсоқ орман), бірақ іс жүзінде сіз әртүрлі үлгілерді (сызықтық регрессия + нейрондық желі + XGBoost) әртүрлі түсіндірме айнымалылар жиынымен біріктіре аласыз. Бұл өзара байланыссыз қателерге және өнімділікті жақсартуға әкелуі мүмкін.

Портфельді әртараптандырумен салыстыру

EL портфолио теориясындағы әртараптандыруға ұқсас жұмыс істейді, бірақ біз үшін әлдеқайда жақсы. 

Әртараптандыру кезінде сіз корреляцияланбаған акцияларға инвестициялау арқылы өнімділігіңіздің ауытқуын азайтуға тырысасыз. Жақсы әртараптандырылған қор портфолиосы ең нашар жеке акциялардан жақсы нәтиже береді, бірақ ешқашан ең жақсыдан жақсы болады.

Уоррен Баффеттің сөзінен үзінді келтірсек: 

«Әртараптандыру - бұл надандықтан қорғану; не істеп жатқанын білмейтін адам үшін бұл [әртараптандыру] мағынасы жоқ».

Машиналық оқытуда EL моделіңіздің дисперсиясын азайтуға көмектеседі, бірақ ол ең жақсы түпнұсқа үлгіге қарағанда жалпы өнімділігі жақсы үлгіге әкелуі мүмкін.

Жинақтау

Бірнеше үлгілерді бір модельге біріктіру - дисперсияның ауытқу мәселесін шешуге және өнімділікті жақсартуға әкелетін салыстырмалы түрде қарапайым әдіс.

Егер сізде жақсы жұмыс істейтін екі немесе одан да көп үлгілер болса, олардың арасында таңдау жасамаңыз: олардың барлығын пайдаланыңыз (бірақ сақтықпен)!

Осы бағытта дамуға мүдделі ме? Тегін демо сабағына жазылыңыз «Онлайн ұсыныстардың мысалын пайдалана отырып, ML үлгілерін өнеркәсіптік ортаға шығару» және қатысады Андрей Кузнецовпен онлайн кездесу — Mail.ru Group компаниясының машиналық оқыту инженері.

Ақпарат көзі: www.habr.com

пікір қалдыру