Алгоритмы машинного обучения | Объяснение алгоритма Adaboost

искусственный интеллект

Это 22-й день моего участия в августовском испытании обновлений.Подробности о событии:Испытание августовского обновления

1. Введение

Синяя точка и желтая точка успешно разделены линией, перпендикулярной оси X или оси Y. Независимо от того, как выбрана линия, для этой классификации невозможно достичь 100% точности. Когда был предложен персептрон, он дал нам идею для решения линейных задач.Когда мы столкнулись с проблемой исключающего ИЛИ, персептрон оказался бессилен. Позже была введена функция активации, которая решила проблему исключающего ИЛИ и вдохнула в персептрон жизненную силу. Возвращаясь к теме, что делать, если прямая линия не может правильно разделить классификацию? Введи функцию активации, хорошо?

2. метод упаковки

Процесс обучения мешкованию:

  1. В наборе данных с количеством обучающих данных X случайным образом выберите m наборов образцов (эти образцы будут возвращены после обучения базового классификатора C)
  2. Путем обучения m случайных выборок формируется базовый классификатор C1 с малой ошибкой.
  3. Присвоить вес W1 базовому классификатору C1
  4. Вернитесь к шагу 1, повторно извлеките m выборок и, наконец, линейно сложите каждый классификатор в соответствии с определенным весом, чтобы сформировать сильный классификатор, состоящий из базовых классификаторов.

\

Особенности бэггинга:

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

Б. Каждый классификатор может использовать один и тот же алгоритм, разные гиперпараметры, а также разные алгоритмы;

C. Выход каждого классификатора не имеет веса и равен.

Он характеризуется «случайная выборка". Так что же такое случайная выборка?

Случайная выборка (бутсрап) заключается в сборе фиксированного количества выборок из нашего обучающего набора, но после того, как каждая выборка собрана, образцы помещаются обратно. Другими словами, возможно, что образцы, собранные ранее, будут продолжать собираться после того, как их вернут обратно. Для нашего алгоритма мешков мы обычно случайным образом собираем такое же количество выборок, как и количество выборок обучающей выборки m. Количество полученных таким образом выборок такое же, как и в обучающей выборке, но содержание выборок другое. Если мы случайным образом выбираем обучающий набор с m выборками T раз, то из-за случайности наборы T выборок будут разными.

\

Кроме того, в Бэггинге есть множество различных методов распределения при назначении весов:

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

\

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

\

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

\

Недостатки упаковки:

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

\

3. Метод бустинга

\

\

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

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

Основные алгоритмы обучения (Гомогенная интеграция): например, «ансамбль деревьев решений», «ансамбль нейронных сетей» (соответствующие отдельные учащиеся называются базовыми учащимися)

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

\

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

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

Очень интересно, что позже Шапир доказал, что сильно обучаемые и слабо обучаемые эквивалентны,В обучении, если был найден «слабый алгоритм обучения», можно ли его повысить до «сильного алгоритма обучения»?

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

В процессе интеграции могут возникнуть следующие три ситуации:

  1. Эффект интеграции по-прежнему хорош, а эффект классификации улучшен
  2. Эффект интеграции не очевиден, а эффект классификации не улучшен.
  3. Эффект интеграции плохой, а эффект классификации уменьшается

\

\

\

4. Идеи по улучшению Adaboost

Таким образом, есть два вопроса, на которые нужно ответить для метода повышения:

1. Как изменить вес или распределение вероятностей тренировочных данных в каждом раунде;

2. Как объединить слабые классификаторы в сильный классификатор.

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

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

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

\

Однако есть несколько специфических проблем, которые алгоритм Boosting подробно не объяснил.

  1. Как рассчитать коэффициент ошибок обучения e

  2. Как получить весовой коэффициент слабого ученика α

  3. Как обновить веса выборки D

  4. какую комбинированную стратегию использовать

Это весь алгоритм Adaboost.Формула выглядит скучно и скучно.Давайте рассмотрим ее на примере.

\

Набор обучающих данных T={(x1,y1),(x2,y2),...,(xN,yN)}, где x представляет собой входную выборку, а y∈{+1,−1} является соответствующей меткой.

Выход: окончательный классификатор G(x)

(a) Для обучающих данных с весовым распределением D1 частота ошибок классификации является самой низкой, когда порог ν равен 2,5, поэтому базовый классификатор

(b) Частота ошибок G(x) в обучающем наборе данных

(c) Рассчитайте коэффициент G(x)

(d) Обновить распределение веса тренировочных данных

Исходные веса (таблица 1):

Теперь обновленные веса (таблица 2)

Можно заметить, что веса ошибочно классифицированных точек увеличены, потому что в формуле

\

при оценкепоследовательныйПри показатель экспоненты экспоненциальной функции отрицателен, exp(-α)

при оценкенепоследовательныйКогда показатель экспоненциальной функции является положительным числом, exp(α)>1

Согласно весам в таблице 2, мы должны сосредоточиться на трех точках x = 6, 7 и 8.

\

\

Теперь обновленные веса (таблица 3)

Видно, что из-за неправильного классификационного предсказания второго классификатора на x=3, 4, 5 соответствующие веса возрастут. Почему вес базового классификатора 2 больше, чем вес базового классификатора 1? Это связано с тем, что частота ошибок прогнозирования базового классификатора 2 меньше, чем у 1, частота ошибок базового классификатора 1 составляет 0,1 + 0,1 + 0,1 = 0,3, а частота ошибок базового классификатора 2 составляет 0,0715 + 0,0715 + 0,0715 = 0,2143. , когда при уменьшении частоты ошибок вес классификатора будет увеличиваться, что означает, что вес классификатора больше 1, когда он «голосует». Таким же образом постройте классификатор 3.

\

\

Резюме: таблица изменения веса (изменение веса, отмеченное красным, является неправильной классификацией классификатора)

Примечание. Следует отметить, что алгоритм повышения должен проверять, удовлетворяет ли текущий базовый учащийся базовым условиям в каждом раунде обучения.Если условия не выполняются, базовый учащийся отбрасывается. Начальное установленное количество раундов обучения T может быть не достигнуто, что может привести к плохой работе конечного интегрированного обучаемого.

5. Резюме:

\

6. Пример: использование Adaboost для прогнозирования смертности больных лошадей от симптомов грыжи.

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

Отредактировано 2019-04-02

adaboost

bagging

машинное обучение

Согласен 19

Добавить комментарий

Поделиться

​лайк​коллекция​подать заявку на переиздание

согласен 19

Поделиться

Статьи включены в следующие столбцы

Рекомендуемое чтение

комментариев пока нет

Напишите свой отзыв...

\

выпуск

\