Чтобы разобраться в усилении градиента, давайте разберемся с концепцией ансамбля обучения на примере. Предположим, вы путешествуете видеоблогером и создали короткое видео о своей последней поездке в страну. Теперь вы хотите получить отзывы о видео, прежде чем размещать его на YouTube. Какими способами вы можете это сделать?

  1. Вы можете попросить одного из своих друзей оставить отзыв о видео для вас:

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

2. Другой способ - спросить своих коллег, которые были с вами

Этот метод может обеспечить честную обратную связь, но проблема все еще существует ... они могут понимать кинематографию, кадры или звук, поскольку они были частью поездки, но в то же время могут не быть лучшими ценителями черного юмора.

3: Что, если вы отправите это видео каким-то из своих случайных друзей, в Instagram или в группу в социальных сетях?

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

В этом случае ответы будут более обобщенными и разнообразными, поскольку теперь у вас есть люди с разными наборами навыков. И, как оказалось, это лучший подход для получения честных отзывов, чем в предыдущих случаях, которые мы видели.

Подобное верно для разнообразного набора моделей по сравнению с отдельными моделями. Такое разнообразие машинного обучения достигается с помощью метода ансамблевого обучения.

Как «АНСАМБЛЬНОЕ ОБУЧЕНИЕ» связано с «УПРАВЛЕНИЕМ»?

Повышение - это тип ансамблевого обучения, предназначенный для повышения точности модели.

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

Кто эти «СЛАБЫЕ» и «СИЛЬНЫЕ» ученики?

Предположим, что на основе набора данных изображений, содержащих изображения кошек и собак, вас попросили построить модель, которая может классифицировать эти изображения на два отдельных класса. Как и любой другой человек, вы начнете с идентификации изображений, используя некоторые правила, как показано ниже:

  1. На изображении есть заостренные уши: кошка
  2. На изображении глаза в форме кошки: кошка
  3. На изображении большие конечности: собака
  4. На изображении есть заостренные когти: кошка
  5. На изображении структура рта шире: собака

Все эти правила помогают нам определить, является ли изображение собакой или кошкой, однако, если бы мы классифицировали изображение на основе отдельного правила, прогноз стал бы неверным. Каждое из этих правил по отдельности называется слабым учеником, потому что эти правила недостаточно сильны , чтобы классифицировать изображение как кошку или собаку.

Поэтому, чтобы убедиться, что наш прогноз является более точным, мы можем объединить прогноз от каждого из этих слабых учеников, используя правило большинства. Это создает сильную модель ученика.

В приведенном выше примере мы определили 5 слабых учеников, и большинство этих правил (то есть 3 из 5 учеников предсказывают изображение как кошку) дают нам предсказание, что изображение - это кошка.

Таким образом, наш окончательный результат - кошка.

Давай начнем…

Алгоритм повышения градиента проще всего объяснить, сначала представив алгоритм AdaBoost, который подходит для последовательности слабых учеников на разных взвешенных данных обучения. Он начинается с предсказания исходного набора данных и придает равный вес каждому наблюдению. Если прогноз с использованием первого учащегося неверен, то наблюдение, которое было неверно предсказано, придает больший вес. Будучи итеративным процессом, он продолжает добавлять учащихся до тех пор, пока не будет достигнут предел количества моделей или точности.

Рассмотрим пример изображения, упомянутого выше. Чтобы создать классификатор AdaBoost, учтите, что в качестве первого базового классификатора алгоритм дерева решений обучен делать прогнозы на основе наших обучающих данных. Применяя следующую методологию AdaBoost, вес неправильно классифицированных обучающих экземпляров увеличивается (из приведенного выше рисунка видно, что обновленные экземпляры кажутся больше, чем другие). Затем второй классификатор обучается, и обновленные веса подтверждаются. Процедура повторяется снова и снова.

В конце каждого прогноза модели мы в конечном итоге увеличиваем веса неправильно классифицированных экземпляров, чтобы следующая модель лучше справлялась с ними, и так далее.

Gradient Boosting учится на ошибке - остаточной ошибке напрямую, а не обновляет веса точек данных. Основная идея здесь состоит в том, чтобы преодолеть ошибки в предсказаниях предыдущего учащегося.

Шаг 1. Обучите дерево решений

Шаг 2. Примените дерево решений, которое только что обучили предсказывать

Шаг 3. Рассчитайте остаток этого дерева решений, сохраните остаточные ошибки как новое значение y

Шаг 4. Повторите шаг 1 (до тех пор, пока не будет достигнуто количество деревьев, которые мы установили для обучения)

Шаг 5. Сделайте окончательный прогноз

Повышение градиента делает новый прогноз, просто складывая прогнозы (всех деревьев).

ВСЕ ЕЩЕ ВНУТРЕННИЙ ???

Предположим, что должна быть построена регрессионная модель и данные имеют единственный выход, где первая выборка имеет выход 15. Цель состоит в том, чтобы построить регрессионную модель, которая правильно предсказывает выходные данные такой выборки.

Первая слабая модель предсказывала, что выход первой выборки будет 9, а не 15, как показано на рисунке. Чтобы измерить величину потерь в предсказании, вычисляется его остаток. Остаточный - это разница между желаемым и прогнозируемым выходами. Он рассчитывается по следующему уравнению:

желаемый - прогнозируемый = остаточный

Для остатка1 = 6 между прогнозируемым и желаемым выходными данными мы могли бы создать вторую слабую модель, в которой ее цель состоит в том, чтобы предсказать результат, равный остатку первой модели. Таким образом, вторая модель исправит слабость первой модели. Сумма результатов двух моделей будет равна желаемому результату в соответствии со следующим уравнением:

желаемый = предсказанный1 + предсказанный2 (остаток1)

Но если вторая слабая модель не смогла правильно предсказать значение остатка1 и, например, просто вернула 3, то второй слабый ученик также будет иметь ненулевой остаток, рассчитываемый следующим образом:

остаток2 = прогнозируемый1 - прогнозируемый2 = 6–3 = 3

Таким образом, Model2 предсказывает 12

Теперь у нас есть следующие прогнозы

  • модель 1 = 9
  • модель 2 = 12

Чтобы исправить слабое место второй слабой модели, будет создана третья слабая модель. Его цель - предсказать остаток второй слабой модели. Таким образом, его цель - 3. Таким образом, желаемый результат нашей выборки будет равен прогнозам всех слабых моделей следующим образом:

желаемый = предсказанный1 + предсказанный2 (остаток1) + предсказанный3 (остаток2)

  • модель 3 = 9 + 3 + 2 = 14

Если прогноз третьей слабой модели равен 2, то есть он не может предсказать остаток второй слабой модели, то будет остаток для такой третьей модели, равный следующему:

остаток3 = прогнозируемый2 - прогнозируемый3 = 3–2 = 1

В результате будет создана четвертая слабая модель для прогнозирования остатка третьей слабой модели, равного 1. Желаемый результат будет равен прогнозам всех слабых моделей следующим образом:

желаемый = предсказанный1 + предсказанный2 (остаток1) + предсказанный3 (остаток2) + предсказанный4 (остаток3)

  • модель 4 = 9 + 3 + 2 + 1 = 15

Если четвертая слабая модель правильно предсказала свою цель (т. Е. Остаток3), то желаемый результат, равный 15, был достигнут с использованием в общей сложности четырех слабых моделей.

Из приведенной выше диаграммы ясно видно, что модель 4 предсказывает 15, что является целью, когда остаток4 равен 0.

Я надеюсь, что эта статья помогла вам получить общее представление о том, как работает алгоритм повышения градиента.