• Tidak ada hasil yang ditemukan

Aplikasi algoritma Conjugate Gradient pada jaringan syaraf tiruan perambatan balik.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi algoritma Conjugate Gradient pada jaringan syaraf tiruan perambatan balik."

Copied!
104
0
0

Teks penuh

(1)

xii

APLIKASI ALGORITMA CONJUGATE GRADIE NT

PADA JARINGAN SYARAF TIRUAN

PE RAMBATAN BALIK

Abstrak

Jaringan syaraf lapis jamak telah berhasil diaplikasikan ke berbagai

permasalahan. Algoritma penurunan tercuram (steepest descent) merupakan algoritma yang popular digunakan sebagai algoritma pembelajaran pada jaringan syaraf

perambatan balik yang kemudian disebut sebagai algoritma perambatan balik standar.

Algoritma ini menghasilkan kekonvergenan yang lambat dan sangat tergantung pada

parameter pesat belajarnya.

Penelitian ini bertujuan untuk memperbaiki unjuk kerja kecepatan konvergen

pada algoritma perambatan balik standar. Algoritma conjugate gradient yang merupakan algoritma iteratif yang handal untuk menyelesaikan persamaan linear simultan skala

besar dapat juga digunakan untuk mengoptimalkan algoritma belajar pada jaringan

perambatan balik.

Pengujian dilakukan dengan membuat program dengan bahasa C+ + untuk

masing-masing algoritma dengan compiler Borland C+ + versi 5.02 dan kemudian

mengaplikasikan masing-masing program pada beberapa kasus. Dan dari situ bisa

(2)

xiii

THE APPLICATION OF

CONJUGATE GRADIE NT ALGORITHM

FOR BACKPROPAGATION NE URAL NE TWORK

Abstract

Multilayer neural network has been succesfully applied to many problems.

Steepest descent is a popular learning algorith for backpropagation neural network,

called standard backpropagation algorithm. This algorithm converges very slowly

and depend on learning rate parameter.

The goal of this research is to overcome these problems. Conjugate gradient

which is the most popular iterative algorithm for solving large system of linear

equations. This algorithm can be used to optimize backpropagation learning

algorithm.

The program in C+ + language with Borland C+ + version 5.02 is made for

analyze the performance of standar backpropagation and conjugate gradient

(3)

APLIKASI ALGORITM A

CO NJUGATE GRADIENT

PADA JARINGAN SYARAF TIRUAN

PERAM BATAN BALIK

Tesis

Program Studi Teknik Elektro Jurusan Ilmu-ilmu Teknik

disusun oleh :

W iwien W idyastuti 18475/I-1/1820/02

PROGRA M PA SCA SA RJA NA

UNIVERSITA S GA DJA H MA DA

(4)
(5)

vi

DAF TAR ISI

HALAMAN JUDUL………. i

HALAMAN PE NGE SAHAN………... ii

HALAMAN PE RNYATAAN………... iii

PRAKATA……… iv

DAFTAR ISI………. vi

DAFTAR TABE L………. ix

DAFTAR GAMBAR………. x

ABSTRAK………. xii

I. PE NGANTAR……….… 1

A. Latar Belakang………. 1

B. Perumusan Masalah………. 2

C. Batasan Masalah………... 3

D. Keaslian Penelitian……….. 3

E . Tujuan Penelitian………. 4

F. Hipotesis……….. 4

G. Cara Penelitian……… 4

II. TINJAUAN PUSTAKA………. 6

A. Tinjauan Pustaka……….. 6

(6)

vii

1. Metode Steepest Descent (Penurunan Tercuram)………….…... 7

2. Metode Conjugate Gradient………... 10

3. Jaringan Perambatan Balik (Back propagation)………... 14

3.1. Algoritma Perambatan Balik………. 17

3.2. Fungsi Aktivasi………. 21

3.3. Memilih Bobot dan Prasikap Awal……… 23

3.4. Lama Pelatihan………. 24

3.5. Jumlah Pasangan Pelatihan………... 25

3.6. Representasi Data………. 25

3.7. Jumlah Lapisan Tersembunyi……… 26

3.8. Indeks Unjuk Kerja (Performance Index)……….. 26

4. Jaringan Perambatan Balik dengan Conjugate Gradient……….. 28

III. CARA PE NE LITIAN……….. 30

A. Bahan Penelitian……….. 30

B. Alat Penelitian……….. 30

C. Jalannya Penelitian………... 31

D. Kesulitan-Kesulitan………. 49

IV. HASIL PE NE LITIAN DAN PE MBAHASAN………. 50

A. Hasil Uji Coba Masalah Pengenalan Gerbang AND……… 52

B. Hasil Uji Coba Masalah Pengenalan Gerbang XOR………. 55

(7)

viii

D. Pembahasan Umum……… 62

V. KE SIMPULAN………... 68

A. Kesimpulan………. 69

B. Saran……… 69

DAF TAR PUSTAKA………... 71

LAMPIRAN

(8)

ix

DAF TAR TABE L

No. Nama Tabel Halaman

Tabel 4.1. Pola gerbang AND………. 50

Tabel 4.2. Pola gerbang XOR……….…. 50

Tabel 4.3. Pola Bilangan……….…. 51

Tabel 4.4. Hasil uji coba gerbang AND………... 52

Tabel 4.5. Hasil uji coba gerbang XOR………... 56

Tabel 4.6. Hasil uji coba masalah pengenalan bilangan……… 59

(9)

x

DAF TAR GAMBAR

No. Nama Tabel Halaman

Gambar 2.1. Jaringan syaraf perambatan balik dengan 1 lapisan

tersembunyi ………... 15

Gambar 2.2. Jaringan tiga lapis .……….…. 16

Gambar 2.3. Fungsi sigmoid biner, dengan rentang nilai (0,1) ……… 22

Gambar 2.4. Fungsi sigmoid bipolar, dengan rentang nilai (-1,1) ………… 22

Gambar 3.1. Lokasi Selang ………..………... 34

Gambar 3.2. Selang tidak dikurangi ……… 35

Gambar 3.3. Diagram alir program pelatihan jaringan perambatan balik

standar …….……….. 41

Gambar 3.4. Diagram alir program pengujian jaringan perambatan balik

standar ………... 44

Gambar 3.5. Diagram alir program pelatihan jaringan perambatan dengan

conjugate gradient ………... 45

Gambar 3.6. Diagram alir program pengujian jaringan perambatan balik

dengan conjugate gradient ………... 48 Gambar 4.1. Hasil masalah gerbang AND dengan BPS pesat belajar 0,5…. 53

Gambar 4.2. Hasil masalah gerbang AND dengan BPS pesat belajar 0,1…. 53

Gambar 4.3. Hasil masalah gerbang AND dengan BPS pesat belajar 0,05... 54

Gambar 4.4. Hasil masalah gerbang AND dengan BPCG ……….. 54

(10)

xi

Gambar 4.6. Hasil masalah gerbang XOR dengan BPS pesat belajar 0,1…. 57

Gambar 4.7. Hasil masalah gerbang XOR dengan BPS pesat belajar 0,05... 57

Gambar 4.8. Hasil masalah gerbang XOR dengan BPCG ………..…. 58

Gambar 4.9. Grafik hubungan antara waktu dan unit tersembunyi BPS…... 60

Gambar 4.10. Grafik hubungan antara waktu dan unit tersembunyi BPCG... 61

Gambar 4.11. Grafik hubungan antara waktu dan unit tersembunyi BPS dan BPCG ……… 61

Gambar 4.12. Kompleksitas waktu algoritma penurunan tercuram dan conjugate gradient ………... 63

Gambar 4.13. Gambar 3 dimensi dari F(x) ………... 64

Gambar 4.14. Gambar kontur dari F(x) ……… 65

Gambar 4.15. Gambar lintasan dengan penurunan tercuram dengan ukuran langkah sangat kecil ………... 65

Gambar 4.16. Gambar lintasan dengan penurunan tercuram ukuran langkah 0,12 ………... 66

Gambar 4.17. Gambar lintasan dengan conjugate gradient ……… 66

Gambar 4.18. Grafik penurunan galat tiap iterasi……….. 68

(11)

xii

APLIKASI ALGORITMA CONJUGATE GRADIE NT

PADA JARINGAN SYARAF TIRUAN

PE RAMBATAN BALIK

Abstrak

Jaringan syaraf lapis jamak telah berhasil diaplikasikan ke berbagai

permasalahan. Algoritma penurunan tercuram (steepest descent) merupakan algoritma yang popular digunakan sebagai algoritma pembelajaran pada jaringan syaraf

perambatan balik yang kemudian disebut sebagai algoritma perambatan balik standar.

Algoritma ini menghasilkan kekonvergenan yang lambat dan sangat tergantung pada

parameter pesat belajarnya.

Penelitian ini bertujuan untuk memperbaiki unjuk kerja kecepatan konvergen

pada algoritma perambatan balik standar. Algoritma conjugate gradient yang merupakan algoritma iteratif yang handal untuk menyelesaikan persamaan linear simultan skala

besar dapat juga digunakan untuk mengoptimalkan algoritma belajar pada jaringan

perambatan balik.

Pengujian dilakukan dengan membuat program dengan bahasa C+ + untuk

masing-masing algoritma dengan compiler Borland C+ + versi 5.02 dan kemudian

mengaplikasikan masing-masing program pada beberapa kasus. Dan dari situ bisa

(12)

xiii

THE APPLICATION OF

CONJUGATE GRADIE NT ALGORITHM

FOR BACKPROPAGATION NE URAL NE TWORK

Abstract

Multilayer neural network has been succesfully applied to many problems.

Steepest descent is a popular learning algorith for backpropagation neural network,

called standard backpropagation algorithm. This algorithm converges very slowly

and depend on learning rate parameter.

The goal of this research is to overcome these problems. Conjugate gradient

which is the most popular iterative algorithm for solving large system of linear

equations. This algorithm can be used to optimize backpropagation learning

algorithm.

The program in C+ + language with Borland C+ + version 5.02 is made for

analyze the performance of standar backpropagation and conjugate gradient

(13)

1

I.

PE NGANTAR

A. Latar Belakang

Suatu jaringan syaraf tiruan merupakan sistem pemrosesan informasi yang

mempunyai karakteristik kinerja yang mirip dengan jaringan syaraf biologis (Fausett,

Laurence. 1994). Pendekatan jaringan syaraf tiruan menerapkan prinsip-prinsip

komputasi dan organisasional yang berasal dari studi neurobiologi.

Sejalan dengan perkembangan komputer modern yang sangat pesat dengan

kemampuan komputasi yang semakin tinggi, semakin memungkinkan untuk

membuat simulasi pemrosesan pada syaraf. Teknologi yang semakin canggih

sekarang ini telah memungkinkan untuk memproduksi perangkat keras khusus untuk

jaringan syaraf. Kemajuan di bidang komputasi juga membuat studi tentang jaringan

syaraf semakin mudah dilakukan.

Jaringan syaraf tiruan dapat diaplikasikan ke berbagai bidang, misalnya untuk

prediksi atau ramalan cuaca, prediksi harga saham, klasifikasi, asosiasi data,

konseptualisasi data dan penapisan data.

Jaringan syaraf tiruan didasari oleh model matematika dari pengolahan

informasi dan mempunyai cara untuk menyatakan hubungan dari data atau informasi

tersebut. Metode-metode numerik dan kemampuan komputer baik perangkat lunak

maupun perangkat keras merupakan hal penting dalam jaringan syaraf tiruan

(14)

Keberhasilan sebuah jaringan syaraf tiruan tentu saja juga sangat bergantung

dari metode yang digunakan. Pemilihan metode yang efisien merupakan salah satu

elemen penting akan keberhasilan suatu jaringan.

Jaringan syaraf tiruan perambatan balik (back propagation) telah berhasil diaplikasikan untuk berbagai permasalahan. Jaringan perambatan balik standar

mengadopsi algoritma penurunan tercuram (steepest descent) sebagai algoritma belajarnya. Jaringan perambatan balik standar sangat sensitif pada parameter pesat

belajar. Pemilihan pesat belajar yang tidak tepat bisa mengakibatkan jaringan belajar

dengan sangat lambat bahkan gagal mencapai target yang diinginkan.

Algoritma conjugate gradient merupakan salah satu metode komputasi yang handal dalam menyelesaikan persamaan linear secara iteratif. Algoritma ini kemudian

secara luas dikembangkan dan dapat digunakan juga sebagai algoritma untuk

menyelesaikan persamaan nonlinear. Fungsi kesalahan yang diminimalkan pada

jaringan perambatan balik seringkali berupa persamaan nonlinear. Oleh karena itu

algoritma conjugate gradient dapat digunakan sebagai algoritma untuk memperbaiki kekurangan pada jaringan syaraf tiruan perambatan balik yang standar.

B. Perumusan Masalah

Metode standar dari jaringan perambatan balik mengadopsi teknik penurunan

tercuram sebagai algoritma pelatihan. Sifat algoritma ini sangat sensitif pada

pemilihan parameter pesat belajar. Selain itu, bobot selalu dimodifikasi dalam arah

negatif dari gradien. Pesat belajr yang terlalu besar dapat mengakibatkan

ketidakstabilan yang berarti pelatihan gagal mencapai target yang diharapkan. Pesat

(15)

Sedangkan pesat belajar yang ditentukan tiap iterasi akan menghasilkan gerakan sigsag

dan berakibat pelatihan berjalan dengan lambat, sehingga iterasi yang dibutuhkan

sangat banyak dan tentu saja waktu yang dibutuhkan juga bertambah panjang.

Berdasarkan hal tersebut di atas maka peneliti akan mengaplikasikan

algoritma conjugate gradient nonlinear tersebut pada jaringan syaraf tiruan perambatan balik agar kinerja jaringan lebih baik.

C. Batasan Masalah

Untuk menghindari meluasnya masalah yang akan diteliti, lingkup

permasalahan terbatas pada pembuatan program aplikasi algoritma conjugate gradient pada jaringan syaraf tiruan perambatan balik dan program aplikasi jaringan syaraf

tiruan perambatan balik standar yang mengadopsi metode penurunan tercuram.

Kemudian hasil dari kedua algoritma di atas akan dibandingkan kinerjanya yaitu

tentang banyaknya iterasi, waktu yang diperlukan serta keberhasilannya dalam

mencapai target. Masalah yang akan digunakan untuk perbandingan adalah masalah

yang sudah diketahui fungsi kesalahannya.

D. Keaslian Penelitian

Berbagai penelitian tentang algoritma conjugate gradient dan jaringan syaraf tiruan telah dilakukan. Keaslian penelitian atau perbedaan dari penelitian yang sudah

dilakukan terletak pada :

1. Masalah-masalah yang akan digunakan untuk mengaplikasikan algoritma.

(16)

3. Program yang akan penulis buat dengan bahasa pemrograman C+ + .

E . Tujuan Penelitian

Tujuan dilakukannya penelitian ini adalah :

1. Untuk mempelajari, memahami algoritma conjugate gradient khususnya yang digunakan untuk menyelesaikan masalah nonlinear.

2. Dapat dibuat program simulasi jaringan syaraf tiruan menggunakan algoritma

pelatihan perambatan balik dengan conjugate gradient dan algoritma pelatihan perambatan balik standar.

3. Membandingkan kedua algoritma pelatihan tersebut di atas.

F . Hipotesis

Berdasarkan penelitian diharapkan algoritma conjugate gradient dapat digunakan sebagai teknik optimisasi pada jaringan syaraf perambatan balik yang menghasilkan

kinerja yang lebih baik dari pada jaringan syaraf perambatan balik yang standar.

G. Cara Penelitian

Tahap-tahap yang akan dilakukan dalam penelitian ini adalah sebagai berikut :

1. Studi pustaka

Pada tahap ini akan dipelajari berbagai literatur yang berhubungan dengan

(17)

2. Pembuatan program

Setelah melakukan studi pustaka, maka segera dapat dilakukan pembuatan

program. Bahasa pemrograman yang akan digunakan adalah bahasa C+ + .

Program yang dibuat ada 2 macam yaitu program jaringan syaraf perambatan

balik dengan metode conjugate gradient dan program jaringan syaraf perambatan balik standar.

3. Pencarian masalah

Pencarian masalahan dilakukan dengan melakukan pemilihan terhadap

masalah-masalah yang telah ada yang sekiranya dapat mewakili permasalah-masalahan umum

yang sering dijumpai.

4. Aplikasi program

Setelah program selesai dan telah diperiksa kebenarannya, maka segera dapat

digunakan untuk mengaplikasikan berbagai masalah jaringan syaraf tiruan yang

hasilnya akan digunakan untuk menganalisis unjuk kerja dari masing-masing

metode.

5. Analisis

Setelah program diaplikasikan untuk berbagai masalah, maka hasil yang

diperoleh tersebut dianalisis untuk mengetahui unjuk kerja dari masing-masing

metode. Unjuk kerja yang akan dibahas di sini adalah mengenai unjuk kerja

kekonvergenan, banyaknya iterasi yang dibutuhkan dan waktu yang diperlukan

(18)

6

II. TINJAUAN PUSTAKA

A. Tinjauan Pustaka

Hestenes dan E duard Stiefel pada tahun 1952 pertama kali menemukan

metode conjugate gradient yang digunakan untuk menyelesaikan sistem persamaan linear. Dari sini muncul penelitian-penelitian tentang conjugate gradient yang membicarakan berbagai aspek.

Fletcher dan Reeves, 1964 menggunakan metode conjugate gradient untuk minimisasi fungsi.

Kemudian pada tahun 1993, Jianming Jin menulis buku tentang

metode-metode Finite E lement yang digunakan untuk menyelesaikan masalah-masalah

elektromagnetik. Berbagai macam metode dipaparkan oleh Jianming, termasuk di

dalamnya adalah metode conjugate gradient.

Arioli, pada tahun 2001, meneliti tentang kriteria penghentian pada algoritma

conjugate gradient dalam kerangka metode Finite E lemen.

Penelitian lain dilakukan oleh Zdenek Strakos dan Petr Tichy, pada tahun

2002. Mereka meneliti tentang perkiraan galat dalam metode Conjugate gradient Method dan mengapa hal tersebut dapat dilakukan dalam perhitungan finite presisi.

Sedangkan penelitian dan buku tentang jaringan syaraf tiruan antara lain buku

tentang dasar-dasar dari jaringan syaraf ditulis oleh Laurene Fausett pada tahun 1994.

Buku ini berisi tentang arsitektur, algoritma dan aplikasi dari jaringan syaraf termasuk

(19)

Kemudian pada tahun 1997 , Jyh-Shing Roger Jang, Chuen-Tsai Sun, E iji

Mizutani menulis buku tentang jaringan syaraf kabur (neuro-fuzzy) dan komputasinya. Buku ini menjelaskan metode-metode komputasi yang dapat digunakan untuk

memecahkan persoalan pada jaringan syaraf kabur antara lain metode penurunan

tercuram dan metode conjugate gradient. Tetapi metode-metode tersebut dijelaskan secara terpisah dari jaringan syaraf kabur.

Tahun 1999, Martin T. Hagan, Howard B. Demuth dan Mark Beale dalam

bukunya menuliskan jaringan perambatan balik dengan optimisasi menggunakan

algoritma conjugate gradient. Algoritma pencarian garis yang digunakan untuk optimisasinya adalah algoritma golden section search.

Berhubungan dengan penelitian sebelumnya tentang aplikasi metode conjugate gradient pada berbagai masalah maka peneliti juga akan mengaplikasikannya pada masalah jaringan saraf dalam hal ini adalah jaringan perambatan balik.

B. Landasan Teori

1. Metode Steepest Descent (Penurunan Tercuram)

Metode penurunan tercuram merupakan salah satu metode yang digunakan untuk

optimisasi. Pada algoritma pelatihan jaringan syaraf, penurunan tercuram digunakan

untuk untuk mengoptimalkan performance index F(x). Arti mengoptimalkan di sini adalah mencari nilai x yang meminimalkan F(x). Penurunan tercuram adalah metode iteratif yang memulai taksiran x dengan taksiran awal x0 dan kemudian tiap iterasinya akan memperbaiki taksiran dengan persamaan yang berbentuk:

k k k

k

x

p

(20)

atau

(

k k

)

k k

k

x

x

p

x

=

=

α

+1 (2.2)

dengan vektor pk adalah search direction (arah pencarian) dan

α

k adalah learning rate

(pesat belajar) yang merupakan skalar positif. Pesat belajar menentukan panjang

langkah pada tiap pencarian.

Pada tiap iterasi diharapkan fungsi selalu menurun, atau dengan kata lain :

( ) ( )

x

k

F

x

k

F

+1

<

(2.3)

Kemudian arah pk dapat dipilih dengan memakai ekspansi deret Taylor urutan pertama sebagai berikut :

( )

(

)

( )

k

T k k k

k

k

F

x

x

F

x

g

x

x

F

+1

=

+

+

(2.4)

dengan gk adalah gradien pada taksiran lama xk:

( )

x xk

k

F

x

g

= (2.5)

Agar

F

( ) ( )

x

k+1

<

F

x

k , maka suku ke-dua dari persamaan di sebelah kanan harus

negatif:

0

<

=

k

T k k k T

k

x

g

p

g

α

(2.6)

α

k dipilih bilangan yang kecil tapi lebih besar dari nol , artinya :

0

<

k T k

p

g

(2.7)

Semua vektor pk yang memenuhi persamaan di atas disebut arah penurunan. Fungsi akan turun jika dilakukan langkah yang cukup kecil pada arah ini. Sedangkan yang

dimaksud dengan arah penurunan tercuram adalah arah yang akan mengakibatkan

fungsi turun paling cepat. Hal ini terjadi jika k T k

p

g

paling negatif. Ini akan terjadi
(21)

k

k

g

p

=

(2.8)

Dengan menggunakan persamaan(2.8) pada persamaan(2.1) diperoleh metode

penurunan tercuram sebagai berikut :

k k k

k

x

g

x

+1

=

α

(2.9)

Pada penurunan tercuram ada 2 metode yang umum digunakan untuk

menentukan pesat belajar

α

k. Cara pertama adalah meminimalkan F(x) terhadap

α

k

pada tiap iterasi. Dengan kata lain, memilih

α

k yang meminimalkan :

(

x

k k

p

k

)

F

+

α

(2.10)

Untuk fungsi kuadratis, dapat disusun minimisasi linear secara analitis. Jika fungsi

kuadratis adalah sebagai berikut :

c

x

b

Ax

x

x

F

=

T

+

T

+

2

1

)

(

(2.11)

Maka turunan dari fungsi(2.10) terhadap

α

k untuk fungsi kuadratis F(x) adalah :

(

)

( )

( )

x x k

T k k k x x T k k k k

p

x

F

p

p

x

F

p

x

F

d

d

k k = =

+

=

+

α

α

2

α

(2.12)

Jika turunan tersebut disamakan dengan nol, maka

α

k diperoleh :

( )

( )

k k

T k k T k k x x T k k x x T k

p

A

p

p

g

p

x

F

p

p

x

F

k

k

=

=

= = 2

α

(2.13)

dengan Ak adalah matriks Hessian yang dievaluasi pada xk :

( )

k x x

k

F

x

A

=

2
(22)

Cara kedua adalah dengan memilih suatu nilai tertentu untuk

α

k, misalnya

α

k= 0,02 atau menggunakan variabel yang sudah ditentukan sebelumnya, misalnya

α

k= 1/k.

2. Metode Conjugate Gradient

Metode conjugate gradient dikembangkan oleh E .Stiefel dan M.R. Hestenes. Pertama kali metode ini digunakan sebagai metode untuk menyelesaikan persamaan

linear atau persamaan matriks secara iteratif. Conjugate gradient merupakan metode efektif untuk sistem persamaan linear dengan ukuran besar, yaitu :

A x= b (2.15)

Dengan x adalah vektor yang tidak diketahui, b adalah vektor yang sudah diketahui dan A adalah matriks simetris, definit positif yang telah diketahui. Matriks A adalah definit positif jika untuk tiap vektor x yang tidak nol :

0

>

Ax

x

T (2.16)

Jika terdapat suatu fungsi kuadratis :

c

x

b

Ax

x

x

F

=

T

T

+

2

1

)

(

(2.17)

dengan A adalah matriks, x dan b adalah vektor dan c adalah skalar konstan. Jika A adalah matriks simetris dan definit positif maka F(x) dapat diminimisasi dengan menggunakan penyelesaian dari A x= b.

(23)

=

)

(

...

)

(

)

(

)

(

'

2 1

x

F

x

x

F

x

x

F

x

x

F

n (2.18)

dengan menggunakan persamaan (2.18) pada persamaan (2.17), diperoleh :

b

Ax

x

A

x

F

=

T

+

2

1

2

1

)

(

'

(2.19)

Jika A adalah matriks simetris maka persamaan (2.18) menjadi :

b

Ax

x

F

'

(

)

=

(2.20)

Karena A adalah definit positif, maka bentuk permukaan fungsi kuadratik F(x) adalah seperti mangkuk, yang berarti titik minimum dari fungsi terletak di dasar mangkuk

yang mempunyai gradien nol. Sehingga dengan membuat gradien sama dengan nol,

persamaan (2.20) menjadi suatu sistem persamaan linear yang akan dipecahkan

sebagai berikut :

b

Ax

=

(2.21)

Dari sini terlihat bahwa penyelesaian dari A x= b adalah merupakan titik minimum dari F(x). Jika A adalah matriks simetris yang definit positif, A x= b dapat diselesaikan dengan mencari nilai x yang meminimalkan F(x).

Metode conjugate gradient dapat juga digunakan untuk menyelesaikan suatu sistem persamaan linear walaupun A bukan matriks simetris, bukan definit positif, bahkan jika A bukan matriks bujur sangkar. Caranya adalah dengan mengalikan A dengan transposenya :

b

A

Ax

A

T

=

T
(24)

Untuk mencari titik minimum pada fungsi kuadratis seperti pada persamaan

(2.11), sekumpulan vektor {pk} akan mutually conjugate dengan matriks Hessian A yang definit positif jika dan hanya jika :

j

k

untuk

0

=

j T k

Ap

p

(2.23)

Salah satu himpunan vektor conjugate adalah eigenvector dari A. Jika

{

λ

1

,

λ

2

,...,

λ

n

}

adalah eigenvalues dari matriks Hessian A dan

{

z

1

,

z

2

,...,

z

n

}

adalah

eigenvector-nya, maka untuk melihat bahwa eigenvector-nya conjugate, adalah dengan mengganti pk pada persamaan di atas dengan zk sebagai berikut :

j

k

untuk

0

=

=

j T k j j T

k

Az

z

z

z

λ

(2.24)

persamaan terakhir bisa demikian karena eigenvek tor dari matriks simetris adalah mutually orthogonal.

Dari situ bisa dilihat bahwa fungsi kuadratis dapat diminimisasi secara tepat

dengan menggunakan arah pencarian sepanjang eigencector matrik Hessian, sebab eigenvector merupakan sumbu utama dari kontur fungsi. Tetapi mencari eigenvector secara praktek tidak mudah dilakukan karena untuk mencari eigenvector terlebih dulu harus mencari matrik Hessian. Oleh karena itu dicari cara agar penghitungan turunan

ke-2 tidak diperlukan.

Pada fungsi kuadratis seperti pada (2.11) :

b

Ax

x

F

x

F

=

=

+

(

)

'

(

)

(2.25)

A

x

F

=

2

(

)

(2.26)

dengan menggunakan persamaan tersebut, dapat diketahui perubahan gradien pada

iterasi k+ 1, yaitu :

(

k

) (

k

)

k

k k

k

g

g

Ax

b

Ax

b

A

x

g

=

=

+

+

=

(25)

kemudian dari persamaan (2.2) :

(

k k

)

k k

k

x

x

p

x

=

=

α

+1 (2.28)

dan

α

k dipilih untuk meminimalkan F(x) pada arah pk

Kondisi konjugasi dapat dituliskan kembali :

j

k

dengan

0

=

=

=

j T k j T k j T k

k

p

Ap

x

Ap

g

p

α

(2.29)

Arah pencarian akan conjugate jika ortogonal dengan perubahan gradien. Arah pencarian pertama (p0) ditentukan sembarang dan p1 adalah vektor yang ortogonal terhadap

g0. Secara umum untuk memulai pencarian digunakan arah dari metode

penurunan tercuram :

0

0

g

p

=

(2.30)

Kemudian, pada tiap iterasi, vektor pk dipilih vektor yang ortogonal terhadap

{

g

0

,

g

1

,...,

g

k−1

}

. Prosedur ini mirip dengan ortogonalisasi Gram-Schmidt, yang

disederhanakan untuk iterasi menjadi :

1

+

=

k k k

k

g

p

p

β

(2.31)

Skalar

β

k dapat dipilih dari beberapa metode yang memberikan hasil yang sama untuk

fungsi kuadratis. Pertama adalah menurut Hestenes dan Steifel :

1 1 1 − − −

=

k T k k T k k

p

g

g

g

β

(2.32)

Kedua , menurut Fletcher dan Reeves :

1 1 − −

=

k T k k T k k

g

g

g

g

β

(2.33)
(26)

1 1 1 − − −

=

k T k k T k k

g

g

g

g

β

(2.34)

Secara ringkas, metode conjugate gradient terdiri dari langkah-langkah sebagai berikut : 1. Pilih arah pencarian awal yang merupakan negatif dari gradien seperti

persamaan(2.30) :

0

0

g

p

=

2. Lakukan langkah seperti persamaan (2.28):

(

k k

)

k k

k

x

x

p

x

=

=

α

+1

dengan

α

k dipilih untuk meminimalkan fungsi sepanjang arah pencarian. Untuk

fungsi kuadratis dapat digunakan persamaan (2.13) :

( )

( )

k k

T k k T k k x x T k k x x T k

p

A

p

p

g

p

x

F

p

p

x

F

k

k

=

=

= = 2

α

Sedangkan untuk fungsi non-linear lainnya dapat menggunakan teknik-teknik

minimisasi linear yang umum dipakai.

3. Pilih arah pencarian selanjutnya menggunakan persamaan (2.31) :

1

+

=

k k k

k

g

p

p

β

dengan

β

k dapat dihitung dengan salah satu dari persamaan (2.32), persamaan

(2.33), atau persamaan(2.34).

3. Jaringan Perambatan Balik (Backpropagation)

(27)

jaringan agar mampu menanggapi secara benar pola-pola masukan yang digunakan

saat pelatihan (mengingat) dan mampu memberikan tanggapan yang baik untuk

pola-pola yang mirip tetapi tidak sama dengan pola-pola-pola-pola pelatihan (generalisasi).

Pelatihan jaringan dengan perambatan balik meliputi tiga tahap, pertama

adalah tahap maju (feedforward) untuk input pola pelatihan, kedua adalah perhitungan dan perambatan balik (back propagation) dari galat yang bersangkutan dan yang terakhir adalah penyesuaian bobot. Setelah pelatihan, aplikasi jaringan hanya meliputi

komputasi dari tahap maju.

Gambar 2.1. Jaringan syaraf perambatan balik dengan 1 lapisan tersembunyi

Pada gambar 2.1. tampak sebuah jaringan syaraf perambatan balik dengan satu

hidden layer (lapisan tersembunyi), atau dikatakan sebagai jaringan dua lapis. Gambar 2.2. adalah cara lain untuk mengilustrasikan multilayer network (jaringan lapis jamak), dalam gambar 2.2 menunjukkan diagram dari jaringan tiga lapis. Secara sederhana,

jaringan lapis jamak adalah jaringan perceptron yang bertingkat. Keluaran dari

jaringan pertama merupakan masukan jaringan kedua, dan keluaran jaringan kedua

merupakan masukan jaringan ketiga. Tiap lapis dapat memiliki jumlah neuron yang

Y1 Yk Ym

1

Z1

X1 Xi Xn

Zj Zp

1

……

……

……

(28)

berbeda, bahkan dapat juga memiliki transfer function/ activation function (fungsi aktivasi) yang berbeda pula.

Gambar 2.2. Jaringan tiga lapis

Pada gambar 2.2., lambang R menunjukkan jumlah masukan, S1

menunjukkan

jumlah neuron pada lapis pertama, S2 adalah jumlah neuron pada lapis kedua dan S3 menunjukkan jumlah neuron pada lapis ketiga.

Pada jaringan lapis jamak, lapisan yang keluarannya merupakan keluaran dari

jaringan disebut dengan output layer (lapisan keluaran), pada gambar 2.2. adalah lapis .

. .

Σ

f

1

n11 a 1

1

b11

1

Σ

f

1

n12 a 1

2

b12

1

Σ

f

1

a1s1

1 n1s1

b1s1

. . . . . . . . .

Σ

f

2

n21 a 2

1

b21

1

Σ

f

2

n22 a 2

2

b22

1

Σ

f

2

a2s2

1 n2s2

b2s2

. . . . . .

Σ

f

3

n31 a 3

1

b31

1

Σ

f

3

n32 a 3

2

b32

1

Σ

f

3

a3s3

1 n3s1

b3s3

. . . . . .

w11,1 w3

1,1

w21,1

p1

p2

p3

pR

w1S1,R w

2

S2,S1 w3

S3,S2

Masukan Lapis Pertama Lapis Kedua Lapis Ketiga

a1=f1(W1p+b1) a2=f2(W2a1+b2) a3=f3(W3a2+b3)

(29)

ketiga. Sedangkan lapisan yang lain (lapis pertama dan kedua) disebut sebagai lapisan

tersembunyi.

3.1. Algoritma Perambatan Balik

Seperti yang dijelaskan di awal, bahwa pelatihan jaringan dengan perambatan

balik meliputi tiga tahap yaitu meneruskan (feedforward) pola-pola masukan pelatihan, merambatkan balik galat yang bersesuaian dan penyesuaian bobot.

Pada saat meneruskan pola masukan, berdasarkan gambar 2.1. tiap unit

masukan (Xi) menerima sinyal masukan dan meneruskan ke unit-unit pada lapisan tersembunyi Z1,… .,Zp. Kemudian tiap unit tersembunyi menghitung aktivasinya dan mengirimkan sinyal tersebut (zj) ke tiap unit keluaran. Tiap unit keluaran (Yk) menghitung aktivasinya (yk) agar menghasilkan tanggapan jaringan untuk pola masukan yang diberikan.

Pada saat pelatihan, tiap unit keluaran membandingkan aktivasi yk dengan nilai target tk untuk menentukan galat untuk suatu pola pada unit tersebut. Berdasarkan galat ini, faktor

δ

k (k= 1,… ,m) dapat dihitung. Faktor

δ

k digunakan untuk

mendistribusikan galat pada unit keluaran Yk kembali ke semua unit di lapis sebelumnya (lapis tersembunyi yang terhubung ke Yk). Faktor

δ

k nantinya juga

digunakan untuk menyesuaikan bobot antara keluaran dan lapis tersembunyi.

Dengan cara yang sama, faktor

δ

j(j= 1,….,p) dihitung dari tiap unit tersembunyi Zj.

Galat tidak perlu dirambatkan balik ke lapisan masukan, tetapi faktor

δ

j tetap
(30)

Setelah semua faktor

δ

ditentukan, bobot untuk semua lapisan dapat

disesuaikan secara bersamaan. Penyesuaian bobot wjk (dari unit tersembunyi Zjke unit keluaran Yk) dilakukan berdasarkan faktor

δ

jdan aktivasi xidari unit masukan.

Lambang-lambang yang digunakan dalam algoritma pelatihan pada jaringan

perambatan balik adalah sebagai berikut :

x Vektor masukan pelatihan :

x= (x1, … , xi,… ,xn) t vektor keluaran target

t= (t1,… ,tk,… ,tm)

δ

k Bagian dari koreksi galat dari penyesuaian bobot wjk yang berhubungan

dengan galat pada unit keluaran Yk, juga merupakan informasi tentang galat pada unit Yk yang dirambatkan balik ke unit tersembunyi yang berhubungan dengan unit Yk.

δ

j Bagian dari koreksi galat dari penyesuaian bobot vij yang berhubungan

dengan perambatan balik informasi galat dari lapisan keluaran ke unit

tersembunyi Zj

α

Pesat belajar

Xi Unit masukan ke-i :

Untuk sebuah unit masukan, sinyal masukan dan sinyal keluarannya sama,

yaitu xi.

(31)

Net input pada Zj dilambangkan dengan Z_inj :

=

+

i ij i j

j

v

x

v

in

z

_

0

Sinyal keluaran (aktivasi) dari Zjdilambangkan dengan zj: zj=f(z_inj).

w0k Prasikap pada unit keluaran k Yk Unit keluaran k :

Net input pada Yk dilambangkan dengan y_ink :

=

+

j jk j k

k

w

z

w

in

y

_

0

Sinyal keluaran (aktivasi) dari Yk dilambangkan dengan yk : yk=f(y_ink)

Sedangkan algoritma pelatihannya adalah sebagai berikut :

Langkah 0 Berikan bobot awal (dengan nilai acak yang kecil)

Langkah 1 Selama kondisi berhenti belum memenuhi, kerjakan langkah

2-9.

Langkah 2 Untuk tiap pasangan pola pelatihan, lakukan langkah 3-8

Tahap Maju

Langkah 3 Tiap unit masukan (Xi, i=1,….,n) menerima sinyal input xi

dan mengirimkan sinyal tersebut ke semua unit pada

lapisan berikutnya (unit tersembunyi).

Langkah 4 Tiap unit tersembunyi (Zj, j=1,..,p) menjumlah sinyal

input terbobot :

=

+

=

n

i ij i j

j

v

x

v

in

z

(32)

Kemudian aplikasikan fungsi aktivasinya untuk menghitung

sinyal keluaran :

z

j

=

f

(

z

_

in

j

)

Dan mengirimkan sinyal ini ke semua unit pada lapisan di

atasnya (unit keluaran).

Langkah 5 Tiap unit keluaran (Yk, k=1,…,m) menjumlahkan sinyal

masukan terbobot :

=

+

=

p

j

jk j k

k

w

z

w

in

y

1 0

_

Dan aplikasikan fungsi aktivasinya untuk menghitung

sinyal output

y

k

=

f

(

y

_

in

k

)

Tahap Perambatan balik dari galat

Langkah 6 Tiap unit keluaran (Yk, k=1,…,m) menerima pola target

yang sesuai dengan pola masukan pelatihan, hitung

informasi galat :

δ

k

=

(

t

k

y

k

) (

f

'

y

_

in

k

)

Hitung koreksi bobot (yang akan digunakan untuk

penyesuaian bobot) :

w

jk

=

αδ

k

z

j

Hitung koreksi prasikap (yang akan digunakan untuk

penyesuaian prasikap) :

w

0k

=

αδ

k

Kirimkan δk ke unit pada lapisan sebelumnya.

Langkah 7 Tiap unit tersembunyi (Zj, j=1,….,p) menjumlahkan delta

(33)

=

=

m

k

jk k

j

w

in

1

_

δ

δ

Kalikan dengan turunan dari fungsi aktivasinya untuk

menghitung informasi galat :

δ =

j

δ

_

in

j

f

'

(

z

_

in

j

)

Hitung koreksi bobot (yang akan digunakan untuk

penyesuaian vij) :

v

ij

=

αδ

j

x

i

Hitung koreksi prasikap (untuk penyesuaian v0j) :

v

0j

=

αδ

j

Penyesuaian Bobot dan Prasikap

Langkah 8 Tiap unit keluaran (Yk, k=1,…,m) menyesuaikan prasikap

dan bobotnya (j=0,…,p) :

w

jk

(

baru

)

=

w

jk

(

lama

)

+

w

jk

Tiap unit tersembunyi (Zj, j=1,…,p) menyesuaikan prasikap

dan bobotnya (I=0,…,n) :

v

ij

(

baru

)

=

v

ij

(

lama

)

+

v

ij

Langkah 9 Pengetesan kondisi berhenti.

3.2. F ungsi Aktivasi

Fungsi aktivasi untuk jaringan perambatan balik harus mempunyai

(34)

)

exp(

1

1

)

(

1

x

x

f

+

=

(2.35)

dengan turunannya adalah :

[

1

(

)

]

)

(

)

(

1 1

'

1

x

f

x

f

x

f

=

(2.36)

Gambar (2.3) memperlihatkan fungsi sigmoid biner.

Gambar 2.3 Fungsi sigmoid biner, dengan rentang nilai (0,1)

Fungsi aktivasi lain yang umum dipakai adalah bipolar sigmoid function (fungsi sigmoid bipolar), yang mempunyai rentang nilai (-1,1) dan didefinisikan sebagai :

1

)

exp(

1

2

)

(

2

=

+

x

x

f

(2.37)

dengan turunannya adalah :

[

1

(

)

][

1

(

)

]

2

1

)

(

2 2

'

2

x

f

x

f

x

f

=

+

(2.38)

Gambar 2.4 Fungsi sigmoid bipolar, dengan rentang nilai (-1,1)

x F(x)

(35)

Gambar 2.4. memperlihatkan fungsi sigmoid bipolar.

3.3. Memilih Bobot dan Prasikap Awal

Ada beberapa cara untuk menentukan inisialisasi bobot dan prasikap. Pilihan

pertama adalah dengan inisialisasi acak (random initialization). Pilihan bobot awal akan mempengaruhi suatu jaringan apakah akan mencapai minimum global atau hanya

mencapai minimum lokal dari galat, dan juga berpengaruh pada kecepatan menuju

konvergen. Penyesuaian bobot antara dua unit tergantung pada turunan pada fungsi

aktivasi di unit atas dan fungsi aktivasi di unit bawah. Karena hal tersebut, maka

sangat penting untuk menghindari suatu bobot awal yang akan menyebabkan aktivasi

dan turunan dari aktivasi sama dengan nol. Nilai bobot awal harus tidak terlalu besar

sehingga sinyal masukan awal pada tiap unit tersembunyi tidak berada di daerah di

mana turunan dari fungsi sigmoid mempunyai nilai yang sangat kecil ( daerah

saturasi/jenuh). Sebaliknya, jika bobot awal terlalu kecil, net input pada unit tersembunyi atau unit keluaran akan dekat ke nol yang juga akan menyebabkan

pembelajaran berjalan dengan lambat.

Prosedur yang umum untuk inisialisasi bobot dan prasikap adalah nilai acak

antara -0,5 dan 0,5 (atau antara -1 dan 1 atau selang tertentu yang sesuai). Nilai

tersebut boleh positif atau negatif karena bobot akhir setelah pelatihan juga bisa

keduanya.

Cara inisialisasi lain adalah inisialisasi yang dikembangkan oleh Nguyen dan

Widrow (1990). Pendekatan dari cara ini berdasar pada analisis geometri dari

(36)

ke unit keluaran (dan prasikap pada unit keluaran) diinisialisasi secara acak dengan

nilai antara -0,5 dan 0,5 seperti pada kasus secara umum.

Inisialisasi bobot dari unit masukan ke unit tersembunyi dirancang untuk

meningkatkan kemampuan belajar dari unit tersembunyi.

Prosedur inisialisasi bobot menurut Nguyen dan Widrow adalah sebagai berikut :

Langkah 1 Hitung faktor skala :

β

=

0

,

7

(

p

)

1n

=

0

,

7

n

p

dengan n adalah jumlah unit masukan dan p adalah

jumlah unit tersembunyi.

Langkah 2 Untuk tiap unit tersembunyi (j=1,….,p) :

Inisialisasikan vektor bobot (dari unit masukan) :

vij(lama)=nilai acak antara -0,5 dan 0,5 (atau

antara -γ dan γ)

Hitung :

v

j

(

lama

)

=

v

1j

(

lama

)

2

+

v

2j

(

lama

)

2

+

...

+

v

nj

(

lama

)

2

Inisialisasikan kembali bobot :

)

(

)

(

lama

v

lama

v

v

j ij ij

β

=

Tentukan prasikap :

v0j= nilai acak antara -β dan β.

3.4. Lama Pelatihan

Tujuan dari jaringan perambatan balik adalah untuk mencapai keseimbangan

antara tanggapan yang benar untuk pola pelatihan dan tanggapan yang baik untuk

(37)

tujuan tersebut maka jaringan tidak perlu melanjutkan pelatihan sampai total galat

kuadrat benar-benar mencapai minimum. Hecht dan Nielsen (1990) menyarankan

untuk menggunakan dua kelompok data selama pelatihan. Satu kelompok pola

pelatihan dan satu kelompok pola untuk pengecekan pelatihan. Pada selang selama

pelatihan, galat dihitung menggunakan pola pengecekan untuk pelatihan. Pada saat

galat untuk pola pengecekan pelatihan menurun, pelatihan dilanjutkan. Ketika galat

mulai meningkat, jaringan mulai mengingat pola pelatihan secara spesifik yang artinya

kemampuan generalisasinya mulai menghilang. Pada titik ini, pelatihan dihentikan.

3.5. Jumlah Pasangan Pelatihan

Menurut Baum dan Haussler (1989), jika tersedia pola pelatihan yang cukup,

jaringan akan dapat menggeneralisasi sesuai yang diinginkan. Pola pelatihan yang

cukup ditentukan dengan kondisi sebagai berikut :

e

W

P

e

P

W

=

=

atau

,

(2.39)

dengan W adalah jumlah bobot yang dilatih, P adalah jumlah pola pelatihan yang tersedia dan e adalah ketepatan klasifikasi yang diharapkan.

Jika jaringan dilatih untuk mengklasifikasi 1-(e/2) bagian dari pola pelatihan secara benar, dengan 0<e< 1/8, maka jaringan akan mengklasifikasikan 1-e dari pola pengetesan secara benar pula.

3.6. Representasi Data

Pada banyak kasus, vektor masukan dan vektor keluaran mempunyai

(38)

penyesuaian bobot adalah aktivasi dari unit sebelumnya, maka unit yang aktivasinya

nol tidak akan belajar. Untuk itu disarankan bahwa pembelajaran dapat ditingkatkan

jika masukan dinyatakan dalam bentuk bipolar dan fungsi sigmoid bipolar digunakan

sebagai fungsi aktivasi.

3.7. Jumlah Lapisan Tersembunyi

Hasil teoritis (Fausett, 1994) menunjukkan bahwa satu lapisan tersembunyi

cukup efisien untuk jaringan perambatan balik untuk mengaproksimasi pemetaan

kontinyu dari pola masukan ke pola keluaran untuk sembarang derajat akurasi.

Walau demikian, dua lapisan tersembunyi akan membuat pelatihan lebih mudah

untuk situasi tertentu.

3.8. Indeks Unjuk Kerja (Performance Indeks)

Indeks unjuk kerja adalah ukuran kuantitatif dari unjuk kerja jaringan. Angka

indeks unjuk kerja kecil menunjukkan unjuk kerja jaringan yang baik, sedangkan

indeks unjuk kerja besar menunjukkan unjuk kerja jaringan yang buruk.

Algoritma perambatan balik untuk jaringan lapis jamak merupakan

generalisasi dari algoritma L MS (L east Mean Square), kedua algoritma tersebut menggunakan indeks unjuk kerja yang sama yaitu galat rata-rata kuadrat (mean square error). Algoritma diberikan dengan sekumpulan pola pelatihan :

{

p

1

,

t

1

} {

,

p

2

,

t

2

} {

,....,

p

k

,

t

k

}

(2.40)

dengan pk adalah masukan jaringan dan tk adalah target keluaran yang diharapkan. Pada setiap masukan yang diaplikasikan ke jaringan, keluaran jaringan dibandingkan

(39)

meminimalkan galat rata-rata kuadrat. Galat yang merupakan fungsi bobot yang akan

diminimalkan adalah sebagai berikut :

(

)

=

k k k

y

t

E

0

.

5

2 (2.41)

Dengan aturan rantai, diperoleh gradien dari galat pada lapisan keluaran sebagai

berikut :

(

)

(

)

[

]

[

]

(

)

[

]

(

)

_

'

_

_

5

0

5

.

0

2 2 J K K K K JK K K K K JK k k k JK JK

z

in

y

f

y

t

in

y

f

w

y

t

in

y

f

t

.

w

y

t

w

w

E

=

=

=

=

(2.42)

Kemudian, informasi error

δ

K didefinisikan :

[

K K

]

(

K

)

K

=

t

y

f

'

y

_

in

δ

(2.43)

Dengan cara yang sama, dapat dicari gradien pada lapisan tersembunyi sebagai

berikut :

[

]

[

]

(

)

(

)

[ ]

I k J Jk k k J IJ Jk k k k IJ k k k IJ k k k k k IJ k k IJ

x

in

z

f

w

z

v

w

in

y

v

in

y

v

in

y

f

y

t

y

v

y

t

v

E

=

=

=

=

=

_

'

_

_

_

'

δ

δ

δ

(2.44)
(40)

(

J

)

k

JK k

J

=

δ

w

f

'

z

_

in

δ

(2.45)

4. Jaringan Perambatan Balik dengan algoritma Conjugate Gradient

Algoritma dasar dari perambatan balik biasanya berjalan lambat untuk

kebanyakan aplikasi. Berbagai variasi dari perambatan balik telah dikembangkan

untuk meningkatkan kecepatan dari proses pelatihan. Di antaranya adalah dengan

penggunaan momentum, variasi pesat belajar dan penggunaan algoritma optimisasi

numerik yang umum, salah satunya adalah algoritma conjugate gradient yang akan dipakai dalam penelitian ini.

Algoritma conjugate gradient seperti dijelaskan di sub bab II.B.2 tidak dapat

digunakan secara langsung pada masalah-masalah pelatihan jaringan syaraf, karena

pada jaringan syaraf indeks unjuk kerjanya tidak selalu berbentuk fungsi kuadratis.

Oleh karena itu perlu sedikit modifikasi, pertama adalah bahwa persamaan (2.13)

pada algoritma langkah 2 tidak dapat digunakan. Untuk itu diperlukan line search (metode pencarian garis) yang umum, misalnya metode Golden Section Search.

Modifikasi kedua adalah algoritma harus di-reset setelah sejumlah iterasi tertentu. Ada banyak prosedur yang disarankan, tetapi metode paling sederhana adalah dengan

me-reset arah pencarian pada arah pencarian dari metode penurunan tercuram (negatif dari gradien) setelah n iterasi (Scales, 1985).

Menurut Hagan, Demuth dan Beale (1999) aplikasi algoritma conjugate gradient

pada jaringan perambatan balik adalah sebagai berikut :

1. Algoritma perambatan balik digunakan untuk menghitung gradien (

δ

k dan

δ

j
(41)

2. Algoritma conjugate gradient digunakan untuk menentukan penyesuaian bobot

(mencari

α

pada langkah 6 dan langkah 7 serta penyesuaian bobot dan prasikap

pada langkah 8 ).

(42)

30

III. CARA PE NE LITIAN

Bagian ini akan menjelaskan tentang bahan dan alat yang digunakan dalam

penelitian, jalannya penelitian serta kesulitan-kesulitan yang timbul selama penelitian.

A.

Bahan Penelitian

Bahan penelitian yang dimaksud di sini adalah data yang dipakai dalam

penelitian. Permasalahan-permasalahan yang digunakan diperoleh dari

literatur-literatur seperti yang tertulis pada daftar pustaka sebagai berikut :

1. Masalah pengenalan gerbang AND

2. Masalah pengenalan gerbang exclusive-OR (XOR)

3. Masalah pengenalan pola bilangan 1 sampai dengan 0

Pola bilangan dinyatakan dalam larik 7x5 sebagai berikut :

--#--

-###-

-###-

----#

#####

-##--

#---#

#---#

---##

#---#--

----#

----#

--#-#

#---#--

---#-

--##-

-#--#

####---#--

--#--

----#

#####

----#

--#--

-#---

#---#

----#

----#

-###-

#####

-###-

----#

(43)

-###-B.

Alat Penelitian

Alat penelitian yang digunakan berupa perangkat lunak (software) dan perangkat keras (hardware) komputer sebagai berikut :

1. Perangkat lunak komputer

Bahasa pemrograman yang dipakai adalah bahasa C+ + menggunakan compiler

Borland C+ + versi 5.02.

2. Perangkat keras komputer

Perangkat keras yang digunakan selama penelitian adalah satu unit notebook IBM

ThinkPad 390E Pentium II 300MHz, memory 64 MB.

C.

Jalannya Penelitian

Jalannya penelitian dimulai dengan mempelajari berbagai literatur tentang

algoritma conjugate gradient, algoritma penurunan tercuram, serta jaringan syaraf perambatan balik yang merupakan dasar dari seluruh penelitian.

1. Pembuatan Program

Setelah melakukan studi pustaka, tahap selanjutnya adalah pembuatan

program. Persiapan pertama dalam pembuatan program adalah pembuatan pseudo-code(algoritma) dari kedua algoritma pelatihan yang akan dibuat programnya yaitu algoritma pelatihan perambatan balik standar dan algoritma pelatihan perambatan

(44)

a. Perambatan Balik Standar

Penelitian ini akan membandingkan unjuk kerja dari kedua algoritma tersebut.

Karena algoritma perambatan balik dengan conjugate gradient merupakan algoritma pelatihan dengan model batch, maka algoritma pelatihan perambatan balik standar dibuat juga dengan model batch. Sehingga algoritma perambatan balik standar pada dasar teori yang dibuat dengan pelatihan per pola harus dimodifikasi terlebih dulu

sehingga sesuai dengan model batch.

Pengetesan kondisi berhenti pada langkah 10 dilakukan dengan menghitung

rata-rata galat. Galat tiap pasangan pelatihan (Fausset,1994) dihitung dengan rumus :

[

]

=

k

k

k

y

t

E

0

.

5

2 (3.1)

Bila dinyatakan sebagai fungsi galat, menjadi :

( )

=

[

( )

]

k

k

k

y

w

t

w

F

0

.

5

2 (3.2)

Maka galat untuk keseluruhan pola dihitung dengan rata-rata galat sebagai berikut :

[

]

∑∑

=

n k

n k

k

y

t

N

E

0

.

5

2 (3.4)

dengan N adalah jumlah pola pelatihan. Fungsi galatnya :

( )

=

∑∑

[

( )

]

n k

n k

k

y

w

t

N

w

F

0

.

5

2 (3.5)

b. Perambatan Balik dengan Conjugate Gradient

(45)

conjugate gradient. Kedua algoritma tersebut digabung dan disusun kembali sehingga menjadi algoritma pelatihan yang baru yang disebut dengan algoritma pelatihan

perambatan balik dengan conjugate gradient.

Menurut Hagan, Demuth dan Beale (1999), karena permasalahan-permasalahan

dalam jaringan syaraf biasanya mempunyai fungsi galat atau indeks unjuk kerja yang

tidak kuadratis maka algoritma conjugate gradient seperti pada dasar teori tidak dapat diaplikasikan secara langsung. Algoritma tersebut harus disesuaikan sehingga dapat

digunakan untuk memecahkan masalah yang tidak linear dengan permukaan yang

tidak kuadratis.

Fungsi galat pada persamaan 3.5 tampak seperti persamaan kuadratis tetapi

karena yk(w) pada penelitian menggunakan fungsi aktivasi sigmoid bipolar maka

fungsi galat menjadi tidak kuadratis.

Selain itu algoritma conjugate gradient untuk pemecahan masalah tidak kuadratis membutuhkan metode pencarian linear (linear search ) yang umum untuk mencari letak minimum dari fungsi pada suatu arah tertentu. Pencarian ini terdiri dari 2 langkah

yaitu lokasi selang (interval location) dan pengurangan selang (interval reduction). Tujuan dari langkah lokasi selang adalah menemukan selang awal yang mengandung

minimum lokal. Kemudian langkah pengurangan selang akan

mengurangi/memperkecil ukuran selang awal tersebut sampai dengan toleransi

ketelitian yang diinginkan.

Prosedur dari langkah lokasi selang ditunjukkan pada gambar 3.1. Dimulai

dengan mengevaluasi fungsi galat pada titik awal, yang dilambangkan dengan a1 pada

gambar 3.1. Titik ini merupakan nilai bobot dan prasikap jaringan saat itu. Dengan

(46)

Langkah selanjutnya adalah mengevaluasi galat pada titik kedua, dalam

gambar 3.1. dilambangkan dengan b1, yang berjarak

ε

dari titik awal, sepanjang arah

pencarian pertama p0. Dengan kata lain, dievaluasi nilai :

(

x

0

p

0

)

F

+

ε

Kemudian dilanjutkan dengan mengevalusai fungsi galat pada titik baru bi, yang secara berurutan mempunyai jarak titik dua kali lipat dari sebelumnya. Proses

ini berhenti saat fungsi galat meningkat antara dua evaluasi yang berturutan. Pada

gambar 3.1. dilambangan dengan b3 ke b4. Pada titik ini , diketahui bahwa titik

minimum berada antara titik a5 dan b5. Sehingga tidak diperlukan lagi untuk memperlebar selang , karena titik minimum kemungkinan berada pada selang [a4,b4] atau selang [a3,b3]. Kedua kemungkinan ini ditunjukkan pada gambar 3.2.a.

Gambar 3.1. Lokasi Selang

Setelah diperoleh selang yang mengandung titik minimum, langkah

selanjutnya pada pencarian linear adalah pengurangan selang. Pada langkah ini, fungsi

pada titik-titik internal selang [a5,b5] yang merupakan hasil dari langkah lokasi selang

akan dievaluasi.

a1 b1

a2 b2

a3 b3

a4 b4

b5

a5

ε

(47)

a. b.

Gambar 3.2.Selang tidak dikurangi

Gambar 3.2.b. memperlihatkan bahwa paling tidak fungsi harus dievaluasi

pada dua titik dalam untuk mengurangi/memperkecil ukuran ketidakpastian selang.

Gambar 3.2.a memperlihatkan bahwa evaluasi fungsi pada sebuah titik internal tidak

dapat menentukan lokasi titik minimum. Walau demikian, jika fungsi dievaluasi pada

dua titik c dan d seperti dalam gambar 3.2.b., selang ketidakpastian dapat dikurangi. Jika F( c ) >F(d), seperti gambar 3.2.b. , maka titik minimum pasti berada pada selang[c,b]. Sebaliknya, jika F( c)< F(d), maka titik minimum pasti berada pada selang [a,d]. Di sini diasumsikan bahwa terdapat sebuah minimum saja yang terletak pada selang awal.

Selanjutnya adalah menentukan lokasi dari titik internal c dan d. Penelitian ini akan menggunakan metode Golden Section Search, yang dirancang untuk mengurangi banyaknya fungsi yang dievaluasi. Pada tiap iterasi, dibutuhkan satu

evaluasi fungsi baru. Pada kasus pada gambar 3.2.b., titik a akan dibuang dan titik c akan menjadi titik luar. Kemudian titik c baru diletakkan antara titik c lama dan titik d. Golden section search akan meletakkan titik baru sehingga selang dari ketidakpastian akan berkurang secepat mungkin.

F(x)

x

a b c

F(x)

x

(48)

Algoritma Golden Section Search : τ=0,618

Tentukan :

(

)(

)

( )

(

)(

1 1

)

( )

1 1 1 1 1 1 1 1

,

1

,

1

d

F

F

a

b

b

d

c

F

F

a

b

a

c

d c

=

=

=

+

=

τ

τ

Untuk k=1,2,….kerjakan :

Jika Fc<Fd, kerjakan :

Tentukan :

(

)(

)

( )

1

1 1 1 1 1 1 1

;

1

;

;

+ + + + + + + +

=

=

+

=

=

=

=

k c c d k k k k k k k k k k

c

F

F

F

F

a

b

a

c

c

d

d

b

a

a

τ

jika tidak, kerjakan :

Tentukan :

(

)(

)

( )

1

1 1 1 1 1 1 1

;

1

;

;

+ + + + + + + +

=

=

+

=

=

=

=

k d d c k k k k k k k k k k

d

F

F

F

F

a

b

b

d

d

c

b

b

c

a

τ

selesai

selesai sampai

b

k+1

a

k+1

<

tol

, dengan tol adalah toleransi ketelitian yang dikehendaki.

Satu hal lagi yang perlu dimodifikasi pada algoritma conjugate gradient agar dapat diaplikasikan ke pelatihan jaringan syaraf. Untuk fungsi kuadratis, algoritma

akan konvergen ke titik minimum pada jumlah iterasi tidak lebih dari n iterasi, dengan n adalah jumlah parameter yang dioptimasi (Hagan, Demuth, Beale, 1999). Tetapi pada kenyataannya fungsi galat untuk jaringan lapis jamak bukan merupakan fungsi

(49)

Pengembangan algoritma conjugate gradient tidak menunjukkan arah pencarian mana yang digunakan setelah satu siklus n iterasi lengkap. Metode paling sederhana yang digunakan pada penelitian ini adalah me-reset arah pencarian ke arah pencarian dari penurunan tercuram (negatif dari gradien) setelah n iterasi (Scales, 1985).

Berdasarkan modifikasi-modifikasi di atas, disusun algoritma perambatan

balik dengan conjugate gradient sebagai berikut :

Langkah 0 Berikan bobot awal (dengan nilai acak yang kecil)

Langkah 1 Selama kondisi berhenti belum memenuhi, kerjakan langkah

2-13.

Langkah 2 Untuk tiap pasangan pola pelatihan, lakukan langkah 3-7.

Lakukan untuk seluruh pola(pola ke-1,…., pola ke-N

dengan N adalah jumlah keseluruhan pola).

Tahap Maju

Langkah 3 Tiap unit masukan (Xi, i=1,….,n) menerima sinyal input

xi dan mengirimkan sinyal tersebut ke semua unit pada

lapisan berikutnya (unit tersembunyi).

Langkah 4 Tiap unit tersembunyi (Zj, j=1,..,p) menjumlah sinyal

input terbobot :

=

+

=

n

i ij i j

j

v

x

v

in

z

1 0

_

Kemudian aplikasikan fungsi aktivasinya untuk menghitung

sinyal keluaran :

z

j

=

f

(

z

_

in

j

)

Dan mengirimkan sinyal ini ke semua unit pada lapisan di

atasnya (unit keluaran).

(50)

masukan terbobot :

=

+

=

p

j

jk j k

k

w

z

w

in

y

1 0

_

Dan aplikasikan fungsi aktivasinya untuk menghitung

sinyal output :

y

k

=

f

(

y

_

in

k

)

Tahap Perambatan balik dari galat

Langkah 6 Tiap unit keluaran (Yk, k=1,…,m) menerima pola target

yang sesuai dengan pola masukan pelatihan, hitung

informasi galat :

δ

k

=

(

t

k

y

k

) (

f

'

y

_

in

k

)

Hitung gradien pada lapisan output (k=1,…,m dan

j=0,…,p):

G

2

jk

=

δ

k

z

j

Kirimkan δk ke unit pada lapisan sebelumnya.

Langkah 7 Tiap unit tersembunyi (Zj, j=1,….,p) menjumlahkan delta

masukannya (dari unit pada lapisan berikutnya),

=

=

m

k

jk k

j

w

in

1

_

δ

δ

Kalikan dengan turunan dari fungsi aktivasinya untuk

menghitung informasi galat :

δ =

j

δ

_

in

j

f

'

(

z

_

in

j

)

Hitung gradien pada lapisan tersembunyi (j=1,…,p dan

i=0,…,n):

G

1

ij

=

δ

j

x

i
(51)

gradien (j=0,…,p):

(

)

N

polaN

G

pola

G

rata

rata

G

2

jk

=

2

jk

(

1

)

+

....

+

2

jk

(

)

Tiap unit tersembunyi (Zj, j

Gambar

Tabel 4.1.Pola gerbang AND………………………………………….
Gambar 2.1.  Jaringan syaraf perambatan balik dengan 1 lapisan tersembunyi
Gambar 2.2. Jaringan tiga lapis
Gambar (2.3) memperlihatkan fungsi sigmoid biner.
+7

Referensi

Dokumen terkait

Jadwal Percobaan Pengujian Laboratorium Efikasi Insektisida Tamigon 25 EC (b.a.: Lamda sihalotrin 25 g/l Terhadap Hama Ulat Grayak ( Spodoptera litura )

Berdasarkan Rasio Solvabilitas yang terdiri dari Debt to Total Assets Ratio dan Debt to Equity Ratio menunjukan kinerja keuangan BUMDes masuk dalam kriteria sangat baik..

Pada penelitian ini hasil analisis pertama diregresi ulang dengan menggunakan model Fama dan Mac Beth untuk menunjukkan hubungan nilai beta saham dari setiap

Hasil sidik ragam menunjukan bahwa pengaaruh intraksi pupuk kandang sapi terhadap dua varietas tanaman terung ungu dan hijau berbeda sangst nyata terhadap tinggi tanaman

penyampaian laporan. Hasil penelitian dengan tingkat signifikansi 0,388. Dengan nilai signifikansi lebih besar dari 0,05 dapat diartikan bahwa secara statistik H1 ditolak. 2) Ukuran

Sedangkan karakteristik Masterpiece non seni adalah merupakan kreasi artistic yang memberikan insight dan intuisi kedalam dunia misteri dan dunia makna yang berdimensi

Struktur modal adalah komposisi dari campuran dana dari keuangan yang akan diinvestasikan dalam kegiatan usaha, komposisi ini sebagian besar dibiayai dari hutang dan modal usaha

Judul yang dipilih oleh Tim peneliti untuk Hibah Penelitian dan Pengabdian Pada Masyarakat Kemenristekdikti 2017 ini adalah “Rencana Kontinjensi Pengurangan Risiko Bencana