jbptunikompp gdl s1 2006 noorhardia 3269 bab ii

Upload: kezziaauroraamanda

Post on 06-Jul-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    1/42

    BAB II

    LANDASAN TEORI

    2.1. Sejarah Jaringan Syaraf Tiruan

    Jaringan syaraf tiruan sederhana pertama kali diperkenalkan oleh McCulloch

    dan Pitts di tahun 1943. McCulloch dan Pitts menyimpulkan bahwa kombinasi beberapa

    neuron  sederhana menadi sebuah sistem neural akan meningkatkan kemampuan

    komputasinya. !obot dalam aringan yang diusulkan oleh McCulloch dan Pitts diatur 

    untuk melakukan fungsi logika sederhana. "ungsi akti#asi yang dipakai adalah fungsi

    threshold .

    $ahun 19%&' (osenblatt memperkenalkan dan mulai mengembangkan model

     aringan yang disebut Perceptron. Metode pelatihan diperkenalkan untuk 

    mengoptimalkan hasil iterasinya.

    )idrow dan *off +19,- mengembangkan perceptron dengan memperkenalkan

    aturan pelatihan aringan' yang dikenal sebagai aturan delta +atau sering disebut kuadrat

    rata/rata terkecil. 0turan ini akan mengubah bobot perceptron apabila keluaran yang

    dihasilkan tidak sesuai dengan target yang diinginkan.

    0pa yang dilakukan peneliti terdahulu hanya menggunakan aringan dengan

    layer   tunggal + single layer . (umelhart +19&, mengembangkan perceptron menadi

     Backpropagation' yang memungkinkan aringan diproses melalui beberapa layer .

    elain itu' beberapa model aringan syaraf tiruan lain uga dikembangkan oleh

    2ohonen +19' *opfield +19&' dan sebagainya.

    Pengembangan yang ramai dibicarakan seak tahun 199- an adalah aplikasi

    model/model aringan syaraf tiruan untuk menyelesaikan berbagai masalah di dunia

    nyata.

    2.2. Jaringan Syaraf Tiruan

    Jaringan syaraf tiruan +artificial neural networks atau disingkat J$ adalah

    sistem pemroses informasi yang memiliki karakteristik mirip dengan aringan syaraf 

     biologi.

    J$ dibentuk sebagai generalisasi model matematika dari aringan syaraf 

     biologi' dengan asumsi 5

    a. Pemrosesan informasi teradi pada banyak elemen sederhana +neuron

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    2/42

     b. inyal dikirimkan diantara neuron/neuron melalui penghubung/penghubung

    c. Penghubung antar neuron  memiliki bobot yang akan memperkuat atau

    memperlemah sinyal

    d. 6ntuk menentukan output ' setiap neuron menggunakan fungsi akti#asi +biasanya

     bukan fungsi linier yang dikenakan pada umlahan input  yang diterima. !esarnya

    output  ini selanutnya dibandingkan dengan suatu batas ambang.

    J$ ditentukan oleh tiga hal 5

    a. Pola hubungan antar neuron +disebut arsitektur aringan

     b. Metode untuk menentukan bobot penghubung +disebut metode training   7

    learning  7 algoritma

    c. "ungsi akti#asi

    ebagai contoh' perhatikan neuron 8 pada ambar .1.

    ambar .1. Model ederhana Jaringan yaraf $iruan

    8 menerima input   dari neuron  :1' :  dan :3 dengan bobot hubungan masing/

    masing adalah w1' w dan w3. 2etiga impuls neuron yang ada diumlahkan

    net ; :1w1 < :w < :3w3

    !esarnya impuls yang diterima oleh 8 mengikuti fungsi akti#asi y ; f+net.

    0pabila nilai fungsi akti#asi cukup kuat' maka sinyal akan diteruskan. =ilai fungsi

    akti#asi +keluaran model aringan uga dapat dipakai sebagai dasar untuk merubah

     bobot.

    2.3. Arsitektur Jaringan

    !eberapa arsitektur aringan yang sering dipakai dalam aringan syaraf tiruan

    antara lain 5

    a. Jaringan >ayar $unggal + single layer network 

    J$ dengan layar tunggal pertamakali dirancang oleh )idrow dan *off 

     pada tahun 19,-. )alaupun J$ layar tunggal ini sangat terbatas penggunaannya'

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    3/42

    namun konsep dan gagasannya banyak dipakai oleh beberapa pakar untuk membuat

    model J$ layar amak.

    ?alam aringan ini' sekumpulan input  neuron dihubungkan langsung dengan

    sekumpulan output . ?alam beberapa model +misal perceptron' hanya ada sebuah

    unit neuron output .

    ambar .. Jaringan >ayar $unggal

    ambar .. menunukkan arsitektur aringan dengan n unit input  +:1':' ... '

    :n dan m buah unit output  +81' 8' ... ' 8m.

    Perhatikan bahwa dalam aringan ini' semua unit input  dihubungkan dengan

    semua unit output ' meskipun dengan bobot yang berbeda/beda. $idak ada unit input 

    yang dihubungkan dengan unit input  lainnya. ?emikian pula dengan unit output .

    !esarnya w i  menyatakan bobot hubungan antara unit ke/i dalam input 

    dengan unit ke/ dalam output . !obot/bobot ini saling independen. elama proses

     pelatihan' bobot/bobot tersebut akan dimodifikasi untuk meningkatkan keakuratan

    hasil.

     b. Jaringan >ayar Jamak +multi layer network 

    Jaringan layar amak merupakan perluasan dari layar tunggal. ?alam

     aringan ini' selain unit input   dan output ' ada unit/unit lain +sering disebut layar 

    tersembunyi. ?imungkinkan pula ada beberapa layar tersembunyi. ama seperti

     pada unit input  dan output ' unit/unit dalam satu layar tidak saling berhubungan.

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    4/42

    ambar .3. Jaringan >ayar Jamak 

    ambar .3. adalah aringan dengan n buah unit input  +:1' :' ... ' :n' sebuah

    layar tersembunyi yang terdiri dari p buah unit +@1' ... ' @ p dan m buah unit output 

    +81' 8' ... ' 8m

    Jaringan layar amak dapat menyelesaikan masalah yang lebih kompleks

    dibandingkan dengan layar tunggal' meskipun kadangkala proses pelatihan lebih

    kompleks dan lama.

    c. Model J$ dua lapisan dengan umpan balik 

    $okoh yang pertamakali mencetuskan ide tentang model aringan syaraf 

    tiruan dengan umpan balik adalah John *opfield dari California Anstitute of 

    $echnology pada tahun 19&. *opfield berpendapat bahwa kumpulan neuron tiruan

    dalam umlah yang sangat besar dapat melakukan tugas/tugas tertentu.

    *opfield uga membandingkan antara umlah neuron pada binatang dengan

     umlah neuron  diperkirakan sekitar 1--- buah dan bila dibandingkan dengan

    manusia' umlah neuron-nya mencapai 1-- trilyun buah. ungguh umlah yang

    sangat fantastis.

    ?engan umlah neuron  yang sangat besar' J$ memiliki sifat yaitu  fault 

    tolerance. ifat ini mengandung maksud kerusakan sedikit atau sebagian pada sel/

    sel dalam aringan tidak akan mempengaruhi output  yang akan dikeluarkan.Model J$ dua lapisan ini mempunyai sifat umpan balik' sehingga output 

    yang dihasilkan akan mempengaruhi input  yang akan masuk lagi ke dalam aringan

    syaraf tersebut.

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    5/42

    ambar .4. Model J$ ?ua >apisan ?engan 6mpan !alik 

    d. Model J$ lapisan kompetitif  

    !entuk dari lapisan kompetitif merupakan bagian dari umlah yang besar 

     pada aringan syaraf. Pada dasarnya' hubungan antara neuron satu dengan neuron

    yang lain pada lapisan kompetitif tidak ditunukkan secara arsitektur pada beberapa

     aringan syaraf. Contoh dari model atau arsitektur lapisan kompetitif dapat dilihat

     pada ambar .%' dimana koneksi dari lapisan tersebut memiliki bobot B.

    ambar .%. Model J$ >apisan 2ompetitif 

    2.. !ungsi Akti"asi

    Jaringan syaraf merupakan salah satu representasi buatan dari otak manusia

    yang selalu mencoba untuk mensimulasikan proses pembelaaran pada otak manusia

    tersebut. Astilah buatan disini digunakan karena aringan syaraf ini diimplementasikan

    dengan menggunakan program komputer yang mampu menyelesaikan seumlah proses

     perhitungan selama proses pembelaaran.

    0da beberapa tipe aringan syaraf' namun demikian' hampir semuanya memiliki

    komponen/komponen yang sama. eperti halnya otak manusia' aringan syaraf uga

    terdiri dari beberapa neuron' dan ada hubungan antara neuron/neuron tersebut. Neuron/

    neuron  tersebut akan mentransformasikan informasi yang diterima melalui sambungan

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    6/42

    keluarnya menuu ke neuron/neuron  yang lain. Pada aringan syaraf' hubungan ini

    dikenal dengan nama bobot. Anformasi tersebut disimpan pada suatu nilai tertentu pada

     bobot tersebut. ambar ., menunukkan struktur neuron pada aringan syaraf.

    ambar .,. truktur =euron Jaringan yaraf 

    Jika dilihat' neuron  buatan ini sebenarnya mirip dengan sel neuron  biologis.

     Neuron/neuron  buatan tersebut bekera dengan cara yang sama pula dengan neuron/neuron  biologis. Anformasi +disebut dengan 5 input  akan dikirim ke neuron  dengan

     bobot kedatangan tertentu.  Input  ini akan diproses oleh suatu fungsi perambatan yang

    akan menumlahkan nilai/nilai semua bobot yang datang. *asil penumlahan ini

    kemudian akan dibandingkan dengan suatu nilai ambang +threshold  tertentu melalui

    fungsi akti#asi setiap neuron. 0pabila input   tersebut melewati suatu nilai ambang

    tertentu' maka neuron tersebut akan diaktifkan' tapi kalau tidak' maka neuron  tersebut

    tidak akan diaktifkan. 0pabila neuron  tersebut diaktifkan' maka neuron tersebut akan

    mengirimkan output   melalui bobot/bobot output nya ke semua neuron  yang

     berhubungan dengannya. ?emikian seterusnya.

    Pada aringan syaraf' neuron/neuron akan dikumpulkan dalam lapisan/lapisan

    +layer  yang disebut dengan lapisan neuron  +neuron layers. !iasanya neuron/neuron

     pada satu lapisan akan dihubungkan dengan lapisan/lapisan sebelum dan sesudahnya

    +kecuali lapisan input   dan lapisan output . Anformasi yang diberikan pada aringan

    syaraf akan dirambatkan lapisan ke lapisan' mulai dari lapisan input  sampai ke lapisan

    output   melalui lapisan yang lainnya' yang sering dikenal dengan nama lapisan

    tersembunyi +hidden layer . $ergantung pada algoritma pembelaarannya' bisa adi

    informasi tersebut akan dirambatkan secara mundur pada aringan. ambar .

    menunukkan aringan syaraf sederhana dengan fungsi akti#asi ".

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    7/42

    ambar .. "ungsi 0kti#asi Pada Jaringan yaraf ederhana

    Pada ambar .. tersebut sebuah neuron akan mengolah = input  +:1' :' ... ' : =

    yang masing/masing memiliki bobot wl' w' ... ' w = dan bobot bias b' dengan rumus 5

    ∑=

    += N 

    i

    iiw xba1

    kemudian fungsi akti#asi " akan mengakti#asi a menadi output  aringan y.

    0da beberapa fungsi akti#asi yang sering digunakan dalam aringan syaraf 

    tiruan. "ungsi 0kti#asi yang digunakan pada Backpropagation antara lain 5

    a. "ungsi sigmoid biner  

     b. "ungsi sigmoid bipolar 

    c. "ungsi linear  

    a. "ungsi sigmoid biner  

    ?alam backpropagation ' fungsi akti#asi yang dipakai harus memenuhi

     beberapa syarat yaitu 5 kontinu' terdiferensial dengan mudah dan merupakan fungsi

    yang tidak turun. alah satu fungsi yang memenuhi ketiga syarat tersebut sehingga

    sering dipakai adalah fungsi sigmoid biner yang memiliki range +-'1.

    "ungsi ini digunakan untuk aringan syaraf yang dilatih dengan

    menggunakan metode backpropagation . "ungsi sigmoid biner memiliki nilai pada

    range - sampai 1. Dleh karena itu' fungsi ini sering digunakan untuk aringan syaraf 

    yang membutuhkan nilai output   yang terletak pada inter#al - sampai 1. =amun'

    fungsi ini bisa uga digunakan oleh aringan syaraf yang nilai output nya - atau 1

    +ambar .&.

    "ungsi sigmoid biner dirumuskan sebagai 5

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    8/42

    ( ) xe

     x f   yσ −

    +==

    1

    1

    dengan 5

    ( ) ( ) ( )( ) x f   x f   x f     −=   1E   σ 

    ambar .&. "ungsi 0kti#asi igmoid !iner 

     b. "ungsi sigmoid bipolar 

    "ungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner' hanya

    saa output  dari fungsi ini memiliki range antara 1 sampai /1 +ambar .9.

    "ungsi sigmoid bipolar dirumuskan sebagai 5

    ( ) x

     x

    e

    e x f  y

    +

    −==

    1

    1

    dengan5

     ( ) ( )[ ]   ( )[ ] x f  x f  x f    −+= 11

    E

      σ 

    1-

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    9/42

    ambar .9. "ungsi 0kti#asi igmoid !ipolar 

    c. "ungsi linear +identitas

    "ungsi linear memiliki nilai output  yang sama dengan nilai input   +ambar 

    .1-.

    "ungsi linear dirumuskan sebagai 5

    y ; :

    ambar .1-. "ungsi 0kti#asi >inear +Adentitas

    2.#. Ba$k%r&%agati&n

    2elemahan J$ yang terdiri dari layar tunggal membuat perkembangan J$

    menadi terhenti pada sekitar tahun 19- an. Penemuan backpropagation yang terdiri

    dari beberapa layar membuka kembali cakarawala. $erlebih setelah berhasil

    ditemukannya berbagai aplikasi yang dapat diselesaikan dengan backpropagation'

    membuat J$ semakin diminati orang.

    J$ dengan layar tunggal memiliki keterbatasan dalam pengenalan pola.

    2elemahan ini bisa ditanggulangi dengan menambahkan satu7beberapa layar 

    tersembunyi diantara layar masukan dan keluaran. Meskipun penggunaan lebih dari satu

    layar tersembunyi memiliki kelebihan manfaat untuk beberapa kasus' tapi pelatihannya

    memerlukan waktu yang lama. Maka umumnya orang mulai mencoba dengan sebuah

    layar tersembunyi lebih dahulu.

    eperti halnya model J$ lain'  Backpropagation  melatih aringan untuk 

    mendapatkan keseimbangan antara kemampuan aringan untuk mengenali pola yang

    digunakan selama pelatihan serta kemampuan aringan untuk memberikan respon yang

    11

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    10/42

     benar terhadap pola masukan yang serupa +tapi tidak sama dengan pola yang dipakai

    selama pelatihan.

    2.#.1. Arsitektur Ba$k%r&%agati&n

     Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layar 

    tersembunyi. ambar .11 adalah arsitektur backpropagation dengan n buah masukan

    +ditambah sebuah bias' sebuah layar tersembunyi yang terdiri dari p unit +ditambah

    sebuah bias' serta m buah unit keluaran.

    # i merupakan bobot garis dari unit masukan :i ke unit layar tersembunyi @  +# -

    merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layar 

    tersembunyi @ . wk merupakan bobot dari unit layar tersembunyi @  ke unit keluaran yk 

    +wk- merupakan bobot dari bias di layar tersembunyi ke unit keluaran @k .

    ambar .11. 0rsitektur !ackpropagation

    2.#.2. Neur&n Neuron  adalah unit pemroses informasi yang menadi dasar dalam

     pengoperasian aringan syaraf tiruan. Neuron terdiri dari tiga elemen pembentuk 5

    a. *impunan unit/unit yang dihubungkan dengan alur koneksi. Jalur/alur tersebut

    memiliki bobot7kekuatan yang berbeda/beda. !obot yang bernilai positif akan

    memperkuat sinyal dan yang bernilai negatif akan memperlemah sinyal yang

    dibawanya. Jumlah' struktur dan pola hubungan antar unit/unit tersebut akan

    menentukan arsitektur aringan +dan uga model aringan yang terbentuk.

    1

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    11/42

     b. uatu unit penumlahan yang akan menumlahkan input /input  sinyal yang sudah

    dikalikan dengan bobotnya.

    Misalkan :1' :' ... ' :m  adalah unit/unit input   dan w 1' w ' ... ' w m adalah bobot

     penghubung dari unit/unit tersebut ke unit keluaran 8 ' maka unit penumlah akan

    memberikan keluaran sebesar u  ; :1w 1 < :w  < ... < :mw m

    c. "ungsi akti#asi yang akan menentukan apakah sinyal dari input   neuron  akan

    diteruskan ke neuron lain ataukah tidak.

    2.#.3. Thresh&'(

    Threshold   adalah suatu perubahan antara  gray-level image  dan bilevel image.

     Bilevel image terdiri dari banyak informasi yang penting dari sebuah image +contoh 5

    angka' posisi dan bentuk obek' tetapi tidak dapat dibandingkan dengan informasi dari

     gray-level image. 2ebanyakan dari time pixels  dengan  gray levels  yang sama

    mempunyai obek yang sama uga. elanutnya' pengelompokan image oleh pixel gray-

    level  dapat memperkecil dan memudahkan beberapa pengoperasian proses image seperti

    membentuk recognition dan classification.

    !eberapa operasi thresholding   yang essential  akan diseleksi oleh sebuah hasil

    tunggal threshold . eluruh  gray-levels menunukkan hasil yang dapat diklasifikasikan

    menadi black  +-' dan disekelilingnya adalah white +1. 6ntuk waktu tertentu' bagian

    image  tidak mungkin menadi obek dan background   dengan hasil tunggal threshold 

    disebabkan oleh adanya noise. Pendekatan percobaan yang mudah harus menggunakan

    tuuan gray-level   dalam image  seperti threshold . Ani dapat disebabkan sebagian pixels

    menadi white dan bagian lain menadi black .

    2.#.. )e'atihan Stan(ar Ba$k%r&%agati&n

    Pelatihan  Backpropagation meliputi tiga fase. "ase pertama adalah fase mau.

    Pola masukan dihitung mau mulai dari layar masukan hingga layar keluaran

    menggunakan fungsi akti#asi yang ditentukan. "ase kedua adalah fase mundur. elisih

    antara keluaran aringan dengan target yang diinginkan merupakan kesalahan yang

    teradi. 2esalahan tersebut dipropagasikan mundur' dimulai dari garis yang

     berhubungan langsung dengan unit/unit di layar keluaran. "ase ketiga adalah modifikasi

     bobot untuk menurunkan kesalahan yang teradi.

    a. "ase A 5 Propagasi mau

    13

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    12/42

    elama propagasi mau' sinyal masukan +;:i dipropagasikan ke layar 

    tersembunyi menggunakan fungsi akti#asi yang ditentukan. 2eluaran dari setiap

    unit layar tersembunyi +;@  tersebut selanutnya dipropagasikan mau lagi ke layar 

    tersembunyi di atasnya menggunakan fungsi akti#asi yang ditentukan. ?emikian

    seterusnya hingga menghasilkan keluaran aringan +;yk .

    !erikutnya' keluaran aringan +;yk  dibandingkan dengan target yang harus

    dicapai +;tk . elisih tk   / yk  adalah kesalahan yang teradi. Jika kesalahan ini lebih

    kecil dari batas toleransi yang ditentukan' maka iterasi dihentikan. 0kan tetapi

    apabila kesalahan masih lebih besar dari batas toleransinya' maka bobot setiap garis

    dalam aringan akan dimodifikasi untuk mengurangi kesalahan yang teradi.

     b. "ase AA 5 Propagasi mundur 

    !erdasarkan kesalahan tk   / yk ' dihitung faktor Fk   +k ; 1' ' ... ' m yang

    dipakai untuk mendistribusikan kesalahan di unit yk  ke semua unit tersembunyi yang

    terhubung langsung dengan yk . Fk  uga dipakai untuk mengubah bobot garis yang

     berhubungan langsung dengan unit keluaran.

    ?engan cara yang sama' dihitung faktor F  di setiap unit di layar tersembunyi

    sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di

    layar di bawahnya. ?emikian seterusnya hingga semua faktor F di unit tersembunyi

    yang berhubungan langsung dengan unit masukan dihitung.

    c. "ase AAA 5 Perubahan bobot

    etelah semua faktor F dihitung' bobot semua garis dimodifikasi bersamaan.

    Perubahan bobot suatu garis didasarkan atas faktor F neuron  di layar atasnya.

    ebagai contoh' perubahan bobot garis yang menuu ke layar keluaran didasarkan

    atas Fk  yang ada di unit keluaran.

    2etiga fase tersebut diulang/ulang terus hingga kondisi penghentian

    dipenuhi. 6mumnya kondisi penghentian yang sering dipakai adalah umlah iterasi

    atau kesalahan. Aterasi akan dihentikan ika umlah iterasi yang dilakukan sudah

    melebihi umlah maksimum iterasi yang ditetapkan' atau ika kesalahan yang teradi

    sudah lebih kecil dari batas toleransi yang diiinkan.

    0lgoritma Backpropagation

    1. Anisialisasi bobot +ambil bobot awal dengan nilai random

    yang cukup kecil.

    14

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    13/42

    . 2erakan langkah/langkah berikut selama kondisi berhenti

     bernilai salah.

    3. 6ntuk tiap/tiap pasangan elemen yang akan dilakukan

     pembelaaran' kerakan 5

     Feedforward 

    a. $iap/tiap unit input  +G i' i;1''3'...'n menerima sinyal :i dan meneruskan sinyal

    tersebut ke semua unit pada lapisan yang ada di atasnya +lapisan tersembunyi.

     b. $iap/tiap unit pada suatu lapisan tersembunyi +H ' ;1''3'...'p menumlahkan

    sinyal/sinyal input  terbobot 5

    ∑=

    +=n

    i

    iji j j   v xbin  1

    1 I 

    gunakan fungsi akti#asi untuk menghitung sinyal output  5

    @  ; f+@Iin 

    dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya +unit/unit output .

    c. $iap/tiap unit output   +8k ' k;1''3'...'m menumlahkan sinyal/sinyal input 

    terbobot.

    ∑=

    +=n

    i

     jk ik k    w  bin y1

    4 I 

    gunakan fungsi akti#asi untuk menghitung sinyal output  5

    yk  ; f+yIink 

    dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya +unit/unit output .

    Catatan 5

    >angkah +b dilakukan sebanyak umlah lapisan tersembunyi.

     Backpropagation

    d. $iap/tiap unit output  +8k ' k;1''3'...'m menerima target pola yang berhubungan

    dengan pola input  pembelaaran' hitung informasi errornya 5

    Fk  ; +tk  / yk  f E+yIink 

    ϕ k ; Fk @ 

    k ; Fk 

    kemudian hitung koreksi bobot +yang nantinya akan digunakan untuk 

    memperbaiki nilai w k  5

    Kw k  ; αϕ k 

    1%

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    14/42

    hitung uga koreksi bias +yang nantinya akan digunakan untuk memperbaiki

    nilai bk  5

    Kbk  ; αk 

    >angkah +d ini uga dilakukan sebanyak umlah lapisan tersembunyi' yaitumenghitung informasi error dari suatu lapisan tersembunyi ke lapisan

    tersembunyi sebelumnya.

    e. $iap/tiap unit tersembunyi +H ' ;1''3'...'p menumlahkan delta input  +dari unit/

    unit yang berada pada lapisan di atasnya 5

    ∑=

    =m

     jk k  j   win1

    4 I    δ δ 

    kalikan nilai ini dengan turunan dari fungsi akti#asinya untuk menghitung

    informasi error  5

    F1  ; FIin  f E+@Iin 

    ϕ1i ; F1  : 

    1  ; F1 

    kemudian hitung koreksi bobot +yang nantinya akan digunakan untuk 

    memperbaiki nilai #i 5

    K#i ; αϕ1i

    hitung uga koreksi bias +yang nantinya akan digunakan untuk memperbaiki

    nilai b1  5

    Kb1  ; α1 

    f. $iap/tiap unit output   +8k ' k;1''3'...'m memperbaiki bias dan bobotnya

    +;-'1''...'p 5

    w k +baru ; w k +lama < Kw k 

     bk +baru ; bk +lama < Kbk 

    $iap/tiap unit tersembunyi +H ' ;1''3'...'p memperbaiki bias dan bobotnya

    +i;-'1''...'n 5

    #i+baru ; #i+lama < K#i

     b1 +baru ; b1 +lama < Kb1 

    4. $es kondisi berhenti.

    2.#.#. O%ti*a'itas Arsitektur Ba$k%r&%agati&n

    1,

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    15/42

    Masalah utama yang dihadapi dalam  Backpropagation  adalah lamanya iterasi

    yang harus dilakukan.  Backpropagation  tidak dapat memberikan kepastian tentang

     berapa epoch yang harus dilalui untuk mencapai kondisi yang diinginkan. Dleh karena

    itu orang berusaha meneliti bagaimana parameter/parameter aringan dibuat sehingga

    menghasilkan umlah iterasi yang relatif lebih sedikit.

    a. Anisialisasi bobot awal secara random

    Pemilihan bobot awal sangat mempengaruhi aringan syaraf dalam mencapai

    minimum global +atau mungkin hanya lokal saa terhadap nilai error ' serta cepat

    tidaknya proses pelatihan menuu kekon#ergenan. 0pabila nilai bobot awal terlalu

     besar' maka input  ke setiap lapisan tersembunyi atau lapisan output  akan atuh pada

    daerah dimana turunan fungsi sigmoidnya akan sangat kecil. ebaiknya' apabila

    nilai bobot awal terlalu kecil' maka input  ke setiap lapisan tersembunyi atau lapisan

    output  akan sangat kecil' yang akan menyebabkan proses pelatihan akan beralan

    sangat lambat. !iasanya bobot awal diinisialisasi secara random dengan nilai antara

    /-.% sampai -.% +atau /1 sampai 1' atau inter#al yang lainnya.

     b. Jumlah unit tersembunyi

    *asil teoritis yang didapat menunukkan bahwa aringan dengan sebuah

    layar tersembunyi sudah cukup bagi Backpropagation untuk mengenali sembarang

     pola antara masukan dan target dengan tingkat ketelitian yang ditentukan. 0kan

    tetapi penambahan umlah layar tersembunyi kadangkala membuat pelatihan lebih

    mudah.

    ?alam propagasi mau' keluaran harus dihitung untuk tiap layar' dimulai dari

    layar tersembunyi paling bawah +terdekat dengan masukan. ebaliknya' dalam

     propagasi mundur' faktor F perlu dihitung untuk tiap layar tersembunyi' dimulai dari

    layar keluaran.

    c. Jumlah pola pelatihan

    $idak ada kepastian tentang berapa banyak pola yang diperlukan agar 

     aringan dapat dilatih dengan sempurna. Jumlah pola yang dibutuhkan dipengaruhi

    oleh banyaknya bobot dalam aringan serta tingkat akurasi yang diharapkan. 0turan

    kasarnya dapat ditentukan berdasarkan rumusan 5

    Jumlah pola ; Jumlah bobot 7 tingkat akurasi

    1

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    16/42

    6ntuk aringan dengan &- bobot dan tingkat akurasi -.1' maka &-- pola

    masukan diharapkan akan mampu mengenali dengan benar 9- L pola diantaranya.

    d. >ama iterasi

    $uuan utama penggunaan  Backpropagation  adalah mendapatkan

    keseimbangan antara pengenalan pola pelatihan secara benar dan respon yang baik 

    untuk pola lain yang seenis +disebut data penguian. Jaringan dapat dilatih terus

    menerus hingga semua pola pelatihan dikenali dengan benar. 0kan tetapi hal itu

    tidak menamin aringan akan mampu mengenali pola penguian dengan tepat. Jadi

    tidaklah bermanfaat untuk meneruskan iterasi hingga semua kesalahan pola

     pelatihan ; -.

    6mumnya data dibagi menadi dua bagian' yaitu pola data yang dipakai

    sebagai pelatihan dan data yang dipakai untuk penguian. Perubahan bobot

    dilakukan berdasarkan pola pelatihan. 0kan tetapi selama pelatihan +misal setiap 1-

    epoch' kesalahan yang teradi dihitung berdasarkan semua data +pelatihan dan

     penguian. elama kesalahan ini menurun' pelatihan terus dialankan. 0kan tetapi

     ika kesalahannya sudah meningkat' pelatihan tidak ada gunanya untuk diteruskan

    lagi. Jaringan sudah mulai mengambil sifat yang hanya dimiliki secara spesifik oleh

    data pelatihan +tapi tidak dimiliki oleh data penguian dan sudah mulai kehilangan

    kemampuan melakukan generalisasi.

    2.#.+. ,ariasi Ba$k%r&%agati&n

    ?isamping model standar  Backpropagation' kini sudah berkembang berbagai

    #ariasinya. ariasi tersebut bisa berupa model Backpropagation yang digunakan untuk 

    keperluan khusus' atau teknik modifikasi bobot untuk mempercepat pelatihan dalam

    kasus tertentu.

    a. Momentum

    Pada standar  Backpropagation' perubahan bobot didasarkan atas gradien

    yang teradi untuk pola yang dimasukkan saat itu. Modifikasi yang dapat dilakukan

    adalah melakukan perubahan bobot yang didasarkan atas arah gradien pola terakhir 

    dan pola sebelumnya +disebut momentum yang dimasukkan. Jadi tidak hanya pola

    masukan terakhir saa yang diperhitungkan.

    Penambahan momentum dimaksudkan untuk menghindari perubahan bobot

    yang mencolok akibat adanya data yang sangat bearbeda dengan yang lain + outlier .

    1&

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    17/42

    0pabila beberapa data terakhir yang diberikan ke aringan memiliki pola serupa

    +berarti arah gradien sudah benar' maka perubahan bobot dilakukan secara cepat.

     =amun apabila data terakhir yang dimasukkan memiliki pola yang berbeda dengan

     pola sebelumnya' maka perubahan dilakukan secara lambat.

    ?engan penambahan momentum' bobot baru pada waktu ke +t

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    18/42

    6ntuk membuat program dengan Matlab dapat dilakukan dengan menggunakan Matlab

    Qditor.

    2.+.1. -e*u'ai -at'a

    2etika pertama kali membuka Matlab' akan muncul beberapa form seperti pada

    ambar .1.

    ambar .1. "orm Matlab

    ecara keseluruhan Matlab memiliki enam buah endela 5a. Jendela perintah +command window seperti yang tampak di sebelah kanan

    ambar .1. Jendela perintah merupakan tempat untuk memasukkan perintah/

     perintah yang diinginkan. !aik perintah maupun keluaran Matlab muncul dalam

     endela perintah. 0pabila terlalu lama dipakai' biasanya endela perintah akan terasa

    sangat panang. 6ntuk menghapus semua teks dalam endela perintah' anda dapat

    memilih !lear command window dari menu edit . emua perintah dan keluaran yang

    terdapat di endela perintah dapat di copy +setelah diblok terlebih dahulu dan paste

    ke perangkat lunak lain +misal word.

     b. Jendela daftar perintah +command history seperti yang tampak di kiri bawah

    ambar .1. Jendela ini memuat daftar perintah yang pernah diketikkan dalam

     endela perintah. 6ntuk mengeksekusi kembali perintah yang pernah dipakai' drag 

     perintah tersebut dari endela daftar perintah ke endela perintah.

    c. Jendela launch pad . Jendela ini berisi fasilitas yang disediakan Matlab untuk 

    menalankan paket perangkat lunak +toolbox untuk menyelesaikan masalah tertentu.

    -

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    19/42

    ebagai contoh' untuk melihat demo program aringan syaraf tiruan' anda bisa

    memilih folder Neural Network Toolbox' dan memilih subfolder demo.

    d. Jendela  "elp yang dipakai ika mengalami kesulitan sewaktu memilih perintah

    atau formatnya.

    e. Jendela direktori.

    f. Jendela workspace.

    elain endela/endela tersebut' Matlab uga menyediakan fasilitas editor 

     program. Program dalam Matlab mirip dengan bahasa C

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    20/42

    d. !aris matriks yang berbeda dapat dituliskan dalam satu baris ataupun dalam

     baris yang berbeda.

    ebagai respon setelah penekanan enter' Matlab akan menampilkan

    matriks yang baru saa dimasukkan

    A =

      1 2 3 4

      5 6 7 8

      9 10 11 12

    0pabila tidak ingin ditampilkan' ketikkan semicolon +R pada akhir perintah.

    ?alam Matlab' dibedakan nama #ariabel yang berupa huruf besar dengan

    huruf kecil.6ntuk menampilkan isi suatu #ariabel G' digunakan perintah disp +G.

    Matlab akan menampilkan isi #ariabel G +baik berupa numerik' #ektor' matriks

    maupun string tanpa menuliskan nama #ariabelnya.

    0pabila teradi kesalahan pemasukan elemen matriks +misal umlah

    elemen dalam sebuah baris tidak sama' tanda kurung tidak seimbang atau

    elemennya berupa non numerik Matlab akan memunculkan pesan kesalahan.

    >> A = [2 3 1 ; 3 2]

    ??? Error using ==> vertcat

    A ro!s in t"e #rac$ete% e&'ression (ust "ave t"e sa(e nu(#er

    o) cou(ns*

    >> A = [2 3 1 ; 3 2 a]

    ??? +n%e)ine% )unction or varia#e ,a,*

    . Membentuk matriks dengan cara mengambil dari file data eksternal.

    Misalkan file ?ata2u.dat berisi data/data 5

    1 3

    4 % ,

    & 9

    1- 11 1

    Maka dapat dibuat matriks 0 dengan mengambil data/data pada file

    ?ata2u.dat tersebut sebagai elemen/elemennya.

    $uliskan instruksinya 5

    >> A = oa% -./atau*%atA =

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    21/42

     1 2 3

     4 5 6

     7 8 9

    10 11 12

    !. Matriks 2husus

    Matlab menyediakan fasilitas bagi pemakai untuk membuat matriks khusus

    secara cepat.

    1. Matriks ?iagonal

    Matriks diagonal adalah matriks buur sangkar yang semua elemen diluar 

    diagonal utamanya ; -. Qlemen/elemen matriks diagonal dapat dipandang

    sebagai #ektor. ebagai contoh' matriks diagonal

     

     =

    -

    -

     #  

    -

    1

    -

    −     

     

     

    3

    -

    -

    memiliki elemen diagonal berupa #ektor ; S /1 3T

    ?alam Matlab' perintah %iag -  dipakai untuk membentuk matriks

    diagonal yang elemen diagonalnya adalah #ektor . 6ntuk membentuk matriks

    diagonal 0 diatas' dipakai perintah 5

    >> = [2 1 3]

    >> A = %iag -

    . Matriks Adentitas

    Matriks identitas adalah matriks diagonal yang semua elemen

    diagonalnya;1. Perintah yang dipakai untuk membentuk matriks identitas ordo

    n:n adalah ee -n. ebagai contoh' ika n; 35

    >> ee -3

    ans =

      1 0 0

      0 1 0

      0 0 1

    3. Matriks (andom

    6ntuk beberapa keperluan' kadangkala diinginkan suatu matriks yang

    elemennya diambil secara acak. ?alam Matlab' bilangan acak yang digunakan

     berdistribusi seragam +U 6 S-' 1T atau normal standar +U = +-' 1.

    3

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    22/42

    Perintah ran% -( n digunakan untuk membentuk matriks ordo m:n

    yang elemennya bilangan acak U 6 S-' 1T. 6ntuk membentuk matriks yang

    elemennya U = +-' 1' digunakan perintah ran%n -( n. 6ntuk membentuk 

    sebuah bilangan acak' gunakan perintah ran% +atau ran%n.

    6ntuk membuat matriks 0 berordo 3:4 yang elemennya berdistribusi

    seragam' perintah Matlab adalah sebagai berikut 5

    >> A = ran% -34

    A =

      0*9501 0*4860 0*4565 0*4447

      0*2311 0*8913 0*0185 0*6154

      0*6068 0*7621 0*8214 0*7919

    "ungsi round bisa dipakai untuk membentuk matriks yang elemennya

     berupa bilangan acak bulat. Misal elemen matriks bulat - / 1--' maka kalikan

     bilangan/ bilangan acak dengan 1-- kemudian dibulatkan.

    >> = roun% -100 ran% -34

    =

      92 41 41 35

      74 94 89 81

      18 92 6 1

    4. Matriks =ol

    Matriks nol adalah matriks yang semua elemennya ; -. Perintah eros

    -(n menghasilkan matriks berordo m:n yang semua elemennya ; -. 6ntuk 

    membentuk matriks buur sangkar n:n yang semua elemennya ; -' gunakan

     perintah eros -n

    >> A = eros -35

    A =

      0 0 0 0 0

      0 0 0 0 0

      0 0 0 0 0

    %. Matriks atuan

    4

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    23/42

    Matriks satuan mirip dengan matriks nol' tapi dengan semua elemen ; 1.

    Perintah yang dipakai adalah ones -(n . Jika matriksnya buur sangkar ordo

    n:n' gunakan perintah ones -n

    >> ones -3

    ans =

      1 1 1

      1 1 1

      1 1 1

    ,. Matriks Pascal

    Matriks segitiga pascal adalah matriks yang berisi koefisien segitiga

     pascal.

    >> A = 'asca -5

    A =

      1 1 1 1 1

      1 2 3 4 5

      1 3 6 10 15

      1 4 10 20 35

      1 5 15 35 70

    . Matriks 0aib

    Membentuk matriks berukuran n:n dengan umlah elemen/elemen untuk 

    setiap baris' kolom' dan diagonalnya sama.

    >> : = (agic -4

    : =

      1 6 2 3 13

      5 11 10 8

      9 7 6 12

      4 14 15 1

    $abel .1 merupakan ringkasan perintah untuk membuat matriks khusus.

    elain perintah yang tercantum dalam tabel .1' masih banyak lagi matriks

    khusus yang dapat dibuat dengan mudah menggunakan Matlab. Perintah lain

    dapat dilihat dari help.

    $abel .1. Perintah Matriks 2husus

    Matriks Perintah 2eterangan

    %

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    24/42

    ?iagonal %iag -v# ; #ector yang elemennya merupakan elemen matriks

    diagonal

    Adentitas ee -n n ; ordo matriks buur sangkar 

    (andom

    ran% -(n

    ran%n -(n

    Drdo matriks ; m:n

    (and menghasilkan elemen U 6 +-'1 sedangkan randn

    U = +-'1

     =ol eros -(n Drdo matriks ; m:n

    atuan ones -(n Drdo matriks ; m:n

    Pascal 'asca -n

    0aib (agic -n

    2.+.2.2. -ani%u'asi -atriks

    0pabila telah memiliki suatu matriks' maka dapat dilakukan manipulasi

    terhadap matriks tersebut' antara lain 5

    1. Mengubah ukuran matriks menadi =:M dari matriks G yang berukuran P:V.

    0pabila memiliki matriks G yang berukuran P:V' maka dapat dimanipulasi matriks

    tersebut menadi matriks 8 yang berukuran =:M dimana P:V ; =:M' dengan

    urutan per kolom.

    Misal matriks G yang berukuran ,:4 sebagai berikut 5

     

     

    =

    ,

    %

    4

    3

    1

     $    

    1

    11

    1-

    9

    &

     

    1&

    1

    1,

    1%

    14

    13

     

           

     

     

     

    4

    3

    1

    -

    19

    0kan dibuat matriks 8 yang berukuran &:3 dari matriks G

    >> = res"a'e -

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    25/42

    >> = res"a'e -

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    26/42

    Anformasi yang diperoleh dari suatu matriks

    0pabila suatu matriks G atau #ektor ' maka bisa didapatkan beberapa informasi

    yang berkaitan dengan matriks G tersebut antara lain 5

    1. 6kuran matriks G

    Misalkan matriks G dengan elemen/elemen' sebagai berikut 5

     

     

    =

    13

    1-

    4

    1

     $    

    14

    11

    &

    %

     

          

     

     

    1%

    1

    9

    ,

    3

    0pabila ingin diketahui ukuran matriks G maka tuliskan instruksinya 5>> [n (] = sie-

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    27/42

    Jika  

     =

    3 #  

    1

    1    

     

     −−%

    4 ' maka keluaran Matlab terhadap perintah 0X adalah

    sebagai berikut 5

    >> A

    ans =

     3 2

     1 1

    4 5

    . An#ers matriks

    Misalkan 0 adalah matriks buur sangkar. An#ers 0 +simbol 0/1 adalah suatu

    matriks sedemikian sehingga 0.0/1 ; 0/1.0 ; A

    ?alam Matlab digunakan perintah An# untuk mencari in#ers suatu matriks. Misalkan

     

     −=

    3

     #  

    %

    1−

        

     

     −

    1

    1

    1

    >> A = [2 1 1 ; 3 2 1 ; 2 5 1]

    A =

      2 1 1

      3 2 1

      2 5 1

    >> = inv -A

    =

      0*3750 0*5000 0*1250

      0*6250 0*5000 0*1250

      2*3750 1*5000 0*1250

    >> A

    ans =

      1*0000 0 0*0000

      0 1*0000 0*0000  0 0 1*0000

    3. Menumlahkan elemen/elemen matriks

    Misalkan 0 adalah suatu matriks berordo m:n. Perintah su( -A atau su(

    -A1 akan menumlahkan semua elemen dalam satu kolom. *asilnya berupa suatu

    #ektor baris 1:n. Jika diinginkan penumlahan dilakukan per baris' maka gunakan

     perintah su( -A2. 0kan tetapi bila 0 berupa suatu #ektor +baik #ektor baris

    9

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    28/42

    maupun #ektor kolom' maka su( -A akan menghasilkan skalar berupa umlah

    semua elemen dalam 0.

    >> A = [2 1 1 ; 3 2 1 ; 2 5 1]

    A =

      2 1 1

      3 2 1

      2 5 1

    >> su( -A

    ans =

      1 6 1

    >> su( -A2

    ans =

      0

      0

      8

    >> v =[4 ; 2; 3]

    v =

      4

      2

      3

    >> su( -v

    ans =  5

    >> u = [1 3 4]

    u =

      1 3 4

    >> su( -u

    ans =

      6

    2.+.3. )e*r&gra*an -at'a

    2.+.3.1. -e*entuk -!i'e

    Pemrograman dengan M/"ile memberikan kontrol lebih banyak dibandingkan

    dengan command line. ?engan M/"ile bisa dilakukan percabangan' perulangan dan

    lain/lain. truktur Program M/"ile mirip dengan bahasa C yang membagi program

    dalam blok program berupa fungsi/fungsi. $iap fungsi dapat memanggil fungsi yang

    lain. %cript  dalam endela perintah berguna untuk menyelesaikan permasalahan yang

    3-

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    29/42

     pendek. ebaliknya M/file dapat dipakai untuk berbagai aplikasi sesuai keinginan

     pemakai.

    Program/program yang membutuhkan fungsi yang lebih kompleks dapat dilihat

     pada endela launch pad  atau help.

    Jendela M/file dapat dibuka melalui menu "ile / =ew B M/file atau dengan

    menekan Ctrl/=. Jendela M/file tampak pada ambar .13. !agian/bagiannya mirip

    dengan editor teks biasa. !agian tengah dipakai untuk mengetikkan program. ?i bagian

    atas adalah menu yang dapat dipakai untuk mengedit dan menalankan +running 

     program.

    ambar .13. Qditor Matlab

    "ungsi dalam Matlab terdiri dari dua bagian yaitu definisi fungsi dan tubuh

    fungsi

    a. ?efinisi "ungsi

    !entuk definisi fungsi adalah sebagai berikut 5

    unction @argu(en $euaran> = @na(a )ungsi> -@argu(en (asu$an>

    ebagai contoh 5

    unction = average -&

    !aik argumen masukan maupun keluaran bisa berupa #ariabel berupa skalar' #ektor 

    maupun matriks' atau tanpa argumen sama sekali.

    0rgumen masukan boleh lebih dari satu. Masing/masing dipisahkan dengan tanda

    koma. ?emikian uga apabila argumen keluaran lebih dari satu elemen' maka

    argumen tersebut dipisahkan dengan tanda koma dan diletakkan diantara kurung

    siku.

    31

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    30/42

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    31/42

    teks tersebut. Perhatikan disini bahwa argumen perintah %is' adalah tunggal. Jika

    ingin dicetak nilai beberapa #ariabel +atau teks dan #ariabel' maka perintah disp

    harus dituliskan beberapa kali.

    Perintah )'rint). "ormatnya adalah 5

    )'rint) -)or(at A ***

    "ormat adalah bentuk penulisan yang akan ditampilkan di layar seperti

     umlah angka desimal' tab' lebar karakter' penulisan di baris baru' dan lain/lain.

    0' ... adalah nama #ariabel yang isinya dicetak di layar.

    "ormat penulisan bilangan riil adalah sebagai berikut 5

    L /1.% e

    2on#ersi karakter yang umum dipakai tampak pada $abe1 ..

    $abel .. 2on#ersi 2arakter 

    2on#ersi 2eterangan

    W Lc X 2arakter tunggal

    W Ld W =otasi desimal dengan tanda

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    32/42

    )i% = )o'en-)iena(e'er(ission

    )i%  adalah #ariabel identitas file yang nantinya dipakai ketika akan

    membaca atau menulis. Filename adalah string berisi nama file +dan direktorinya

    yang dibaca7ditulis.  &ermission  adalah kondisi file yang dibaca7ditulis. ?efaultnya

    adalah file hanya dibuka untuk dibaca. 2onsisi yang umum dipakai tampak pada

    $abel .4.

    $abel .4. $ipe !erkas

    Permission 2eterangan

    WrX !uka file hanya untuk dibaca +default 

    WwX !uka file' atau buat file baru untuk ditulisi +rewrite

    WaX

    !uka file' atau buat file baru untuk ditulisi +append  di akhir file yang

    telah ada

    Wr

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    33/42

    2.+.3.3. State*en 0en(a'i

    tatemen kendali memungkinkan untuk mengontrol alur program. "ormat

     perintahnya adalah sebagai berikut 5

    i) e&'ression

    state(ents

    en%

    e&'ression adalah kondisi yang menentukan arah percabangan. Jika kondisi ini benar'

    maka state(ents akan dilakukan. Jika salah maka program akan melompat ke perintah

    setelah en%.

    truktur tersebut digambarkan dalam bagan alir ambar .14.

    ambar .14. !agan 0lir if / then

    !entuk yang lebih umum adalah menentukan state(en apa yang dilakukan ika

    kondisi e&'ression  bemilai salah. 6ntuk itu ditambahkan perintah ese. Jika

    e&'ression bernilai benar' maka state(ens  yang akan dilakukan. 0kan tetapi ika

    salah' maka state(ents 2 yang dilakukan.

    i) e&'ression

    state(ents

    ese

    state(ents2

    en%

    ambar .1%. menunukkan bagan alir proses dengan perintah if/then/eAse

    ambar .1%. !agan 0lir if / then / else

    3%

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    34/42

    E&'ression  dalam kedua bentuk if tersebut berisi #ariabel/#ariabel yang

    dihubungkan dengan operator logika +atau fungsi yang memiliki return  boolean true

    atau false. Dperator logika yang dapat dipakai tampak pada $abe1 .%.

    $abel .%. Dperator >ogika

    Dperator 0rti

    [ >ebih kecil dari

    [; >ebih kecil atau sama dengan

    \ >ebih besar dari

    \; >ebih besar atau sama dengan

    ; ; ama dengan

    U ; $idak sama dengan

    2.+.3.. State*en )eru'angan

    tatemen perulangan digunakan untuk mengulang/ulang suatu blok perintah.

    0da dua bentuk perulangan yang umumnya dipakai 5

    a. truktur "or  

    ?alam struktur ini' umlah perulangan yang akan dilakukan ditentukan oleh

     pemakai. Jadi sebelum statemen dalam perulangan dieksekusi' sudah diketahui

     berapa kali nantinya statemen tersebut dieksekusi

     b. truktur )hile

    ?alam struktur while' banyaknya perulangan ditentukan dari kondisi syarat

    yang ditetapkan. elama kondisi tersebut bernilai benar' maka perulangan terus

    dilakukan. Perulangan bisa dilakukan beberapa kali' tidak pernah dilakukan sama

    sekali' atau bahkan dilakukan terus menerus tanpa pernah berhenti. Pembuat

     program harus memastikan bahwa suatu saat nantinya' kondisi syarat bernilai salah

    +sehingga perulangan berhenti

    a. truktur "or 

    !entuk struktur "or adalah sebagai berikut 5

    )or varia#e = s$aar s$aar

    state(ent

    3,

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    35/42

    ***

    state(ent

    en%

    truktur for dapat dibuat bersarang +nested loop. Pada kasus ini' loop "or 

    yang paling dalam akan dieksekusi dahulu hingga selesai' baru kemudian ke loop

    "or sebelah luarnya. ebagai contoh' perhatikan program

    n =4

    a = eros -nn :atri$s a!a

    or i = 1n

    or D = 1n

    a-iD = 1B-iD 1;

    En%

    En%Program tersebut akan secara ieratif mengisi elemen matriks baris/i kolom/ dengan

    1

    1

    −+   ji

     b. truktur )hile

    !entuk umum struktur )hile adalah sebagai berikut 5

    !"ie e&'ression o'Fre e&'ression

    state(ents

    en%

    dimana o'Fre adalah ;;'[' \' [;' \;' atau U;.

    tatemen akan dieksekusi terus menerus selama ekspresi setelah kata kunci

    !"ie bernilai benar.truktur while dipakai ika akan dihentikan iterasi segera setelah dicapai

    kesimpulan. ebagai contoh' misalkan ingin dicek apakah dalam matriks yang

    diinputkan ada elemen -. Pengecekan tidak perlu dilakukan pada semua elemen

    matriks. Misalkan pengecekan dimulai dari elemen kiri atas. egera setelah

    ditemukan elemen -' maka pengecekan dihentikan dan bisa diambil kesimpulan

    tentang matriks tersebut.

    2.+.. )e*r&gra*an Ba$k%r&%agati&n Dengan -at'a 

    3

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    36/42

    2.+..1. -e*entuk Jaringan

    0. Anisialisasi Jaringan

    >angkah pertama yang harus dilakukan untuk memprogram

    backpropagation dengan Matlab adalah membuat inisialisasi aringan. Perintah yang

    dipakai untuk membentuk aringan adalah ne!)) yang formatnya adalah sebagai

     berikut 5

    net = ne!))-CG[H1 H2***HI]JK1 K2***KILKMC

    ?engan

    net = Daringan ac$'ro'agation ang ter%iri %ari n aar

    CG = (atri$s or%o G&2 ang #erisi niai (ini(u( %an (a$si(u( G #ua"

    ee(en (asu$anna

    Hi -i=12***n = Du(a" unit 'a%a aar $ei -i=12***n

    K)i -i=12***n = )ungsi a$tivasi ang %i'a$ai 'a%a aar $ei

    -i=12***n* /e)aut = tansig -sig(oi% #i'oar

    K = )ungsi 'eati"an Daringan* /e)aut = traing%&

    M = )ungsi 'eru#a"an #o#otB#ias* /e)aut = earng%(

    C = )ungsi 'er"itungan error* /e)aut = (se

    !eberapa fungsi akti#asi yang dipakai Matlab dalam pelatihan backpropagation

    adalah 5

    a. tansig +sigmoid bipolar ( )   11

    4−

    +=

    −net enet  f   . "ungsi ini adalah default   yang

    dipakai. "ungsi sigmoid bipolar memiliki range S/1'1T

     b. logsig +sigmoid biner ( )net e

    net  f  −

    +=

    1

    1. "ungsi sigmoid biner memiliki bentuk 

    serupa dengan sigmoid bipolar' hanya rangenya adalah S-'1T

    c. purelin +fungsi identitas ( )   net net   f     =

    Pelatihan yang dilakukan dalam Matlab dapat menggunakan berbagai fungsi'

    tuuannya adalah mempercepat pelatihan. "ungsi default  yang dipakai oleh Matlab

    adalah traingd:. ?alam fungsi ini' perubahan bobot dilakukan dengan

    menambahkan momentum. Perubahan dilakukan dengan memperhatikan perubahan

     bobot pada iterasi sebelumnya. ?isamping itu lau pemahaman +learning rate ;α

     bukan merupakan konstanta yang tetap' tetapi dapat berubah/ubah selama iterasi.

    3&

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    37/42

    6mumnya' pelatihan backpropagation  dalam Matlab dilakukan secara

     berkelompok +batch training . emua pola dimasukkan dulu' baru kemudian bobot

    diubah. ?alam pelatihan berkelompok' semua data masukan harus diletakkan dalam

    sebuah matriks.

    !. Anisialisasi !obot

    etiap kali membentuk aringan backpropagation' Matlab akan memberi

    nilai bobot dan bias awal dengan bilangan acak kecil. !obot dan bias ini akan

     berubah setiap kali dibentuk aringan. 0kan tetapi ika diinginkan memberi bobot

    tertentu' dapat dilakukan dengan memberi nilai pada net*NO' net*MO dan net*#.

    Perhatikan perbedaan antara net*NO  dan net*MO. net*NOJDiL  digunakan

    sebagai #ariabel untuk menyimpan bobot dari unit masukan layar i ke unit

    tersembunyi +atau unit keluaran layar . 2arena dalam backpropagation' unit

    masukan hanya terhubung dengan layar tersembunyi paling bawah' maka bobotnya

    disimpan dalam net*NOJ11L.

    ebaliknya' net*MOJ$DL dipakai untuk menyimpan bobot dari unit di layar 

    tersembunyi ke/ ke unit di layar tersembunyi ke/k. ebagai contoh' net*MOJ21L

    adalah penyimpan bobot dari layar tersembunyi paling bawah +layar tersembunyi

    ke/1 ke layar tersembunyi diatasnya +layar tersembunyi ke/.

    C. imulasi Jaringan

    Perintah si(  digunakan pada backpropagation  untuk menghitung keluaran

     aringan berdasarkan arsitektur' pola masukan dan fungsi akti#asi yang dipakai.

    [C)A)E'er)] = si(-netCCiAiK

    /engan 'ara(eter (asu$an

    net na(a Daringan %aa( 'erinta" ne!))C ve$tor (asu$an Daringan

    Ci $on%isi %ea a!a (asu$an* /e)aut = eros

    Ai $on%isi %ea aar* /e)aut = eros

    K ve$tor target Daringan* /e)aut = eros

    /an 'ara(eter "asi

    $euaran Daringan

    C) $on%isi a$"ir %ea (asu$an

    A) $on%isi a$"ir %ea aar

    39

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    38/42

    E error Daringan = K

    Cer) unDu$ $erDa Daringan

    Ci Ai C) A) hanya dipakai bagi aringan yang memiliki delay masukan

    dan layar. 6ntuk sekedar menghitung keluaran aringan' dapat dipakai statemen

    sederhana 5

    = si( -net';

    Perhatikan bahwa untuk menghitung keluaran aringan' tidak perlu diketahui

    targetnya. 0kan tetapi ika ingin dihitung error  yang teradi +selisih antara target

    dengan keluaran aringan' maka harus diketahui targetnya.

    2.+..2. )e'atihan Ba$k%r&%agati&n

    Matlab menyediakan berbagai #ariasi pelatihan backpropagation. ?alam sub

     bab ini akan dibahas pelatihan standar yang digunakan untuk melatih aringan.

    Pelatihan backpropagation  menggunakan metode pencarian titik minimum

    untuk mencari bobot dengan error  minimum. ?alam proses pencarian ini dikenal dua

    macam metode yaitu metode incremental dan metode kelompok +batch.

    ?alam metode incremental ' bobot diubah setiap kali pola masukan diberikan ke

     aringan. ebaliknya' dalam metode kelompok' bobot diubah setelah semua pola

    masukan diberikan ke aringan. 'rror  +dan suku perubahan bobot yang teradi dalamsetiap pola masukan diumlahkan untuk menghasilkan bobot baru. Matlab

    menggunakan metode pelatihan kelompok dalam iterasinya. Perubahan bobot dilakukan

     per epoch.

    6ntuk melatih aringan digunakan perintah train  yang formatnya adalah

    sebagai berikut5

    [nettrEC)A)] = train-netCKCiAiK

    ?engan

    net Daringan ang %i%e)inisi$an %aa( ne!))

    C (asu$an Daringan

    K target Daringan* /e)aut = eros

    Ci $on%isi %ea a!a (asu$an* /e)aut = eros

    Ai $on%isi %ea a!a aar* /e)aut = eros

    stru$tur vai%asi ve$tor* /e)aut = []

    K stru$tur ve$tor uDi* /e)aut = []

    Perintah train akan menghasilkannet Daringan ang #aru

    4-

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    39/42

    tr recor% 'eati"an -e'oc" %an 'er)or(a

    $euaran Daringan

    E error Daringan

    C) $on%isi a$"ir %ea (asu$an

    A) $on%isi a$"ir %ea aar

    Metode paling sederhana untuk merubah bobot adalah metode penurunan

    gradien + gradient descent . !obot dan bias diubah pada arah dimana unuk kera fungsi

    menurun paling cepat' yaitu dalam arah negatif gradiennya.

    Jika wk  adalah #ektor bobot pada iterasi ke/k' gk  adalah gradien dan αk   adalah

    lau pemahaman' maka metode penurunan gradien memodifikasi bobot dan bias

    menurut persamaan wk

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    40/42

     (earning rate  adalah lau pembelaaran. emakin besar nilai learning rate  akan

     berimplikasi pada semakin besarnya langkah pembelaaran. Jika learning rate diset

    terlalu besar' maka algoritma akan menadi tidak stabil. ebaliknya' ika learning 

    rate diset terlalu kecil' maka algoritma akan kon#ergen dalam angka waktu yang

    sangat lama.

    Anstruksi 5 net.trainParam.lr ; >earning(ate

     =ilai default  untuk learning rate adalah -'-1.

    e. )aktu maksimum untuk pelatihan

    Menunukkan waktu maksimum yang diiinkan untuk melakukan pelatihan. Aterasi

    akan dihentikan apabila waktu pelatihan melebihi waktu maksimum.

    Anstruksi 5 net.trainParam.time ; Ma:$ime

     =ilai default  untuk waktu maksimum adalah tak terbatas +inf.

    2.+..3. -e*%er$e%at )e'atihan Ba$k%r&%agati&n

    Metode standar backpropagation   seringkali terlalu lambat untuk keperluan

     praktis. !eberapa modifikasi dilakukan terhadap standar backpropagation dengan cara

    mengganti fungsi pelatihannya.

    ecara umum' modifikasi dapat dikelompokkan dalam dua kategori. 2ategori

     pertama adalah metode yang menggunakan teknik heuristik yang dikembangkan dari

    metode penurunan tercepat yang dipakai dalam standar backpropagation. 2ategori

    kedua adalah menggunakan metode optimisasi numerik selain penurunan tercepat.

    !eberapa metode yang dipakai sebagai modifikasi adalah metode gradien conugate'

    ]uasi =ewton' dan lain/lain. ?alam sub bab berikut ini dibicarakan dahulu tentang

     beberapa modifikasi yang masuk dalam kategori pertama +backpropagation dengan

    momentum' #ariabel lau pemahaman' dan backpropagation resilient . !erikutnya

     barulah dibahas tentang beberapa metode yang masuk dalam kategori kedua.

    0. Metode Penurunan radien dengan Momentum +traingdm

    Meskipun metodenya paling sederhana' tapi metode penurunan gradien

    sangat lambat dalam kecepatan proses iterasinya. Ani teradi karena kadang/kadang

    arah penurunan tercepat bukanlah arah yang tepat untuk mencapai titik minimum

    globalnya.

    4

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    41/42

    Modifikasi metode penurunan tercepat dilakukan dengan menambahkan

    momentum. ?engan momentum' perubahan bobot tidak henya didasarkan atas error 

    yang teradi pada epoch pada waktu itu. Perubahan bobot saat ini dilakukan dengan

    memperhitungkan uga perubahan bobot pada epoch sebelumnya. ?engan demikian

    kemungkinan terperangkap ke titik minimum lokal dapat dihindari.

    !esarnya efek perubahan bobot terdahulu +disebut faktor momentum bisa

    diatur dengan suatu bilangan antara - dan 1. "aktor momentum ; - berarti

     perubahan bobot hanya dilakukan berdasarkan error   saat ini +penurunan gradien

    murni. ?alam Matlab' pelatihan backpropagation   dengan menggunakan metode

     penurunan gradien dengan momentum dilakukan dengan mendefinisikan fungsi

     pelatihan .traing%( dalam pembentukan aringannya. !esarnya faktor momentum

    dilakukan dengan memberi nilai antara - B 1 pada net*trainCara(*(c   +default  ;

    -'9. Parameter lain yang dapat diatur dalam traing%( sama dengan traing%.

    !. ariabel >au Pemahaman +traingda' traingd:

    ?alam standar backpropagation' lau pemahaman berupa suatu konstanta

    yang nilainya tetap selama iterasi. 0kibatnya' unuk kera algoritma sangat

    dipengaruhi oleh besarnya lau pemahaman yang dipakai. ecara praktis' sulit untuk 

    menentukan besarnya lau pemahaman yang paling optimal sebelum pelatihan

    dilakukan. >au pemahaman yang terlalu besar maupun terlalu kecil akan

    menyebabkan pelatihan menadi lambat.

    Pelatihan akan lebih cepat apabila lau pemahaman dapat diubah ubah

     besarnya selama proses pelatihan. Jika error   sekarang lebih besar dibandingkan

    error   sebelumnya' maka lau pemahaman diturunkan. Jika sebaliknya' maka lau

     pemahaman diperbesar. ?engan demikian lau pemahaman dapat dibuat sebesar 

     besarnya dengan tetap mempertahankan kestabilan proses.

    ?alam Matlab' penggunaan #ariabel lau pemahaman dilakukan dengan

    menggunakan .traing%a pada parameter fungsi pelatihan ne!)).

    Penggunaan lau pemahaman uga bisa dikombinasikan dengan

    menambahkan faktor momentum. "ungsi pelatihan yang dipakai di Matlab adalah

    .traing%&. "ungsi pelatihan ini memiliki kecepatan pelatihan yang tinggi

    sehingga dipakai sebagai default  dalam pelatihan backpropagation di Matlab.

    43

  • 8/16/2019 Jbptunikompp Gdl s1 2006 Noorhardia 3269 Bab II

    42/42

    C. (esilient !ackpropagation +trainrp

    Jaringan backpropagation umumnya menggunakan fungsi akti#asi sigmoid.

    "ungsi sigmoid akan menerima masukan dari range tak berhingga menadi keluaran

     pada range S-'1T. emakin auh titik dari : ; -' semakin kecil gradiennya. Pada titik 

    yang cukup auh dari : ; -' gradiennya mendekati -. hal ini menimbulkan masalah

     pada waktu menggunakan metode penurunan tercepat +yang iterasinya didasarkan

    atas gradien. radien yang kecil menyebabkan perubahan bobot uga kecil'

    meskipun masih auh dari titik optimal.

    Masalah ini diatasi dalam resilient   backpropagation  dengan cara membagi

    arah dan perubahan bobot menadi dua bagian yang berbeda. 2etika menggunakan

     penurunan tercepat' yang diambil hanya arahnya saa. !esarnya perubahan bobot

    dilakukan dengan cara lain.

    ?alam Matlab resilient backpropagation  dilakukan dengan menuliskan

    WtrainrpX pada fungsi pelatihannya.

    ?. 0lgoritma radien Conugate +traincgf' traincgp' traincgb

    ?alam standar backpropagation' bobot dimodifikasi pada arah penurunan

    tercepat. Meskipun penurunan fungsi beralan cepat' tapi tidak menamin akan

    kon#ergen dengan cepat. ?alam algoritma gradien konugate' pencarian dilakukan

    sepanang arah conugate. ?alam banyak kasus' pencarian ini lebih cepat. 0da

     berbagai metode pencarian yang dilakukan berdasarkan prinsip gradien conugate'

    antara lain "letcher/(ee#es +.traincg)' Polak/(ibiere +.traincg'' Powel

    !eale +.traincg#.