Metode Descent Oleh : Andaikan fungsi tujuan kita adalah minf(x);x R n. Secara umum f(x) dapat berupa fungsi nonlinear. Metode-metode descent adalah metode iteratif untuk memperoleh solusi pendekatan dari problem awal. Misalkan diberikan suatu titik awal x maka kita mencari x 2, sehingga f(x 2 ) < f(x ). Pergerakan x k pada setiap iterasi haruslah memenuhi f(x k+ ) < f(x k ), k =,2,..., dimana pergerakan dari x k ke x k+ dapat dituliskan sebagai berikut: x k+ = x k +λ k s k, k =,2,..., dengan λ k menyatakan langkah (step) pada setiap iterasi dan s k adalah arah (direction). Kita bermaksud membuat x k konvergen ke solusi optimal x. Pencarian arah adalah hal yang penting dalam metode-metode descent, dan pencarian ini yang membedakan antara algoritma descent yang satu dengan lainnya. Begitu pencarian arah telah ditentukan maka tahap selanjutnya adalah melakukan pencarian langkah (line search, step search), yaitu λ k = argmin λ>0 f(xk +λ k s k ). Bila pencarian arah ditentukan berdasarkan gradient f, maka metode descent ini disebut metode descent berbasis gradient (gradient based descent methods). Misalkan x R n dan f suatu fungsi R n R yang terturunkan dari peubah bebas x, gradient dari fungsi f(x) adalah: f(x) = [ δx δx 2... δx n ] T Agar fungsi menuju arah menurun persyaratan berikut harus dipenuhi df(x k +λs k ) λ=0 < 0. () dλ
Dari () diperoleh f(x k ) T.s k = f(x k ) s k cosθ < 0, (2) dimana θ adalah sudut antara f(x k ) dan s k, dan agar negatif π/2 < θ < 3π/2. Lihat Gambar Berikut ini kita menggunakan pendekatan lain yaitu dengan pendekatan deret Taylor untuk menunjukkan (2). Deret Taylor dari fungsi real f(x) : R R yang terturunkan untuk semua tingkatan di sekitar x = a adalah: f(x) = f(a)+ f (a)! atau dengan menggunakan notasi sigma: (x a)+ f (a) (x a) 2 + f(3) (a) (x a) 3 +..., 2! 3! f(x) = n=0 f (n) n! (x a)n Latihan 0. Tentukan deret Taylor dari fungsi kuadrat f(x) = ax 2 +bx+c disekitar x = Deret taylor dapat dikembangkan untuk fungsi multi variabel ( (x a ) n (x d a d ) n d n + +n df f(x,...,x d ) =... n! n d! x n x n d d n =0 n 2 =0 n d =0 ) (a,...,a d ). Berikut adalah deret Taylor fungsi f dengan dua variabel bebas: x dan y, sampai orde ke-2 disekitar titik (a,b) f(x,y) f(a,b)+(x a)f x (a,b)+(y b)f y (a,b) + 2! [(x a)2 f xx (a,b)+2(x a)(y b)f xy (a,b)+(y b) 2 f yy (a,b)]. Ekspansi deret Taylor orde ke-2 dari fungsi f : R n R dapat ditulis dalam bentuk yang lebih kompak sbb: f(x) = f(a)+ f(a) T (x a)+ 2! (x a)t { 2 f(a)}(x a)+, dimana f(a) adalah gradient f pada x = a dan 2 f(a) adalah matriks Hessian. Oleh karena itu deret Taylor f(x+λs) adalah sbb: f(x+λs) = f(x)+ f(x) T (λs)+λ 2 O(). 2
Dengan demikian f(x+λs) f(x) = f(x) T (λs)+λ 2 O(). Untuk λ 0, term kedua pada formula sebelah kanan tidak significant. Ini berarti untuk memeperoleh nilai f(x + λs ) yang lebih kecil dari f(x) dapat dilakukan dengan mengambil nilai f(x) T s < 0, sehingga kita memperoleh (2) Secara teori untuk mendapatkan nilai optimal kita ingin mendapatkan nilai x k+ sehingga: (x k +λs k ) = x x=x k +λs k = 0. Tetapi hasil diatas secara analitis pada banyak kasus sulit diperoleh. Oleh karena itu langkah pendekatan numerik dilakukan dengan kriteria selesai diperoleh bila: λx k+ < ǫ x k+ x k < ǫ jumlah iterasi telah terlewati, dimana ǫ adalah suatu bilangan positif. Dengan demikian algoritma dari metode descent adalah sbb: Mulai dari suatu titik x For k =,2,... do Langkah : Tentukan arah pencarian s k ; arah ini haruslah arah yang menurun. Langka 2: Jika tidak ditemukan arah yang menurun, berhenti, nilai optimal diperoleh. Langkah 3: Line search : Tentukan λ k = argmin λ>0 f(x k +λ k s k ). Langkah 4: x k+ = x k +λ k s k, k = k +; Langkah 5: Berhenti jika kriteria pemberhentian telah terpenuhi. Metode Steepest Descent Metode steepest descent, yang dikenal juga dengan nama metode gradient adalah metode descent yang mencari penurunan tercepat dari: f(x) T s = f(x) s cosθ, yang terjadi pada θ = 2π dan s = f(x). 3
2.5 0.5 0 0.5.5 2 2.5 0.5 0 0.5.5 2 x Jadi dengan metode steepest descent : x 4 x 2 x3 x x 0 x k+ = x k λ f(x). Metode ini dapat digunakan untuk optimasi tanpa kendala maupun optimasi dengan kendala. Untuk beberapa kasus kekonvergenan dari metode steepest descent ke solusi optimal lambat, hal ini terjadi karena jalur zig-zag dalam menuju solusi optimal. Secera intuitif arah f(x) adalah arah dengan penurunan yang tercepat, tetapi secara global tidak berarti menuju titik minimum lokal yang tercepat. Bila kita mencari minimum dari φ(λ) = f(x k λ f(x)), kita peroleh φ (λ) = df(xk λ f(x)) dλ = T f(x k λ f(x)) f(x) x 2 = T f(x k+ ) f(x) = 0, Ini berarti gradient dari titik saat ini dan gradient dari titik selanjutnya saling tegak lurus (orthogonal) pada metode steepest descent. Latihan. Misal f : R n R adalah fungsi yang kontinu dan terturunkan dan diberikan ˆx R n. Buktikan bahwa gradient dan kurva contour (ketinggian) dari fungsi kontinu f(x) adalah ortogonal pada ˆx. 4
Latihan.2 Dengan metode steepest descent, tentukan nilai minimum dari f(x) = (x 2) 2, dengan dimulai dari titik x = 3. Latihan.3 Dengan metode steepest descent, lakukan 4 kali iterasi metode steepest descent untuk mencari minimum f(x) = 9x 2 +2x x 2 +x 2 2 dimulai dari (0,-). Latihan.4 Tentukan steepest descent direction untuk fungsi kuadratik f(x) = 2 xt Qx+q T x c, dimana Q adalah matriks positif definit. Hitung juga step length (λ) dalam proses line search. 5