Как обучается одиночный классификатор в AdaBoost?

Вопрос или проблема

Алгоритм AdaBoost:

enter image description here

Моя проблема заключается в том, как обучается классификатор $G_m(x)$. Что значит, что классификатор обучается с использованием весов $w_i$? Означает ли это подгонку классификатора через $\{w_i,y_i\}_{i=1}^{N}$?

Adaboost — это модель (ансамбль), которая начинается с высоким смещением, но низкой дисперсией, в отличие от ансамблей баггинга, которые являются моделями с высокой дисперсией, но низкой (см. рис. 1).

figure 1

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

Процесс подгонки в AdaBoost заключается в использовании дерева решений глубины 1 на наборе данных. Учитывая такой набор и веса, связанные с каждым, задача подгонки дерева решений (пня) включает нахождение “лучшей” переменной $x$ и порога $s$, где лучшая переменная и порог разделения определяются как пара, минимизирующая некоторую меру нечистоты узла, например, индекс Джини.

Таким образом, при наличии набора переменных-кандидатов для разделения и набора обучающих данных будет уникальное решение (единая переменная и порог), которое является лучшим деревом решений глубины 1 для текущей стадии повышения. Набор переменных $𝑋={\{{𝑥1,𝑥2,…}\}}$, из которых мы можем выбрать нашу переменную разделения, может быть либо полным набором имеющихся признаков, либо (случайным) подмножеством. Многие реализации классификаторов деревьев решений позволят алгоритму подгонки случайно выбирать подмножество переменных на каждом этапе ветвления.

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

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

Наконец, вы могли бы найти полезными следующие ресурсы:

  1. https://www.youtube.com/watch?v=thR9ncsyMBE&list=PL05umP7R6ij35ShKLDqccJSDntugY4FQT&index=8

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

.

Ответ или решение

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

Обучение отдельного классификатора в контексте AdaBoost

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

Процесс определения весов и обучения

  1. Инициализация весов: Все примеры изначально имеют одинаковый вес (w_i = \frac{1}{N}), где (N) — общее количество примеров в обучающей выборке.

  2. Обучение классификатора: Индивидульный классификатор, например, пень решения (decision stump), обучается с учетом текущих весов. Это осуществляется путем выбора признака и порогового значения (s), которые минимизируют ошибку классификации, взвешенную по (w_i).

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

  4. Комбинирование классификаторов: Веса каждого обученного классификатора (G_m(x)) определяются также в соответствии с его производительностью, и в финальной предсказательной модели они комбинируются взвешенным образом.

Почему используются веса?

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

Ресурсы для углубления изучения AdaBoost

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

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

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

Капча загружается...