14237 19 & 20 jst
TRANSCRIPT
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
Σ
p1
p2
Masukan /Inputs
pi
.
.
.
Penjumlahanw1
w2
wi
Bobot/Weight = bisa diatur
F(y)
n=Σpi.wi
a=f(n)
Fungsi Aktifasi
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
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)
Hardlimit function a =
Linear Function a = n
Sigmoid Function a = 1 /( 1+ e-n )
1 Jika n ≥ 0
0 Jika n < 0
Grafik Fungsi Aktivasi
Hardlimiter Purelinear
Sigmoid
a=f(n)
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).
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
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
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
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
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
Σp1
Masukan
w1 F(y)
n=p1.w1
a=f(n)Bobot
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
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
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 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
)()()(
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.
Melatih Perceptron: Operasi OR
Variabel Input OR
x1 x2 Fd
0 0 0
0 1 1
1 0 1
1 1 1
Fungsi OR
Σ
p1
p2
w1
w2
F(y)
n=Σpi.wi
a=f(n)b
x1
x2
+
-
Fd=target
Perceptron
error
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
bwpwpn )1().1()1().1()1( 2211
2.01.003.00)1( XXn
0)1(
)(2.0)1(
a
maka
negatifn
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.
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
• 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