Luento 8: Epälineaarinen optimointi Vektoriavaruus R n R n on kaikkien n-jonojen x := (x,..., x n ) joukko. Siis R n := Määritellään nollavektori 0 = (0,..., 0). Reaalisten m n-matriisien joukkoa merkitään R m n. n kpl. R R. R n on vektoriavaruus, kun määritellään yhteenlasku ja skalaarilla kertominen: x + y = (x,..., x n ) + (y,..., y n ) := (x + y,..., x n + y n ), ja αx = α(x,..., x n ) := (αx,..., αx n ). R n on sisätuloavaruus, kun määritellään sisätulo: x y := n x i y i. i= Käytämme vektoreille myös matriisimerkintää, jolloin esimerkiksi x x =. x n ; x T = [ x x n ], ja x y = x T y. x:n pituus eli normi: x := n x 2 i = x T x. i= Schwartzin epäyhtälö: x y x y. Kolmioepäyhtälö: x + y x + y. Normi määrää metriikan, eli etäisyyden d: d(x, y) := x y = n (x i y i ) 2 i=
on x:n ja y:n välinen etäisyys. Vektoriavaruus R n varustettuna metriikalla d on n-ulotteinen euklidinen avaruus. Funktion maksimi ja minimi Olkoon f : R n R; f(x) = f(x,..., x n ). Määritellään: x on lokaali minimi, jos r > 0 s.e. f(x) f(x + h) h R n, h < r; eli h R n s.e. x + h B(x, r) := {x + h h < r}. Joukko B(x, r) on x-keskinen, r-säteinen avoin pallo. x on globaali minimi, jos f(x) f(x + h) h R n. Vastaavasti määritellään lokaali- ja globaali maksimi. Minimi- tai maksimipistettä x sanotaan myös optimipisteeksi. Funktion arvoa f(x) optimipisteessä x sanotaan minimi- tai maksimiarvoksi, tai optimiarvoksi. Kvadraattinen funktio Funktio f : R n R on lineaarinen, jos f(x) = c T x. Kvadraattinen funktio f : R n R on muotoa f(x) = 2 i c ix i + d, eli matriisimuodossa f(x) = 2 xt Qx + c T x + d, missä Q R n n ja Q on symmetrinen, eli Q=Q T. i j q ijx i x j + Huomaa Mikä tahansa neliömuodon keskellä oleva neliömatriisi A voidaan aina muuttaa symmetriseksi matriisiksi Q: skalaari x T Ax = (x T Ax) T = x T A T x Siis x T Ax = x T /2(A + A T )x, missä Q = (A + A T ) on symmetrinen. Esimerkki Hae funktion f(x) kvadraattinen esitys. f(x) = (x x 2 ) 2 + (x + 2x 2 + ) 2 8x x 2 = 2x 2 6x x 2 + 5x 2 2 + 2x + 4x 2 + 2
Mielivaltainen kahden muuttujan neliömuoto voidaan kirjoittaa seuraavasti: [ ] [ ] α β 2 [x x x 2 ] = β γ x 2 2 αx2 + βx x 2 + 2 γx2 2 [ ] [ ] [ ] α β 4 6 2 Q = =, c =, d =. β γ 6 0 4 Q R n n on positiivisesti definiitti, jos x T Qx > 0 x R n, x 0. positiivisesti semidefiniitti, jos x T Qx 0 x R n. negatiivisesti definiitti ja negatiivisesti semidefiniitti määritellään vastaavasti, mutta < ja merkeillä. Huomaa Q R n n positiivisesti definiitti Q:n kaikki ominaisarvot > 0. Vastaavasti muille definiittisyyksille ominaisarvot ovat 0, < 0, 0. Huomaa Q on positiiviseti- tai negatiivisesti definiitti käänteismatriisi Q. Esimerkki Olkoon f(x) = 2 xt Qx, ja Q positiivisesti definiitti x = 0 on f:n yksikäsitteinen globaali minimi. Jos Q on positiivisesti semidefiniitti x = 0 on globaali minimi, mutta ei välttämättä yksikäsitteinen. Differentioituvuus Määritelmiä: Olkoon f : R n R. f(x) := [ f/ x (x),, f/ x n (x) ] T on f:n gradientti pisteessä x. Gradientti ajatellaan siis pystyvektorina. Funktion f Hessen matriisi pisteessä x on 2 f/ x 2 (x) 2 f/ x x n (x) H f (x) :=..... R n n. 2 f/ x n x (x) 2 f/ x 2 n(x) 3
Huomaa, että H f (x) T = H f (x). f (x) Olkoon f: R n R m, f(x) =.. f m (x) Funktion f Jacobin matriisi pisteessä x on f (x) T f / x (x) f / x n (x) J f (x) :=. =..... R m n. f m (x) T f m / x (x) f m / x n (x) Funktio f on differentioituva x:ssä, jos f(x + h) f(x) = f(x) T h + h ε(x; h) h R n, missä funktio ε(x; ) : R n R on sellainen, että lim h 0 ε(x; h) = 0; käytämme raja-arvosta myös merkintää ε(x; h) 0, kun h 0. Huomaa Vaikka f:n osittaisderivaatat ovat olemassa pisteessä x, sen ei silti tarvitse olla differentioituva. Kuitenkin pätee: jos f:llä on jatkuvat osittaisderivaatat pisteessä x, se on (jatkuvasti) differentioituva x:ssä. Funktio on kahdesti differentioituva x:ssä, jos h R n on: f(x + h) f(x) = f(x) T h + 2 ht H f (x)h + 2 h 2 β(x; h), missä β(x; h) 0, kun h 0. Taylorin kaava: Jos f on kahdesti differentioituva x:ssä, on voimassa: f(x + h) = f(x) + f(x) T h + 2 ht H f (z)h = f(x) + f(x) T h + 2 ht H f (x)h, missä x, h R n ja z = x + αh, jollekin α, 0 < α <. On likimäärin - merkintä = tarkoittaa: vasen puoli miinus oikea puoli saadaan mielivaltaisen pieneksi, kun vain h on riittävän pieni. Tämä pätee, jos H f on x:n ympäristössä jatkuva. Huomaa Tästä lähtien oletamme aina, että osittaisderivaatat, tai toiset osittaisderivaatat silloin, kun niistä on kyse, ovat jatkuvia ko. tarkastelupisteessä. 4
Optimin välttämättömät- ja riittävät ehdot Lause Olkoon x funktion f lokaali optimipiste. Tällöin f(x) = 0, eli välttämättömät ehdot lokaalille optimille ovat: f(x)/ x i = 0, i n. Kyseessä on siis n:n yhtälön ryhmä n:n tuntemattoman muuttujan x i määräämiseksi. Todistus Olkoon esimerkiksi x lokaali minimi. Tällöin h R n, α > 0, on voimassa: f(x + αh) f(x) = α f(x) T h + α h ε(x, αh). Vastaoletus. Olkoon f(x) 0. Valitaan h s.e. f(x) T h < 0. f(x + αh) f(x) α = f(x) T h + h ε(x, αh) < 0, kun α > 0 on riittävän pieni. Tällöin f(x + αh) < f(x), mikä on ristiriita, koska x on lokaali minimipiste. Lause Olkoon f : R n R kahdesti differentioituva x:ssä. Tällöin (a) x on lokaali minimi f(x) = 0 ja H f (x) on positiivisesti semidefiniitti. (b) f(x) = 0 ja H f (x) positiivisesti definiitti x on yksikäsitteinen lokaali minimi. Vastaavasti lokaalille maksimille: (a) f(x) = 0 ja H f (x) on negatiivisesti semidefiniitti, (b) f(x) = 0 ja H f (x) negatiivisesti definiitti. Huomaa Ehdon f(x) = 0 toteuttava piste x voi olla myös ns. satulapiste, tai käännepiste. Esimerkiksi f(x) = x 3, x = 0 on käännepiste. Esimerkki f(x) = x + 2x 3 + x 2 x 3 x 2 x 2 2 x 2 3 f/ x (x) = 2x = 0 f(x) = 0 f/ x 2 (x) = x 3 2x 2 = 0 f/ x 3 (x) = 2 + x 2 2x 3 = 0 5
Yhtälöryhmän ratkaisu on x = (/2, 2/3, 4/3). Onko tämä maksimi tai minimi? 2 0 0 H f (x) = 0 2 0 2 Huomaa Kvadraattiselle f:lle H f (x) ei riipu x:stä. Jos f:ssä on x i :n korkeampia potensseja mukana, H f (x) riippuu yleensä x:stä. Ratkaistaan H f (x):n ominaisarvot: det(h f (x) λi) = 2 λ 0 0 0 2 λ 0 2 λ = (2 + λ) 3 + 2 + λ = (2 + λ)[(2 + λ) 2 ] = 0 λ = 2, λ 2 = 3, λ 3 = Siis H f (x) on negatiivisesti definiitti, joten kyseessä on lokaali maksimi. Derivoimissääntöjä f(x) = c T x = n i= c ix i ; f(x) = [ f x (x)... f x n (x)] T = [c,..., c n ] T = c. f(x) = Ax; A = a T. R m n, missä a T i on A:n i:s vaakavektori. a T m [ a T x] T J f (x) =. = [ a T mx] T a T. a T m = A. 6
f(x) = 2 xt Qx; vakio f(x) = 2 xt Q x + vakio 2 xt Q x = vakio 2 xt Q x + 2 = 2 QT x + 2 Qx vakio x T Q T x = Qx, jos Q on lisäksi symmetrinen. Huomaa Joissain kirjoissa f(x) määritellään vaakavektorina, jolloin: Esimerkki [c T x] = c T ja [x T Qx] = x T Q + x T Q T. f(x) = 2 xt Qx + c T x + d, Q T = Q, ja Q positiivisesti definiitti, eli Q on olemassa. f(x) = Qx + c = 0 x = Q c Nyt H f (x) = Q on positiivisesti definiitti, joten x = Q c on yksikäsitteinen lokaali, itse asiassa globaali, minimi. Funktion f : R 2 R graafinen esitys Funktion f vakiokäyrä, tai käyrä, x x 2 -tasossa on niiden pisteiden (x, x 2 ) joukko, jotka antavat f:lle saman arvon. Siis, kun c R, joukko {(x, x 2 ) R 2 f(x, x 2 ) = c } on f:n arvoon c liittyvä käyrä. 7
Lause f(x) on kohtisuorassa käyrän tangenttia vastaan pisteessä x, ja osoittaa f:n noususuunnan pisteessä x; ks kuva. Todistus Olkoon x ja x + h samalla f:n käyrällä. 0 = f(x + h) f(x) = f(x) T h + h ε(x, h) f(x) T h + ε(x, h) = 0. h Nyt h/ h on yksikkövektori, joka lähenee käyrän tangentin suuntaista yksikkövektoria u, kun h 0. Lisäksi ε(x, h) 0, kun h 0. Koska mielivaltaisen lähellä u:ta on olemassa vektori h/ h, s.e. f(x) T (h/ h ) saadaan mielivaltaisen pieneksi, on ilmeistä, että f(x) T u = 0. Lisäksi vektori d := f(x) 0 on f:n noususuunta pisteessä x. Tämä seuraa alla olevista lasku- ja noususuuntia koskevista tarkasteluista. Määritelmä R n :ssä vektori d on f:n laskusuunta pisteessä x, jos δ > 0 s.e. f(x + λd) < f(x) λ (0, δ). Lause f(x) T d < 0 d on f:n laskusuunta x:ssä. Todistus Differentioituvuudesta seuraa: f(x + λd) f(x) λ = f(x) T d + d ε(x; λd) jokaisella λ > 0. Koska f(x) T d ei riipu λ:sta, ja ε(x; λd) 0 kun λ 0, niin f(x) T d < 0 f(x + λd) < f(x) jokaisella riittävän pienellä luvulla λ, λ > 0. Vastaavasti, f(x) T d > 0 d on f:n noususuunta, eli δ > 0 s.e. f(x + λd) > f(x) λ (0, δ). Jos f(x) 0, niin d = f(x) on f:n laskusuunta pisteessä x: 8
f(x) T d = f(x) T f(x) = f(x) 2 < 0. Samoin d = f(x) 0 on noususuunta. Itse asiassa f(x) 0 on f:n jyrkimmän nousun (steepest ascent) suunta pistessä x. Todistus menee seuraavasti. Olkoon d mielivaltainen noususuunta. Valitaan d. Schwartzin epäyhtälöstä 0 < f(x) T d f(x) d = f(x). Toisaalta, jos d = f(x)/ f(x), niin d =, ja f(x) T d = f(x), joten f(x) T d f(x) T d jokaiselle d, jolle d. f(x + λ d) f(x) f(x + λd) f(x) d, jolle d, ja λ riittävän pieni. Samassa mielessä f(x) on f:n jyrkimmän laskun suunta pisteessä x. Esimerkkejä Seuraavissa kuvissa on piirretty eri funktioiden f : R 2 R vakiokäyriä (contour of objective function). Esimerkiksi toisen asteen funktion käyrät ovat yleisessä tapauksessa ellipsipintoja, ks. kuva 2. Vakiokäyrien tuttu sovellus on kartoissa käytettävät maaston korkeuskäyrät, kuva 4. Numeeristen iterointien etenemistä voidaan havainnollistaa vakiokäyrien muodostamaan maastoon syntyvinä polkuina. Kuvassa 2 funktion f(x) gradientti pisteessä x on [ ] [ ] x a x f(x) = = x 2 b Gradientin suuntaisen suoran kulmakerroin on siis k = (x 2 b)/(x a). Ratkaistaan käyrän f(x) = c yhtälöstä x 2 (x ), eli x 2 x :n funktiona. Tällöin x 2(x ) = (x a)/(x 2 b) = /k, joten annetun pisteen x kautta kulkevan käyrän tangentin suuntainen suora ja gradientin suuntainen suora ovat kohtisuorassa toisiaan vastaan. x 2 [ a b ]. 9
c x 2 c 2 f(x) u h c 3 x c 4 x Kuva : Funktion f käyriä: c > c 2 > c 3 > c 4. x 2 2c x a b x 2 f(x) x Kuva 2: Funktion f(x) = /2(x a) 2 + /2(x 2 b) 2 arvoon c liittyvä käyrä on (a,b)-keskinen ympyrä, säde 2c. 0
2.5 f(x) 0.5 0 0.5.5 2 3 2 0 x 2 2 3 3 2 x 0 2 3 Kuva 3: Funktiolla f(x) = 2 x2 2 x2 2 on satulapiste pisteessä x=0. x x 2 - tasossa näkyy f:n vakiokäyriä satulapisteen ympäristössä. Kuva 4: Kartan korkeuskäyrät ovat maastonkorkeuden h(x, y) vakiokäyriä, missä h:n arvoon 0 liittyvä käyrä esittää merenpinnan tasoa.