per sept ron

31
JARINGAN SYARAF TIRUAN ARTIFICIAL NEURAL NETWORK

Upload: ekindo-vanesah-sitinjak

Post on 03-Jul-2015

161 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Per Sept Ron

JARINGAN SYARAF TIRUAN

ARTIFICIAL NEURAL NETWORK

Page 2: Per Sept Ron

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: Per Sept Ron

Biological Neural Network

Page 4: Per Sept Ron

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: Per Sept Ron

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: Per Sept Ron

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: Per Sept Ron

Neuron Sederhana

Page 8: Per Sept Ron

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: Per Sept Ron

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: Per Sept Ron

Grafik Fungsi Aktivasi

Hardlimiter Purelinear

Sigmoid

a=f(n)

Page 11: Per Sept Ron

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: Per Sept Ron

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

iii

1

1

1

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

i

iii bwpsigna

1

Page 13: Per Sept Ron

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

iii bwp

1

0

Page 14: Per Sept Ron

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: Per Sept Ron

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: Per Sept Ron

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: Per Sept Ron

Proses Belajar

Σp1

Masukan

w1 F(y)

n=p1.w1

a=f(n)Bobot

Page 18: Per Sept Ron

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: Per Sept Ron

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 negatifw1 next= w1 old + (- delta w1)

Untuk masukan negatif penambahan bobot menyebabkan penurunan keluaran

Page 20: Per Sept Ron

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: Per Sept Ron

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: Per Sept Ron

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

i

iii bpwppstepka

1

)()()(

Page 23: Per Sept Ron

1. Langkah ke tiga : Menghitung error

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

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

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

Page 24: Per Sept Ron

Melatih Perceptron: Operasi OR

Variabel Input OR

x1 x2Fd

0 0 0

0 1 1

1 0 1

1 1 1

Page 25: Per Sept Ron

Fungsi OR

Σ

p1

p2

w1

w2

F(y)

n=Σpi.wi

a=f(n)b

x1

x2

+-

Fd=target

Perceptron

error

Page 26: Per Sept Ron

Contoh Pembelajaran1. 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: Per Sept Ron

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

2.01.003.00)1( XXn

0)1(

)(2.0)1(

a

maka

negatifn

Page 28: Per Sept Ron

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 sampai keluaran=target or mendekati target.

Page 29: Per Sept Ron

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: Per Sept Ron

• 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: Per Sept Ron

Tugas

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

Kelompok buat program perceptron