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

AI 101 г

Какво е градиентно усилване?

mm
Обновено on

Често срещан тип модел на машинно обучение, който успя да бъде изключително полезен в състезания по наука за данни, е моделът за усилване на градиента. Усилване на градиента е основно процес на преобразуване на слаби модели на обучение в силни модели на обучение. Но как точно се постига това? Нека разгледаме по-отблизо алгоритмите за усилване на градиента и по-добре разберете как модел за усилване на градиента превръща слабите учащи се в силни учащи се.

Дефиниране на градиентно усилване

Тази статия има за цел да ви даде добра интуиция за това какво е усилване на градиента, без много разбивки на математиката, която е в основата на алгоритмите. След като разберете как градиентното усилване работи на високо ниво, вие се насърчавате да отидете по-дълбоко и да изследвате математиката, която го прави възможно.

Нека започнем, като дефинираме какво означава да „укрепиш“ обучаемия. Слабите учащи се превръщат в силни учащи се чрез коригиране на свойствата на учебния модел. Какъв точно алгоритъм за обучение се засилва?

Моделите за усилване работят чрез разширяване на друг общ модел на машинно обучение, дърво на решенията.

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

Илюстрация на начина, по който се обучават моделите за повишаване.
Снимка: SeattleDataBuy чрез Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Един вид алгоритъм за усилване е Алгоритъм AdaBoost. Алгоритмите на AdaBoost започват с обучение на модел на дърво на решенията и присвояване на еднакво тегло на всяко наблюдение. След като първото дърво бъде оценено за точност, теглата за различните наблюдения се коригират. Теглата на наблюденията, които са лесни за класифициране, са намалени, докато теглата на наблюденията, които са трудни за класифициране, са увеличени. Създава се второ дърво с помощта на тези коригирани тегла, с цел прогнозите на второто дърво да бъдат по-точни от прогнозите на първото дърво.

Сега моделът се състои от прогнозите за оригиналното дърво и новото дърво (или дърво 1 + дърво 2). Точността на класификацията се оценява още веднъж въз основа на новия модел. Създава се трето дърво въз основа на изчислената грешка за модела и теглата се коригират още веднъж. Този процес продължава за определен брой итерации и крайният модел е ансамбъл модел, който използва претеглената сума на прогнозите, направени от всички предишно конструирани дървета.

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

Основното предимство на алгоритмите за усилване е, че те отнемат по-малко време за намиране на текущите прогнози в сравнение с други модели за машинно обучение. Трябва обаче да се внимава, когато се използват алгоритми за усилване, тъй като те са склонни към пренастройване.

Градиентно усилване

Сега ще разгледаме един от най-често срещаните алгоритми за повишаване. Моделите за усилване на градиент (GBM) са известни със своята висока точност и те допълват общите принципи, използвани в AdaBoost.

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

Вземайки най-често срещаната функция на загуба – Средна квадратна грешка (MSE) - като пример, градиентно спускане се използва за актуализиране на прогнози, базирани на предварително определена скорост на обучение, с цел намиране на стойности, при които загубата е минимална.

За да стане по-ясно:

Нови моделни прогнози = изходни променливи – стари несъвършени прогнози.

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

С други думи, прогнозите се актуализират така, че сумата от всички остатъци да е възможно най-близо до 0, което означава, че прогнозираните стойности ще бъдат много близки до действителните стойности.

Имайте предвид, че голямо разнообразие от други функции на загуба (като логаритмична загуба) може да се използва от GBM. MSE беше избран по-горе с цел опростяване.

Вариации на моделите за усилване на градиента

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

GBM могат да се регулират с четири различни метода: свиване, ограничения на дървото, усилване на стохастичен градиент и наказателно обучение.

свиване

Както бе споменато по-горе, в GBM прогнозите се сумират заедно по последователен начин. В „Свиване“ добавките на всяко дърво към общата сума се коригират. Прилагат се тегла, които забавят скоростта на обучение на алгоритъма, което налага добавянето на повече дървета към модела, което обикновено подобрява устойчивостта и производителността на модела. Компромисът е, че моделът отнема повече време за обучение.

Дървовидни ограничения

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

Случайно вземане на проби

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

Санкционирано учене

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

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