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

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

Алгоритм

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

  • Если , то предсказать 1
  • В противном случае прогнозируйте 0

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

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

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

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

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

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

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

Ссылки

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