stringtranslate.com

Алгоритм Франка-Вульфа

Алгоритм Франка–Вульфа — это итеративный алгоритм оптимизации первого порядка для ограниченной выпуклой оптимизации . Также известный как метод условного градиента , [1] алгоритм редуцированного градиента и алгоритм выпуклой комбинации , этот метод был первоначально предложен Маргерит Франк и Филиппом Вольфом в 1956 году. [2] На каждой итерации алгоритм Франка–Вульфа рассматривает линейную аппроксимацию целевой функции и движется к минимизатору этой линейной функции (взятой по той же области).

Постановка проблемы

Предположим, что — компактное выпуклое множество в векторном пространстве , а — выпуклая дифференцируемая функция с действительными значениями . Алгоритм Франка–Вульфа решает задачу оптимизации

Свернуть
при условии .

Алгоритм

Шаг алгоритма Франка–Вульфа
Инициализация: Пусть , и пусть будет любой точкой в ​​.
Шаг 1. Подзадача определения направления: найти решение
Свернуть
При условии соблюдения
(Интерпретация: минимизировать линейное приближение задачи, заданное приближением Тейлора первого порядка, вокруг , ограниченного так, чтобы оставаться в пределах .)
Шаг 2. Определение размера шага: Установите или, в качестве альтернативы, найдите значение, которое минимизирует условие .
Шаг 3. Обновление: Пусть , пусть и перейдите к Шагу 1.

Характеристики

В то время как конкурирующие методы, такие как градиентный спуск для ограниченной оптимизации, требуют проецирования обратного шага к допустимому множеству на каждой итерации, алгоритму Франка–Вульфа требуется только решение выпуклой задачи над тем же множеством на каждой итерации, и он автоматически остается в допустимом множестве.

Сходимость алгоритма Франка–Вульфа в общем случае сублинейна: ошибка целевой функции в оптимуме возникает после k итераций, пока градиент является липшицевым относительно некоторой нормы. Такую же скорость сходимости можно показать, если подзадачи решаются только приближенно. [3]

Итерации алгоритма всегда можно представить в виде разреженной выпуклой комбинации крайних точек допустимого множества, что способствовало популярности алгоритма разреженной жадной оптимизации в задачах машинного обучения и обработки сигналов [4] , а также, например, оптимизации потоков минимальной стоимости в транспортных сетях [5] .

Если допустимый набор задан набором линейных ограничений, то подзадача, решаемая на каждой итерации, становится линейной программой .

Хотя скорость сходимости в худшем случае в общем случае не может быть улучшена, более быструю сходимость можно получить для специальных классов задач, таких как некоторые сильно выпуклые задачи. [6]

Нижние границы значения решения и прямо-двойственный анализ

Так как является выпуклым , то для любых двух точек имеем:

Это также справедливо для (неизвестного) оптимального решения . То есть, . Лучшая нижняя граница относительно заданной точки задается выражением

Последняя задача оптимизации решается на каждой итерации алгоритма Франка–Вульфа, поэтому решение подзадачи пеленгования -й итерации можно использовать для определения возрастающих нижних границ на каждой итерации, устанавливая и

Такие нижние границы неизвестного оптимального значения важны на практике, поскольку их можно использовать в качестве критерия остановки и они дают эффективный сертификат качества аппроксимации на каждой итерации, поскольку всегда .

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

Примечания

  1. ^ Левитин, Е.С.; Поляк, Б.Т. (1966). «Методы условной минимизации». Журнал вычислительной математики и математической физики СССР . 6 (5): 1. doi :10.1016/0041-5553(66)90114-5.
  2. ^ Франк, М.; Вулф, П. (1956). «Алгоритм квадратичного программирования». Naval Research Logistics Quarterly . 3 (1–2): 95–110. doi :10.1002/nav.3800030109.
  3. ^ Данн, Дж. К.; Харшбаргер, С. (1978). «Условные градиентные алгоритмы с правилами размера шага открытого цикла». Журнал математического анализа и приложений . 62 (2): 432. doi : 10.1016/0022-247X(78)90137-3 .
  4. ^ Кларксон, К. Л. (2010). «Coresets, разреженная жадная аппроксимация и алгоритм Франка-Вульфа». Труды ACM по алгоритмам . 6 (4): 1–30. CiteSeerX 10.1.1.145.9299 . doi :10.1145/1824777.1824783. 
  5. ^ Фукусима, М. (1984). «Модифицированный алгоритм Франка-Вульфа для решения проблемы распределения трафика». Transportation Research Часть B: Методологические . 18 (2): 169–177. doi :10.1016/0191-2615(84)90029-8.
  6. ^ Берцекас, Димитрий (1999). Нелинейное программирование . Athena Scientific. стр. 215. ISBN 978-1-886529-00-7.

Библиография

Внешние ссылки

Смотрите также