Субградиентные методы

Материал из testwiki
Перейти к навигации Перейти к поиску

Субградиентные методы — итеративные методы решения задач выпуклой минимизации. Субградиентные методы, разработанные Наумом Зуселевичем Шором сходятся, даже если применяются к недифференцируемым целевым функциям. Когда функция дифференцируема, субградиентные методы для задач без ограничений используют то же направление поиска, что и метод наискорейшего спуска.

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

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

Методы проекции субградиента часто применяются к задачам большого размера с помощью техник декомпозиции. Такие методы разложения часто допускают простой распределённый метод задачи.

Правила классического субградиента

Пусть f:n будет выпуклой функцией с областью определения n. Классический субградиентный метод итерирует

x(k+1)=x(k)αkg(k)

где g(k) это любой субдифференциал функции f в точке x(k), а x(k) — k-ая итерация переменной x. Если f  дифференцируемая, то его единственным субградиентом является градиент f. Может случиться, что g(k) не является направлением убывания для f в точке x(k). Поэтому мы содержим список fbest, в котором хранятся найденные наименьшие значения целевой функции, то есть

fbest(k)=min{fbest(k1),f(x(k))}.

Правила размера шага

В субградиентных методах используется большое число различных правил выбора размера шага. Здесь мы отметим пять классических правил, для которых доказательства сходимости известны:

  • Постоянный размер шага, αk=α.
  • Постоянная длина шага, αk=γ/g(k)2, что даёт x(k+1)x(k)2=γ.
  • Суммируемый с квадратом, но не суммируемый размер шага, то есть любой размер шага, для которого выполняется
αk0,k=1αk2<,k=1αk=.
  • Несуммируемый убывающий размер шага, то есть любой шаг, удовлетворяющий
αk0,limkαk=0,k=1αk=.
  • Несуммируемая убывающая длина шага, то есть, αk=γk/g(k)2, где
γk0,limkγk=0,k=1γk=.

Для всех пяти правил размер шага определяется «заранее», до начала работы метода. Размер шага не зависит от предшествующих итераций. Свойство выбора шага «заранее» для субградиентных методов отличается от правил выбора шага «в процессе», используемых в методах для дифференцируемых функций — многие методы минимизации дифференцируемых функций удовлетворяют условиям Вольфа для сходимости, где размеры шага зависят от текущего положения точки и текущего направления поиска. Пространное обсуждение правил выбора шага для субградиентных методов, включая версии с инкрементированием, приведены в книге БертсекасаШаблон:Sfn, а также в книге Бертсекаса, Недич и ОздаглараШаблон:Sfn.

Сходимость

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

limkfbest(k)f*<ϵ согласно Шору[1].

Классические субградиентные методы имеют плохую сходимость и более не рекомендуются для использованияШаблон:SfnШаблон:Sfn. Однако они всё ещё используются в специализированных приложениях, поскольку они просты и легко приспосабливаются под специальные структуры, чтобы использовать их особенности.

Проекции субградиента и методы пучков

В течение 1970-х годов Клод Лемерэчел и Фил Вольф предложили «методы пучков» для спуска для задач выпуклой минимизацииШаблон:Sfn. Значение термина «методы пучков» с тех пор сильно изменилось. Современные версии и полный анализ сходимости были даны КиелемШаблон:Sfn. Современные методы пучков часто используют правила «контроля уровня» для выбора размера шага, которые развивают техники из метода «проекций субградиента» Бориса Т. Поляка (1969). Однако существуют проблемы, вследствие которых часто методы пучков дают малое преимущество перед методами проекции субградиентовШаблон:SfnШаблон:Sfn.

Оптимизация с ограничениями

Метод проекции субградиента

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

минимизировать f(x) при условии
x𝒞

где 𝒞 является выпуклым множеством. Метод проекции субградиента использует итерации

x(k+1)=P(x(k)αkg(k))

где P является проекцией на 𝒞, а g(k) является любым субградиентом f в точке x(k).

Ограничения общего вида

Метод субградиента может быть расширен для решения задачи с ограничениями в виде неравенств

минимизировать f0(x) при условии
fi(x)0,i=1,,m

где функции fi выпуклы. Алгоритм принимает ту же форму случая без ограничений

x(k+1)=x(k)αkg(k)

где αk>0 является размером шага, а g(k) является субградиентом целевой функции или одной из функций ограничений в точке x. Здесь

g(k)={f0(x)fi(x)0i=1mfj(x)j:fj(x)>0

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

Примечания

Шаблон:Примечания

Литература

Дополнительная литература

Ссылки

  • EE364A and EE364B, Stanford’s convex optimization course sequence.

Шаблон:Методы оптимизации Шаблон:Rq

  1. Сходимость методов субградиента с постоянным (масшабированным) шагом утверждается в упражнении 6.3.14(a) книги Берцекаса (страница 636) Шаблон:Harv и он приписывает этот результат Шору Шаблон:Harv