AdaBoost

Материал из testwiki
Перейти к навигации Перейти к поиску

AdaBoost (сокращение от Шаблон:Lang-en) — алгоритм машинного обучения, предложенный Шаблон:Не переведено 5 и Шаблон:Не переведено 5. Может использоваться в сочетании с несколькими алгоритмами классификации для улучшения их эффективности. Алгоритм усиливает классификаторы, объединяя их в ансамбль. Является адаптивным в том смысле, что каждый следующий ансамбль классификаторов строится по объектам, неверно классифицированным предыдущими комитетами. AdaBoost чувствителен к шуму в данных и выбросам. Однако он менее подвержен переобучению по сравнению с другими алгоритмами машинного обучения.

AdaBoost вызывает слабые классификаторы в цикле t=1,,T. После каждого вызова обновляется распределение весов Dt, которые отвечают важности каждого из объектов обучающего множества для классификации. На каждой итерации веса каждого неверно классифицированного объекта возрастают, таким образом новый комитет классификаторов «фокусирует своё внимание» на этих объектах.

Алгоритм для задачи построения бинарного классификатора

Шаблон:См. также Дано: (x1,y1),,(xm,ym) где xiX,yiY={1,+1}

Инициализируем D1(i)=1m,i=1,,m.

Для каждого t=1,,T:

  • Находим классификатор ht:X{1,+1} который минимизирует взвешенную ошибку классификации: ht=argminhjϵj, где ϵj=i=1mDt(i)[yihj(xi)]
  • Если величина ϵt0.5, то останавливаемся.
  • Выбираем αt𝐑, обычно αt=12ln1ϵtϵt где ϵt взвешенная ошибка классификатора ht.
  • Обновляем:
Dt+1(i)=Dt(i)eαtyiht(xi)Zt
где Zt является нормализующим параметром (выбранным так, чтобы Dt+1 являлось распределением вероятностей, то есть i=1mDt+1(i)=1).

Строим результирующий классификатор:

H(x)=sign(t=1Tαtht(x))

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

eαtyiht(xi){<1,y(i)=ht(xi)>1,y(i)ht(xi)

Таким образом, после выбора оптимального классификатора ht для распределения Dt, объекты xi, которые классификатор ht идентифицирует корректно, имеют веса меньшие, чем те, которые идентифицируются некорректно. Следовательно, когда алгоритм тестирует классификаторы на распределении Dt+1, он будет выбирать классификатор, который лучше идентифицирует объекты неверно распознаваемые предыдущим классификатором.

Ссылки

Шаблон:Rq Шаблон:Машинное обучение