Bagging, Boosting, AdaBoosting, Gradient Boosting, XGBoost

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

определение:

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

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

Методът на ансамбъла се използва за два метода:

  1. Метод на последователен ансамбъл

- В тази база обучаемите обикновено са последователно. Основната мотивация е използването на зависимостта между основните обучаеми.

- Цялостната производителност на модела може да бъде подобрена.

2. Методи на паралелен ансамбъл

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

Значение:

Ансамбълният модел е прилагането на множество модели за постигане на по-добра производителност, отколкото от един модел.

  • Устойчивост – Ансамбълният модел включва прогнозите от всички основни обучаеми.
  • - Точност – Ансамбълните модели предоставят точни прогнози и имат подобрена производителност.

Метод на обучение в ансамбъл:

Ensemble Learning създава ансамбъл от всички добре подбрани силни и разнообразни модели и ние използваме „осредняване“, за да намерим ансамбъл прогноза.

Агрегиране в торбички / Bootstrap (намаляване на дисперсията)

Агрегирането в торбички или Bootstrap „намалява дисперсията“ на оценката, като взема средната стойност на множествената оценка.

Стъпки на алгоритъма за пакетиране

Създайте набор от данни с произволна извадка от оригиналните данни за обучение. (Бутстрапване)

Изградете и монтирайте няколко. класификатор към всяко от тези различни копия.

Взема средната стойност на всички прогнози, за да направи окончателна обща прогноза.

Случайни гори

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

Техниката Random Forest комбинира различни дървовидни решения, за да създаде по-обобщен метод.

Случайната гора се използва за създаване на дърво за вземане на решение за декорелация.

Случайната гора създава произволни подмножества от характеристиките.

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

Усилване (намалява пристрастията)

Повишаването намалява пристрастията, като обучава слабите учащи се последователно, като всеки се опитва да коригира своя предшественик.

Стъпки на алгоритъма за повишаване

Обучете класификатор A1, който най-добре класифицира данните по отношение на точността.

Идентифицирайте регионите, където A1 създава грешка, добавете тежест към тях и създайте A2 класификатор.

Обединете тези проби, където „A1“ дава различен резултат от „A2“ и създайте класификатор „A3“. Повторете стъпка 2 за нов класификатор.

AdaBoost

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

  • AdaBoost е първият алгоритъм за повишаване, който трябва да бъде адаптиран в практиките за решаване.
  • Помага за смесването на множество слаби класификатори в един силен класификатор.

Етап 1

  • Присвоете равни тегла на всяка точка от данни и приложете група за решение, за да ги класифицирате като „+“ (плюс) и „-“ (минус). За различни атрибути дървото се състои само от един вътрешен възел. Сега приложете по-високи тегла към неправилно предвидените три „+“ (плюс) и добавете още едно решение.

Стъпка 2

  • Размерът на три неправилно предвидени + (плюс) е много по-голям от останалите точки от данни.
  • Вторият пън за решение (D2) ще се опита да ги предскаже правилно.
  • Сега вертикалната равнина (D2) е класифицирала правилно три неправилно класифицирани „+“ (плюс).
  • D2 също е причинил неправилно класифицирано докладване до три „-“ (минус)

Стъпка 3

  • D3 добавя по-високи тегла към три „-“ (минус)
  • Генерира се хоризонтална линия, за да се класифицират „+“ (плюс) и „-“ (минус) въз основа на по-голяма тежест на неправилно класифицирани наблюдения.

Стъпка 4

  • D1, D2 и D3 се комбинират, за да образуват силна прогноза, която има по-сложно правило от отделните слаби учащи се.

Алгоритъм AdaBoost

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

Поддържа се само проблем с двоична класификация.

Всеки пън за решение взема едно решение за една входна променлива и извежда стойност +1,0 или -1,0 за стойността от първи или втори клас.

Степен на грешна класификация

грешка = (правилно -N) / N

стъпки

  1. Първоначално всяка точка от данни се претегля еднакво с теглото. . (W(i) = 1/n), където „n“ е броят на пробата.
  2. Избира се класификаторът „H1“, който най-добре класифицира данните с минимален процент грешки.
  3. Претегленият коефициент „a(alpha)“ зависи от „e(грешка)“, причинена от класификатора H1:

Формула: ( a^t = 1/2 ln 1-e(t)/e(t)).

Където ,

a ^t – алфа на степен t, e (t) – грешка по отношение на ‘t’

Тегло след време. „t“ се дава като:

Формула: W(i) ^ t+1 / Z. e ^ -at.h1(x).y(x)

Където ,

Z – Нормализиращ фактор, W(i) ^t+1 – тегло на степен t + 1,

h1(x).y(x) – е знак за ток. изход. e^-at.h1(x).y(x) – грешка на степен ‘-’ (минус) алфа знак за умножение на текущия изход.

Блок-схема на AdaBoost

  • AdaBoost избира подмножество за обучение произволно.
  • Той итеративно обучава AdaBoost Machine Learning Model.
  • Той придава по-висока тежест на грешно класифицирани наблюдения.
  • Той присвоява тегло на обучения класификатор във всяка итерация според точността на класификатора.
  • Процесът се повтаря, докато пълните данни за обучение се поберат без грешка.

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

  • Gradient Boosting обучава няколко модела по много постепенен, адитивен и последователен начин.
  • GBM минимизира функцията на загуба (MSE) на модела чрез добавяне на слаб обучаващ се с помощта на процедура за градиентно спускане.

Градиентното усилване включва три елемента

Функция на загубите, която трябва да бъде оптимизирана.

Слаб човек да прави прогнози.

Пристрастяващ модел за добавяне на слаби учащи за минимизиране на функцията за загуба.

GBM механизъм

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

GBM алгоритъм

  1. Поставете прост модел на регресорен класификатор.
  2. Изчислете остатъците от грешки (действителна стойност – прогнозирана стойност)
  3. Подхожда на нов модел на остатъците от грешки като целеви променливи със същите входни променливи.
  4. Добавете прогнозираните остатъци към предишните прогнози.
  5. Напасва друг модел върху остатъците, които остават, и повторете стъпка 2 и 5, докато моделът, моделът, не се напасне или сумата от остатъците стане. постоянен.

XG Boost

  • eXtreme Gradient Boosting (XG Boost) е библиотека за разработване на бързи и високоефективни градиентни усилващи модели на дърво.
  • По-регулиран модел за контролиране на прекомерното оборудване и осигуряване на по-добра производителност.
  • Алгоритъм, базиран на дърво: Регресионно класиране на класификация с персонализирана функция за загуба.
  • Използва се широко в състезания по машинно обучение, тъй като е десет пъти по-бърз от други техники.
  • Интерфейси за Python и R могат да бъдат изпълнени на YARN.

Функции на библиотеката XGBoost

Инструментите за функциите на библиотеката XGBoost са създадени за. единствената цел на производителността на модела и скоростта на изчисление.

Система :

Паралелизиране -› Дървовидна конструкция с използване на всички CPU ядра по време на обучение.

Разпределено изчисление -› Обучение на много големи модели с помощта на клъстер от машини.

Оптимизиране на кеша -› Използването на структури от данни прави най-доброто използване на хардуера.

Алгоритъм:

Spare Aware -› Автоматично обработване на липсващи стойности на данни.

Блокова структура -› Подкрепа за паралелизиране на дървовидната конструкция.

Продължаващо обучение -› За подобряване на вече монтиран модел върху нови данни.

Модели

Градиентно усилване -› Машинен алгоритъм за градиентно усилване, включително скорост на обучение.

Увеличаване на стохастичен градиент -› Под – Вземане на проби в ред, колони и колони на нива на разделяне.

Усилване на регулиран градиент -› С регулиране на L1 и L2.

Параметри на XGBoost

Общи параметри: Брой нишки.

Параметри на задачата: 1) Цел 2) Метрики за оценка

Параметър на бустера: 1) Размер на стъпката 2) Регулации

Общ параметър

Общите параметри ръководят цялостното функциониране на XGBoost.

nthread : – Брой паралелни нишки. , – Ако не е въведена стойност, алгоритъмът автоматично открива броя на ядрата и работи на всички ядра.

бустер: – gbtree: модел, базиран на дърво, – gblinear: линейна функция

Безшумен [по подразбиране = 0] : – Ако е зададено на 1, няма да се появи отпечатано работещо съобщение, – Следователно, запазете го „0“, тъй като съобщенията може да помогнат за разбирането на моделите.

Параметър на усилвателя

Параметърът на бустера гилдира индивидуален бустер (Дърво/Регресия) на всяка стъпка.

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

eta -› 1) Свиването на размера на стъпката се използва при актуализацията, за да се предотврати прекомерното монтиране. 2) Диапазон в [0,1] по подразбиране = 0,3

Гама -› 1) Минимално намаляване на загубата, необходимо за извършване на разделяне. 2) Диапазон [0, безкрайност] по подразбиране = 0

max_depth -› 1) Максимална дълбочина на дървото. 2) Диапазон [ 1, безкрайност]

min_child_weight -› 1) Минимална сума на теглото на екземпляра, необходимо за дете. 2) Ако дървовидният дял води до листов възел със сбор от теглото на екземпляра, по-малко от mini_child_weight, тогава процесът на изграждане ще се откаже допълнително. преграждане.

max_delta_step -› 1) Максимално разрешената делта стъпка в оценките на теглото на всяко дърво. 2) Диапазон [0, безкрайност], по подразбиране = 0

подизвадка -› 1) съотношение на подизвадката. на учебен екземпляр. 2) Диапазон [0, 1], по подразбиране = 1

colsample_bytree -› 1) съотношение на подизвадка на колони при конструиране на всяко дърво. 2) Диапазон [0, 1], по подразбиране = 1

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

ламбда -› 1) Условия за регулиране на L2 относно теглата 2) по подразбиране = 0

алфа – ›. 1) Условия за регулиране на L1 относно теглото. 2) по подразбиране = 0

Параметър на задачата

Параметрите на задачата определят целта за оптимизация, която трябва да се изчислява на всяка стъпка:

Цели [по подразбиране = reg: linear]: 1) „двоичен: логистичен“: Логистична регресия за двоична класификация, изходът е вероятност, а не клас. 2) „multi : soft max“ : многокласова класификация с помощта на целта softmax, трябва да посочите num_class.

Метрики за оценка: Матрици по подразбиране ще бъдат присвоени според целта (средноквадратична стойност за регресия, грешка за класификация и средна средна точност за класиране.)

  • „rmse“ – „logloss“ – „грешка“ – „auc“ – „merror“ – „mlogloss“