MetodeDescent · PDF filedimana θ adalah sudut antara ∇f(xk) dan sk, dan agar...
Transcript of MetodeDescent · PDF filedimana θ adalah sudut antara ∇f(xk) dan sk, dan agar...
Dr.Ir.BibParuhumSilalahi, M.Kom
Metode Descent
Oleh : Dr. Ir. Bib Paruhum Silalahi, M.Kom
Andaikan fungsi tujuan kita adalah
min f(x); x ∈ Rn.
Secara umum f(x) dapat berupa fungsi nonlinear. Metode-metode descent adalahmetode iteratif untuk memperoleh solusi pendekatan dari problem awal. Misalkandiberikan suatu titik awal x1 maka kita mencari x2, sehingga
f(x2) < f(x1).
Pergerakan xk pada setiap iterasi haruslah memenuhi
f(xk+1) < f(xk), k = 1, 2, . . . ,
dimana pergerakan dari xk ke xk+1 dapat dituliskan sebagai berikut:
xk+1 = xk + λksk, k = 1, 2, . . . ,
dengan λk menyatakan langkah (step) pada setiap iterasi dan sk adalah arah (di-rection). Kita bermaksud membuat xk konvergen ke solusi optimal x∗.
Pencarian arah adalah hal yang penting dalam metode-metode descent, danpencarian ini yang membedakan antara algoritma descent yang satu dengan lain-nya. Begitu pencarian arah telah ditentukan maka tahap selanjutnya adalahmelakukan pencarian langkah (line search, step search), yaitu
λ∗
k = argminλ>0
f(xk + λksk).
Bila pencarian arah ditentukan berdasarkan gradient ∇f , maka metode descentini disebut metode descent berbasis gradient (gradient based descent methods).
Misalkan x ∈ Rn dan f suatu fungsi Rn → R yang terturunkan dari peubahbebas x, gradient dari fungsi f(x) adalah:
∇f(x) =[
∂f(x)δx1
∂f(x)δx2
. . . ∂f(x)δxn
]T
Agar fungsi menuju arah menurun persyaratan berikut harus dipenuhi
df(xk + λsk)
dλ|λ=0 < 0. (1)
1
Dr.Ir.BibParuhumSilalahi, M.Kom
Dari (1) diperoleh
∇f(xk)T .sk =∥
∥∇f(xk)∥
∥
∥
∥sk∥
∥ cos θ < 0, (2)
dimana θ adalah sudut antara ∇f(xk) dan sk, dan agar negatif π/2 < θ < 3π/2.
Lihat Gambar
Berikut ini kita menggunakan pendekatan lain yaitu dengan pendekatan deretTaylor untuk menunjukkan (2). Deret Taylor dari fungsi real f(x) : R → R yangterturunkan untuk semua tingkatan di sekitar x = a adalah:
f(x) = f(a) +f ′(a)
1!(x− a) +
f ′′(a)
2!(x− a)2 +
f (3)(a)
3!(x− a)3 + . . . ,
atau dengan menggunakan notasi sigma:
f(x) =∞∑
n=0
f (n)
n!(x− a)n
Latihan 0.1 Tentukan deret Taylor dari fungsi kuadrat f(x) = ax2 + bx+ c dis-ekitar x = 1
Deret taylor dapat dikembangkan untuk fungsi multi variabel
f(x1, . . . , xd) =∞∑
n1=0
∞∑
n2=0
. . .
∞∑
nd=0
(x1 − a1)n1 · · · (xd − ad)
nd
n1! · · ·nd!
(
∂n1+···+ndf
∂xn1
1 · · · ∂xnd
d
)
(a1, . . . , ad).
Berikut adalah deret Taylor fungsi f dengan dua variabel bebas: x dan y, sampaiorde ke-2 disekitar titik (a,b)
f(x, y) ≈ f(a, b) + (x− a) fx(a, b) + (y − b) fy(a, b)
+ 12![(x− a)2 fxx(a, b) + 2(x− a)(y − b) fxy(a, b) + (y − b)2 fyy(a, b)] .
Ekspansi deret Taylor orde ke-2 dari fungsi f : Rn → R dapat ditulis dalambentuk yang lebih kompak sbb:
f(x) = f(a) +∇f(a)T (x− a) +1
2!(x− a)T {∇2f(a)} (x− a) + · · · ,
dimana ∇f(a) adalah gradient f pada x = a dan ∇2f(a) adalah matriks Hessian.Oleh karena itu deret Taylor f(x+ λs) adalah sbb:
f(x+ λs) = f(x) +∇f(x)T (λs) + λ2O(1).
2
Dr.Ir.BibParuhumSilalahi, M.Kom
Dengan demikian
f(x+ λs)− f(x) = ∇f(x)T (λs) + λ2O(1).
Untuk λ → 0, term kedua pada formula sebelah kanan tidak significant. Ini berartiuntuk memeperoleh nilai f(x + λs) yang lebih kecil dari f(x) dapat dilakukandengan mengambil nilai
∇f(x)T s < 0,
sehingga kita memperoleh (2)Secara teori untuk mendapatkan nilai optimal kita ingin mendapatkan nilai
xk+1 sehingga:
∇(xk + λsk) =∂f(x)
∂x|x=xk+λsk
= 0.
Tetapi hasil diatas secara analitis pada banyak kasus sulit diperoleh. Oleh karenaitu langkah pendekatan numerik dilakukan dengan kriteria selesai diperoleh bila:
•∥
∥λxk+1∥
∥ < ǫ
•∥
∥xk+1 − xk∥
∥ < ǫ
• jumlah iterasi telah terlewati,
dimana ǫ adalah suatu bilangan positif.Dengan demikian algoritma dari metode descent adalah sbb:
Mulai dari suatu titik x1 For k = 1, 2, ... doLangkah 1: Tentukan arah pencarian sk; arah ini haruslah arah yang menurun.Langka 2: Jika tidak ditemukan arah yang menurun, berhenti, nilai optimal diper-oleh.Langkah 3: Line search : Tentukan λk = argminλ>0 f(x
k + λksk).
Langkah 4: xk+1 = xk + λksk, k = k + 1;
Langkah 5: Berhenti jika kriteria pemberhentian telah terpenuhi.
1 Metode Steepest Descent
Metode steepest descent, yang dikenal juga dengan nama metode gradient adalahmetode descent yang mencari penurunan tercepat dari:
∇f(x)T s = ‖∇f(x)‖ ‖s‖ cos θ,
yang terjadi padaθ = 2π dan s = −∇f(x).
3
Dr.Ir.BibParuhumSilalahi, M.Kom
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
x1
x2
x0
x1
x2 x
3x4
Jadi dengan metode steepest descent :
xk+1 = xk − λ ‖∇f(x)‖ .
Metode ini dapat digunakan untuk optimasi tanpa kendala maupun optimasi den-gan kendala. Untuk beberapa kasus kekonvergenan dari metode steepest descentke solusi optimal lambat, hal ini terjadi karena jalur zig-zag dalam menuju solusioptimal.
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(xk − λ∇f(x)), kita peroleh
φ′(λ) =df(xk − λ∇f(x))
dλ
= ∇Tf(xk − λ∇f(x))∇f(x)
= ∇Tf(xk+1)∇f(x)
= 0,
Ini berarti gradient dari titik saat ini dan gradient dari titik selanjutnya salingtegak lurus (orthogonal) pada metode steepest descent.
Latihan 1.1 Misal f : Rn → R adalah fungsi yang kontinu dan terturunkan dandiberikan x̂ ∈ Rn. Buktikan bahwa gradient dan kurva contour (ketinggian) darifungsi kontinu f(x) adalah ortogonal pada x̂.
4
Dr.Ir.BibParuhumSilalahi, M.Kom
Latihan 1.2 Dengan metode steepest descent, tentukan nilai minimum dari f(x) =(x− 2)2, dengan dimulai dari titik x = 3.
Latihan 1.3 Dengan metode steepest descent, lakukan 4 kali iterasi metode steep-est descent untuk mencari minimum f(x) = 9x2
1 + 2x1x2 + x22 dimulai dari (0,-1).
Latihan 1.4 Tentukan steepest descent direction untuk fungsi kuadratik
f(x) =1
2xTQx+ qTx− c,
dimana Q adalah matriks positif definit. Hitung juga step length (λ) dalam prosesline search.
5