19511 19 & 20 jst

31
JARINGAN SYARAF TIRUAN ARTIFICIAL NEURAL NETWORK

Transcript of 19511 19 & 20 jst

Page 1: 19511 19 & 20 jst

JARINGAN SYARAF TIRUAN

ARTIFICIAL NEURAL NETWORK

Page 2: 19511 19 & 20 jst

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

Page 3: 19511 19 & 20 jst

Biological Neural Network

Page 4: 19511 19 & 20 jst

Jaringan Syaraf Tiruan (JST)

Menirukan model otak manusia

Otak Manusia JST

Soma Node

Dendrites Input/Masukan

Axon Output/Keluaran

Synapsis Weight/ Bobot

Milyaran Neuron Ratusan Neuron

Page 5: 19511 19 & 20 jst

Model Neuron Tanpa bias

Σ

p1

p2

Masukan /Inputs

pi

.

.

.

Penjumlahanw1

w2

wi

Bobot/Weight = bisa diatur

F(y)

n=Σpi.wi

a=f(n)

Fungsi Aktifasi

Page 6: 19511 19 & 20 jst

Model Neuron dengan bias

Σ

p1

p2

Masukan /Inputs

pi

.

.

.

Penjumlahanw1

w2

wi

Bobot/Weight = bisa diatur

F(y)n=Σpi.wi

a=f(n)

Fungsi Aktivasi

b (Bias)=Fix

Page 7: 19511 19 & 20 jst

Neuron Sederhana

Page 8: 19511 19 & 20 jst

Model Matematis

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

Page 9: 19511 19 & 20 jst

Fungsi Aktivasi

Beberapa fungsi aktivasi a=f(n)

Hardlimit function a =

Linear Function a = n

Sigmoid Function a = 1 /( 1+ e-n )

1 Jika n ≥ 0

0 Jika n < 0

Page 10: 19511 19 & 20 jst

Grafik Fungsi Aktivasi

Hardlimiter Purelinear

Sigmoid

a=f(n)

Page 11: 19511 19 & 20 jst

Kegunaan Aktivasi

Untuk pengambilan keputusan biasanya digunakan Hardlimit

Untuk pengenalan pola/jaringan back propagation biasanya digunakan sigmoid

Untuk prediksi/aproksimasi linear

biasanya digunakan linear

Page 12: 19511 19 & 20 jst

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).

bnjika

bnjikaa

wpni

i

ii

1

1

1

Fungsi aktivasi ini disebut Fungsi

Tanda (Sign Function). Sehingga

output aktual dari neuron dapat

ditunjukkan dengan:

i

i

ii bwpsigna1

Page 13: 19511 19 & 20 jst

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

ii bwp1

0

Page 14: 19511 19 & 20 jst

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

Page 15: 19511 19 & 20 jst

Target

Σ

p1

p2

Masukan

pi

.

.

.

w1

w2

wi

F(y)

n=Σpi.wi a=f(n)

b

+-

Error=target-a

Keluaran

Error digunakan untuk pembelajaran /mengatur bobot

Proses Belajar

Page 16: 19511 19 & 20 jst

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

Page 17: 19511 19 & 20 jst

Proses Belajar

Σp1

Masukan

w1 F(y)

n=p1.w1

a=f(n)Bobot

Page 18: 19511 19 & 20 jst

Proses Belajar jika masukan positif

Σp1

Masukan

w1 F(y)

n=p1.w1 a=f(n)+

-

Error=target-a

Keluaran

Target

F=linear

(10)

(2)

(3)

(6)

e=10-6=4 (+)

Karena e ≥ 0 maka keluaran

a hrs dinaikan untuk

menaikan a maka naikan nilai

w1 karena masukan positif

w1 next= w1 old + delta w1

Untuk masukan positif penambahan bobot menyebabkan peningkatan keluaran

Page 19: 19511 19 & 20 jst

Proses Belajar jika masukan negatif

Σp1

Masukan

w1 F(y)

n=p1.w1 a=f(n)+

-

Error=target-a

Keluaran

Target

F=linear

(10)

(-2)

(3)

(-6)

e=10-(-6)=16 (+)Karena e ≥ 0 maka keluaran

a hrs dinaikan untuk

menaikan a maka turunkan

nilai w1 karena masukan

negatif

w1 next= w1 old + (- delta w1)

Untuk masukan negatif penambahan bobot menyebabkan penurunan keluaran

Page 20: 19511 19 & 20 jst

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)

Page 21: 19511 19 & 20 jst

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< ŋ ≤1)

Ŋ besar belajar cepat tidak stabil

Ŋ kecil belajar lambat stabil

Page 22: 19511 19 & 20 jst

Langkah Pembelajaran1. 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 adalah jumlah input perceptron dan step adalah fungsi aktivasi

i

i

ii bpwppstepka1

)()()(

Page 23: 19511 19 & 20 jst

Langkah ke tiga : Menghitung error

e(k) = t(k) – a(k) t(k) = target,a(t)=keluaran perceptron

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)

Langkah ke lima : pengulangan

• Naikkan iterasi k dengan 1 (k=k+1), kembalilah kelangkah ke dua dan ulangi proses sampaikeluaran=target or mendekati target.

Page 24: 19511 19 & 20 jst

Melatih Perceptron: Operasi OR

Variabel Input OR

x1 x2 Fd

0 0 0

0 1 1

1 0 1

1 1 1

Page 25: 19511 19 & 20 jst

Fungsi OR

Σ

p1

p2

w1

w2

F(y)

n=Σpi.wi

a=f(n)b

x1

x2

+

-

Fd=target

Perceptron

error

Page 26: 19511 19 & 20 jst

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

bwpwpn )1().1()1().1()1( 2211

2

1

)1()1()1(i

ii bwpstepa

0)1(0

0)1(1)1(

njika

njikaa

Page 27: 19511 19 & 20 jst

bwpwpn )1().1()1().1()1( 2211

2.01.003.00)1( XXn

0)1(

)(2.0)1(

a

maka

negatifn

Page 28: 19511 19 & 20 jst

1. Langkah ke tiga : Menghitung error

e(k) = t(k) – a(k)

e(1) = 0 – 0 = 0

1. 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)

2. Langkah ke lima : pengulangan

• Naikkan iterasi k dengan 1 (k=k+1), kembalilah ke langkah ke dua dan ulangi proses sampaikeluaran=target or mendekati target.

Page 29: 19511 19 & 20 jst

K=2

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

Hitung keluaran:

0)2(

0)2(

1.0)2(

2.01.013.0.0)2(

)2().2()2().2()2( 2211

a

n

n

XXn

bwpwpn

Page 30: 19511 19 & 20 jst

• 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)

Page 31: 19511 19 & 20 jst

Tugas

Perorangan hitung secara manual melatih perseptron untuk fungsi AND, XOR, XNOR

Kelompok buat program perceptron