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

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

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

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

minxNi=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{0xC+xC
p-норма определяется как (p)
xp=(|x1|p+|x2|p++|xN|p)1/p

Расстояние от xN до C определяется как

DC(x)=minyCxy2

Если C замкнуто и выпукло, проекцией xN в множество C является единственная точка PCxC, такая что DC(x)=xPCx2.

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

f(x)={uNyN,(yx)Tu+f(x)f(y).}

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

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

xk+1=PC1PC2PCnxk

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

Определение

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

argminy(f(y)+12xy22)

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

proxf(x):NN

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

proxιC(x)=argminy{12xy22yC+yC=argminyC12xy22=PC(x)

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

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

p=proxf(x)xpf(p)((x,p)N×N)

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

p=proxf(x)xp=f(p)((x,p)N×N)

Примеры

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

См. также

Примечания

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

Литература

Ссылки

Шаблон:Rq

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