Опукле спряження

Матеріал з testwiki
Версія від 11:00, 6 листопада 2022, створена imported>Lxlalexlxl (виправлено помилку вікіфікації)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Опукле спряження функції — це узагальнення перетворення Лежандра, яке застосовується до неопуклих функцій. Воно відоме також як перетворення Лежандра — Фенхеля або перетворення Фенхеля (за іменами Адрієна-Марі Лежандра та Шаблон:Нп). Спряження використовується для перетворення задачі оптимізації у відповідну двоїсту задачу, яку, можливо, простіше розв'язати.

Визначення

Нехай X — дійсний топологічний векторний простір і нехай X* — двоїстий простір для X. Позначимо Шаблон:Не перекладено через

,:X*×X.

Для функції

f:X{,+} ,

яка набуває значень на розширеній числовій прямій, опукле спряження

f*:X*{,+}

визначено в термінах супремуму за формулою

f*(x*):=sup{x*,xf(x)|xX},

або, еквівалентно, в термінах інфімуму за формулою

f*(x*):=inf{f(x)x*,x|xX}.

Це визначення можна інтерпретувати як кодування опуклої оболонки надграфіка функції в термінах її опорних гіперплощин Шаблон:R Шаблон:R .

Приклади

Випукло спряження афінної функції

f(x)=a,xb,an,b

дорівнює

f*(x*)={b,x*=a+,x*a.

Випукло спряження степеневої функції

f(x)=1p|x|p,1<p<

дорівнює

f*(x*)=1q|x*|q,1<q<

де 1p+1q=1.

Опукле спряження функції абсолютної величини

f(x)=|x|

дорівнює

f*(x*)={0,|x*|1,|x*|>1.

Опукле поєднання показникової функції f(x)=ex дорівнює

f*(x*)={x*lnx*x*,x*>00,x*=0,x*<0.

Опукле спряження і перетворення Лежандра показникової функції збігаються крім того, що область визначення опуклого спряження строго ширша, оскільки перетворення Лежандра визначено лише для додатних дійсних чисел.

Зв'язок із очікуваними втратами (середня ціна ризику)

Нехай F означає інтегральну функцію розподілу випадкової величини X. Тоді (інтегруючи частинами),

f(x):=xF(u)du=E[max(0,xX)]=xE[min(x,X)]

має опукле спряження

f*(p)=0pF1(q)dq=(p1)F1(p)+E[min(F1(p),X)]=pF1(p)E[max(0,F1(p)X)].

Впорядкування

Конкретна інтерпретація має перетворення

finc(x):=argsupttx01max{tf(u),0}du,

як неспадне перегрупування початкової функції f. Зокрема, finc=f для f не спадає.

Властивості

Опукле спряження замкнутої опуклої функції також є замкнутою опуклою функцією. Опукле спряження поліедральної опуклої функції (опуклої функції з многогранним надграфіком) також є поліедральною опуклою функцією.

Обернення порядку

Опукле спряження обертає порядок — якщо fg, то f*g* . Тут

(fg):(x,f(x)g(x)).

Для сімейства функцій (fα)α це випливає з факту, що супремуми можна переставляти місцями

(infαfα)*(x*)=supαfα*(x*),

та з Шаблон:Не перекладено

(supαfα)*(x*)infαfα*(x*).

Подвійне спряження

Опукле спряження функції завжди напівнеперервне знизу. Подвійне спряження f** (опукле спряження опуклого спряження) є також замкненою опуклою оболонкою, тобто найбільшою напівнеперервною знизу опуклою функцією з f**f . Для Шаблон:Не перекладено f=f** тоді й лише тоді, коли f опукла і напівнеперервна знизу за теоремою Фенхеля ― Моро.

Нерівність Фенхеля

Для будь-якої функції Шаблон:Mvar та її опуклого спряженняf* нерівність Фенхеля (відома також як нерівність Фенхеля — Моро) виконується для будь-якого xX і pX* :

p,xf(x)+f*(p).

Доведення випливає негайно з визначення опуклого спряження: f*(p)=supx~{p,x~f(x~)}p,xf(x) .

Опуклість

Для двох функцій f0 і f1 та числа 0λ1 виконується

((1λ)f0+λf1)*(1λ)f0*+λf1* .

Тут операція * — це опукле відображення в себе.

Інфімальна конволюція

Інфімальна конволюція двох функцій f і g визначається як

(fg)(x)=inf{f(xy)+g(y)|yn}.

Нехай f1, …, fm — правильні опуклі напівнеперервні знизу функції на n. Тоді інфімальна конволюція опукла і напівнеперервна знизу (але не обов'язково буде правильною функцією) Шаблон:Sfn і задовольняє рівність

(f1fm)*=f1*++fm*.

Інфімальна конволюція двох функцій має геометричну інтерпретацію — (строгий) надграфік інфімальної конволюції двох функцій дорівнює сумі Мінковського (строгих) надграфіків цих функційШаблон:Sfn.

Максимізувальний аргумент

Якщо функція f диференційовна, то її похідна є максимізувальним аргументом при обчисленні опуклого спряження:

f(x)=x*(x):=argsupx*x,x*f*(x*) і
f*(x*)=x(x*):=argsupxx,x*f(x);

звідки

x=f*(f(x)),
x*=f(f*(x*)),

і більш того,

f(x)f*(x*(x))=1,
f*(x*)f(x(x*))=1.

Масштабувальні властивості

Якщо для деякого γ>0g(x)=α+βx+γf(λx+δ), то

g*(x*)=αδx*βλ+γf*(x*βλγ).

У разі додаткового параметра (скажімо, α), більш того,

fα(x)=fα(x~),

де x~ вибирається максимізувальним аргументом.

Поведінка за лінійних перетворень

Нехай A — обмежений лінійний оператор з X у Y. Для будь-якої опуклої функції f на X маємо

(Af)*=f*A*

де

(Af)(y)=inf{f(x):xX,Ax=y}

є прообразом f для A, а A* — спряженим оператором для AШаблон:Sfn.

Замкнута опукла функція f симетрична для заданої множини G ортогональних лінійних перетворень

f(Ax)=f(x),x,AG

тоді й лише тоді, коли опукле спряження f* симетричне для G.


Таблиця деяких опуклих спряжень

У таблиці наведено перетворення Лежандра для багатьох поширених функцій, а також для декількох корисних властивостейШаблон:Sfn.

g(x) dom(g) g*(x*) dom(g*)
f(ax) (где a0) X f*(x*a) X*
f(x+b) X f*(x*)b,x* X*
af(x) (где a>0) X af*(x*a) X*
α+βx+γf(λx+δ) X αδx*βλ+γf*(x*βγλ)(γ>0) X*
|x|pp (где p>1) |x*|qq (где 1p+1q=1)
xpp (где 0<p<1) + (x*)qq (где 1p+1q=1)
1+x2 1(x*)2 [1,1]
log(x) ++ (1+log(x*))
ex {x*log(x*)x*if x*>00if x*=0 +
log(1+ex) {x*log(x*)+(1x*)log(1x*)if 0<x*<10if x*=0,1 [0,1]
log(1ex) {x*log(x*)(1+x*)log(1+x*)if x*>00if x*=0 +

Див. також

Примітки

Шаблон:Reflist

Література

Посилання

Шаблон:Бібліоінформація