BAB 2 JARINGAN NEURAL SATU LAPIS
Jaringan neural dapat dilatih untuk melakukan klasifikasi pola. Dalam klasifikasi pola setiap vektor masukan diklasifikasi menjadi anggota atau tidak dari suatu kelas tertentu atau kategori. Sebagai pendekatan pertama dianggap bahwa terdapat sehimpunan pola latihan yang mana klasifikasi yang benar diketahui. Dalam kasus sederhana ditinjau suatu keanggotaan dalam suatu kelas. Untuk menyatakan keanggotaan dalam suatu kelas adalah dengan memberi tanggapan 1 atau -1 (1 atau 0 bila digunakan penyajian biner) yang menunjukkan bahwa pola adalah anggota atau bukan anggota kelas tersebut. Untuk jaringan lapis tunggal, perluasan ke kasus yang lebih umum yang mana setiap pola menjadi anggota atau tidak dari beberapa kelas adalah mungkin. Dalam kasus ini satu unit keluaran untuk setiap kelas. Ada tiga metode pelatihan jaringan neural satu tapis : 1. Aturan Hebb 2. Aturan pelatihan Perceptron 3. Aturan Delta (jaringan neural Adaline) 2.1. Arsitektur Jaringan Satu Lapis Arsitektur jaringan satu lapis terlihat pada Gambar 2.1
Gambar 2.1 Jaringan neural satu lapis
Prasikap (bias) adalah bobot koneksi dari unit yang aktivasinya selalu 1. Fungsi aktivasi jaringan adalah : f(net) = 1
bila net ≥ 0
= -1
bila net < 0
Dengan net
=b+
XiWi i
Bila tidak digunakan bobot prasikap, maka digunakan ambang tetap θ, sehingga : Universitas Gadjah Mada
1
f(net) =
1 bila net ≥ θ -1 bila net < θ
Dengan net
=
XiWi i
Contoh 2.1 : Pemisahan ruang masukan menjadi daerah dengan tanggapan jaringan positif dan negative masukan memiliki dua komponen, sedangkan keluaran memiliki satu komponen (scalar) (gambar 2.2)
Batas antara nilai x1 dan x2 dimana net member tanggapan positif dan negatif adalah : garis pemisah : b+x1w1+x2w2 = 0 dengan menganggap w2 ≠ 0 maka :
x2=
w1 b x1 w2 w2
agar jaringan mempunyai tanggapan yang benar maka dengan pelatihan dicari w1 w2 dan b. agar tanggapannya positif, maka : b + x1 w1 + x2 w2 > 0 bila diterapkan ambang,maka syarat tanggapan positif adalah : x1 w1 + x2 w2 > sedangkan persamaan garis pemisah antara keluaran postif dan negative adalah : x1 w1 + x2 w2 = dengan mengganggap w2 ≠ 0 x2=
w1 x1 w2 w2
Selama pelatihan, nilai w1 dan w2 ditentukan sehingga jaringan mempunyai tanggapan yang benar terhadap data pelatihan. Dalam hal ini garis pemisah tidak melewati titik asal
Universitas Gadjah Mada
2
Keterpisahana Linear karena diinginkan salah satu dan dua tanggapan, maka fungsi aktivasi diambil fungsi undak (step). Nilai fungsi ini adalah 1 bila masukan neto positif dan -1 bila masukan neto Karena masukan negative. Karena masukan neto adalah: yin = b + ∑ xi wi i maka batas antara daerah dengan yin > 0 dan yin <0 yang disebut sebagai batas (decision boundary) ditentukan oleh relasi: b + ∑ xi wi = 0 i Tergantung pada cacah unit masukan, persamaaan ini menyatakan garis, bidang atau hyperbidang (hyperplane). Bila ada bobot (dan prasikap) sehingga semua vektor masukan pelatihan mempunyai tanggapan yang benar +1 berada pada salah satu sisi dari batas keputusan dan semua vektor masukan pelatihan yang mempunyai tanggapan yang benar -1 berada pada sisi yang lain dan batas keputusan, maka dikatakan bahwa masalahnya adalah terpisahkan linear. Minsky dan Papert menunjukkan bahwa jaringan satutapis hanya dapat belajar masalahnya yang terpisahkan linear. Jaringan multilapis dengan fungsi aktivasi linear tidak lebih handal daripada jaringan satu lapis, karena penyusunan fingsi linear adalah linear. Daerah dengan y positifdipisahkan dan daerah dengan y negative oleh garis:
x2=
w1 b x1 w2 w2
dua daerah ini disebut daerah keputusan. Catatan.: 1. Ada banyak w1, w2 dan b yang memberikan garis yang sama. 2. Ada banyak garis yang dapat memisahkan titik masukan yang mempunyai nilai target yang berbeda. 3. Pemilihan tanda b menentukan sisi yang mana dan garis pemisah yang sesuai dengan tanggapan +1 dan sisi yang sesuai dengan tanggapan -1 4. Ada empat pola yang berbeda yang dapat digunakan untuk melatih jaringan dengan dua unit masukan, tetapi ada dua tanggapan yang mungkin untuk setiap pola masukan. Maka ada 24 fungsi yang berbeda yang dapat digunakan untuk melatih jaringan yang sederhana (misal AND, OR, XOR, dil). Yang menjadi pertanyaan adalab apakah ada bobot sedemikian sehingga janingan mempunyai keluaran yang diinginkan untuk ap vektor masukan pelatihan. Universitas Gadjah Mada
3
Contoh 2.2 Daerah tanggapan untuk fungsi AND adalah sebagai berikut :
Contoh 2.2 Daerah tanggapan untuk fungsi AND adalah sebagai berikut :
Contoh bobot yang memberikan batas keputusan yang digambarkan oleh garis mepisah x2 = -x1+1 adalah: b =-1 ; w1 = 1; w2= 1 Pemilihan tanda b. ditentukan oleh syarat bahwa b + x1w1+x2w2 <0 untuk x1 = 0 dan x2 =0 Setiap titik yang tidak pada batas keputusan dapat digunakan untuk menentukan sisi yang mana dan batas yang positif dan yang negatif, titik asal cocok digunakan bila tidak berada pada batas keputusan tersebut. Contoh 2.3. Daerah tanggapan untuk fungsi OR Fungsi OR logika untuk masukan dan target bipolar didefinisikan sebagai berikut:
Universitas Gadjah Mada
4
Contoh bobot yang cocok adalah: b = 1; w1 = 1 ; w2 = 1 yang memberikan garis pemisah: x2= -x1 - 1 Pemilihan tanda untuk b ditentukan oleh syarat bahwa: b+x1w1+x2w2 > untuk x1=0, x2=0 Catatan: 1. Kedua pemetaan (mapping) di atas (yang dapat diselesaikan oleh jaringan 1 lapis) menggambarkan secara grafis konsep masukan yang terpisahkan secara linear. Titik masukan yang diklasifikasikan negatif dapat dipisahkan dari titik masukan yang diklasifikasikan positif oleh garis lurus. Persamaan batas keputusan tidak unik. 2. Bila bobot prasikap tidak dimasukkan, batas keputusan dipaksa melewati titik asal. 3. Tidak semua pemetaan dua masukan - satu keluaran dapat diselesaikan oleh jaringan lapisan tunggal (meskipun diberikan prasikap) seperti contoh 2.4 berikut:
Contoh 2. 4. Daerah tanggapan fungsi XOR
Terlihat bahwa tidak ada garis lurus tunggal yang dapat memisahkan titik-titik yang mempunya tanggapan positifdengantitik-titik yang mempunya tanggapan negatif. 4. Dengan masukan bipolar (1 dan -1) data yang hilang dapat diketahui, Nilai yang dapat disajikan dengan 0. Universitas Gadjah Mada
5
Metode pelatihan jaringan neural lapis tunggal Terdapat tiga metode pelatihan jaringan lapis tunggal: 1. Aturan Hebb (pelatihan korelasi): sangat sederhana walau untuk masalah terpisahkan ini sangat sederhana untuk masalah terpisahkan linear. 2. Aturan pelatihan Perceptron 3. Aturan delta (aturan Least Mean Square Error, LSE) Teknik 2 dan 3 adalah teknik iteratif yang dijamin konvergen bila syaratnya sesuai. 2.2 Jaringan Hebb Pelatihan terjadi dengan modifikasi sedemikian rupa kekuatan synapse (bobot). Bila neuron yang terinterkoneksi; keduanya “on”. pada saat yang sama, maka bobot kedua neuron harus ditambah. Bila data disajikan dalam bentuk bipolar, maka bobot baru dapat ditulis: w1 (baru) = w (lama) + xiy Bila datanya biner, formula ini tidak dapat membedakan pasangan pelatihan berikut: a) Unit masukan “on” dan nilai target “off” b) Unit masukan “off” dan nilai target “off’ Algoritma Hebb Langkah 0
Inisialisasi semua bobot wi =
Langkah 1
( i = 1 ke n)
Untuk setiap pasangan vektor pelatihan masukan dan keluaran target lakukan langkah 2 - 4 Langkah 2.
Tetapkan aktivasi unit keluaran xi = si
( i = 1 ke n)
Langkah 3.
Tetapkan aktivasi unit maskan y = t
Langkah 4.
Atur bobot : wi(baru) = wi(lama) + xiy (i = 1 ke n) Atur prasikap : b(baru) = b(lama)+ y
Pembaruan bobot dapat juga dinyatakan dalam bentuk vector berikut: w(baru) = w(lama) + xy Dituis dalam bentuk perubahan bobot, sebagai berikut: ∆w = xy Dan
w(baru) = w(lama) + ∆w
Aplikasi Ada beberapa metode implementasi aturan Hebb. Untuk pelatihan algoritma hanya kan satu lewatan himpunan pelatihan. Universitas Gadjah Mada
6
2.3. Perceptron Aturan belajar perceptron lebih handal daripada aturan Hebb. Dengan asumsi yang sesuai prosedur belajar iteratifia dapat dibuktikan konvergen ke bobot yang benar yakni bobot yang memungkinkan jaringan menghasilkan nilai keluaran yang benar untuk setiap pola masukan pelatihan. Beberapa tipe perceptron yang berbeda dijelaskan oleh Rosemblat (1962) dan Minsky & Papert (1969,1988) Walau beberapa perceptron adalah swa-organisasi (self organizing), tetapi sebagian besar dilatih. Perceptron pada mulanya mempunyai tiga lapis neuron : yaitu unit sensori, unit asosiator, dan unit tanggapan, sehingga membentuk model pendekatan retina. Perceptron khusus yang sederhana (Block, 1962) menggunakan aktivasi biner untuk unit sensori dan unit asosiator, dan aktivasi +1, 0, atau —1 untuk unit tanggapan. Unit sensori terhubung ke unit asosiator dengan koneksi bobot tetap yang bemilai +1, 0 atau —1 yang ditetapkan secara acak. Fungsi aktivasi untuk setiap unit asosiator adalah fiingsi undak biner dengan ambang tetap sembarang, Sehingga sinyal yang dikirim dari unit asosiator ke unit keluaran adalah sinyal biner (0 atau 1). Keluaran perceptron adalah y = f(y_in) dengan fungsi aktivasinya adalah:
Bobot dari unit asosiator ke unit tanggapan (keluaran) diatur dengan aturan belajar perceptron. Untuk setiap masukan pelatihan, jaringan menghitung tanggapan unit keluaran. Kemudian jaringan menentukan apakah galat terjadi pada unit keluaran (dengan membandingkan keluaran terhitung dengan nilai target). Jaringan tidak membedakan galat bila keluaran terhitung nol dan target -1 atau 1. Lain halnya bila keluaran terhitung +1 dan target -1 . Dalam kasus ini tanda galat menunjukkan bahwa bobot harus diubah dalam arah yang ditunjukkan oleh nilai target tetapi hanya bobot koneksi dan unit yang mengirim sinyal non zero ke unit output yang diatur, (karena sinyal ini menyumbang galat). Bila galat terjadi untuk pola masukan pelatihan tertentu, maka bobot harus diubah menurut formula berikut: wi(baru) = wi (lama) + α.t.xi dengan nilai target t adalah +1 atau -1 α = laju belajar
Universitas Gadjah Mada
7
Bila tidak terjadi galat, maka bobot tidak diubah. Pelatihan berlanjut sampai tidak terjadi dalat. Arsitektur Perceptron Karena hanya bobot dari unit asosiator ke unit keluaran yang diatur, maka peninjauan dibatasi pada bagian jaringan lapis tunggal. Jadi unit asosiator berftingsi seperti unit masukan (lihat Gambar 2.2). Tujuan jaringan adalah mengklasiflkasi setiap pola masukan, apakah menjadi anggota atau bukan dari suatu kelas. Menjadi anggota dinyatakan dengan unit keluaran yang memberikan tanggapan +1. Bukan anggota ditunjukkan oleh tanggapan. Jaringan dilatih untuk melakukan klasifikasi dengan teknik iterative dan diberikan oleh algoritma berikut: Algoritma Algoritma ini cocok untuk vektor masukan baik biner atau bipolar (n-tupel), dengan target bipolar, θ tetap, dan prasikap dapat diatur. Ambang θ tidak mempunyai peran ia seperti fungsi undak sebelumnya, sehingga prasikap (bias) dan ambang diperlukan Peranan ambang dibahas setelah algoritma berikut. Algoritma tidak sensitif terhadap nilai awal bobot atau laju pelatihan. Langkah-langkah algoritma adalah sebagai : Langkah 0
Inisialisasi bobot dan bias. (Untuk mudahnya, tetapkan bobot dan bias = 0) Tetapkan laju pelatihan α (0 <α ≤ 1) (untuk mudahnya, α = 1)
Langkah 1
Bila syarat berhenti adalah salah; kerjakan Iangkah 2 - 6. Langkah 2. Untuk setiap pasangan pelatihan s : t, kerjakan Iangkah 3-5. Langkah 3.
Tetapkan aktivasi unit masukan: xi=si
Langkah 4.
Hitung tanggapan unit keluaran
Langkah 5.
Perbarui bobot dan bias bila galat terjadi untuk pola ini.
Universitas Gadjah Mada
8
Bila y ≠ t wi (baru) = wi (lama) + α.t.xi b ( baru) = b (lama) + α.t. Bila tidak (else) wi (baru) = wi (lama) b(baru) = b(lama) Langkah 6.
Uji syarat berhenti Bila tidak ada bobot yang berubah pada langkah 2, maka berhenti; bila tidak, lanjutkan.
Universitas Gadjah Mada
9