Anda di halaman 1dari 16

JARINGAN SYARAF TIRUAN DAN CONTOH APLIKASINYA PADA MODEL ADALINE

1. Landasan Teori 2.1 Jaringan Syaraf Biologi

Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan yang luar biasa. Otak terdiri dari neuron-neuron dan penghubung yang disebut sinapsis. Neuron bekerja berdasarkan impuls atau sinyal yang diberikan pada neuron. Neuron meneruskannya pada neuron lain. Diperkirakan manusia memiliki 1012 neuron dan 6.1018 sinapsis. Dengan jumlah yang begitu banyak, otak mampu mengenali pola, melakukan perhitungan, dan mengontrol organ-organ tubuh. Neuron memiliki tiga komponen penting yaitu dendrit, soma dan axon. Dendrit menerima sinyal dari neuron lain. Sinyal tersebut berupa impuls elektrik yang dikirim melalui celah sinaptik melalui proses kimiawi. Sinyal tersebut dimodifikasi di celah sinaptik. Berikutnya soma menjumlahkan semua sinyal-sinyal yang masuk. Kalau jumlah tersebut cukup kuat dan melebihi batas ambang (treshold), maka sinyal tersebut akan diteruskan ke sel lain melalui axon. Frekuensi penerusan sinyal berbeda beda antara satu sel dengan yang lain. 2.2 Jaringan Syaraf Tiruan Jaringan syaraf tiruan (JST) adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi. JST dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa :

Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron)

Sinyal dikirimkan diantara neuron-neuron melalui penghubung- penghubung Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal

Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi yang dikenakan pada jumlah output yang diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang.

JST ditentukan oleh tiga hal :

1. Pola hubungan antar neuron (disebut arsitektur jaringan) 2. Metode untuk menentukan bobot penghubung (disebut metode training/learning/algoritma) 3. Fungsi aktivasi Sebagai contoh, perhatikan neuron Y pada gambar berikut. Y menerima input dari neuron x1,x2, dan x3 dengan bobot hubungan masing-masing adalah w1,w2,w3. ketiga impulse neuron yang ada di jumlahkan net = x1w1+x2w2+x3w3 besarnya impulse yang diterima oleh Y mengikuti fungsi aktivitas y=f(net). Apabila nilai fungsi aktivasi cukup kuat, maka sinyal akan diteruskan. Nilai fungsi aktivasi (keluaran model jaringan) juga dapat dipakai sebagai dasar untuk merubah bobot. 2.3 Aplikasi Jaringan Syaraf Tiruan Beberapa aplikasi jaringan syaraf tiruan adalah sebagai berikut :

1. Pengenalan Pola (pattern Recognition) Jaringan syaraf tiruan dapat dipakai untuk mengenali pola (misal huruf, angka, suara atau tanda tangan) yang sudah sedikit berubah. Hal ini mirip dengan otak manusia yang masih

mampu mengenali orang yang sudah beberapa waktu tidak di jumpainya (mungkin wajah/bentuk tubuhnya sudah sedikit berubah).

1. Signal Processing Jaringan syaraf tiruan (model ADALINE) dapat dipakai unuk menekan noise dalam saluran telepon.

1. Peramalan Jaringan syaraf tiruan juga dapat dipakai untuk meramalkan apa yang sudah terjadi di masa yang akan datang berdasarkan pola kejadian yang ada di masa lampau. Ini dapat dilakukan mengingat kemampuan jaringan syaraf tiruan untuk mengingat dan membuat generalisasi dari apa yang sudah ada sebelumnya.

Disamping area-area terebut, jaringan syaraf tiruan juga di laporkan dapat menyelesaikan masalah dalam bidang kontrol, kedokteran, dan lain-lain.

Meskipun banyak aplikasi menjanjikan yang dapat di lakukan oleh jaringan syaraf tiruan juga memiliki beberapa keterbatasan umum, namun jaringan syaraf tiruan juga memiliki beberapa keterbatasan umum. Pertama adalah ketidak akuratan hasil yang di peroleh. Jaringan syaraf tiruan bekerja berdasarkan pola yang terbentuk pada inputnya.

2.4 Arsitektur Neural Network

Secara umum, terdapat tiga jenis neural network yang sering digunakan berdasarkan jenis network-nya, yaitu :

Single-Layer Neural Network Multilayer Perceptron Neural Network Recurrent Neural Networks

2.4.1 Single-Layer Neural Network

Neural network jenis ini memiliki koneksi pada inputnya secara langsung ke jaringan output.

Jenis neural network ini sangatlah terbatas, hanya digunakan pada kasus-kasus yang sederhana.

2.4.2 Recurrent Neural Network

Neural network jenis ini memiliki ciri, yaitu adanya koneksi umpan balik dari output ke input.

Kelemahan dari jenis ini adalah Time Delay akibat proses umpan balik dari output ke titik input.

2.5 Proses Pembelajaran pada Neural Network Proses pembelajaran merupakan suatu metoda untuk proses pengenalan suatu objek yang sifatnya kontinuitas yang selalu direspon secara berbeda dari setiap proses pembelajaran tersebut. Tujuan dari pembelajaran ini sebenarnya untuk memperkecil tingkat suatu error

dalam pengenalan suatu objek. Secara mendasar, neural network memiliki sistem pembelajaran yang terdiri atas beberapa jenis berikut :

Supervised Learning

Sistem pembelajaran pada metoda Supervised learning adalah system pembelajaran yang mana setiap pengetahuan yang akan diberikan kepada sistem, pada awalnya diberikan suatu acuan untuk memetakan suatu masukan menjadi suatu keluaran yang diinginkan. Proses pembelajaran ini akan terus dilakukan selama kondisi error atau kondisi yang diinginkan belum tercapai. Adapun setiap perolehan error akan dikalkulasikan untuk setiap pemrosesan hingga data atau nilai yang diinginkan telah tercapai.

Unsupervised Learning

Sistem pembelajaran pada neural network, yang mana sistem ini memberikan sepenuhnya pada hasil komputasi dari setiap pemrosesan, sehingga pada sistem ini tidak membutuhkan adanya acuan awal agar perolehan nilai dapat dicapai. Meskipun secara mendasar, proses ini tetap mengkalkulasikan setiap langkah pada setiap kesalahannya dengan mengkalkulasikan setiap nilai weight yang didapat 2.6 Arsitektur Jaringan Syaraf Tiruan Berdasarkan strategi pelatihan, model jaringan dibagi menjadi : 1. Pelatihan dengan supervisi. Contoh model ini adalah : Hebbian, Perceptron, ADALINE, Boltzman, Hopfield, Backpropagation,dll. 1. Pelatihan tanpa supervise Contoh model yang masuk dalam kategori ini antara lain model competitive, Hebbian, Kohonen, LVQ (Learning Vektor Quantization),Neocognitron,dll.

3. Aplikasi Model ADALINE Model ADALINE (Adaptive Linear Neuron) ditemukan oleh Widrow dan Hoff (1960). Beberapa masukan dan sebuah bias (unit masukan tambahan) dihubungkan langsung dengan sebuah neuron keluaran. Bobot dimodifikasi dengan aturan delta (sering juga disebut least mean square). Selama pelatihan, fungsi aktivasi yang dipakai adalah fungsi identitas.

net = xi wi + b y = f(net) = net = xi wi + b Kuadrat selisih antara target (t) dan keluaran jaringan (f (net)) merupakan error yang terjadi. Dalam aturan delta, bobot dimodifikasi sedemikian hingga errornya minimum.

E = (t-f(net))2 = ( t- ( xi wi + b))2

E merupakan fungsi bobot wi. Penurunan E tercepat terjadi pada arah

E = -2 (-t( xi wi + b))x1 = -2(t-y)x1 . Maka perubahan bobot adalah : w1 i

w1 = (t-y)x1 dengan merupakan bilangan positip kecil (umumnya diambil = 0,1)

Algoritma pelatihan ADALINE adalah sebagai berikut : 1. Inisialisasi semua bobot dan Bias (umumnya w1= b = 0) Tentukan laju pemahaman (=). Untuk penyederhanaan biasanya diberi nilai kecil (=0.1) 1. selama max wi > batas toleransi, lakukan :
i

1. 1. Set aktivasi unit masukan xi = si (i=1,,n) 2. Hitung respon unit keluaran : net = xi wi + b
i

y = f(net) = net 1. 1. Perbaiki bobot pola yang mengandung kesalahan (yt) menurut persamaan : w1(baru) = w1(lama) + (t-y)x1 b (baru) = b (lama) + (t-y)

setelah proses pelatihan selesai, ADALINE dapat dipakai untuk pengenalan pola.untuk itu, umumnya dipakai fungsi treshold bipolar (meskipun tidak menutup kemungkinan digunakan bentuk lainnya). Caranya sebagai berikut: 1. Inisialisasi semua bobot dan bias dengan bobot dan bias hasil pelatihan. 2. Untuk setiap input masukan bipolar x, lakukan : a. b. Set aktivasi unit masukan x1 = s1 ( i=1, ,n) Hitung net vektor keluaran :

net = xi wi + b

c.

kenaikan fungsi aktivasi :

y = 1 jika net 0 -1 jika net < 0 3.1 Pembentukan Jaringan Pertama-tama, jaringan ADALINE harus di bentuk dengan menggunakan perintah newlin (singkatan dari new linear filter) perintah newlin akan membentuk ADALINE dengan spesifikasi tertentu(jumlah unit input, jumlah neuron, fungsi aktivasi, dll). Bentuk fungsi newlin adalah sebagai berikut : net = newlin (PR,S,ID,IR,LR)dengan PR : matriks R x 2 yang berisi nilai minimum dan maksimum elemen masukan R. S ID : jumlah elemen vektor keluaran. : vektor delay masukan (default = [0]).

LR : laju pemahaman (default = 0.01). Dan menghasilkan sebuah ADELINE (dalam matlab disebut layar linear) baru. Laju pemahaman dapat diatur dari perintah newlin (dengan cara memberi nilai pada parameter LR) atau dari parameter train. Perintah newlin juga akan menset bobot dan bias awal ke 0. seperti pada perceptron, untuk mengubahnya dapat digunakan penugasan terhadap net.IW(i,j) dan net.b {i}. Indeks i dan j dalam net.IW(i,j) menunjukan bobot awal dari layar j ke layar i. Dalam ADALINE hanya ada sebuah layar masukan dan keluaran, sehingga net.IW {1,1} menunjukan bobot awal dari layar masukan ke neuron targetnya.Jika di jalankan, maka matlab akan menampilkan struktur jaringan default yang terbentuk. Misalkan ada 2 buah unit masukan dan 1 buah neuron target dengan bobot seperti gambar 14.1 misalkan pula kedua masukannya memiliki range (0,10).

net = newlin ( [0 net.b {1}

10 ; 0

10],1)net.IW {1,1} = [2 3]

= [-4]

Contoh 14.1Bentuklah perceptron untuk mengenali pola fungsi logika dan 2 variabel x 1 dan x2 dengan masukan dan target bipolar. Penyelesaian Fungsi logika dan dengan 2 variabel bipolar memiliki range nilai masukan [-1,1], dan sebuah target. Maka perintah yang di buat adalah net = newlin ( [-1 1 ; -1 1] ,1)

Parameter [-1 1;-1 1] menunjukan bahwa kedua unit masukan x1, dan x2 memiliki range [1,1]. Parameter s =1 menunjukan bahwa jaringan hanya memiliki sebuah target (dalam matlab, target disebut neuron) Jaringan yang terbentuk memiliki bobot awal, bias, perubahan bobot, dll yang mengikuti defaultnya.3.2 Pembentukan Vektor Masukan Dan Target Setelah membentuk ADALINE, berikutnya harus di tentukan pola masukan dan target yang akan dikenali. Masing-masing masukan dan keluaran berupa vektor kolom. Perhatikan bahwa jumlah unit tiap pola masukan serta range nilainya harus sesuai dengan spesifikasi ADALINE yang di buat.Contoh 14.2Buatlah vektor masukan-keluaran ADALINE contoh 14.1 Penyelesaian Fungsi logika dan memiliki 4 pola masukan masing-masing masukan terdiri dari 2 unit) sebagai berikut :

Pola masukan P1

masukan 1 1

target 1

P2

1 -1

-1

P3

-1 1

-1

P4

-1 -1

-1

net = newlin ( [-1 p t

1 ; -1

1], 1 )

= [ [1 ; 1] [1 ; -1] [-1 ; 1] [-1 ; -1] ] = [1 -1 -1 -1]

3.3 Menghitung Keluaran ADALINE Setelah pola masukan di berikan, kita dapat menghitung keluaran ADALINE. Perintah matlab yang dipakai sama seperti model perceptron : [Y,Pf,Af,E,perf] = sim (net, P,Pi,Ai,T)Dengan parameter masukan net P Pi T : nama jaringan dalam perintah Newlin. : kondisi delay awal masukan. Default = zeros. : kondisi delay layar. Default = zeros. : Vekor target jaringan. Default = zeros.

Dan parameter hasil Y Pf Af : : : keluaran jaringan. kondisi akhir delay masukan. kondisi akhir delay layar.

E Perf

: :

Error jaringan = T Y. unjuk kerja jaringan.

Pi, Ai, Pf, Af hanya dipakai bagi jaringan yang memiliki delay masukan dan layar. Untuk sekedar menghitung keluaran jaringan, dapat di pakai statemen sederhana y = sim (net, p) ;

perhatikan bahwa untuk menghitung keluaran jaringan, kita tidak perlu mengetahui targetnya. Akan tetapi jika ingin di hitung error yang terjadi (selisih antara target dengan keluaran jaringan), maka harus diketahui targetnya. Contoh 14.3 Hitunglah keluara jaringan contoh 14.1 dengan pola masukan seperti pada contoh 14.2, menggunakan bobot awal w1 = 2, w2 = 3 dan bias = -4 Penyelesaian net = newlin ( [ -1 1 ; -1 1 ], 1 ) ;

p = [ [ 1 ; 1 ] [ 1 ; -1] [ -1 ; 1] [ -1 ; -1] ] ; t = [1 -1 -1 -1] ; net.IW { 1 , 1} = [2 3]; net.b {1} = [-4]; a = sim (net,p) Diperoleh hasil a= 1 -5 -3 -9

perhatikan bahwa untuk menghitung keluaran jaringan tidak di butuhkan vektor target.

Vektor a merupakan keluaran jaringan untuk p1 hingga p4 dengan menggunakan bobot dan bias masing-masing = [2 3] dan [-4]. Fungsi aktivasi yang dipakai dalam ADALINE adalah fungsi identitas. f(net) = net. Perhitungan manualnya tampak pada tabel 14.2. hasil f(net) di tampilkan oleh matlab dalam variabel a di atas.

Tabel Pola Masukan 2 net = pi wji +b


i=1

f (net) = net

P1 = 1 1 P2 = 1 -1 P3 = -1 1 P4 = -1 -1

1 (2) + 1 (3) 4 = 1

1 (2) + 1 (3) 4 = -5 -5

-1 (2) + 1 (3) 4 = -3 -3

-1 (2) + -1 (3) 4 = 1 -9

Perintah sim(net,p) diatas hanya menampilkan hasil keluaran jaringan (f(net)) pada tabel diatas. Jika ingin menampilkan besarnya error dan unjuk kerja yang terjadi, maka parameter perintah sim ditambah sebagai berikut : [a,Pf,Af,e,perf] = sim (net,p,[],[],t) Perhatikan bahwa dalam kasus ini tidak dibutuhkan delay, sehingga parameter Pi dan Ai dikosongkan. Akan tetapi dibuthkan target keluaran (variabel t) untuk menghitung error. Jika perintah tersebut dijalankan, akan diperoleh hasil :

>> [a,Pf,Af,e,perf] = sim (net,p,[],[],t) a =1 -5 -3 -9 Pf =[] Af=[] e =0 4 2 8 perf =21 3.4 Modifikasi Bobot dan Bias Untuk mengubah bobot dan bias digunakan perintah learnwh (learn Windrow-Hoff ) yang formatnya adalah sebagai berikut : [dW,LS] = learnwh (W,P,Z,N,A,T,E,gW,gA,D,LP,LS )[dW,LS] = learnwh (b,ones(1,Q)W,P,Z,N,A,T,E,gW,gA,D,LP,LS )Dengan W : matriks bobot (matrik bias) P : vektor masukan Z : vektor masukan dengan bobot N : vektor masukan net A : vektor keluaran T : vektor layar target E : vektor layar error gW : gradien bobot terhadap unjuk kerja gA : gradien keluaran terhadap unjuk kerja D : jarak neuron

LP : parametar pemahaman LS : state pemahaman Untuk ADALINE sederhana, parameter yang perlu diberikan hanyalah W, E, dan P (yang didapat dari sim (net,p) t). 3.5 Pelatihan ADALINE Error dihitung berdasarkan rata-rata kuadrat kesalahan terkecil (least mean square error) yang diperkenalkan oleh Windrow dan Hoff. Oleh karena itu model ADALINE sering juga disebut model Windrow-Hoff atau model LMS.Rata-rata kuadrat kesalahan (MSE) dihitung dengan rumus :MSE = 1/Q e2k = 1/Q ( tk ak )2 dengan Q = jumlah pola yang dihitunt tk = vektor target ak = keluaran jaringan ek = tk ak Contoh 14.4 Hitunglah MSE untuk fungsi logika dan pada contoh 14.3 Penyeleseaian Pada contoh 14.3, t = [1 -1 -1 -1] dan keluaran jaringan = a = [1 -5 -3 -9] sehingga error = =[0 4 2 8] Maka MSE = (02 + 42 + 22 + 82) = 21Contoh 14.5

Hitunglah bobot untuk mengenali fungsi logika dan menggunakan bobot dan bias awal seperti contoh 14.3

Penyelesaian Jika dalam contoh 14.3 ditambahkan perintah train (net,p), diperoleh hasil : >> train (net,p) TRAINB, Epoch 0/100, MSE 29/0. TRAINB, Epoch 25/100, MSE 3.76669/0. TRAINB, Epoch 50/100, MSE 0.489239/0. TRAINB, Epoch 75/100, MSE 0.0635452/0. TRAINB, Epoch 100/100, MSE 0.00825362/0. TRAINB, Maximum epoch reached. Default perintah train pada ADALINE adalah jumlah epoch = 100, dan error = 0. Iterasi akan dihentikan jika salah satunya tercapai. Umumnya error = 0 tidak pernah tercapai. Orang akan puas jika errornya cukup kecil dan dapat diabaikan. Akan tetapi bobot setelah iterasi tidak dapat diperoleh. Untuk menyimpan perubahan bobot maka digunakan perintah : >> net = train (net,p,t) Hasilnya TRAINB, Epoch 0/100, MSE 21/0. TRAINB, Epoch 25/100, MSE 2.94513/0. TRAINB, Epoch 50/100, MSE 0.600059/0. TRAINB, Epoch 75/100, MSE 0.295468/0.

TRAINB, Epoch 100/100, MSE 0.255906/0. TRAINB, Maximum epoch reached. Bobot hasil iterasi bisa ditampilkan dengan perintah disp >>disp (net.iw{1,1}) 0.5253 0.5422

>>disp (net.b{1}) -0.5590 Keluaran jaringan setelah iterasi dilakukan dapat diketahui dengan perintah sim >>sim (net,p) Dan error yang terjadi = t sim (net,p) : >> t sim (net,p) ans = 0.4916 -0.4241 -0.4578 0.6265 Maka MSE = (0.49162 + -0.42412 + -0.45782 + 0.62652) = 0.2559 Seperti yang ditampilkan pada MSE epoch 100.