Winnow (алгоритм) - Winnow (algorithm)

В алгоритм веянки[1] это техника от машинное обучение для изучения линейный классификатор из помеченных примеров. Он очень похож на алгоритм перцептрона. Однако алгоритм перцептрона использует схему аддитивного обновления веса, в то время как Winnow использует мультипликативная схема что позволяет ему работать намного лучше, когда многие измерения неактуальны (отсюда и его название веять ). Это простой алгоритм, который хорошо масштабируется для данных большого размера. Во время обучения Винноу показывают последовательность положительных и отрицательных примеров. Из них он узнает решение гиперплоскость которые затем можно использовать для обозначения новых примеров как положительных или отрицательных. Алгоритм также может быть использован в онлайн обучение обстановка, в которой этапы обучения и классификации четко не разделены.

Алгоритм

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

  • Если , тогда предсказать 1
  • Иначе предсказать 0

Здесь это действительное число, которое называется порог. Вместе с весами порог определяет разделяющую гиперплоскость в пространстве экземпляра. Хорошие оценки получаются, если (Смотри ниже).

Для каждого примера, с которым он представлен, учащийся применяет следующее правило обновления:

  • Если пример классифицирован правильно, ничего не делайте.
  • Если пример предсказан неверно и правильный результат был 0, для каждой функции , соответствующий вес установлен на 0 (шаг понижения).
  • Если пример спрогнозирован неверно и правильный результат был 1, для каждой функции , соответствующий вес умножается на α(шаг продвижения).

Типичное значение для α равно 2.

Есть много вариантов этого базового подхода. Winnow2[1] аналогичен, за исключением того, что на этапе понижения веса делятся на α вместо 0. Сбалансированный Winnow поддерживает два набора весов и, следовательно, две гиперплоскости. Затем это можно обобщить для классификация с несколькими этикетками.

Границы ошибки

В определенных обстоятельствах можно показать, что количество ошибок, которые Winnow делает в процессе обучения, имеет большое значение. верхняя граница это не зависит от количества экземпляров, с которыми он представлен. Если алгоритм Winnow1 использует и на целевой функции, которая является -литеральная монотонная дизъюнкция, задаваемая , то для любой последовательности экземпляров общее количество ошибок ограничено:.[2]

Рекомендации

  1. ^ а б Ник Литтлстоун (1988). «Быстрое обучение при большом количестве нерелевантных атрибутов: новый алгоритм с линейным порогом», Машинное обучение 285–318(2).
  2. ^ Ник Литтлстоун (1989). «Границы ошибок и логарифмические алгоритмы обучения с линейным порогом». Технический отчет UCSC-CRL-89-11, Калифорнийский университет, Санта-Крус.