Anda di halaman 1dari 31

JARINGAN SYARAF TIRUAN

ARTIFICIAL NEURAL NETWORK


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 JST
Soma Node
Dendrites Input/Masukan
Axon Output/Keluaran
Synapsis Weight/ Bobot
Milyaran Neuron Ratusan Neuron
Model Neuron Tanpa bias
Masukan /Inputs
p1

w1 Penjumlahan Fungsi Aktifasi

p2 n=Σpi.wi
w2

.
Σ F(y)
a=f(n)

.
. wi
pi
Bobot/Weight = bisa diatur
Model Neuron dengan bias
Masukan /Inputs
p1
w1 Penjumlahan Fungsi Aktivasi

p2 n=Σpi.wi
w2
.
Σ F(y)
a=f(n)
.
.
wi b (Bias)=Fix
pi Bobot/Weight = bisa diatur
Neuron Sederhana
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
Fungsi Aktivasi
Beberapa fungsi aktivasi a=f(n)
1 Jika n ≥ 0
Hardlimit function a =
0 Jika n < 0

Linear Function  a = n

Sigmoid Function  a = 1 /( 1+ e-n )
Grafik Fungsi Aktivasi

Hardlimiter Purelinear

a=f(n)
Sigmoid
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). Fungsi aktivasi ini disebut Fungsi
i
Tanda (Sign Function). Sehingga
n= ∑
i=1
pi wi output aktual dari neuron dapat
ditunjukkan dengan:

+ 1 jika n ≥ b  i 
a=  a = sign  ∑ pi wi − b
− 1 jika n < 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
pi wi − 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
Keluaran
w1 n=Σpi.wi a=f(n) +
p2 w2 -
.
Σ F(y)
.
. wi b
pi Error=target-a

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
w1 F(y)
p1 Σ a=f(n)
Bobot
Proses Belajar jika masukan positif
Untuk masukan positif penambahan bobot menyebabkan peningkatan keluaran
Target
(10)
(6)
Masukan Keluaran
(3) n=p1.w1 a=f(n) +
p1 w1 -
(2)
Σ F(y)
F=linear
Karena e ≥ 0 maka keluaran
a hrs dinaikan untuk e=10-6=4 (+)
menaikan a maka naikan nilai Error=target-a
w1 karena masukan positif
w1 next= w1 old + delta w1
Proses Belajar jika masukan negatif
Untuk masukan negatif penambahan bobot menyebabkan penurunan keluaran
Target
(10)
(-6)
Masukan Keluaran
(3) n=p1.w1 a=f(n) +
p1 w1 -
(-2)
Σ F(y)
F=linear
Karena e ≥ 0 maka keluaran e=10-(-6)=16 (+)
a hrs dinaikan untuk
menaikan a maka turunkan Error=target-a
nilai w1 karena masukan
negatif
w1 next= w1 old + (- delta w1)
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< ŋ ≤1)

Ŋ besar belajar cepat  tidak stabil

Ŋ kecil belajar lambat stabil
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
1. 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 OR
x1 x2 Fd
0 0 0
0 1 1
1 0 1
1 1 1
x1 Fd=target
Fungsi OR
x2

p1
w1 n=Σpi.wi
+

Σ F(y) -

w2 a=f(n)
error

p2 b
Perceptron
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
1. 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  ∑ pi (1) wi (1) − b
 i= 1 
n(1) = p1 (1).w1 (1) + p2 (1).w2 (1) − b

 1 jika n(1) ≥ 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)
Tugas

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


Kelompok  buat program perceptron