Какво е алгоритъмът за усилване?

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

Пример:

Нека разберем тази концепция с помощта на следния пример. Нека вземем пример с имейла. Как ще разпознаете имейла си дали е спам или не? Можете да го разпознаете по следните условия:

  • Ако имейл съдържа много източник като това означава, че е спам.
  • Ако имейл съдържа само едно изображение на файл, то това е спам.
  • Ако имейл съдържа съобщението на „Вие притежавате лотария от $ xxxxx“, това означава, че е спам.
  • Ако имейл съдържа известен източник, той не е спам.
  • Ако съдържа официалния домейн като educba.com и т.н., това означава, че не е спам.

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

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

  1. Използвайки средна или претеглена средна стойност.
  2. Помислете, че прогнозата има по-голям вот.

Имайте предвид горепосочените 5 правила, има 3 гласа за спам и 2 гласа за не спам. Тъй като има спам с висок вот, ние го считаме за спам.

Как работи за повишаване на алгоритмите?

Увеличаването на алгоритмите комбинира всеки слаб ученик, за да създаде едно силно правило за прогнозиране. За идентифициране на слабото правило има основен алгоритъм за учене (машинно обучение). Всеки път, когато се прилага алгоритъм Base, той създава нови правила за прогнозиране, използвайки процеса на итерация. След известно повторение, той комбинира всички слаби правила, за да създаде едно единствено правило за прогнозиране.

За да изберете правилното разпределение, следвайте посочените по-долу стъпки:

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

Стъпка 2: Ако някакво прогнозиране се случи по време на първия алгоритъм за базово обучение, ние обръщаме голямо внимание на тази грешка при прогнозиране.

Стъпка 3: Повторете стъпка 2, докато се достигне лимитът на алгоритъма на основното обучение или се постигне висока точност.

Стъпка 4: Накрая, тя комбинира всички слаби учащи се, за да създаде една силна прогноза за прогнозиране.

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

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

  1. Алгоритъм на AdaBoost (Adaptive Boosting)
  2. Алгоритъм за усилване на градиента
  3. Алгоритъм за усилване на XG

Алгоритъм на AdaBoost (Adaptive Boosting)

За да разберете AdaBoost, моля, вижте изображението по-долу:

Клетка 1: В поле 1 за всеки набор данни сме задали равни тегла и за класифициране на плюс (+) и минус (-) знак прилагаме пън D1, който създава вертикална линия в лявата част на поле 1. Този ред е неправилно прогнозира три знака плюс (+) като минус (-), следователно ние прилагаме по-големи тежести към тези знак плюс и прилагаме друг пън за решение.

Каре 2: В поле 2 размерът на три неправилно предвидени плюс знака (+) става по-голям в сравнение с друг. Второто пънче D2 от дясната страна на блока предсказва този неправилно предвиден знак плюс (+) като правилен. Но тъй като възникна грешка при погрешно класифициране поради неравномерното тегло със знак минус (-), ние присвояваме по-голямо тегло на знак минус (-) и прилагаме друг пън за решение.

Клетка 3: В поле 3 поради грешка при погрешно класифициране три знака минус (-) имат голямо тегло. тук се прилага пън D3, за да се предвиди тази погрешна класификация и да се коригира. Този път за класифициране на плюс (+) и минус (-) се създава хоризонтална линия.

Клетка 4: В полето 4 пънчета D1, D2 и D3 се комбинират, за да създадат ново силно прогнозиране.

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

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

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

1. Загуба функция

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

2. Слаб ученик

При увеличаване на градиента дърветата на решения се използват като слаб ученик. Използва се регресионно дърво за даване на истински стойности, които могат да се комбинират заедно, за да се създадат правилни прогнози. Подобно на алгоритъма на AdaBoost, се използват малки дървета с единично разцепване, т.е. По-големите дървета се използват за големи нива i, e 4-8 нива.

3. Модел на добавки

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

XG Boost

XG Boost е кратък за Extreme Gradient Boosting. XG Boost е модернизирана реализация на Gradient Boosting Algorithm, който е разработен за висока изчислителна скорост, мащабируемост и по-добра производителност.

XG Boost има различни функции, които са както следва:

  1. Паралелна обработка: XG Boost осигурява паралелна обработка за изграждане на дърво, което използва CPU ядра по време на обучение.
  2. Крос-валидиране: XG Boost дава възможност на потребителите да стартират кръстосана проверка на процеса на усилване при всяка итерация, което улеснява получаването на точния оптимален брой усилващи итерации в един цикъл.
  3. Оптимизация на кеш: Осигурява оптимизация на кеш на алгоритмите за по-висока скорост на изпълнение.
  4. Разпределено изчисление : За обучение на големи модели XG Boost позволява разпределени изчисления.

Препоръчителни статии

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

  1. Какво е машинно обучение? | Определение
  2. Езици за програмиране за изучаване на алгоритми
  3. Какво е Blockchain технологията?
  4. Какво е алгоритъм?

Категория: