Optimalizace - 12. Konvexní funkce a konvexní optimalizace

17
Optimalizace 12. Konvexn´ ı funkce a konvexn´ ı optimalizace Tom Kroupa, Tom Werner FEL ˇ CVUT 1 / 17

Transcript of Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Page 1: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Optimalizace

12. Konvexnı funkce a konvexnı optimalizace

Tom Kroupa, Tom Werner

FEL CVUT

1 / 17

Page 2: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Konvexnı funkce

Necht’ X ⊆ Rn je konvexnı mnozina a f : Rn → R funkce.

Definice

Funkce f je konvexnı na X , jestlize pro vsechna x, y ∈ X a kazde α ∈ [0, 1] platı

f ((1− α)x + αy) ≤ (1− α)f (x) + αf (y).

Funkce f je konkavnı na X , je-li −f je konvexnı na X .

y

f (y)

f (x)

0x

f

(1− α)f (x) + αf (y)

f ((1− α)x+ αy)

(1− α)x+ αy

2 / 17

Page 3: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Konvexnı diferencovatelne funkce

Podmınka prvnıho radu

Necht’ funkce f : Rn → R je diferencovatelna.

Funkce f je konvexnı, prave kdyz pro vsechna x, y ∈ Rn platı

f (y) ≥ f (x) + f ′(x)(x− y).

0

f (x)

f (y)f (x) + f ′(x)(y − x)

f

y x

Podmınka druheho radu

Necht’ f : Rn → R je dvakrat diferencovatelna. Funkce f je konvexnı, prave kdyz

je pro kazde x ∈ Rn Hessian f ′′(x) pozitivne semidefinitnı.

3 / 17

Page 4: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Prıklady konvexnıch funkcı

• f (x) = eax pro a ∈ R, f (x) = |x |a pro a ≥ 1

• f (x) = xTAx pro A pozitivne semidefinitnı

• f (x) = aTx + b

• f (x) = max {x1, . . . , xn}• f (x) = ‖x‖, kde ‖.‖ je libovolna norma

4 / 17

Page 5: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Vztah konvexnı funkce a konvexnı mnoziny

• Epigraf funkce f je mnozina { (x, y) ∈ Rn+1 | f (x) ≤ y }.• Subkontura vysky y je mnozina { x ∈ Rn | f (x) ≤ y }.

Veta

• f je konvexnı, prave kdyz jejı epigraf je konvexnı mnozina.

• Kazda subkontura konvexnı funkce je konvexnı mnozina.

0

y

f

321

5 / 17

Page 6: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Prıklad: Epigraf a subkontury pro kuzel druheho radu v R2

• Epigraf eukleidovske normy v R2 je K 22 = { (x, y) ∈ R3 | ‖x‖2 ≤ y }

• Subkontury jsou kruhy

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

6 / 17

Page 7: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Operace zachovavajıcı konvexitu

Nezaporne linearnı kombinace

Jsou-li g1, . . . , gk : Rn → R konvexnı funkce a α1, . . . , αk ≥ 0, pak funkce

f = α1g1 + · · ·+ αkgk

je konvexnı.

Skladanı funkcı

Nasledujıcı funkce jsou konvexnı:

• h = g ◦ f , kde f : R→ R je konvexnı a g : R→ R je konvexnı a neklesajıcı.

• h(x) = g(Ax + b), kde g : Rm → R je konvexnı.

7 / 17

Page 8: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Maximum

Veta

Necht’ gi : Rn → R jsou konvexnı funkce pro vsechna i ∈ I . Pak

f (x) = maxi∈I

gi (x)

je konvexnı funkce (predpokladame, ze pro kazde x ∈ Rn maximum existuje).

Prıklady:

• f (x) =k

maxi=1

(aTi x + bi )

• f (x) = maxy∈C‖x− y‖ pro libovolnou kompaktnı mnozinu C ⊆ Rn

• f (c) = max{ cTx | x ∈ Rn, Ax ≥ b }

8 / 17

Page 9: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Konvexnı optimalizacnı uloha

Konvexnı optimalizacnı uloha je

minx∈X

f (x)

kde X ⊆ Rn je konvexnı mnozina a f : Rn → R je konvexnı funkce na mnozine X .

Veta

Necht’ funkce f : Rn → R je konvexnı na konvexnı mnozine X ⊆ Rn.

Pak kazde lokalnı minimum funkce f na mnozine X je globalnı.

Tedy konvexnı ulohu vyresıme nalezenım lokalnıho minima!

9 / 17

Page 10: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Konvexnı optimalizacnı uloha ve standardnım tvaru

Tvrzenı

Uloha

min f (x1, . . . , xn)

za podmınek gi (x1, . . . , xn) ≤ 0, i = 1, . . . ,m

hi (x1, . . . , xn) = 0, i = 1, . . . , `

x1, . . . , xn ∈ Rje konvexnı, jestlize funkce f , g1, . . . , gm jsou konvexnı a h1, . . . , h` jsou afinnı.

Dukaz:

X =m⋂i=1

{ x | gi (x) ≤ 0 }︸ ︷︷ ︸subkontura konv. fce

∩⋂i=1

{ x | hi (x) = 0 }︸ ︷︷ ︸nadrovina

Tato podmınka je postacujıcı ale ne nutna pro konvexitu ulohy.

Prıklad: Mnozina

X = { (x , y) ∈ R2 | (x + y)2 = 0 }je konvexnı, ale h(x , y) = (x + y)2 nenı afinnı.

10 / 17

Page 11: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Trıdy konvexnıch optimalizacnıch uloh

• Linearnı programovanı (LP):

f , gi , hi afinnı

• Kvadraticke programovanı (QP):

f kvadraticka konvexnı, gi , hi afinnı

• Kvadraticke programovanı s kvadratickymi omezenımi (QCQP):

f , gi kvadraticke konvexnı, hi afinnı

• Programovanı na kuzelu druheho radu (SOCP)

• Semidefinitnı progamovanı (SDP)

11 / 17

Page 12: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Kvadraticke programovanı (QP)

Funkce f je kvadraticka, funkce gi , hi jsou afinnı.

min xTAx + bTx

za podm. Cx ≤ d

Ex = f

Je to konvexnı uloha, prave kdyz A je pozitivne semidefinitnı.

Prıklad: Resenı preurcene soustavy s linearnımi omezenımi

min{ ‖Ax− b‖22 | Cx = d, x ∈ Rn }

Prıklad: Resenı preurcene soustavy s intervalovymi omezenımi

min{ ‖Ax− b‖22 | c ≤ x ≤ d, x ∈ Rn }

12 / 17

Page 13: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Prıklad na QP: Support Vector Machine (SVM)

Pro zadanych m bodu (xi , yi ) ∈ Rn × {−1, 1} hledame oddelujıcı nadrovinu.

Tedy hledame a ∈ Rn a b ∈ R tak, aby

yi (aTxi − b) > 0, i = 1, . . . ,m

Vydelenım (a, b) vhodnym kladnym cıslem je toto ekvivalentnı

yi (aTxi − b) ≥ 1, i = 1, . . . ,m

aTx− b = −1

aTx− b = 1

2/‖a‖2

Aby sırka pasu byla co nejvetsı, minimalizujeme ‖a‖22 = aTa za techto podmınek.

13 / 17

Page 14: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Kvadraticke programovanı s kvadratickymi omezenımi (QCQP)

Funkce f , gi jsou kvadraticke, hi jsou afinnı.

Je to konvexnı uloha, prave kdyz funkce f , gi jsou konvexnı.

Prıklad: Nejmensı kruh obsahujıcı zadane body a1, . . . , am ∈ R2.

Uloha

minx∈R2

mmaxi=1‖x− ai‖2

je ekvivalentnı QCQP uloze

min y

za podmınek ‖x− ai‖22 ≤ y , i = 1, . . . ,m

14 / 17

Page 15: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Programovanı na kuzelu druheho radu (SOCP)

f , h1, . . . , h` afinnı a

gi (x) = ‖Aix + bi‖2 − (cTi x + di )

Podmınka gi (x) ≤ 0 znamena

(Aix + bi , cTi x + di ) ∈ K n

2

kde

K n2 = { (x, y) ∈ Rn+1 | ‖x‖2 ≤ y }

je epigraf eukleidovske normy ‖ · ‖2 (kuzel druheho radu)

Maticove (pro ` = 0):

min eTx

za podm. ‖Aix + bi‖2 ≤ cTi x + di

15 / 17

Page 16: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Prıklad: Geometricky median (Fermat-Weberuv problem)

Pro zadane body a1, . . . , am ∈ Rn najdete minimum funkce

f (x) =m∑i=1

‖x− ai‖2

SOCP formulace:

min z1 + · · ·+ zm

za podmınek ‖x− ai‖2 ≤ zi , i = 1, . . . ,m.

16 / 17

Page 17: Optimalizace - 12. Konvexní funkce a konvexní optimalizace

Semidefinitnı programovanı (SDP)

Veta

Pro kazde n ∈ N je mnozina vsech positivne semidefinitnıch matic rozmeru n × n

konvexnı kuzel.

Dukaz: Pro kazde x ∈ Rn a α, β ≥ 0 platı xT (αA + βB)x = αxT Ax + βxT Bx ≥ 0.

Uloha SDP:

min 〈C,X〉za podmınek 〈Ai ,X〉 = bi , i = 1, . . . ,m

X ∈ Rn×n je positivne semidefinitnı

17 / 17