Алгоритм AnyBoost
Материал из MachineLearning.
(→Описание алгоритма) |
|||
Строка 5: | Строка 5: | ||
'''Алгоритм AnyBoost''' | '''Алгоритм AnyBoost''' | ||
- | Рассмотрим задачу классификации | + | Рассмотрим задачу [[классификация|классификации]]. Пусть <tex>\mathcal{F}</tex> - множество базовых классификаторов, а <tex>\mathrm{lin}\mathcal{F})</tex> - множество всех линейных комбинаций из <tex>\mathcal{F}</tex>. |
- | На каждом шаге алгоритма к текущему классификатору <tex>F</tex> прибавляется базовый классификатор так, чтобы значение <tex>C(F+\ | + | На каждом шаге алгоритма к текущему классификатору <tex>F\in \mathcal{F}</tex> прибавляется базовый классификатор так, чтобы значение <tex>C(F+\varepsilon f)</tex> уменьшилось на некоторое значение <tex>\varepsilon</tex>. То есть в терминах функционального пространства для функции <tex>f</tex> ищется направление, в котором функция <tex>C(F+\varepsilon f)</tex> быстрее уменьшается. Наибольшее уменьшение функции потерь наблюдается в случае, когда <tex>f</tex> максимизирует величину <tex>-\left \langle \nabla C(F),f \right \rangle </tex>. |
# Инициализация <tex>F_0=0</tex>; | # Инициализация <tex>F_0=0</tex>; | ||
Строка 21: | Строка 21: | ||
Функция потерь <tex> C=\frac{1}{m}\sum^{m}_{i=1}{c(y_iF(x_i))}</tex> определяется через дифференцируемую функцию выброса <tex>c:\mathbb{R} \to \mathbb{R}</tex>. | Функция потерь <tex> C=\frac{1}{m}\sum^{m}_{i=1}{c(y_iF(x_i))}</tex> определяется через дифференцируемую функцию выброса <tex>c:\mathbb{R} \to \mathbb{R}</tex>. | ||
В этом случае <tex>-\left \langle \nabla C(F),f \right \rangle = -\frac{1}{m^2}\sum^{m}_{i=1}{y_if(x_i)c'(y_iF(x_i))} </tex>, и нахождение классификатора на каждом шаге будет равносильно нахождению классификатора <tex>f</tex>, минимизирующего взвешенную ошибку. | В этом случае <tex>-\left \langle \nabla C(F),f \right \rangle = -\frac{1}{m^2}\sum^{m}_{i=1}{y_if(x_i)c'(y_iF(x_i))} </tex>, и нахождение классификатора на каждом шаге будет равносильно нахождению классификатора <tex>f</tex>, минимизирующего взвешенную ошибку. | ||
+ | |||
==Методы голосования как частный случай AnyBoost== | ==Методы голосования как частный случай AnyBoost== | ||
Версия 19:49, 7 февраля 2010
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |
Алгоритм AnyBoost - класс алгоритмов, представляющих бустинг как процесс градиентного спуска. В основе алгоритма лежит последовательное уточнение функции, представляющей собой линейную комбинацию базовых классификаторов, с тем чтобы минимизировать функцию потерь. В класс AnyBoost входят практически все алгоритмы бустинг как частные случаи.
Содержание |
Описание алгоритма
Алгоритм AnyBoost
Рассмотрим задачу классификации. Пусть - множество базовых классификаторов, а - множество всех линейных комбинаций из . На каждом шаге алгоритма к текущему классификатору прибавляется базовый классификатор так, чтобы значение уменьшилось на некоторое значение . То есть в терминах функционального пространства для функции ищется направление, в котором функция быстрее уменьшается. Наибольшее уменьшение функции потерь наблюдается в случае, когда максимизирует величину .
- Инициализация ;
- Для всех пока не выполнено условие выхода из цикла;
- Получение нового классификатора , увеличивающего значение ;
- Если выходим из цикла и возвращаем ;
- Выбор веса
- Уточнение классификатора
- Возвращаем
В случае бинарного классификатора .
- обучающая выборка.
Функция потерь определяется через дифференцируемую функцию выброса .
В этом случае , и нахождение классификатора на каждом шаге будет равносильно нахождению классификатора , минимизирующего взвешенную ошибку.
Методы голосования как частный случай AnyBoost
Алгоритм | Функция потерь | Размер шага |
---|---|---|
AdaBoost | Линейный поиск | |
ARC-X4 | ||
ConfidenceBoost | Линейный поиск | |
LogitBoost | Метод Ньютона |
Достоинства
Недостатки
См. также
Литература
- Mason L., Baxter J., Bartlett P., Frean M. Boosting algorithms as gradient descent. — Advances in Neural Information Processing Systems. — MIT Press, 2000. — T. 12. — 512--518 с.
- Mason L., Baxter J., Bartlett P., Frean M. Functional Gradient Techniques for Combining Hypotheses. — Advances in Large Margin Classifiers. — MIT Press, 1999. — T. 12. — 221--246 с.