кочан Какво е ансамбълно обучение? - Обединете.AI
Свържете се с нас
AI майсторски клас:

AI 101 г

Какво е ансамбълно обучение?

mm
Обновено on

Една от най-мощните техники за машинно обучение е ансамбълното обучение. Заедно обучение е използването на множество модели за машинно обучение за подобряване на надеждността и точността на прогнозите. Но как използването на множество модели за машинно обучение води до по-точни прогнози? Какъв вид техники се използват за създаване на модели за обучение в ансамбъл? Ще проучим отговора на тези въпроси, като разгледаме обосновката зад използването на ансамблови модели и основните начини за създаване на ансамблови модели.

Какво е ансамбълно обучение?

Казано просто, ансамбълното обучение е процес на обучение на множество модели за машинно обучение и комбиниране на техните резултати заедно. Различните модели се използват като основа за създаване на един оптимален прогнозен модел. Комбинирането на разнообразен набор от индивидуални модели за машинно обучение може да подобри стабилността на цялостния модел, което води до по-точни прогнози. Ансамбълните модели за обучение често са по-надеждни от отделните модели и в резултат на това те често са на първо място в много състезания за машинно обучение.

Има различни техники, които инженерът може да използва, за да създаде модел на обучение в ансамбъл. Простите техники за обучение в ансамбъл включват неща като осредняване на резултатите от различни модели, докато има и по-сложни методи и алгоритми, разработени специално за комбиниране на прогнозите на много базови обучаеми/модели заедно.

Защо да използваме методи за обучение в ансамбъл?

Моделите за машинно обучение могат да се различават един от друг по различни причини. Различни модели на машинно обучение могат да работят върху различни извадки от данните за населението, могат да се използват различни техники за моделиране и може да се използва различна хипотеза.

Представете си, че играете любопитни факти с голяма група хора. Ако сте сами в екип, непременно ще има теми, за които имате познания, и много теми, за които нямате познания. Сега приемете, че играете в отбор с други хора. Точно като вас, те ще имат известни познания относно собствените си специалности и нямат познания по други теми. И все пак, когато знанията ви се комбинират, имате по-точни предположения за повече полета, а броят на темите, за които екипът ви няма познания, намалява. Това е същият принцип, който е в основата на ансамбълното обучение, комбинирайки прогнозите на различни членове на екипа (индивидуални модели) за подобряване на точността и минимизиране на грешките.

Статистиците доказаха че когато група хора са помолени да отгатнат правилния отговор на даден въпрос с набор от възможни отговори, всички техни отговори формират вероятностно разпределение. Хората, които наистина знаят правилния отговор, ще изберат правилния отговор с увереност, докато хората, които изберат грешните отговори, ще разпределят своите предположения в диапазона от възможни неправилни отговори. Връщайки се към примера с любопитни факти, ако вие и двамата ви приятели знаете, че правилният отговор е А, и тримата ще гласувате с А, докато другите трима души от вашия екип, които не знаят отговора, вероятно ще гласуват неправилно познайте B, C, D или E. Резултатът е, че A има три гласа, а другите отговори вероятно ще имат само един или максимум два гласа.

Всички модели имат известна грешка. Грешките за един модел ще бъдат различни от грешките, генерирани от друг модел, тъй като самите модели са различни поради описаните по-горе причини. Когато всички грешки бъдат прегледани, те няма да бъдат групирани около един или друг отговор, а по-скоро ще бъдат разпръснати наоколо. Неправилните предположения по същество се разпределят между всички възможни грешни отговори, като взаимно се отменят. Междувременно правилните предположения от различните модели ще бъдат групирани около верния, верен отговор. Когато се използват методи за обучение в ансамбъл, верният отговор може да бъде намерен с по-голяма надеждност.

Прости методи за обучение на ансамбъл

Простите методи за обучение в ансамбъл обикновено включват само прилагането на техника на статистическо обобщаванеs, като например определяне на режима, средната или претеглената средна стойност на набор от прогнози.

Режимът се отнася до най-често срещания елемент в набор от числа. За да получат режима, индивидуалните модели на обучение връщат своите прогнози и тези прогнози се считат за гласове към крайната прогноза. Определянето на средната стойност на прогнозите се извършва просто чрез изчисляване на средната аритметична стойност на прогнозите, закръглена до най-близкото цяло число. И накрая, претеглената средна стойност може да бъде изчислена чрез присвояване на различни тегла на моделите, използвани за създаване на прогнози, като теглата представляват възприеманата важност на този модел. Численото представяне на класовата прогноза се умножава заедно с тегло от 0 до 1.0, отделните претеглени прогнози след това се сумират и резултатът се закръгля до най-близкото цяло число.

Разширени методи за ансамбъл обучение

Има три основни усъвършенствани техники за ансамбълно обучение, всяка от които е предназначена да се справи със специфичен тип проблем с машинното обучение. Техники на „пакетиране“. се използват за намаляване на дисперсията на прогнозите на модела, като дисперсията се отнася до това колко се различава резултатът от прогнозите, когато се основават на едно и също наблюдение. Техники за „подсилване“. се използват за борба с пристрастията на моделите. накрая „подреждане“ се използва за подобряване на прогнозите като цяло.

Самите методи на ансамбълно обучение могат да бъдат разделени на две различни групи: последователни методи и паралелни ансамблови методи.

Методите на последователния ансамбъл получават името „последователен“, защото базовите обучаеми/модели се генерират последователно. В случай на последователни методи основната идея е, че зависимостта между основните обучаеми се използва, за да се получат по-точни прогнози. Неправилно етикетираните примери имат коригирани тегла, докато правилно етикетираните примери поддържат същите тегла. Всеки път, когато се генерира нов обучаем, теглата се променят и точността (надявам се) се подобрява.

За разлика от моделите на последователен ансамбъл, методите на паралелния ансамбъл генерират основните обучаеми паралелно. Когато се провежда паралелно ансамбълно обучение, идеята е да се използва фактът, че основните обучаеми имат независимост, тъй като общият процент грешки може да бъде намален чрез осредняване на прогнозите на отделните обучаеми.

Ансамбълните тренировъчни методи могат да бъдат хомогенни или хетерогенни по природа. Повечето методи за обучение в ансамбъл са хомогенни, което означава, че използват един тип базов модел/алгоритъм за обучение. За разлика от това, разнородните ансамбли използват различни алгоритми за обучение, диверсифицирайки и променяйки обучаемите, за да гарантират, че точността е възможно най-висока.

Примери за алгоритми за обучение в ансамбъл

Визуализация на усилването на ансамбъла. Снимка: Sirakorn чрез Wikimedia Commons, CC BY SA 4.0, (https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)

Примерите за последователни методи на ансамбъл включват AdaBoost, XGBoost, и Усилване на градиентно дърво. Това са всички модели за усилване. За тези стимулиращи модели целта е да превърнат слабите учащи се с недостатъчно представяне в по-мощни учащи. Модели като AdaBoost и XGBoost започват с много слаби обучаеми, които се представят малко по-добре от произволното отгатване. Докато обучението продължава, теглата се прилагат към данните и се коригират. Случаи, които са били неправилно класифицирани от обучаемите в по-ранни кръгове на обучение, получават по-голяма тежест. След като този процес се повтори за желания брой кръгове на обучение, прогнозите се обединяват чрез претеглена сума (за задачи за регресия) и претеглено гласуване (за задачи за класификация).

Процесът на обучение в торбички. Снимка: SeattleDataGuy чрез Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Bagging.png)

Пример за модел на паралелен ансамбъл е a Случайна гора класификатор, а случайните гори също са пример за техника за пакетиране. Терминът „пакетиране“ идва от „бутстрап агрегиране“. Пробите се вземат от общия набор от данни, като се използва техника за вземане на проби, известна като „начално вземане на проби“, която се използва от основните обучаеми за правене на прогнози. За класификационните задачи резултатите от базовите модели се агрегират чрез гласуване, докато те се осредняват заедно за регресионните задачи. Случайните гори използват индивидуални дървета за вземане на решения като основни обучаеми и всяко дърво в ансамбъла е изградено с помощта на различна извадка от набора от данни. Произволно подмножество от функции също се използва за генериране на дървото. Води до силно рандомизирани индивидуални дървета на решения, които се комбинират заедно, за да предоставят надеждни прогнози.

Визуализация на подреждането на ансамбъл. Снимка: Supun Setunga чрез Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)

По отношение на техниките за подреждане на ансамбъла, моделите на множествена регресия или класификация се комбинират заедно чрез по-високо ниво, мета-модел. Базовите модели на по-ниско ниво се обучават, като им се подава целия набор от данни. Резултатите от базовите модели след това се използват като функции за обучение на мета-модела. Моделите с подреждане на ансамбъл често са разнородни по природа.

Блогър и програмист със специалности в Machine Learning намлява Дълбоко обучение теми. Даниел се надява да помогне на другите да използват силата на ИИ за социално благо.