Підвищення алгоритму - Види посилення алгоритму при їх роботі

Зміст:

Anonim

Що таке розширювальний алгоритм?

Підвищення - це метод в алгоритмах, який перетворює слабкого учня на сильного. Це техніка, яка додає нові моделі для виправлення помилок існуючих моделей.

Приклад:

Давайте розберемося з цією концепцією за допомогою наступного прикладу. Візьмемо приклад електронного листа. Як ви розпізнаєте свою електронну пошту, спам чи ні? Ви можете розпізнати його за такими умовами:

  • Якщо електронний лист містить багато подібних джерел, це означає, що це спам.
  • Якщо електронний лист містить лише одне зображення файлу, то це спам.
  • Якщо електронний лист містить повідомлення "Ви володієте лотереєю в розмірі $ xxxxx", це означає, що це спам.
  • Якщо електронний лист містить якесь відоме джерело, це не спам.
  • Якщо він містить офіційний домен, наприклад educba.com тощо, це означає, що це не спам.

Вищезазначені правила не так сильно розпізнавати спам чи ні, отже, ці правила називаються слабкими учнями.

Щоб перетворити слабкого учня на сильного, який навчається, комбінуйте прогнозування слабкого учня, використовуючи наступні методи.

  1. Використовуючи середнє або середньозважене середнє.
  2. Вважайте, що прогноз має більш високий голос.

Розглянемо вищезазначені 5 правил, є 3 голоси за спам та 2 голоси за не спам. Оскільки існує висока кількість спаму, ми вважаємо це спамом.

Як працює прискорення алгоритмів?

Підвищення алгоритмів поєднує кожного слабкого учня, щоб створити одне сильне правило прогнозування. Для виявлення слабкого правила існує базовий алгоритм навчання (машинне навчання). Щоразу, коли застосовується алгоритм Base, він створює нові правила прогнозування, використовуючи процес ітерації. Після деякої ітерації він поєднує всі слабкі правила для створення одного єдиного правила передбачення.

Щоб вибрати правильний розподіл, виконайте наведені нижче кроки:

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

Крок 2. Якщо будь-яке прогнозування відбувається під час першого алгоритму базового навчання, ми звертаємо велику увагу на цю помилку передбачення.

Крок 3: Повторіть крок 2 до досягнення межі алгоритму базового навчання або високої точності.

Крок 4: Нарешті, він поєднує всіх слабких учнів, щоб створити один сильний прогноз прогнозу.

Типи алгоритму посилення

Алгоритми прискорення використовують різні двигуни, такі як штамп рішення, максимальний запас алгоритму класифікації тощо. Існують три типи алгоритмів підсилення:

  1. Алгоритм AdaBoost (Adaptive Boosting)
  2. Алгоритм підвищення градієнта
  3. Алгоритм підсилення XG

Алгоритм AdaBoost (адаптивне підвищення)

Щоб зрозуміти 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 короткий для екстремальних градієнтів. XG Boost - це вдосконалена реалізація алгоритму підвищення градієнта, який розроблений для високої обчислювальної швидкості, масштабованості та кращої продуктивності.

XG Boost має різні функції:

  1. Паралельна обробка: XG Boost забезпечує паралельну обробку для побудови дерева, яка використовує ядра CPU під час навчання.
  2. Перехресна перевірка: XG Boost дозволяє користувачам запускати перехресну перевірку процесу прискорення при кожній ітерації, полегшуючи отримання точної оптимальної кількості прискорених ітерацій за один цикл.
  3. Оптимізація кешу: забезпечує оптимізацію кешу алгоритмів для більшої швидкості виконання.
  4. Розподілене обчислення : Для навчання великих моделей XG Boost дозволяє розподілені обчислення.

Рекомендовані статті

У цій статті ми побачили, що таке підвищення алгоритму, різні типи прискореного алгоритму в машинному навчанні та їхній роботі. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Що таке машинне навчання? | Визначення
  2. Мови програмування для вивчення алгоритмів
  3. Що таке технологія Blockchain?
  4. Що таке алгоритм?