Aplikasi algoritma Conjugate Gradient pada jaringan syaraf tiruan perambatan balik - USD Repository

  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 YOGYA KA RTA 2004

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 B. Landasan Teori……………………………………………………

  7

  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 C. Hasil Uji Coba Masalah Pengenalan Bilangan……………………...

  58

  D. Pembahasan Umum………………………………………………

  62 V. KE SIMPULAN …………………………………………………………...

  68 A. Kesimpulan……………………………………………………….

  69 B. Saran………………………………………………………………

  69 DAF TAR PUSTAKA ………………………………………………………...

  71 LAMPIRAN

LAMPIRAN A. LISTING PROGRAM

  

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 Tabel 4.7. Kompleksitaspenurunan tercuram dan conjugate gradient……...

  62

  

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 Gambar 4.5. Hasil masalah gerbang XOR dengan BPS pesat belajar 0,5…..

  56

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 Gambar 4.19.

  68 Grafik pengaruh β tiap iterasi ………………………………

  

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 dibandingkan unjuk kerja dari masing-masing algoritma.

  

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 backpropagation.

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 terutama untuk masalah yang besar.

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

  2. Perbandingan dengan jaringan perambatan balik standar

  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 algoritma conjugate gradient dan algoritma penurunan tercuram, serta jaringan syaraf perambatan balik yang merupakan dasar dari penelitian ini.

  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 permasalahan 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 oleh masing-masing metode.

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 di dalamnya adalah jaringan syaraf perambatan balik.

  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 x dan kemudian tiap iterasinya akan memperbaiki taksiran dengan persamaan yang berbentuk:

  (2.1) k = k α 1 k k

  • x x p
atau

  

x x x p (2.2)

∆ = − = α k ( + k 1 k ) k k

  dengan vektor p adalah search direction (arah pencarian) dan adalah learning rate k

  α k

  (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 :

  F x F x k 1 < k

  (2.3)

  ( ) ( ) +

  Kemudian arah p dapat dipilih dengan memakai ekspansi deret Taylor urutan k pertama sebagai berikut : T

  F x F x x F x g x (2.4)

  ( ) ( ) ( ) k 1 = kkk kk

  • dengan g adalah gradien pada taksiran lama x : k k

  g F x

  (2.5) k ( ) ≡ ∇ x x

  = k

  Agar F x F x , maka suku ke-dua dari persamaan di sebelah kanan harus

  ( ) ( ) k 1 < k

  • negatif: T T

  g x g p kk = α k k k < (2.6) dipilih bilangan yang kecil tapi lebih besar dari nol , artinya : α k T g p k k <

  (2.7) Semua vektor p yang memenuhi persamaan di atas disebut arah penurunan. Fungsi k akan turun jika dilakukan langkah yang cukup kecil pada arah ini. Sedangkan yang dimaksud dengan arah penurunan tercuram adalah arah yang akan mengakibatkan T fungsi turun paling cepat. Hal ini terjadi jika g p paling negatif. Ini akan terjadi k k jika vektor arah merupakan negatif dari gradiennya :

  p g

  (2.8) k k = − Dengan menggunakan persamaan(2.8) pada persamaan(2.1) diperoleh metode penurunan tercuram sebagai berikut :

  x x g

  (2.9)

  • k = k − α 1 k k

  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 yang meminimalkan :

  α k

  • F x p
  • k k k α

      (2.10)

      ( )

      Untuk fungsi kuadratis, dapat disusun minimisasi linear secara analitis. Jika fungsi kuadratis adalah sebagai berikut :

      1 T T F ( x ) x Ax b x c

      = + +

      (2.11)

      2 Maka turunan dari fungsi(2.10) terhadap untuk fungsi kuadratis F(x) adalah :

    α k

    d T T 2 F x p F x p p F x p (2.12)

    k α k k = ∇ k α k kk

      ( ) ( ) ( ) x x x = x k k = d

      α k

      Jika turunan tersebut disamakan dengan nol, maka α k diperoleh : T

      F x p Tk

      ( ) x x g p = k k k

      (2.13)

      α k = − = − T 2 T

    p A p

    p F x p k ( ) kk k k x = x k

      dengan A k adalah matriks Hessian yang dievaluasi pada x k : 2 A F x k

      ≡ ∇

      (2.14)

      ( ) x = x k Cara kedua adalah dengan memilih suatu nilai tertentu untuk α k , misalnya = 0,02 atau menggunakan variabel yang sudah ditentukan sebelumnya, misalnya

      α k = 1/k . α 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 : T x Ax

      (2.16)

      >

      Jika terdapat suatu fungsi kuadratis :

      1 T T +

    F ( x ) x Ax b x c (2.17)

      = −

      2

      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. Gradien dari fungsi kuadratik tersebut adalah :

               

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

      A b Ax A T T =

      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 :

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

      Ax b =

      (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 :

      ) ( '

      Ax b x F − =

      1 ) ( ' Untuk mencari titik minimum pada fungsi kuadratis seperti pada persamaan (2.11), sekumpulan vektor { p } akan mutually conjugate dengan matriks Hessian A yang k definit positif jika dan hanya jika : T

               

      2

      1

      2

      Ax b x A x F T − + =

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

      ) ( ' 2 1 F x x F x x F x x F x n

      = ) ( ... ) ( ) (

      ∂ ∂ ∂ ∂ ∂ ∂

      (2.22)

      

    p Ap untuk k j (2.23)

    k j = ≠

      Salah satu himpunan vektor conjugate adalah eigenvector dari A . Jika

      , ,..., adalah eigenvalues dari matriks Hessian A dan z , z ,..., z adalah λ λ λ

      { 1 2 n } { 1 2 n }

    eigenvector -nya, maka untuk melihat bahwa eigenvector-nya conjugate, adalah dengan

      mengganti p pada persamaan di atas dengan z sebagai berikut : T T k k

      z Az z z untuk k j k j j k j = λ = ≠ (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) :

      ∇ = = 2 F ( x ) A ∇ =

    • F ( x ) F ' ( x ) Ax b (2.25)

      (2.26) dengan menggunakan persamaan tersebut, dapat diketahui perubahan gradien pada iterasi k + 1, yaitu :

      

    g g g Ax b Ax b A x (2.27) kemudian dari persamaan (2.2) :

      

    x x x p (2.28)

    ∆ = − = α k ( k + 1 k ) k k

      dan dipilih untuk meminimalkan F(x) pada arah p

      α k k

      Kondisi konjugasi dapat dituliskan kembali : T T T

      dengan k j

    p Ap x Ap g p (2.29)

      α k k j = ∆ k j = ∆ k j = ≠

      Arah pencarian akan conjugate jika ortogonal dengan perubahan gradien. Arah pencarian pertama (p ) ditentukan sembarang dan p adalah vektor yang ortogonal 1 terhadap g . Secara umum untuk memulai pencarian digunakan arah dari metode

      ∆

      penurunan tercuram :

      p g

      (2.30)

      = −

      Kemudian, pada tiap iterasi, vektor p dipilih vektor yang ortogonal terhadap k

      g , g ,..., g . Prosedur ini mirip dengan ortogonalisasi Gram-Schmidt, yang ∆ ∆ ∆

      { 1 k 1 }

      disederhanakan untuk iterasi menjadi :

    • p g p
    • k = − k β k k 1 (2.31) −

        Skalar β k dapat dipilih dari beberapa metode yang memberikan hasil yang sama untuk fungsi kuadratis. Pertama adalah menurut Hestenes dan Steifel : T

        g gk 1 k

        −

        (2.32)

        β = k T g p

        ∆ k 1 k 1 − −

        Kedua , menurut Fletcher dan Reeves : T

        g g k k

        (2.33)

        β k = T g g k 1 k 1

        − −

        Ketiga adalah menurut β k menurut Polak dan Ribiere :

        T g g

        ∆ k 1 k

        (2.34)

        β = k T g g k 1 k 1

        − −

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

        p g = −

        2. Lakukan langkah seperti persamaan (2.28):

        x x x p ∆ = − = α

        ( ) + k k 1 k k k

        dengan k dipilih untuk meminimalkan fungsi sepanjang arah pencarian. Untuk

        α

        fungsi kuadratis dapat digunakan persamaan (2.13) : T T

        F x p

        ( ) k x x g p = k k k

        α = − = − k T 2 T

      p A p

      p F x p kk k k k

        ( ) x x = k

        Sedangkan untuk fungsi non-linear lainnya dapat menggunakan teknik-teknik minimisasi linear yang umum dipakai.

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

      • p g p k = − k β k k
      • 1

          dengan β k dapat dihitung dengan salah satu dari persamaan (2.32), persamaan (2.33), atau persamaan(2.34).

        3. Jaringan Perambatan Balik ( Backpropagation)

          Jaringan perambatan balik adalah jaringan lapis jamak, yang dilatih dengan algoritma perambatan galat balik (Back E rror Propagation) atau sering disebut algoritma perambatan balik (back propagation) saja. Tujuan dari jaringan adalah untuk melatih 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 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.

          …… ……

          Y Y Y 1 k m

          1 Z 1 Z j Z p

          1 X 1 X i X n …… ……

        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 berbeda, bahkan dapat juga memiliki transfer function/ activation function (fungsi aktivasi) yang berbeda pula.

          Lapis Ketiga Masukan 1 Lapis Pertama Lapis Kedua 1 2 2 3 3 w 1,1 1 2 3 a w a w a 1 1,1 1 1,1 1 n n n 1 1 1

          1

          2

          3 p 1

          Σ Σ Σ 1 f f f 2 3 b b b 1 1 1

          1 1 1

          1 2 2

          1 3 3

          a a a p 2 2 2 2 n n n 2 2 2

          1

          2

          3 Σ Σ Σ 1 f f f 2 3 b b b 2 2 2 . . . . . . p 3 . . . . . .

          1

          1

          1 . .

          . . . . . . . . 1 1 1 1 2 2 2 2 3 1 3 3 . a s a s a s

          . n n n s s s

          1

          2

          3 Σ f Σ f Σ f p R 1 1 1 1 w 2 S ,S 2 1 2 2 3 3 2 3 3 w S ,R w S ,S b s b s b s 1

          1 1 1 1 2

          1 2 2 1 2

          1 3 3 3 2 3

          a =f (W a +b ) a =f (W a +b ) a =f (W p+b )

          3 3 3 2 2

        1

        1 1 2 3

        a =f (W f (W f (W p+b )+b )+b )

        Gambar 2.2. Jaringan tiga lapis

          1 Pada gambar 2.2., lambang R menunjukkan jumlah masukan, S menunjukkan 2 3 jumlah neuron pada lapis pertama, S adalah jumlah neuron pada lapis kedua dan S

          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 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 (X ) menerima sinyal masukan dan meneruskan ke unit-unit pada lapisan i tersembunyi Z ,… .,Z . Kemudian tiap unit tersembunyi menghitung aktivasinya dan 1 p mengirimkan sinyal tersebut (z ) ke tiap unit keluaran. Tiap unit keluaran (Y ) j k menghitung aktivasinya (y ) agar menghasilkan tanggapan jaringan untuk pola k masukan yang diberikan.

          Pada saat pelatihan, tiap unit keluaran membandingkan aktivasi y dengan nilai k target t untuk menentukan galat untuk suatu pola pada unit tersebut. Berdasarkan k galat ini, faktor δ k (k = 1,… ,m) dapat dihitung. Faktor δ k digunakan untuk mendistribusikan galat pada unit keluaran Y kembali ke semua unit di lapis k sebelumnya (lapis tersembunyi yang terhubung ke Y ). Faktor nantinya juga k δ k digunakan untuk menyesuaikan bobot antara keluaran dan lapis tersembunyi.

          Dengan cara yang sama, faktor (j= 1,….,p) dihitung dari tiap unit tersembunyi Z .

          δ j j

          Galat tidak perlu dirambatkan balik ke lapisan masukan, tetapi faktor tetap