Винноу (алгоритм)
Алгоритм веяния [1] это метод машинного обучения для изучения линейного классификатора на помеченных примерах. Он очень похож на алгоритм перцептрона . Однако алгоритм перцептрона использует аддитивную схему обновления веса, в то время как Winnow использует мультипликативную схему , которая позволяет ему работать намного лучше, когда многие измерения не имеют значения (отсюда и его название winnow ). Это простой алгоритм, который хорошо масштабируется для многомерных данных. Во время обучения Винноу показывают последовательность положительных и отрицательных примеров. решений Из них он изучает гиперплоскость , которую затем можно использовать для обозначения новых примеров как положительных или отрицательных. Алгоритм также можно использовать в условиях онлайн-обучения , где этапы обучения и классификации четко не разделены.
Алгоритм
[ редактировать ]Базовый алгоритм Winnow1 заключается в следующем. Пространство экземпляра , то есть каждый экземпляр описывается как набор логических функций . Алгоритм поддерживает неотрицательные веса. для , которые изначально установлены в 1, по одному весу для каждой функции. Когда учащемуся дан пример , он применяет типичное правило прогнозирования для линейных классификаторов:
- Если , то предскажите 1
- В противном случае прогнозируем 0
Здесь это действительное число, которое называется порогом . Вместе с весами порог определяет разделяющую гиперплоскость в пространстве экземпляров. Хорошие оценки получаются, если (см. ниже).
К каждому представленному примеру учащийся применяет следующее правило обновления:
- Если пример правильно классифицирован, ничего не делайте.
- Если пример спрогнозирован неверно и правильный результат равен 0, для каждого признака , соответствующий вес установлен на 0 (шаг понижения).
- Если пример спрогнозирован неправильно и правильный результат равен 1, для каждого признака , соответствующий вес умноженный на α (шаг продвижения).
Типичное значение α составляет 2.
Существует множество вариаций этого базового подхода. Веять2 [1] аналогичен, за исключением того, что на этапе понижения веса веса делятся на α, а не устанавливаются равными 0. Сбалансированный веялка поддерживает два набора весов и, следовательно, две гиперплоскости. Затем это можно обобщить для классификации по нескольким меткам .
Границы ошибок
[ редактировать ]В определенных обстоятельствах можно показать, что количество ошибок, которые Винноу делает в процессе обучения, имеет верхнюю границу , независимую от количества случаев, с которыми оно представлено. Если алгоритм Winnow1 использует и на целевой функции, которая является -буквальная монотонная дизъюнкция, определяемая формулой , то для любой последовательности экземпляров общее количество ошибок ограничено: . [2]
Ссылки
[ редактировать ]- ^ Jump up to: а б Ник Литтлстоун (1988). «Быстрое обучение при наличии большого количества нерелевантных атрибутов: новый алгоритм с линейным порогом», Machine Learning 285–318 (2) .
- ^ Ник Литтлстоун (1989). «Границы ошибок и логарифмические алгоритмы линейно-порогового обучения».Технический отчет UCSC-CRL-89-11, Калифорнийский университет, Санта-Круз.