Метод проксимального градиента

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

Метод проксимального градиента[1] — это обобщение проецирования, используемое для решения недифференцируемых задач выпуклого программирования.

Много интересных задач можно сформулировать как задачи выпуклого программирования вида

minx∈ℝN∑i=1nfi(x)

где fi, i=1,…,n — выпуклые функции, определённые как отображения f:ℝN→ℝ, где некоторые из функций недифференцируемы, что исключает обычные техники гладкой оптимизации, такие как метод наискорейшего спуска или метод сопряжённых градиентов и др., вместо них могут быть использованы проксимальные градиентные методы. Эти методы работают путём расщепления, так что функции f1,...,fn используются индивидуально, что позволяет разработать более просто реализуемые алгоритмы. Они называются проксимальными (Шаблон:Lang-en, ближайший), поскольку каждая негладкая функция среди f1,...,fn вовлекается в процесс через оператор близости. Итерационный алгоритм мягкой пороговой фильтрацииШаблон:Sfn, проекция Ландвебера, проекция градиента, попеременные проекции, Шаблон:Не переведено 5, метод чередующихся расщеплений Брэгмана являются частными случаями проксимальных алгоритмовШаблон:R. Для рассмотрения проксимальных градиентных методов со стороны статистической теории обучения и приложений к этой теории см. статью Шаблон:Не переведено 5.

Обозначения и терминология

Пусть ℝN, N-мерное евклидово пространство, будет областью определения функции f:ℝN→(−∞,+∞]. Предположим, что C является непустым выпуклым подмножеством множества ℝN. Тогда индикаторная функция множества C определяется как

ιC:x↦{0x∈C+∞x∉C
p-норма определяется как (‖⋅‖p)
‖x‖p=(|x1|p+|x2|p+⋯+|xN|p)1/p

Расстояние от x∈ℝN до C определяется как

DC(x)=miny∈C‖x−y‖2

Если C замкнуто и выпукло, проекцией x∈ℝN в множество C является единственная точка PCx∈C, такая что DC(x)=‖x−PCx‖2.

Субдифференциал функции f в точке x задаётся выражением

∂f(x)={u∈ℝN∣∀y∈ℝN,(y−x)Tu+f(x)⩽f(y).}

Проецирование в выпуклые множества

Одним из широко используемых выпуклых алгоритмов оптимизации является проецирование в выпуклые множества. Этот алгоритм используется для обнаружения/синтезирования сигнала, удовлетворяющего одновременно нескольким выпуклым ограничениям. Пусть fi будет индикаторной функцией на непустом замкнутом выпуклом множестве Ci, моделирующей ограничение. Это сводит задачу к задаче выпуклой осуществимости (достижимости), в которой нужно найти решение, содержащееся в пересечении всех выпуклых множеств Ci. В методe проецирования в выпуклые множества каждое множество Ci ассоциируется с его проектором PCi. Таким образом, на каждой итерации x пересчитывается по формуле

xk+1=PC1PC2⋯PCnxk

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

Определение

Шаблон:Не переведено 5 выпуклой функции f в точке x определяется как единственное решение

argminy(f(y)+12‖x−y‖22)

и обозначается как proxf(x).

proxf(x):ℝN→ℝN

Заметим, что в случае, когда f является индикаторной функцией ιC некоторого выпуклого множества C

proxιC(x)=argminy{12‖x−y‖22y∈C+∞y∉C=argminy∈C12‖x−y‖22=PC(x)

что показывает, что оператор близости действительно является обобщением проектора.

Оператор близости функции f описывается включением

p=proxf(x)⇔x−p∈∂f(p)(∀(x,p)∈ℝN×ℝN)

Если f дифференцируема, то уравнение выше сводится к

p=proxf(x)⇔x−p=∇f(p)(∀(x,p)∈ℝN×ℝN)

Примеры

Частными случаями проксимальных градиентных методов являются

См. также

Примечания

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

Литература

Ссылки

Шаблон:Rq

  1. ↑ Шаблон:Lang-en = ближайший