JARINGAN SYARAF TIRUAN

ARTIFICIAL NEURAL NETWORK

KELOMPOK III
1. I Gst. Gd. Mega Perbawa ( 0804405049 ) 2. Putu Rusdi Ariawan ( 0804405050 ) 3. I Kadek Sastrawan ( 0804405051 ) 4. Agus Teja Ariawan ( 0804405063 ) 5. I Gede Dian Karisma Erydita ( 0804405069 ) 6. Made Agus Widiartha ( 0804405085 )

Sejarah
1940 : llmuwan menemukan bahwa psikologi otak manusia sama dengan pemrosesan komputer 1943 : McCulloch dan Pitts merancang model pertama kali sebagai perhitungan dasar neuron 1949 : Hebb menyatakan bahwa informasi dapat disimpan dalam koneksi-koneksi dan mengusulkan adanya skema pembelajaran untuk memperbaiki koneksi-koneksi antar neuron tersebut

1954 : Farley dan Clark mensetup model-model untuk relasi adaptif stimulus-respon dalam jaringan random 1958 : Rosenblatt mengembangkan konsep dasar tentang perceptron untuk klasifikasi pola 1960 : Widrow dan Hoff mengembangkan ADALINE untuk kendali adaptip dan pencocokan pola yang dilatih dengan aturan pembelajaran Least Mean Square

1974 : Werbos memperkenalkan algoritma backpropagation untuk melatih perceptron dengan banyak lapisan 1975 : Little dan Shaw menggambarkan jaringan syaraf menggunakan model probalistik 1982 : KOhonen mengembangkan metode pembelajaran jaringan syaraf yang tidak terawasi (unsupervised learning) untuk pemetaan

1982 : Grosberg mengembangkan teori jaringan yang terinspirasi oleh perkembangan psikologi. Bersama Carpenter mereka mengenalkan sejumlah arsitektur jaringan, Adaptive Resonance Theory (ART), ART2 dan ART3 1982 : Hopfield mengembangkan jaringan syaraf recurrent yang dapat digunakan untuk menyimpan informasi dan optimasi

1985 : Algoritma pembelajaran dengan menggunakan mesin Boltzmann yang menggunakan model jaringan syaraf probabilistik mulai dikembangkan 1987 : kosko mengembangkan jaringan Adaptive Bidirectional Associative Memory (BAM) 1988 : mulai dikembangkan fungsi radial basis

Jaringan Syaraf Tiruan 

Jaringan syaraf tiruan (JST) atau Artificial Neural Network (ANN) adalah suatu model matematik atau komputasi untuk mensimulasikan struktur dan fungsi dari jaringan syaraf dalam otak. Terdiri dari:  

Node atau unit pemroses (penjumlah dan fungsi aktivasi) weight/ bobot yang dapat diatur Masukan dan Keluaran   

Sifat : Adatif , Mampu Belajar , Nonlinear

Biological Neural Network

Jaringan Syaraf Tiruan (JST) 

Menirukan model otak manusia
Otak Manusia Soma Dendrites Axon Synapsis Milyaran Neuron JST Node Input/Masukan Output/Keluaran Weight/ Bobot Ratusan Neuron

Model Neuron Tanpa bias
Masukan /Inputs p1 w1 p2 . . . pi wi Bobot/Weight = bisa diatur w2 Penjumlahan n= pi.wi F(y) a=f(n) Fungsi Aktifasi

Model Neuron dengan bias
Masukan /Inputs

p1

w1
p2
. . .

Penjumlahan

Fungsi Aktivasi

w2

n= pi.wi

F(y) a=f(n)

wi

b (Bias)=Fix

pi

Bobot/Weight = bisa diatur

Model Matematis Neuron Sederhana

‡ p =input/masukan i= banyaknya input ‡ w =bobot/weight ‡ Keluaran Penjumlah -> n = pi.wi (Jumlah semua Input(pi) dikali bobot (wi) ‡ Output/Keluaran Neuron= a = f(n) f=fungsi aktivasi

Fungsi Aktivasi
a. Hard Limit
0, jikax e 0 1, jikax " 0

y!

B. THRESHOLD

y!

0, jikax e 5 1, jikax " 5

c. Symetric Hard Limit

y!

1, jikax " 0 0, jikax ! 0 1, jikax 0

d. Bipolar Threshold

y!

1 jika u5 , x 1 jika 5 , x

e. Fungsi Linier

y=x

f. Saturating Linier
1; jikax u 0,5 jikax e 0,5

y!

x 0,5; jika0,5 e x e 0,5 0;

g. Simetric Saturating Linier

1;

jika x u 1 jika  1 e x e 1 jika x e 1

y!

x; 0;

Kegunaan Aktivasi 

Untuk pengambilan keputusan biasanya digunakan Hardlimit Untuk pengenalan pola/jaringan back propagation biasanya digunakan sigmoid Untuk prediksi/aproksimasi linear biasanya digunakan linear  

Model McCulloch and Pitts 

Neuron menghitung jumlah bobot dari setiap sinyal input dan membandingkan hasilnya dengan nilai bias/threshold, b. Jika input bersih kurang dari threshold, output neuron adalah -1. Tetapi, jika input bersih lebih besar dari atau sama dengan threshold, neuron diaktifkan dan outputnya ditetapkan +1 (McCulloch and Pitts, 1943).
i

n!

§
i !1

pi wi

Fungsi aktivasi ini disebut Fungsi Tanda (Sign Function). Sehingga output aktual dari neuron dapat ditunjukkan dengan: 

®1 a!¯  °1

jika n u b jika n b

» « i a ! sign ¬§ pi wi  b ¼ ½ ­ i !1

Perceptron 

Perceptron (Rosenblatt, 1958): JST training yang sederhana dipakaikan prosedur algoritma training yang pertama kali. Terdiri dari neuron tunggal dengan bobot synaptic yang diatur dan hard limiter. Operasinya didasarkan pada model neuron McCulloch dan Pitts. Jumlah input yang telah diboboti dipakaikan kepada hard limiter: menghasilkan output +1 jika input positif dan -1 jika negatif mengklasifikasikan output ke dalam dua area A1 dan A2.
i  

§
i!1

piwi  b ! 0

Proses Belajar

Target = Nilai yang diinginkan, Output = Nilai yang keluar dari neuron Proses Compare (membandingkan) antara output dengan target, Jika terjadi perbedaan maka weight/bobot di adjust/atur sampai nilai ouput= (mendekati) nilai target

Proses Belajar
Target Masukan

p1

w1
p2
. . .

Keluaran

n= pi.wi

a=f(n)

w2 wi
b

+ -

F(y)

Error=target-a

pi
Error digunakan untuk pembelajaran /mengatur bobot

Analog 

Target

apa yang anda inginkan 

Input/masukan Kekurangan dan kelebihan/potensi anda Bobot seberapa besar usaha anda  

Output hasil dari potensi and kelemahan dikalikan dengan usaha terhadap potensi or kelemahan Error Kesalahan/Introspeksi diri perkuat potensi or/and lemahkan kekurangan 

Proses Belajar

Masukan

n=p1.w1

p1

w1
Bobot

F(y)

a=f(n)

Proses Belajar jika masukan positif
Untuk masukan positif penambahan bobot menyebabkan peningkatan keluaran

Target

Masukan
(3)

(6) Keluaran

(10)

n=p1.w1

a=f(n)

+ -

p1
(2)

w1

F(y)
F=linear

Karena e • 0 maka keluaran a hrs dinaikan untuk menaikan a maka naikan nilai w1 karena masukan positif w1 next= w1 old + delta w1

e=10-6=4 (+)

Error=target-a

Proses Belajar jika masukan negatif
Untuk masukan negatif penambahan bobot menyebabkan penurunan keluaran

Target

Masukan
(3)

(-6) Keluaran

(10)

n=p1.w1

a=f(n)

+ -

p1
(-2)

w1

F(y)
F=linear

Karena e • 0 maka keluaran a hrs dinaikan untuk menaikan a maka turunkan nilai w1 karena masukan negatif w1 next= w1 old + (- delta w1)

e=10-(-6)=16 (+)

Error=target-a

Proses Perceptron Belajar 

Pada awalnya bobot dibuat kecil untuk menjaga jangan sampai terjadi perbedaan yang sangat besar dengan target. Bobot awal adalah dibuat random, umumnya dalam interval [-0.5 ± 0.5] Keluaran adalah proses jumlah perkalian antara masukan dengan bobot. Jika terjadi perbedaan antara keluaran dengan target, e(k) = a(k) ± t(k), k = iterasi ke- 1, 2, 3, maka:    

Bobot diupdate/diatur sedikit demi sedikit untuk mendapatkan keluaran yang sesuai dengan target w(k+1) = w(k) + w(k) 

Perceptron Learning Rule (Rosenblatt, 1960) 

e(k) = a(k) ± t(k)

, k = iterasi ke- 1, 2, 3, «..

a(k) = keluaran neuron t(k) = target yang diinginkan e(k) = error/kesalahan 


w(k+1) = w(k) + w(k) w(k) = kec belajar x masukan x error = x p(k) x e(k) 

 

= learning rate -> kecepatan belajar (0< besar belajar cepat tidak stabil kecil belajar lambat stabil

”1)

Adaline
‡ Adaline (Adaptive Linear Neuron) diusulkan pertama kali oleh B. Widow (1960) ‡ Adaline memiliki struktur dasar perceptron bipolar dan melibatkan beberapa jenis dari bobot latihan least-errorsquare (LS)

Basic view of Adaline

Sifat Adaline
y Single Layer Network y Hard Switch( Fungsi Aktivasi Linier) y Jaringan Feed Forward y Supervised Method y Tidak dapat menyelesaikan masalah XOR y Digunakan dalam pengenalan pola

The Madaline
‡ Madaline diusulkan oleh B. Widow (1988) ‡ Merupakan ekstensi dari Adaline yang disebut Multiple Adaline yang terdiri dari dua atau lebih adaline yang saling terhubung

The Madaline network of 2 layers

Sifat Madaline
y Jaringan Multi-Layer y Hard Switch ( Fungsi Aktivasi Linier) y Jaringan FeedForward y Supervised Method y Tidak Seperti Perceptron dan Adaline, Madaline dapat menyelesaikan masalah XOR y Digunakan dalam pengenalan pola, dan masalah operasi logika kompleks

Langkah Pembelajaran
1. Langkah pertama : Inisialisasi Awal
‡ Mengatur bobot w1, w2, ..., wn interval [-0.5 ± 0.5], mengatur bias/threshold b, mengatur kec pembelajaran , fungsi aktivasi

2. Langkah kedua : Menghitung keluaran
‡ Mengaktifkan perceptron dengan memakai masukan p1(k), p2(k), ..., pi(k) dan target yang dikehendaki t(k). Hitunglah output aktual pada iterasi ke-k = 1
« i » a ( k ) ! step ¬§ pi ( p ) wi ( p )  b ¼ ­ i !1 ½

‡

i adalah jumlah input perceptron dan step adalah fungsi aktivasi

3. Langkah ke tiga : Menghitung error e(k) = t(k) ± a(k) t(k) = target,a(t)=keluaran perceptron 4. Langkah ke empat : Mengatur Bobot
‡ ‡ ‡ ‡ ‡ Mengupdate bobot perceptron wi(k+1) = wi(k) + wi(k) w(k+1) bobot baru w(k) bobot yg lalu wi(p) adalah pengkoreksian bobot pada iterasi k, yang dihitung dengan: wi(p) = x pi(k) x e(k)

5. Langkah ke lima : pengulangan
‡ Naikkan iterasi k dengan 1 (k=k+1), kembalilah ke langkah ke dua dan ulangi proses sampai keluaran=target or mendekati target.

Melatih Perceptron: Operasi OR
Variabel Input x1 0 0 1 1 x2 0 1 0 1 OR Fd 0 1 1 1

Contoh Pembelajaran
1. Langkah pertama : Inisialisasi Awal
‡ Mengatur bobot w1, w2 interval [-0.5 ± 0.5], w1(1)=0.3 w2(1)=0.1, mengatur bias/threshold b=0.2, mengatur kec pembelajaran =0.2, fungsi aktivasi-> step

2.

Langkah kedua : Menghitung keluaran
‡ Mengaktifkan perceptron dengan memakai masukan p1(k), p2(k) dan target yang dikehendaki t(k). Hitunglah output aktual pada iterasi ke-k = 1

« 2 » a (1) ! step ¬ § p i (1) wi (1)  b ¼ ­ i !1 ½

n (1 ) ! p 1 (1 ). w 1 (1 )  p 2 (1 ). w 2 (1 )  b
1 ® jika n(1) u 0 a (1) ! ¯ 0 ° jika n(1) 0

n(1) ! p1 (1).w1 (1)  p2 (1).w2 (1)  b

n(1) ! 0 X 0.3  0 X 0.1  0.2
n(1) ! 0.2 ( negatif ) maka a (1) ! 0

3. Langkah ke tiga : Menghitung error e(k) = t(k) ± a(k) e(1) = 0 ± 0 = 0 4. Langkah ke empat : Mengatur Bobot ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ Mengupdate bobot perceptron wi(k+1) = wi(k) + wi(k) w1(2) = 0.3(1) + w1(1) w1(1) = x pi(1) x e(1) = 0.2 x 0 x 0 = 0 maka w1(2) = 0.3(1) + 0 = 0.3 (tidak berubah) wi(k+1) = wi(k) + wi(k) w2(2) = 0.3(1) + w2(1) w2(1) = x pi(1) x e(1) = 0.2 x 0 x 0 = 0 maka w2(2) = 0.1(1) + 0 = 0.1 (tidak berubah)

5. Langkah ke lima : pengulangan
‡ Naikkan iterasi k dengan 1 (k=k+1), kembalilah ke langkah ke dua dan ulangi proses sampai keluaran=target or mendekati target. 

K=2 w1(2)= 0.3 w2(2)=0.1, p1(2)=0, p2(2)=1 target(2)=Fd(2)=1 

Hitung keluaran:
n(2) ! p1 (2).w1 (2)  p2 (2).w2 (2)  b n(2) ! 0. X 0.3  1 X 0.1  0.2 n(2) ! 0.1 n ( 2) 0 a ( 2) ! 0

‡

Hitung error e(2) = target(2) ± a(2) = 1 ± 0 =1 (ada error)

‡

Mengatur Bobot Mengupdate bobot perceptron wi(k+1) = wi(k) + wi(k) w1(3) = 0.3(2) + w1(2) w1(2) = x p1(1) x e(1) = 0.2 x 0 x 1 = 0 maka w1(3) = 0.3(1) + 0 = 0.3 (tidak berubah)

wi(k+1) = wi(k) + wi(k) w2(3) = 0.3(2) + w2(2) w2(1) = x p2(1) x e(1) = 0.2 x 1 x 1 = 0.2 maka w2(3) = 0.1(1) + 0.2 = 0.3 (berubah sebelumnya w2(2)=0.1)