Алгоритм Passive-Aggressive
Материал из MachineLearning.
| | Статья написана с использованием LLM GPT-5.6 Sol xhigh и проверено участником Aleksandr Iakovlev 09:34, 17 июля 2026 (MSD) |
Алгоритм Passive-Aggressive (PA, пассивно-агрессивный алгоритм) — семейство основанных на отступе алгоритмов онлайнового обучения. На каждом шаге базовый PA меняет текущую модель ровно настолько, насколько нужно для правильной классификации нового объекта с заданным отступом; мягкие варианты допускают нарушение этого условия. Если требуемый отступ уже достигнут, алгоритм остаётся «пассивным»; если нет — выполняет «агрессивное» обновление. Семейство предложено К. Краммером, О. Декелем, Й. Кешетом, Ш. Шалевом-Шварцем и Й. Сингером и охватывает бинарную и многоклассовую классификацию, регрессию и более общие задачи предсказания.
PA родствен персептрону и методу опорных векторов использованием линейной разделяющей функции, однако не является другим названием ни одного из них. Его отличительная черта — аналитическое решение небольшой задачи проекции с ограничением на текущем примере.
Постановка бинарной классификации
Онлайновое обучение идёт по раундам . На раунде
алгоритм получает вектор признаков
, предсказывает метку
затем узнаёт правильную метку и, при необходимости, строит
. Величина
называется знаковым отступом. Положительный отступ означает правильный знак ответа, но PA требует более сильного условия . Нарушение измеряется кусочно-линейной функцией потерь (hinge loss):
Если , текущий пример не вызывает обновления. Свободный член можно включить в модель, добавив к каждому
постоянную координату; при этом эта координата также входит в норму в формулах шага.
Идея и вывод обновления
Базовый PA выбирает среди всех векторов, дающих нулевую потерю на текущем примере, ближайший к прежнему вектору весов:
при ограничении
Геометрически это евклидова проекция на полупространство допустимых весов. Близость к
сохраняет накопленную ранее информацию, а ограничение обеспечивает единичный отступ на новом объекте.
При положительной потере лагранжиан задачи имеет вид
Из условия стационарности следует
Подстановка этого выражения в активное ограничение даёт при
С учётом случая нулевой потери закрытая формула обновления такова:
Таким образом, отдельный график скорости обучения не задаётся: размер шага определяется текущей потерей и нормой объекта.
Варианты PA, PA-I и PA-II
Базовый PA требует полностью исправить нарушение на каждом раунде. Ошибочная метка поэтому может вызвать чрезмерно большое изменение. Два мягких варианта вводят переменную послабления и параметр агрессивности
.
Для PA-I решается задача
Для PA-II штраф квадратичен:
Во всех трёх случаях направление обновления одинаково, а шаг равен:
- PA:
- PA-I:
- PA-II:
В PA-I параметр непосредственно ограничивает шаг сверху. В PA-II он плавно меняет знаменатель. В обоих вариантах увеличение
делает обновление более агрессивным; универсального значения
нет.
Псевдокод
Вход: поток размеченных объектов; вариант PA, PA-I или PA-II;
C > 0 для PA-I и PA-II.
Инициализировать вектор весов нулями.
Для каждого раунда:
получить объект x;
выдать знак скалярного произведения весов и x;
получить правильную метку y;
вычислить hinge loss и квадрат нормы x;
если loss равен нулю:
оставить веса без изменения;
иначе:
вычислить tau по формуле выбранного варианта;
прибавить к весам tau * y * x.
Порядок «сначала предсказать, затем увидеть метку» существенен: иначе это уже не стандартный протокол онлайнового обучения.
Пошаговый пример
Рассмотрим базовый PA без свободного члена, начиная с .
| Раунд | | Отступ | Потеря | Шаг | Новые веса |
|---|---|---|---|---|---|
| 1 | | | | | |
| 2 | | | | | |
| 3 | | | | | |
Например, на втором раунде , поэтому знаковый отступ равен
. После обновления получаем
и новый отступ ровно
. То же происходит на каждом раунде с положительной потерей: базовый PA достигает границы ограничения для текущего объекта.
Регрессионная модификация
Для онлайновой регрессии прогноз имеет вид , а вместо классификационной потери используется
-нечувствительная функция
Нулевая потеря соответствует полосе допустимых прогнозов ширины . Поэтому обновление является проекцией не на полупространство, а на гиперполосу:
Шаг задаётся теми же тремя формулами, если заменить
на
. В первоисточнике показано, что бинарные границы потерь переносятся на эти регрессионные варианты через аналогичную основную лемму.
Многоклассовый случай
Пусть для каждого из классов хранится вектор
. Предсказание выбирается по наибольшей оценке:
После получения истинной метки выбирается самый сильный неверный конкурент
и вычисляется потеря
Специализация общей редукции из исходной работы даёт виртуальный объект с квадратом нормы . Поэтому для базового варианта
для PA-I шаг ограничивается сверху величиной , а для PA-II знаменатель дополняется слагаемым
. Меняются только два прототипа:
Остальные векторы остаются прежними. Более общая многометочная версия сравнивает релевантный класс с наименьшей оценкой и нерелевантный класс с наибольшей оценкой; та же редукция позволяет перенести бинарный анализ.
Вычислительная сложность
Для плотного бинарного линейного классификатора вычисление оценки, нормы и обновления занимает времени на объект и
памяти. Для разреженного объекта стоимость равна
, если операции выполняются только по ненулевым признакам.
В многоклассовой реализации прямой поиск максимальной оценки требует времени (или
для разреженных данных), а само обновление двух прототипов —
. Память составляет
.
Алгоритм допускает замену скалярных произведений ядром. Однако тогда предиктор обычно хранит объекты с ненулевыми коэффициентами, и без дополнительного ограничения бюджет памяти и время предсказания могут расти с числом обновлений. Авторы исходной работы отдельно отмечают, что агрессивное обновление даже при малой положительной потере способно сделать ядерное представление большим.
Свойства и теоретические гарантии
Ниже приведены именно детерминированные границы для произвольной последовательности из исходной статьи, а не утверждения о вероятности обобщения. Пусть — произвольный фиксированный линейный предиктор, выбранный для сравнения задним числом,
а — число ошибок классификации.
- Если существует
с нулевой потерей на всех раундах, то для базового PA
Поскольку при ошибке , эта же правая часть ограничивает
.
- Для PA-I на произвольной, не обязательно разделимой последовательности доказано
- Для PA-II при тех же обозначениях доказана граница квадратичной накопленной потери
Эти результаты сравнивают PA с одним фиксированным предиктором и применимы как к разделимым, так и к неразделимым данным в указанных формулировках. Они не означают автоматической сходимости к решению пакетного SVM и сами по себе не являются оценкой качества на независимой случайной выборке.
Чувствительность к шуму и практическое применение
Базовый PA исправляет текущий пример полностью, поэтому ошибочная метка может резко сдвинуть разделяющую гиперплоскость и вызвать ошибки на следующих раундах. PA-I ограничивает величину шага, а PA-II смягчает её непрерывно. В экспериментах исходной работы мягкие варианты превосходили базовый PA при высоком уровне искусственно добавленного шума, но это наблюдение не является универсальной гарантией для любых данных.
Норма объекта входит в знаменатель шага, поэтому масштабирование признаков существенно. На практике признаки нормируют согласованным способом, а и, для регрессии,
выбирают по отдельному валидационному потоку или по проверке, сохраняющей временной порядок. Малый
означает осторожные, но более медленные изменения; большой
приближает поведение к базовому PA и повышает влияние отдельных наблюдений.
PA удобен, когда объекты поступают последовательно и модель требуется обновлять без повторного обучения на всей истории: при фильтрации и тематической классификации текстовых потоков, классификации событий и сигналов, распознавании образов, а регрессионный вариант — при последовательном прогнозировании числовых величин. Исходная работа демонстрирует многоклассовые варианты на USPS и MNIST, а также формулирует расширения для ранжирования меток и предсказания последовательностей. При изменении распределения во времени базовый PA продолжает адаптироваться, но специальные гарантии для дрейфа концепции требуют дополнительных методов забывания или окон.
Линейный PA выдаёт отступ, а не калиброванную вероятность класса. Если приложению нужны вероятности, требуется отдельная процедура калибровки на данных, не использованных для текущего обновления.
Сравнение с родственными методами
| Метод | Когда обновляется | Как выбирается шаг | Основное отличие |
|---|---|---|---|
| Персептрон | Обычно только при ошибке знака | Постоянный или заранее заданный шаг | Правильный ответ с малым отступом не обязан вызывать обновление |
| SGD с hinge loss | При положительной потере | По заданному расписанию скорости обучения; часто вместе с глобальной регуляризацией | SGD — общий способ оптимизации выбранного функционала |
| SVM | Пакетный SVM решает общую задачу по выборке; онлайновая реализация зависит от оптимизатора | Определяется выбранным методом оптимизации | Максимизирует отступ в глобальной регуляризованной постановке |
| Passive-Aggressive | При отступе меньше единицы | Аналитическое решение локальной задачи проекции | Минимально меняет текущую модель, удовлетворяя или смягчая ограничение нового примера |
Итак, сходство PA с персептроном состоит в аддитивном обновлении вдоль
, а с SVM — в hinge loss, отступе и переменной послабления. Различие задаётся не названием, а оптимизационной постановкой: PA последовательно решает по одной малой задаче для текущего примера.
См. также
- Инкрементное обучение
- Персептрон
- Стохастический градиентный спуск
- Машина опорных векторов
- Линейный классификатор
Литература
- Crammer K., Dekel O., Keshet J., Shalev-Shwartz S., Singer Y. Online Passive-Aggressive Algorithms // Journal of Machine Learning Research. — 2006. — Vol. 7, No. 19. — P. 551–585.
- Crammer K., Singer Y. Ultraconservative Online Algorithms for Multiclass Problems // Journal of Machine Learning Research. — 2003. — Vol. 3. — P. 951–991.
- Cesa-Bianchi N., Lugosi G. Prediction, Learning, and Games. — Cambridge University Press, 2006.

