MetodeDescent · PDF filedimana θ adalah sudut antara ∇f(xk) dan sk, dan agar...

5
Dr. Ir. Bib Paruhum Silalahi, M.Kom Metode Descent Oleh : Dr. Ir. Bib Paruhum Silalahi, M.Kom Andaikan fungsi tujuan kita adalah min f (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 1 maka kita mencari x 2 , sehingga f (x 2 ) <f (x 1 ). Pergerakan x k pada setiap iterasi haruslah memenuhi f (x k+1 ) <f (x k ), k =1, 2,..., dimana pergerakan dari x k ke x k+1 dapat dituliskan sebagai berikut: x k+1 = x k + λ k s k , k =1, 2,..., dengan λ k menyatakan langkah (step ) pada setiap iterasi dan s k adalah arah (di- rection ). 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 lain- nya. Begitu pencarian arah telah ditentukan maka tahap selanjutnya adalah melakukan pencarian langkah (line search, step search ), yaitu λ k = arg min λ>0 f (x k + λ 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)= ∂f (x) δx 1 ∂f (x) δx 2 ... ∂f (x) δxn T Agar fungsi menuju arah menurun persyaratan berikut harus dipenuhi df (x k + λs k ) | λ=0 < 0. (1) 1

Transcript of MetodeDescent · PDF filedimana θ adalah sudut antara ∇f(xk) dan sk, dan agar...

Page 1: MetodeDescent · PDF filedimana θ adalah sudut antara ∇f(xk) dan sk, dan agar negatif π/2 < θ < 3π/2. Lihat Gambar Berikut ini kita menggunakan pendekatan lain yaitu dengan pendekatan

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

Page 2: MetodeDescent · PDF filedimana θ adalah sudut antara ∇f(xk) dan sk, dan agar negatif π/2 < θ < 3π/2. Lihat Gambar Berikut ini kita menggunakan pendekatan lain yaitu dengan pendekatan

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

Page 3: MetodeDescent · PDF filedimana θ adalah sudut antara ∇f(xk) dan sk, dan agar negatif π/2 < θ < 3π/2. Lihat Gambar Berikut ini kita menggunakan pendekatan lain yaitu dengan pendekatan

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

Page 4: MetodeDescent · PDF filedimana θ adalah sudut antara ∇f(xk) dan sk, dan agar negatif π/2 < θ < 3π/2. Lihat Gambar Berikut ini kita menggunakan pendekatan lain yaitu dengan pendekatan

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))

= ∇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

Page 5: MetodeDescent · PDF filedimana θ adalah sudut antara ∇f(xk) dan sk, dan agar negatif π/2 < θ < 3π/2. Lihat Gambar Berikut ini kita menggunakan pendekatan lain yaitu dengan pendekatan

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