Jaringan Syaraf Tiruan Dan Contoh Aplikasinya Pada Model

July 18, 2018 | Author: ÂnÐre Ötari | Category: N/A
Share Embed Donate


Short Description

Download Jaringan Syaraf Tiruan Dan Contoh Aplikasinya Pada Model...

Description

JARINGAN SYARAF TIRUAN DAN CONTOH APLIKASINYA PADA MODEL MODEL ADALINE ADALI NE 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 penghubung yang disebut sinapsis. Neuron bekerja berdasarkan impuls atau sinyal yang diberikan pada neuron. Neuron meneruskannya pada neuron lain. Diperkirakan manusia memiliki 10

12

neuron dan 6.10

18

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 t ersebut berupa impuls elektrik yang dikirim melalui celah sinaptik melalui proses kimiawi. Sinyal tersebut dimodifikasi di celah sinaptik. Berikutnya soma menjumlahkan semua sinyal-sinyal 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 x 1,x2, dan x3 dengan bobot hubungan masing-masing adalah w 1,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 s ystem 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.

2

2

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

E merupakan fungsi bobot w i. 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 w 1= 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 x i = 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 (y≠t) 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.

Set aktivasi unit masukan x 1 = s1 ( i=1, …,n)

b.

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

: jumlah elemen vektor keluaran.

ID

: 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 x1 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 x 1, 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

masukan

target

P1

1

1

1

P2

1

-1

-1 P3

-1

-1

1 P4

-1

-1

-1 net = newlin ( [-1

1 ; -1

1], 1 )

p

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

t

= [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

: nama jaringan dalam perintah Newlin.

P

: kondisi delay awal masukan. Default = zeros.

Pi

: kondisi delay layar. Default = zeros.

T

: Vekor target jaringan. Default = zeros.

Dan parameter hasil Y

:

keluaran jaringan.

Pf

:

kondisi akhir delay masukan.

Af

:

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 la yar. 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 w 1 = 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 p 1 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 w ji +b

f (net) = net

i=1

P1 = 1

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

1

1 P2 = 1

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

-1 P3 = -1

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

1 P4 = -1

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

-1 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 2

2

dengan rumus :MSE = 1/Q ∑ e k = 1/Q ∑ ( t k  – ak  ) 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] 2

2

2

2

Maka MSE = ¼ (0 + 4 + 2 + 8 ) = 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 2

2

2

2

Maka MSE = ¼ (0.4916 + -0.4241 + -0.4578 + 0.6265 ) = 0.2559 Seperti yang ditampilkan pada MSE epoch 100.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF