Anda di halaman 1dari 52

JST

(Jaringan Syaraf Tiruan)


Pendahuluan

• JST adalah paradigma pengolahan informasi


yang terinspirasi oleh sistem syaraf secara
biologis, seperti proses informasi pada otak
manusia.
• Cara kerja JST seperti cara kerja manusia,
yaitu belajar melalui contoh.
• Sebuah JST dikonfigurasikan untuk aplikasi
tertentu, seperti pengenalan pola atau
klasifikasi data, melalui proses pembelajaran.
Mengapa Menggunakan JST ?
• Mampu menyelesaikan permasalahan yang tidak
terstruktur dan sulit didefinisikan, dapat belajar
dari pengalaman.
• Mampu mengakuisisi pengetahuan walaupun
tidak ada kepastian.
• Mampu melakukan generalisasi dan ekstraksi
dari suatu pola data tertentu, dapat menciptakan
suatu pola pengetahuan melalui pengaturan diri
atau kemampuan belajar (self organizing).
Mengapa Menggunakan JST ?
• Mampu memilih suatu input data ke dalam
kategori tertentu yang sudah ditetapkan
(klasifikasi),
• Mampu menggambarkan suatu obyek secara
keseluruhan, walaupun hanya diberikan
sebagian data dari obyek tersebut (asosiasi),
• Mampu mengolah data-data input tanpa harus
mempunyai target (Self organizing),
• Mampu menemukan suatu jawaban terbaik
sehingga mampu meminimalisasi fungsi biaya
(optimasi).
Kelebihan JST
• Belajar Adaptive : Kemampuan untuk mempelajari
bagaimana melakukan pekerjaan berdasarkan data
yang diberikan untuk pelatihan atau pengalaman
awal.

• Self-Organisation : Sebuah JST dapat membuat


organisasi sendiri atau representasi dari informasi
yang diterimanya selama waktu belajar.

• Real Time Operation : perhitungan JST dapat


dilakukan secara paralel, sehingga perangkat keras
yang dirancang dan diproduksi secara khusus dapat
mengambil keuntungan dari kemampuan ini.
Kelemahan JST
1. Tidak efektif jika digunakan untuk melakukan operasi-
operasi numerik dengan presisi tinggi

2. Tidak efisien jika digunakan untuk melakukan operasi


algoritma aritmatik, operasi logika dan simbolis.

3. Untuk beroperasi JST butuh pelatihan, sehingga bila


jumlah datanya besar, waktu yang digunakan untuk
proses pelatihan sangat lama.
JST Versus Pemrograman Konvensional
Untuk menyelesaikan masalah menggunakan pemrograman
konvensional, kita harus mengerti masalah tersebut dan kita harus
tahu bagaimana menyelesaikan masalah tersebut. Hal ini yang
membatasi kemampuan pemecahan masalah menggunakan
pemrograman konvensional.
JST bisa menyelesaikan masalah tanpa harus mengetahui terlebih
dahulu bagaimana menyelesaikan masalah tersebut. Kelemahannya
adalah bahwa karena jaringan menemukan cara untuk memecahkan
masalah dengan sendirinya, pengoperasiannya tidak dapat diprediksi.

JST dan pemrograman konvensional tidak saling bersaing, tetapi saling


melengkapi. Ada masalah-masalah yang harus diselesaikan
menggunakan pendekatan algoritmik seperti operasi aritmatika dan
masalah-masalah yang harus diselesaikan menggunakan JST. Bahkan
ada juga masalah-masalah besar yang terpaksa menggunakan
kombinasi dari keduanya.
ARSITEKTUR JARINGAN
ARSITEKTUR JARINGAN
A) JARINGAN LAPISAN TUNGGAL
ARSITEKTUR JARINGAN
B) JARINGAN LAPISAN BANYAK
ARSITEKTUR JARINGAN
C) JARINGAN DENGAN LAPISAN KOMPETITIF
Fungsi Aktivasi

Fungsi
aktivasi
Fungsi Undak Biner Hard
Limit

0, jika x  0
y
1, jika x  0
Fungsi Aktivasi
Fungsi Undak Biner Threshold

0, jika x  
y
1, jika x  
Fungsi Aktivasi
Fungsi Bipolar Symetric Hard Limit

 1, jika x  0

y   0, jika x  0
 1, jika x  0

Fungsi Aktivasi
Fungsi Bipolar dengan threshold

 1, jika x  

y   0, jika x  
  1, jika x  

Fungsi Aktivasi
Fungsi Linear (identitas)

yx
Fungsi Aktivasi
Fungsi Saturating Linear

1; jika x  0,5



y  x  0,5; jika  0,5  x  0,5
0; jika x  0,5

Fungsi Aktivasi
Fungsi Symetric Saturating Linear
1; jika x  1

y   x; jika  1  x  1
  1; jika x   1

Fungsi Aktivasi
Fungsi Sigmoid Biner
1
y  f(x ) 
 x
1 e
f ' ( x )   f ( x )[ 1  f ( x )]
Fungsi Aktivasi
Fungsi Sigmoid Bipolar
1  ex
y  f(x) 
1  e x

f' (x )  [1  f ( x )][ 1  f ( x )]
2
Paradigma Pembelajaran
pelatihan jaringan syaraf tiruan dibagi menjadi dua yaitu,
pelatihan dengan supervisi (pembimbing) dan pelatihan
tanpa supervisi.

Tujuan dari pelatihan ini adalah memodifikasi bobot


hingga diperoleh bobot yang bisa membuat keluaran
jaringan sama dengan target yang diinginkan.
Model Neuron McCulloch-Pitts

0, jika x  
y
1, jika x  
Model Neuron McCulloch-Pitts
Buatlah model neuron McCulloch-Pitts untuk mengenali
pola fungsi logika “AND” sesuai tabel kebenaran berikut :
Model Neuron McCulloch-Pitts
terdapat dua input yaitu x1 dan x2 dan satu output y. Bila
nilai bobot w1 dan w2 dibuat sama dengan 1, (w1 = 1 dan
w2 = 1), maka kita bisa menghitung jumlah seluruh input
yang masuk untuk tiap-tiap data sebagai berikut :

Agar y(net) memenuhi fungsi logika “AND”, maka nilai


ambang θ pada fungsi aktivasi dibuat sama dengan 2,
sehingga
Model Neuron McCulloch-Pitts

dapat mencoba mengubah-ubah nilai bobot w


dan nilai ambang θ yang lainnya.
Model Neuron McCulloch-Pitts
Buatlah model neuron McCulloch-Pitts untuk mengenali pola
fungsi logika “OR” sesuai tabel kebenaran berikut :

terdapat dua input yaitu x1 dan x2 dan satu output y.


Bila nilai bobot w1 dan w2 dibuat sama dengan 1, (w1 =
1 dan w2 = 1), maka kita bisa menghitung jumlah
seluruh input yang masuk untuk tiap-tiap data sebagai
berikut :
Model Neuron McCulloch-Pitts

Agar y(net) memenuhi fungsi logika “OR”, maka nilai ambang θ pada
fungsi aktivasi dibuat sama dengan 1, sehingga
Model Neuron McCulloch-Pitts
Buatlah model neuron McCulloch-Pitts untuk
mengenali pola fungsi logika “XOR” sesuai tabel
kebenaran berikut :

karena fungsi logika “XOR” mempunyai 2 buah output


yang bernilai “1”. Untuk menyelesaikan masalah ini,
fungsi tersebut harus diubah dahulu menjadi
Model Neuron McCulloch-Pitts

Ini berarti unit masukan (X1 dan X2) harus berhubungan


dahulu dengan sebuah layar tersembunyi (z1 dan z2)
kemudian layar tersembunyi tersebut dihubungkan
langsung dengan unit keluaran Y. Bila arsitektur jaringan
dibuat seperti berikut
Model Neuron McCulloch-Pitts
Model Neuron McCulloch-Pitts
maka kita bisa menghitung jumlah seluruh input yang masuk
untuk tiap-tiap data pada layar tersembunyi sebagai berikut :
Model Neuron McCulloch-Pitts
Kemudian kita bisa menghitung jumlah seluruh input yang
masuk untuk tiap-tiap data pada layar output sebagai
berikut :
Model Neuron McCulloch-Pitts
tampak bahwa untuk mengenali pola, model neuron
McCulloch-Pitts, harus menentukan bobot w dan nilai
ambang θ secara analitik (dengan cara coba-coba) sehingga
model neuron McCulloch-Pitts dapat mengenali pola
tersebut.

Jaringan seperti ini hanya bisa dibuat untuk


merepresentasikan fungsi-fungsi yang sederhana. Tetapi
untuk masalah-masalah yang komplek misalnya jumlah
input lebih dari 2 atau tidak biner maka cara seperti ini sulit
dilakukan.
Algoritma Pembelajaran Dengan Supervisi

Hebb Rule
Hebb Rule
Algoritma pelatihan Hebb :
a) Inisialisasi bobot dan bias:
wi = 0; dengan i =1,2,...,n;
b=0

b) Untuk setiap pasangan input-target (s-t), lakukan:


1. Set aktivasi unit input : xi = si; (i=1,2,...,n)
2. Set aktivasi unit output: yj = tj; (j=1,2,...,m)

c) Perbaiki bobot menurut persamaan berikut:

wi(baru) = wi(lama) + xi*yj;


(i =1,2,...,n; dan j =1,2,...,m)

d) Perbaiki bias menurut persamaan berikut :


b(baru) = b(lama) + y
Hebb Rule
fungsi logika “AND” dengan masukan bipolar dan
keluaran bipolar dapat dinyatakan sebagai berikut
Hebb Rule
Inisialisasi bobot dan bias : w1 = 0; w2 = 0; b = 0
---------------------------------------------------------------------------------
Data ke-1 : x1 =−1 x2 = −1 y = −1 (target)
Perubahan bobot dan bias untuk data ke-1:
w1(baru) = w1(lama) + x1*y
= 0 + ( −1).( −1)
=1
w2(baru) = w2(lama) + x2*y
= 0 + ( −1).( −1)
=1
b(baru) = b(lama) + y
= 0 + (−1)
= −1
Hebb Rule
Data ke-2 : x1 = −1 x2 =1 y = −1 (target)
Perubahan bobot dan bias untuk data ke-2:
w1(baru) = w1(lama) + x1*y
= 1 + (−1).( −1)
=2
w2(baru) = w2(lama) + x2*y
= 1 + 1.( −1)
=0
b(baru) = b(lama) + y
= (−1) + (−1)
= −2
Hebb Rule
Data ke-3 : x1 = 1 x2 = −1 y = −1 (target)
Perubahan bobot dan bias untuk data ke-3:
w1(baru) = w1(lama) + x1*y
= 2 + 1.( −1)
=1
w2(baru) = w2(lama) + x2*y
= 0 + (−1).( −1)
=1
b(baru) = b(lama) + y
= (−2) + (−1)
= −3
Hebb Rule
Data ke-4 : x1 = 1 x2 =1 y = 1 (target)
Perubahan bobot dan bias untuk data ke-4:
w1(baru) = w1(lama) + x1*y
= 1 + 1.1
=2
w2(baru) = w2(lama) + x2*y
= 1 + 1.1
=2
b(baru) = b(lama) + y
= (−3) + 1
= −2
Hebb Rule
Disini diperoleh nilai bobot dan bias sebagai berikut : w1 = 2; w2 = 2
dan b = −2. Nilai-nilai ini dipakai untuk menguji seluruh data
masukan, hasilnya adalah :

Terlihat bahwa nilai f(net) sama dengan target yang diinginkan


pada fungsi logika “AND”. Ini berarti untuk masukan bipolar dan
keluaran bipolar dua input, jaringan bisa mengenali pola fungsi
logika “AND”.
Hebb Rule
Kelemahan:
dalam jaringan Hebb, pengenalan pola tidak
hanya ditentukan oleh algoritma untuk
merevisi bobot saja, tetapi representasi data
juga ikut menentukan hasil pengenalan pola.
Biasanya representasi data yang digunakan
pada jaringan Hebb adalah bipolar.
Hebb Rule
Hebb Rule

Algoritma pelatihan Hebb :


--------------------------------
Inisialisasi bobot dan bias :
w1 = w2 = w3 = w4 = w5 = w6 = w7 = w8 = w9 = 0 dan bias b = 0
Hebb Rule
Pola ke-1 :
Perubahan bobot dan bias untuk pola ke-1:
w1(baru) = w1(lama) + x1*y = 0 + 1.1 = 1
w2(baru) = w2(lama) + x2*y = 0 + 1.1 = 1
w3(baru) = w3(lama) + x3*y = 0 + 1.1 = 1
w4(baru) = w4(lama) + x4*y = 0 + (−1).1 = −1
w5(baru) = w5(lama) + x5*y = 0 + 1.1 = 1
w6(baru) = w6(lama) + x6*y = 0 + (−1).1 = −1
w7(baru) = w7(lama) + x7*y = 0 + (−1).1 = −1
w8(baru) = w8(lama) + x8*y = 0 + 1.1 = 1
w9(baru) = w9(lama) + x9*y = 0 + (−1).1 = −1
b(baru) = b(lama) + y = 0 + 1 = 1
Hebb Rule
Pola ke-2 :
Perubahan bobot dan bias untuk pola ke-2:
w1(baru) = w1(lama) + x1*y = 1 + 1. (−1) = 0
w2(baru) = w2(lama) + x2*y = 1 + (−1). (−1) = 2
w3(baru) = w3(lama) + x3*y = 1 + 1. (−1) = 0
w4(baru) = w4(lama) + x4*y = (−1) + 1.(−1) = −2
w5(baru) = w5(lama) + x5*y = 1 + (−1). (−1) = 2
w6(baru) = w6(lama) + x6*y = (−1) + 1.(−1) = −2
w7(baru) = w7(lama) + x7*y = (−1) + 1. (−1) = −2
w8(baru) = w8(lama) + x8*y = 1 + 1. (−1) = 0
w9(baru) = w9(lama) + x9*y = (−1) + 1. (−1) = −2
b(baru) = b(lama) + y = 1 + (−1) = 0
Hebb Rule
Diperoleh nilai :
w1 = 0, w2 = 2, w3 = 0, w4 = −2, w5 = 2, w6 = −2, w7 = −2,
w8 = 0, w9 = −2, dan b = 0
Nilai-nilai ini dipakai untuk menguji seluruh data masukan, hasilnya
adalah :

net  w x  b
i i
=  wi xi karena b = 0
Hebb Rule
Pola ke-1
net = 0.1 + 2.1 + 0.1 + (−2)(−1) + 2.1+ (−2)( −1) + (−2)( −1) + 0.1 + (−2)( −1)
= 12
f (12) = 1 (sama dengan target)

Pola ke-2
net = 0.1 + 2. (−1) + 0.1 + (−2).1 + 2. (−1) + (−2).1 + (−2).1 + 0.1 + (−2).1
= −12
f (−12) = −1 (sama dengan target)

jelas bahwa untuk kedua pola tersebut keluaran


jaringan sama dengan target yang diinginkan. Artinya
adalah jaringan ini bisa mengenali pola dengan baik.
Perceptron
Algoritma Pelatihan Perceptron:
1. Inisialisasi semua bobot dan bias (biasanya = 0)
Set learning rate:  (0 <   1). untuk penyederhanaan set sama dengan 1.
Set nilai threshold (θ) untuk fungsi aktivasi
2. Untuk setiap pasangan pembelajaran s-t, kerjakan:
a) set aktivasi unit input xi = si;
b) Hitung respon untuk unit output:

y _ in ( net )  b   i
xiwi

c) Masukkan kedalam fungsi aktivasi :

 1, jika y _ in  

y   0, jika    y _ in  
 1, jika y _ in  

Perceptron
d) Bandingkan nilai output jaringan y dengan target t
jika y ≠ t , lakukan perubahan bobot dan bias dengan cara :
wi(baru) = wi(lama) + *t*xi
b(baru) = b(lama) + *t
jika y = t , tidak ada perubahan bobot dan bias:
wi(baru) = wi(lama)
b(baru) = b(lama)

3. Lakukan iterasi terus-menerus hingga semua pola memiliki


output jaringan yang sama dengan targetnya. Artinya bila semua
output jaringan sama dengan target maka jaringan telah
mengenali pola dengan baik dan iterasi dihentikan.
Contoh Soal .1
Buat jaringan Perceptron untuk menyatakan fungsi logika
AND dengan menggunakan masukan biner dan keluaran
bipolar. Pilih  = 1 dan  = 0,2
Jawab :
Pola hubungan
x1 x2 t
masukan-target : 0 0 -1
0 1 -1
1 0 -1
1 1 1
X1


net y
f
X2
 1, jika y _ in  0,2

b
y   0, jika  0,2  y _ in  0,2
 1, jika y _ in  0,2

Masukan Target  xi wi Output Perubahan bobot Bobot baru
+b w = xi t wbaru = wlama + w
b = t bbaru = blama + b
x1 x2  t net y=f(n) w1 w2 b w1 w2 b
Epoch ke - 1 0 0 0
0 0 1 -1 0 0 0 0 -1 0 0 -1
0 1 1 -1 -1 -1 0 0 -1
1 0 1 -1 -1 -1 0 0 -1
1 1 1 1 -1 -1 1 1 1 1 1 0

Masukan Target  xi wi Output Perubahan bobot Bobot baru


+b w = xi t wbaru = wlama + w
b = t bbaru = blama + b
x1 x2  t net y=f(n) w1 w2 b w1 w2 b
Epoch ke - 2
0 0 1 -1 0 0 0 0 -1 1 1 -1
0 1 1 -1 0 0 0 -1 -1 1 0 -2
1 0 1 -1 -1 -1 1 0 -2
1 1 1 1 -1 -1 1 1 1 2 1 -1

Anda mungkin juga menyukai