Я написал эту статью, потому что лично у меня было много проблем с пониманием алгоритма бустинга. Эта статья написана специально для тех, кто испытывает затруднения в понимании алгоритма бустинга и обязательно развеет ваши сомнения по поводу бустинга. Здесь будет объяснен простой алгоритм повышения.
Повышение, само название предполагает повышение точности. Эта ансамблевая модель решает проблему недообучения в моделях. Мы создаем модели со слабыми учениками или недостаточно приспособленными, а затем объединяем все модели, чтобы получить модель с низким смещением и низкой дисперсией.
Простым алгоритмом повышения является Adaboost или Адаптивное повышение. Само название предлагает адаптироваться и учиться на предыдущих ошибках. Здесь строятся последующие модели, которые исправляют ошибки предыдущих моделей. Таким образом, ошибки, допущенные в одной модели, не повторяются в другой модели. Кроме того, окончательный прогноз основан на голосах от отдельного классификатора, где вес голоса каждого классификатора зависит от его точности.
Шаги в алгоритме Adaboost:
- Разделите данные на поезд и тест.
- Возьмите случайные выборки того же размера, что и поезд, и постройте пень решения, дерево одной глубины или слабого ученика. Предскажите все наблюдения в поезде, используя это дерево. Первоначально мы присваиваем одинаковые веса всем наблюдениям, т. е. 1/n, где n — размер поезда. У нас будут некоторые неправильно классифицированные наблюдения и правильно классифицированные наблюдения.
- Нашей целью будет следующая итерация, чтобы исправить неправильно классифицированные наблюдения в предыдущей модели 1. Мы увеличиваем веса, соответствующие неправильно классифицированным наблюдениям, и уменьшаем веса, соответствующие правильно предсказанным наблюдениям. Если следующая модель попытается исправить неправильно классифицированные наблюдения, то в модели будет увеличена взвешенная точность, т. е. веса * (случай правильно предсказан == 1) на некоторый %, соответствующий неправильно классифицированным наблюдениям. Это может не увеличить общую точность. следующей модели, но повысит точность, соответствующую неправильно классифицированным наблюдениям, по сравнению с предыдущей моделью.
- Следующая модель обучается на основе весов и обучающих данных. Новые веса для следующей модели основаны на взвешенной ошибке предыдущей модели. Суммарная взвешенная ошибка — это веса предыдущей модели * (неверно предсказанные случаи). Например, если 3 наблюдения ошибочно предсказаны из 10 наблюдений. Тогда взвешенная ошибка = 1/10*1+1/10*1+1/10*1=0,3.
Взвешенная ошибка >0,5 больше похожа на случайное угадывание.
5.Создайте ячейки новых весов, где ширина ячейки будет равна самому весу, нижний предел равен 0, а ширина ячейки неправильно классифицированных будет выше. Мы случайным образом выберем число от 0 до 1, и выбранное значение будет быть сопоставлены со столбцами бинов, и выбрано соответствующее наблюдение, и продолжаться до тех пор, пока не будет выбрано n выборок для обучения следующей модели, этот процесс поможет включить неправильно классифицированные наблюдения в обучающие данные, поскольку большая ширина бина повышает вероятность того, что случайные число, выбранное так, чтобы оно лежало в ячейке. Опять же, прогнозирование выполняется для всего обучающего набора данных. Это последовательное моделирование продолжается до тех пор, пока последующее моделирование не будет иметь изменений во взвешенной точности, соответствующей неправильно классифицированным наблюдениям, по сравнению с предыдущим, или количество итераций будет завершено.
6. Если точность взвешивания классификатора хорошая, это означает, что он может правильно классифицировать метки в наборе обучающих данных, поскольку каждый раз для обучения классификатора используется подвыборка. Также это означает, что классификатор будет одинаково хорошо работать с тестовым набором данных. Комбинированный прогноз набора обучающих данных будет
P1*Предсказанные метки классификатора 1+ P1* Предсказанные метки классификатора 2+………………… (1)
где P1 — веса, основанные на точности взвешивания, соответствующей каждому классификатору. Более высокие веса соответствуют хорошему классификатору.
Следовательно, окончательный прогноз тестовых данных проходит через то же уравнение (1).
(7) В этом процессе те, которые были правильно предсказаны в модели, могут быть неправильно классифицированы в другой модели, но те, которые неправильно классифицированы в предыдущей модели, будут исправлены в следующей модели. Следовательно, когда мы объединяем прогнозы от каждого классификатора, систематическая ошибка уменьшается. и, следовательно, мы можем получить низкое смещение и низкую дисперсию.
Надеюсь, механизм Adaboost вам понятен. Любой запрос, пожалуйста, напишите по адресу [email protected].