Алгоритм AnyBoost

Материал из MachineLearning.

Перейти к: навигация, поиск
Данная статья является непроверенным учебным заданием.
Студент: Участник:Mordasova
Преподаватель: Участник:Константин Воронцов
Срок: 10 февраля 2010

До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}.

См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.


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

Содержание

Описание алгоритма

Алгоритм AnyBoost

Рассмотрим задачу классификации на два класса, Y=\{-1,+1\}. \mathcal{F} - множество базовых классификаторов, все их линейные комбинации содержатся в множестве \mathrm{lin}(\mathcal{F}). Для F,G\in\mathrm{lin}(\mathcal{F}) введено скалярное умножение: (F,G)=\frac{1}{m}\sum^{m}_{i=1}{F(x_i)G(x_i)}, где X^l =\{(x_i,y_i)\} - обучающая выборка. Функция потерь определяется через дифференцируемую функцию выброса C:\mathbb{R} \to \mathbb{R}.

  1. Инициализация F_0=0;
  2. Для всех t=0,..,T пока не выполнено условие выхода из цикла;
    1. Получение нового классификатора f_{t+1}, увеличивающего значение -(С(F_t),f_{t+1});
    2. Если -(С(F_t),f_{t+1})\le 0 выходим из цикла и возвращаем F_t;
    3. Выбор веса w_{t+1}
    4. Уточнение классификатора F_{t+1}=F_{t}+w_{t+1}f_{t+1}
  3. Возвращаем F_{T+1}

См. также

Литература

  1. 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 с.

Ссылки

Личные инструменты