Мультипликативный метод обновления веса
Метод обновления мультипликативных весов — это алгоритмический метод, наиболее часто используемый для принятия решений и прогнозирования, а также широко используемый в теории игр и разработке алгоритмов. Самый простой вариант использования — это задача прогнозирования на основе советов экспертов, в которой лицу, принимающему решения, необходимо итеративно выбирать эксперта, совету которого следовать. Метод присваивает экспертам начальные веса (обычно идентичные начальные веса) и обновляет эти веса мультипликативно и итеративно в соответствии с обратной связью о том, насколько хорошо выступил эксперт: уменьшая его в случае плохой работы и увеличивая в противном случае. [1] Он неоднократно обнаруживался в самых разных областях, таких как машинное обучение ( AdaBoost , Winnow , Hedge), оптимизация (решение линейных программ ), теоретическая информатика (разработка быстрого алгоритма для LP и SDP ) и теория игр .
Имя
[ редактировать ]«Мультипликативные веса» подразумевают итерационное правило, используемое в алгоритмах, полученных на основе метода обновления мультипликативного веса. [2] Ему даются разные названия в разных областях, где он был обнаружен или переоткрыт.
История и предыстория
[ редактировать ]Самая ранняя известная версия этой техники заключалась в алгоритме под названием « фиктивная игра », который был предложен в теории игр в начале 1950-х годов. Григориадис и Хачиян [3] применил рандомизированный вариант «фиктивной игры» для эффективного решения игр с нулевой суммой для двух игроков, используя алгоритм мультипликативных весов. В этом случае игрок присваивает больший вес действиям, которые привели к лучшему результату, и выбирает свою стратегию, основываясь на этих весах. В машинном обучении Литтлстоун применил самую раннюю форму правила обновления мультипликативных весов в своем знаменитом алгоритме веяния , который похож на более ранний алгоритм обучения перцептрона Мински и Пейперта . Позже он обобщил алгоритм отсеивания до алгоритма взвешенного большинства. Фройнд и Шапир последовали его шагам и обобщили алгоритм отсеивания в форме алгоритма хеджирования.
Алгоритм мультипликативных весов также широко применяется в вычислительной геометрии , например, Кеннета Кларксона алгоритм линейного программирования (LP) с ограниченным числом переменных за линейное время. [4] [5] Позднее Бронниманн и Гудрич применили аналогичные методы для поиска покрытий множеств для гиперграфов малой размерности VC . [6]
В области исследования операций и задач принятия статистических решений в режиме онлайн независимо друг от друга были найдены алгоритм взвешенного большинства и его более сложные версии.
В области информатики некоторые исследователи ранее наблюдали тесные связи между алгоритмами мультипликативного обновления, используемыми в разных контекстах. Янг обнаружил сходство между быстрыми алгоритмами LP и методом пессимистических оценок Рагхавана для дерандомизации алгоритмов рандомизированного округления; Кливанс и Серведио связали алгоритмы повышения в теории обучения с доказательствами леммы XOR Яо; Гарг и Хандекар определили общую структуру для задач выпуклой оптимизации, которая содержит Гарга-Конеманна и Плоткина-Шмойса-Тардоса в качестве подслучаев. [1]
Алгоритм Хеджа — это частный случай зеркального спуска .
Общая настройка
[ редактировать ]Чтобы получить соответствующий выигрыш, необходимо принять бинарное решение на основе мнений n экспертов. В первом туре мнения всех экспертов имеют одинаковый вес. Лицо, принимающее решение, примет первое решение на основе большинства прогнозов экспертов. Затем в каждом последующем раунде лицо, принимающее решения, будет неоднократно обновлять вес мнения каждого эксперта в зависимости от правильности его предыдущих прогнозов. Примеры из реальной жизни включают в себя предсказание того, будет ли завтра дождливо или будет ли фондовый рынок расти или падать.
Алгоритмический анализ
[ редактировать ]Алгоритм халвинга [2]
[ редактировать ]Учитывая последовательную игру между противником и агрегатором, которого консультируют N экспертов, цель состоит в том, чтобы агрегатор совершил как можно меньше ошибок. Предположим, среди N экспертов есть эксперт, который всегда дает правильный прогноз. В алгоритме халвинга сохраняются только последовательные эксперты. Эксперты, допустившие ошибки, будут уволены. Каждое решение агрегатор принимает большинством голосов среди оставшихся экспертов. Поэтому каждый раз, когда агрегатор допускает ошибку, как минимум половина оставшихся экспертов увольняется. Агрегатор допускает не более log 2 ( N ) ошибок. [2]
Алгоритм взвешенного большинства [1] [7]
[ редактировать ]В отличие от алгоритма деления пополам, который увольняет экспертов, допустивших ошибки, алгоритм взвешенного большинства не учитывает их советы. Предположим, что у нас есть n решений, и нам нужно выбрать одно решение для каждого цикла. В каждом цикле каждое решение влечет за собой затраты. Все затраты будут известны после выбора. Стоимость равна 0, если эксперт прав, и 1 в противном случае. Цель этого алгоритма — ограничить его совокупные потери примерно до уровня лучших экспертов. Самый первый алгоритм, который делает выбор на основе большинства голосов на каждой итерации, не работает, поскольку большинство экспертов каждый раз могут постоянно ошибаться. Алгоритм взвешенного большинства исправляет описанный выше тривиальный алгоритм, сохраняя вес экспертов вместо фиксации стоимости на уровне 1 или 0. [1] Это позволит сделать меньше ошибок по сравнению с алгоритмом деления пополам.
Initialization: Fix an . For each expert, associate the weight ≔1. For = , ,..., 1. Make the prediction given by the weighted majority of the experts' predictions based on their weights. That is, choose 0 or 1 depending on which prediction has a higher total weight of experts advising it (breaking ties arbitrarily). 2. For every expert i that predicted wrongly, decrease his weight for the next round by multiplying it by a factor of (1-η): = (update rule)
Если , вес совета эксперта останется прежним. Когда увеличивается, вес совета эксперта уменьшается. Обратите внимание, что некоторые исследователи фиксируют в алгоритме взвешенного большинства.
После шаги, пусть - количество ошибок эксперта i и — количество ошибок, допущенных нашим алгоритмом. Тогда мы имеем следующую оценку для каждого :
.
В частности, это справедливо для i, являющегося лучшим экспертом. Поскольку лучший эксперт будет иметь наименьшее , это даст наилучшую оценку количества ошибок, допущенных алгоритмом в целом.
Алгоритм рандомизированного взвешенного большинства
[ редактировать ]Этот алгоритм можно понять следующим образом: [2] [8]
Учитывая ту же настройку с N экспертами. Рассмотрим особую ситуацию, когда доля экспертов, предсказывающих как положительные, так и отрицательные результаты, с учетом весов, близка к 50%. Тогда может быть ничья. Следуя правилу обновления веса в алгоритме взвешенного большинства, прогнозы, сделанные алгоритмом, будут рандомизированы. Алгоритм вычисляет вероятности того, что эксперты прогнозируют положительные или отрицательные результаты, а затем принимает случайное решение на основе вычисленной доли: [ нужны дальнейшие объяснения ]
предсказывать
где
.
Количество ошибок, допущенных алгоритмом рандомизированного взвешенного большинства, оценивается как:
где и .
Обратите внимание, что рандомизирован только алгоритм обучения. В основе лежит предположение, что примеры и прогнозы экспертов не случайны. Единственная случайность — это случайность, при которой учащийся делает свой собственный прогноз. В этом рандомизированном алгоритме если . По сравнению с взвешенным алгоритмом эта случайность вдвое сокращает количество ошибок, которые алгоритм может совершить. [9] Однако важно отметить, что в некоторых исследованиях люди определяют в алгоритме взвешенного большинства и позволяют в алгоритме рандомизированного взвешенного большинства . [2]
Приложения
[ редактировать ]Метод мультипликативных весов обычно используется для решения задачи оптимизации с ограничениями. Пусть каждый эксперт является ограничением в задаче, а события представляют собой точки в интересующей области. Наказание эксперта соответствует тому, насколько хорошо удовлетворяется соответствующее ограничение в точке, представленной событием. [1]
Приближенное решение игр с нулевой суммой (алгоритм Oracle): [1] [9]
[ редактировать ]Предположим, нам дано распределение на экспертах. Позволять = матрица выигрышей конечной игры с нулевой суммой для двух игроков, где ряды.
Когда рядовой игрок использует план и колонка-плеер использует план , выигрыш игрока является ≔ , предполагая .
Если игрок выбирает действие из дистрибутива по строкам, то ожидаемый результат для игрока выбор действия является .
Чтобы максимизировать , игрок следует выбрать план . Аналогично, ожидаемый выигрыш игрока является . Выбор плана минимизировал бы этот выигрыш. По теореме Джона фон Неймана о Мин-Максе мы получаем:
где P и i изменяются в распределениях по строкам, Q и j меняются в столбцах.
Тогда пусть обозначают общее значение вышеуказанных величин, также называемое «ценностью игры». Позволять быть параметром ошибки. Чтобы решить игру с нулевой суммой, ограниченную аддитивной ошибкой ,
Итак, существует алгоритм решения игры с нулевой суммой с точностью до аддитивного коэффициента δ, используя O( log 2 ( n ) / ) вызовы ORACLE с дополнительным временем обработки O(n) на вызов [9]
Бейли и Пилиурас показали, что, хотя среднее по времени поведение обновления мультипликативных весов сходится к равновесию Нэша в играх с нулевой суммой, повседневное поведение (последняя итерация) отклоняется от него. [10]
Машинное обучение
[ редактировать ]В области машинного обучения Литтлстоун и Уормут обобщили алгоритм отсеивания до алгоритма взвешенного большинства. [11] Позже Фрейнд и Шапир обобщили его в виде алгоритма хеджирования. [12] Алгоритм AdaBoost, сформулированный Йоавом Фройндом и Робертом Шапиром, также использовал метод мультипликативного обновления веса. [1]
Алгоритм веяния
[ редактировать ]Основываясь на современных знаниях в области алгоритмов, метод мультипликативного обновления веса был впервые использован в алгоритме веяния Литтлстоуна. [1] Он используется в машинном обучении для решения линейной программы.
Данный отмеченные примеры где являются векторами признаков, а это их этикетки.
Цель состоит в том, чтобы найти такие неотрицательные веса, чтобы для всех примеров знак взвешенной комбинации признаков соответствовал ее меткам. То есть требовать этого для всех . Без ограничения общности предположим, что общий вес равен 1, чтобы они образовывали распределение. Поэтому для удобства обозначений переопределим быть , задача сводится к поиску решения следующей ЛП:
, , .
Это общая форма LP.
Алгоритм хеджирования [2]
[ редактировать ]Алгоритм хеджирования аналогичен алгоритму взвешенного большинства. Однако их правила экспоненциального обновления различны. [2] Обычно он используется для решения проблемы двоичного распределения, в которой нам нужно распределить разные части ресурсов по N различным вариантам. Убыток для каждого варианта доступен в конце каждой итерации. Цель состоит в том, чтобы уменьшить общие потери, понесенные для конкретного распределения. Затем распределение для следующей итерации пересматривается на основе общих потерь, понесенных в текущей итерации, с использованием мультипликативного обновления. [13]
Анализ
[ редактировать ]Предположим, скорость обучения и для , выбран Хеджем. Тогда для всех экспертов ,
Инициализация : исправить . Для каждого эксперта присвойте вес ≔1 Для t=1,2,...,T:
1. Pick the distribution where . 2. Observe the cost of the decision . 3. Set ).
Алгоритм AdaBoost
[ редактировать ]Этот алгоритм [12] поддерживает набор весов над обучающими примерами. На каждой итерации , распределение вычисляется путем нормализации этих весов. Это распределение передается слабому учащемуся WeakLearn, который генерирует гипотезу. это (надеюсь) имеет небольшую погрешность в отношении распределения. Используя новую гипотезу , AdaBoost генерирует следующий весовой вектор . Процесс повторяется. После T таких итераций окончательная гипотеза это выход. Гипотеза объединяет результаты T слабых гипотез с использованием взвешенного большинства голосов. [12]
Input: Sequence of labeled examples (,),...,(, ) Distribution over the examples Weak learning algorithm "'WeakLearn"' Integer specifying number of iterations Initialize the weight vector: for . Do for 1. Set . 2. Call WeakLearn, providing it with the distribution ; get back a hypothesis [0,1]. 3. Calculate the error of . 4. Set . 5. Set the new weight vector to be . Output the hypothesis:
Приближенное решение линейных программ [14]
[ редактировать ]Проблема
[ редактировать ]Учитывая матрица и , Есть ли такой, что ?
(1)
Предположение
[ редактировать ]Использование алгоритма оракула при решении задачи с нулевой суммой с параметром ошибки , выход будет либо точкой такой, что или доказательство того, что не существует, т. е. не существует решения этой линейной системы неравенств.
Решение
[ редактировать ]Данный вектор , решает следующую расслабленную задачу
(2)
Если существует ax, удовлетворяющий (1), то x удовлетворяет (2) для всех . Противоположность этого утверждения также верна. Предположим, что оракул возвращает допустимое решение для , решение он возвращает ограниченную ширину . Таким образом, если существует решение (1), то существует алгоритм, выход которого x удовлетворяет системе (2) с точностью до аддитивной ошибки . Алгоритм делает максимум обращается к оракулу с ограниченной шириной для решения проблемы (2). Противоположение также справедливо. В этом случае в алгоритме применяются мультипликативные обновления.
Другие приложения
[ редактировать ]- Эволюционная теория игр
- Обновление мультипликативных весов — это вариант уравнения репликатора (динамики репликатора) с дискретным временем, который является широко используемой моделью в эволюционной теории игр . Оно сходится к равновесию Нэша, когда применяется к игре с перегрузками . [15]
- Исследование операций и принятие статистических решений онлайн
- В области исследования операций и задач принятия статистических решений в режиме онлайн независимо друг от друга были найдены алгоритм взвешенного большинства и его более сложные версии. [1]
- Вычислительная геометрия
- Алгоритм мультипликативных весов также широко применяется в вычислительной геометрии . [1] например, Кларксона алгоритм линейного программирования (ЛП) с ограниченным числом переменных за линейное время. [4] [5] Позже Бронниманн и Гудрич применили аналогичные методы для поиска покрытий множеств для гиперграфов с небольшой размерностью VC . [6]
- Аппроксимация задач многотоварного потока [1]
- O (logn) - аппроксимация для многих NP-трудных задач. [1]
- Жесткие множества и лемма XOR [1]
- Алгоритм Ханнана и мультипликативные веса [1]
- Онлайн- выпуклая оптимизация [1]
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с д и ж г час я дж к л м н тот п д р с Арора, Санджив ; Хазан, Элад; Кале, Сатьен (2012). «Метод обновления мультипликативных весов: метаалгоритм и приложения» . Теория вычислений . 8 : 121–164. дои : 10.4086/toc.2012.v008a006 .
- ^ Перейти обратно: а б с д и ж г «Алгоритм мультипликативных весов *» (PDF) . Проверено 9 ноября 2016 г.
- ^ Григориадис, Майкл Д.; Хачиян, Леонид Георгиевич (1995). «Алгоритм рандомизированной аппроксимации сублинейного времени для матричных игр». Письма об исследованиях операций . 18 (2): 53–58. дои : 10.1016/0167-6377(95)00032-0 .
- ^ Перейти обратно: а б Кеннет Л. Кларксон. Алгоритм Лас-Вегаса для линейного программирования при небольших размерах. , В Proc. 29-й FOCS, стр. 452–456. IEEE Комп. Соц. Пресс, 1988. [doi:10.1109/SFCS.1988.21961] 123, 152.
- ^ Перейти обратно: а б Кеннет Л. Кларксон. Алгоритм Лас-Вегаса для линейного и целочисленного программирования при небольшой размерности. , Журнал ACM, 42:488–499, 1995. [doi:10.1145/201019.201036] 123, 152.
- ^ Перейти обратно: а б Бронниманн, Х.; Гудрич, МТ (1995). «Почти оптимальное множество покрытий в конечной VC-мерности» . Дискретная и вычислительная геометрия . 14 (4): 463–479. дои : 10.1007/BF02570718 . Предварительная версия в 10-й Энн. Симп. Комп. Геом. (СКГ'94).
- ^ «Лекция 8: Принятие решений в условиях полной неопределенности: алгоритм мультипликативного веса» (PDF) . 2013.
- ^ «COS 511: Основы машинного обучения» (PDF) . 20 марта 2006 г.
- ^ Перейти обратно: а б с «Инструментарий алгоритмиста» . 8 декабря 2009 года . Проверено 9 ноября 2016 г.
- ^ Бейли, Джеймс П. и Георгиос Пилиурас. «Обновление мультипликативных весов в играх с нулевой суммой». Материалы конференции ACM по экономике и вычислениям 2018 года. АКМ, 2018.
- ^ Фостер, Дин П.; Вохра, Ракеш (1999). «Сожаление о проблеме онлайн-решения» (PDF) . Игры и экономическое поведение . 29 (1–2): 7–35. дои : 10.1006/game.1999.0740 .
- ^ Перейти обратно: а б с Йоав, Фрейнд. Роберт, Э. Шапир (1996). TA Теоретико-решающее обобщение онлайн-обучения и применение к повышению* , с. 55. журнал компьютерных и системных наук.
- ^ «Онлайн-обучение у экспертов: взвешенное большинство и хеджирование» (PDF) . Проверено 7 декабря 2016 г.
- ^ «Основы выпуклой оптимизации» (PDF) . Проверено 9 ноября 2016 г.
- ^ Кляйнберг, Роберт, Георгиос Пилиурас и Ева Тардос. «Мультипликативные обновления превосходят стандартное обучение без сожалений в играх с перегрузками». Материалы сорок первого ежегодного симпозиума ACM по теории вычислений. АКМ, 2009.
Внешние ссылки
[ редактировать ]- Статья The Game Theory of Life в журнале Quanta Magazine, описывающая использование этого метода в эволюционной биологии в статье Эрика Честейна, Ади Ливната, Христаса Пападимитриу и Умеша Вазирани.