Anda di halaman 1dari 58

NEURAL NETWORKS

PEMBELAJARAN MESIN
STMIK AMIKOM PURWOKERTO
Mengapa Neural Networks Perlu
Dipelajari?

• Banyak algoritma yang telah tersedia dengan


teknik arsitektur yang beragam dan canggih
• Adanya komputer digital yang berkecepatan
tinggi sehingga mempermudah simulasi
• Aplikasinya yang sangat luas
Bidang-bidang Aplikasi Neural
Network:
• Aeroscape
Simulasi komponen pesawat, sistem kendali
pesawat, perbaikan autopilot, simulasi jalur
penerbangan, dll
• Otomotif
Sistem kendali otomatis mobil
• Keuangan dan perbankan
Deteksi uang palsu, identifikasi pola data pasar
saham, evaluasi aplikasi kredit
Bidang-bidang Aplikasi Neural
Network:
• Pertahanan (militer)
Pengendalian senjata, deteksi bom,
penelusuran target, pengendali sensor dan
radar, pengolahan sinyal citra, dll
• Keamanan
Mengenali benda atau wajah oknum
• Medis
Deteksi kanker
• Pengenalan Pola
Pengenalan tulisan, klasifikasi suara, dll
Bidang-bidang Aplikasi Neural
Network:
• Elektronik
Pembuatan perangkat keras, pengontrol
gerakan robot, sintesis suara dll
• Matematika
Membuat pemodelan variable yang tidak
diketahui
• dll
NEURAL NETWORKS
dibentuk sebagai generalisasi model matematika dari
jaringan syaraf biologi manusia, dengan asumsi bahwa:
 Pemrosesan informasi terjadi pada banyak elemen
sederhana (neuron)
 Sinyal dikirimkan di antara neuron-neuron melalui
penghubung-penghubung
 Penghubung antara neuron memiliki bobot yang akan
memperkuat atau memperlemah sinyal
 Untuk menentukan output, setiap neuron
menggunakan fungsi aktivasi yang dikenakan pada
jumlahan input yang diterima
Susunan Syaraf Manusia
Gambaran sebuah neuron (satuan unit pemroses terkecil
pada otak):
Dendrit :
menerima
informasi
Soma (badan sel):
mengolah
informasi
Akson (neurit) :
mengirimkan
impuls ke syaraf
lainnya
Analogi Jaringan Syaraf Tiruan dengan
Jaringan Syaraf Biologis

Jaringan Syaraaf Tiruan Jaringan Syaraf Biologis


Node Badan sel (soma)
Input Dendrit
Output Akson
Bobot Myelin
Neural Network /JST ditentukan oleh 3
hal berikut ini:

• Pola hubungan antar neuron (disebut


arsitektur jaringan)
• Metode untuk menentukan bobot
penghubung (disebut metode training /
learning jaringan / algoritma
• Fungsi aktivasi
Istilah-istilah dalam JST

• Neuron: sel saraf tiruan yang merupakan elemen


pengolahan JST untuk menerima dan memroses input
• Jaringan: kumpulan neuron yang saling terhubung dan
membentuk lapisan
• Input: Berhubungan dengan atribut dari pola atau data
dari luar. Sinyal input kemudian diteruskan ke lapisan
selanjutnya
• Output: Solusi atau hasil pemahaman jaringan terhadap
data input
• Lapisan tersembunyi (hidden layer): lapisan yang secara
tak langsung berinteraksi dengan data dari luar
Istilah-istilah dalam JST

• Bobot: nilai matematis dari koneksi untuk mentransfer data


antar lapisan. Bobot digunakan untuk mengatur jaringan
sehingga menghasilkan output yang diinginkan
• Summation Function: Fungsi yang digunakan untuk
mencari rata-rata bobot dari semua elemen input
Model Dasar JST
Struktur Neuron pada JST:
Arsitektur Jaringan Syaraf Tiruan

a. Jaringan dengan lapisan tunggal (single layer):

Hanya memiliki satu lapisan dengan bobot-bobot


terhubung. Jaringan ini hanya menerima input
kemudian secara langsung akan mengolahnya menjadi
output melalui lapisan tersembunyi
• Lapisan input
memiliki 3 neuron
yaitu X1, X2, X3
• Lapisan output
memiliki 2 neuron
yaitu Y1 dan Y2.
• Neuron pada
kedua lapisan
saling
berhubungan.
• Seberapa besar
hubungan antara 2
neuron ditentukan
oleh bobot yang
bersesuaian
Arsitektur Jaringan Syaraf Tiruan

b. Jaringan dengan banyak lapisan (multilayer):

Hanya memiliki satu atau lebih lapisan yang terletak di


antara lapisan input dan lapisan output. Umumnya
terdapat lapisan bobot-bobot yang terletak antara 2
lapisan yang bersebelahan.

Multilayer dapat menyelesaikan permasalahan yang


lebih sulit namun dengan proses learning yang lebih
rumit
Inisialisasi Bobot
 Prosedur yang umum untuk menginisialisasi bobot dan bias
adalah dengan membuat nilai acak dengan range -0,5 sd 0,5
atau -1 sd 1 atau interval lain yang sesuai. Nilai bobot mungkin
saja positif atau negatif karena nilai akhirnya setelah pelatihan
dapat berubah tanda
Fungsi Aktivasi
• Dipakai untuk menentukan keluaran suatu neuron
• Merupakan fungsi yang menggambarkan
hubungan antara tingkat aktivasi internal
(summation function) yang mungkin berbentuk
linerar atau non linear
- Fungsi penjumlahan terbobot
Neuron akan menghitung net-input ynet sebagai hasil
penjumlahan terbobot input inputnya.

ynet = w11 x1 + w21 x2 + w31 x3 +... + wn1 x1

Hasil dot-product vektor X dan vektor W

- Fungsi aktivasi
Besarnya output (atau aktivasi) sebuah neuron dihitung
berdasarkan
fungsi aktivasi F( . )

y = F(ynet )

lts05
Contoh Fungsi fungsi aktivasi dalam perhitungan output y.

1, bila ynet > q F(.) adalah fungsi ambang


y =
0, bila ynet < q q adalah nilai ambang

Bila nilai ambang diperlakukan sebagai bobot (disebut bobot prasikap,


maka model neuronnya menjadi

w11 -1

x1 q
w21
x2 y

x3 w31 S F(.)

xn

wn1
Fungsi Aktivasi
 Fungsi undak biner (hard limit)

 Fungsi undak biner (threshold)

q
Fungsi Aktivasi

 Fungsi bipolar

 Fungsi bipolar dengan threshold


Fungsi Aktivasi

 Fungsi Linier (identitas)

 Fungsi Sigmoid biner


KLASIFIKASI PEMBELAJARAN
1. Belajar Terbimbing (supervised)

error
X|k y|k
NN - error digunakan
input output untuk menyesuai-
kan bobot jaringan
t|k (berdasarkan suatu
algoritma belajar).
Himpunan data pelatihan
Data pelatihan di-
k vektor input vektor target
berikan per-eksem-
1 X|1 t|1 plar, diulang ulang
2 X|2 t|2 per-epoch,
sampai dicapai har-
ga error mendekati
K X|K t|K nol untuk seluruh
vektor pelatihan.
1 epoch 1 eksemplar
2. Belajar Tak-terbimbing (Unsupervised)

X|k Y|k
NN
 Vektor input pelatihan diberikan per-
eksemplar, diulang ulang per-epoch,
Himpunan Data sampai jaringan menghasilkan harga
Pelatihan output yang konsisten (tidak berubah-
k vektor input ubah lagi) untuk setiap input pelatihan.

1 X|1  Dalam proses belajar, jaringan akan


2 X|2 mengenali ciri ciri atau kesamaan ciri
diantara vektor vektor input yang di-
berikan, dan akan memberikan output
yang sama untuk vektor vektor input
K X|K
yang memiliki kesamaan/kemiripan ciri.
3. Belajar Reinforcement
 Belajar reinforcement pada umumnya digunakan untuk melatih NN
secara online dalam aplikasinya sebagai pengendali sebuah plant.
 Kelas belajar ini merupakan kombinasi kelas belajar terbimbing dan
tak-terbimbing.
 Target tidak dinyatakan secara eksplisit, penyesuaian bobot dilakukan
berdasarkan hasil penilaian kinerja obyek yang dikendalikan

X Y misal :
NN misal : plant suhu plant
pengendali
 NN dilatih mengenali putaran kipas
dinamika plant
penilai
Pertanyaan : kinerja plant
misal:
Bagaimana data suhu terlalu tinggi,
pelatihannya ? rendah, cukup, ...
McCulloch Pitts

 Fungsi aktivasi biner


 Besar bobotnya sama
 Memiliki threshold yang sama

Contoh buat fungsi logika “and”, input X1 dan X2, dan Y =


1 jika dan hanya jika inputan 1

X1 X2 Y
1 1 1
1 0 0
0 1 0
0 0 0
Contoh Sederhana
Jawab

X1 X2 net Y, 1 jika net >=2, 0 jika net < 2


1 1 1.1+1.1=2 1 X
1 1
1 0 1.1+0.1=1 0
0 1 0.1+1.1=1 0Z Y
2
0 0 0.1+0.1=0 0
X
2 1

Ternyata BERHASIL mengenali pola


Contoh Program
Problem “OR”

X1 X2 net Y, 1 jika net >=1, 0 jika net < 1


1 1 1.1+1.1=2 1 X1
1
1 0 1.1+0.1=1 1
0 1 0.1+1.1=1 1 Y

0 0 0.1+0.1=0 0 1
X2
1

Ternyata BERHASIL mengenali pola


Contoh Simple Network
Contoh Program
Soal Latihan

Buatlah JST untuk logika NOT & Programnya dalam


bahasa C

Tabel Kebenaran Gerbang NOT


37

Perceptron dan Klasifikasi pola


Perceptron dasar :
38  Jaringan lapisan tunggal (lapisan input tidak dihitung), dengan
N buah neuron input (vektor N-elemen) dan satu neuron output.
 Nilai elemen input (output) sebuah neuron :
Biner [0, 1] atau Bipolar [-1, 1]
 Fungsi aktivasi neuron input : fungsi linear (tidak mengubah harga
input dari luar)
Fungsi aktivasi neuron output : fungsi ambang (step)
xq = 1  Vektor input : X|i = { x0 , x1 ,x2 ,x3 , 1
x0
w1 wq } bias
 Vektor bobot :
w2 y W = { w , w , w , w , wq }
x1
0 1 2 3
w3
x2  Net input :
w4 n
y =  w x + xq.wq
net i i
x3 contoh untuk N = 4 i =0
39

Fungsi Aktivasi Undak Biner


(Hard Limit)
1 , bila ynet >
0
40  Output : y=
0 , bila y <
Dengan satu neuron output ,net
Perceptron sederhana hanya dapat
0
melakukan klasifikasi dikotomis (dua kelas) untuk input- input yang
dilatihkan.
Contoh output dikotomis : “Benar” atau “Salah”,
“Panas” atau “Dingin”,
“Merah” atau “Bukan Merah”
dikodekan secara biner ( 0,1 ) atau bipolar ( -1, 1 )

Keterbatasan :

Aturan belajar Perceptron akan konvergen (mencapai 1 set harga


bobot yang akan membuat jaringan dapat melakukan klasifikasi
dengan benar) bila
“ Data input pelatihannya dapat dipisahkan secara linear
(linearly separable)”
Data yang linearly separable : terdapat garis atau bidang atau
bidang banyak (hyperplane) linear yang dapat memisahkan data ter-
41 sebut kedalam dua kelas (kelompok). x2
+
+
+ ++ + - -
Linearly Separable (LS) + ++ - - -
+ -- x1
Data Set + - - -
- - -
- -
-

Contoh 1 : Perceptron ini dilatih untuk melakukan klasifikasi berda-


sarkan logika (AND)
input target
1 k xq x1 x2 y
x1
w1 wq
0 1 0 0 0
y 1 1 0 1 0
w2 2 1 1 0 0
x2 3 1 1 1 1
topologi
Himpunan data pelatihan
X|0 = {0, 0}
42 X|1 = {0, 1} = kelas “0” x2
X|2 = {1, 0}
{0, 1} {1, 1}

X|3 = {1, 1} = kelas “1”

vektor vektor dua elemen


x1
(terletak dalam ruang 2-dimensi)
{0, 0} {0, 1}

 Dalam proses belajar, NN akan mencari


harga harga bobot yang dapat meng- x2
klasifikasikan vektor vektor input ke-
dalam kelas yang benar .
{0, 1} {1, 1}
lakhir
 Bobot tersebut dinamakan bobot-
konvergen (bobot akhir pelatihan).
 lakhir adalah garis pemisah yang ter-
x1
bentuk oleh bobot akhir pelatihan. {0, 0} {0, 1}
Contoh klasifikasi dikotomis berdasarkan logika OR

43
input output input output
x1 x2 y x1 x2 y
0 0 0 -1 -1 -1
0 1 1 -1 1 1
1 0 1 1 -1 1
1 1 1 1 1 1
representasi biner representasi bipolar

Himpunan pola pelatihan untuk klasifikasi dikotomis :

{0 0} {0} 1 epoch pola {-1 -1 } { -1 }


{0 1} {1} pelatihan
{ -1 1 } { 1 }
=
{1 0} {1} 4 eksemplar { 1 -1 } { 1 }
{1 1} {1} pasangan
{1 1} {1}
{input} {target}
Garis pemisah :
x2
44 Dari ynet = wq + ∑ xi wi
dan
1 jika ynet > 0
+1 +1
f(ynet) = o o
-1 jika ynet < 0 ,
x1
maka garis pemisah l adalah o o
-1 +1
garis
ynet = wq + ∑ xi wi = 0 lakhir
atau
wq + x1w1 + x2 w 2 = 0 Contoh salah satu garis pemisah untuk
klasifikasi berdasarkan logika OR bipolar

Dalam pelatihan, dicari harga2 persamaan garis : x2 = -x1 - 1


wᶿ , w1 , w2 yang membuat NN
dapat melakukan klasifikasi w0 = 1, wi = 1, w2 = 1
dengan benar
Soal :
Sebuah Perceptron sederhana dua input dilatih untuk
45
klasifikasi pola bipolar berdasarkan logika AND.
Tunjukkan dengan gambar bahwa salah satu bobot solusinya
adalah t = 2, wi =1, w2 =1
Contoh 2 : Perceptron ini dilatih untuk melakukan klasifikasi berdasar-
kan logika EXOR
46 Himpunan data pelatihan
1
input target
x1
w1 wq k xq x1 x2 y
y 0 1 0 0 0
w2 1 1 0 1 1
x2 2 1 1 0 1
topologi
3 1 1 1 0

x2
{1, 1}
{0, 1} Tidak ada satupun garis linear
yang dapat mengklasifikasikan
vektor vektor input dengan benar !
karena :

{0, 0} {0, 1}
x1 Data pelatihan untuk logika EXOR lts05
tersebut non-linearly separable
Algoritma belajar Perceptron
47 ( = algoritma penyesuaian bobot)

wi baru = wi lama + Dwi

Dwi = txi
48
49
 Algoritma LMS - Least Mean Square atau ATURAN DELTA
Selain dilatih dengan algoritma belajar Perceptron (Gradient Descend
50
sederhana -Rosenblatt), jaringan lapis tunggal dapat dilatih dengan
aturan belajar Delta (delta rule).
Dasar aturan Delta adalah minimisasi galat kuadrat dalam pelatihan.
Fungsi galat E adalah jumlah error kuadrat, merupakan fungsi bobot-
bobot jaringan.
 Dalam proses belajar, bobot bobot disesuaikan
E(w1,w2)
kearah perubahan-harga-galat (gradient E) yang
paling tajam (terjal) dalam ruang Bobot-Galat.
Eab  Galat E untuk vektor bobot n-dimensi,
Ecd K
E(w1,w2, ... , wn) = S ( t |k – y |k )
a c k=1
w1
b k = jumlah vektor pelatihan (input dan
d target)
.
 Gradient E, untuk vektor bobot n-dimensi
w2
Ruang Bobot-Galat,  E E E 
 E [w ] 
r
untuk vektor bobot 2-dimensi , ,K , 
  w 0
 w 1
 w n 
Δw = E [w ] Δw = E [w ]
E Gradient, E  1E 2 1   2
Δw i =  Δw = i =    (t tx|k–yo|xk)  =   t x   ox  
2
r w i w i w i w  2 xD  w i
E [w ] 
2 ixkD
r r
2E 1   1 ] [
51 =     2 2  1    r r
EE =   1 pada Δ w E w 2 
  t  x 
arah
 o  x   = =   2
  t 
 x 
(
t 

ttx|
o
x
k
–y
xo 
o 
|
x 
k 
x t  =
x   
o  x
    = 
t  x 
t oxxo x  t  x   w  x 
wiw i w i  2 xsumbu D wi w 2wE2w
Δwi i = xxDDi  xiD)2
w i   2 xD  w  i xD   w i 
 w i
   E
[    o2x  x ]    r r   r r
1 = 1
 2  t 2 x 2 
 o2xt x =ox
1  w 
 t==tx
= 1
1
xS
ox
t
o x xt=
22( tx| k–y
 t|
o xkxi   ox

x|k–yot|xkx=w xtx  2 o x 
(t t1 t x   w  x 
 2 xDw
E 2 xD  )  txxD oxw
1
 i )=  t  x
x D  ox   w i
k 
 xD x D  w ii i = 2
x  D 2 wi
 
w i w i  2 xD  2 xD  w i 
 
[  xoi ]x  ==  [tt(x  x i ]t(tx| –y
 E E   
=  txx  oxt 
     r r
 untuk fungsi

D 
 
w i xD
2 t x  o 
w i
x wi =

=1 xD

S

 ) 2
t
x


|
t


k
x
o
–y
o



x
x |
o
k

 
x 
w  
i ) t k
x
w
 

| k  
x
o  x 
   =

aktivasi t  x   o 
linearx  : 
t  x   w
r r 
 x 
x D
k w i w i
2 xD   y| x D 
= y | 
k net k
t x   ox  x i ] E
w i xkD
S
=  [t[(xt |ko –y x| k ) x( i-]wi xi N
= S wi xi
)] i=1

Dengan demikian perubahan galat E akibat perubahan bobot wI adalah,


dE r Aturan penyesuaian
r
= - wI [ ( t |k– y |k ) ( xI ) Δw = E [w ] bobotnya:
d wI
] E
Δw i ==  [ ( t |k– y |k ) ( xI
) ] w i
Aturan Delta :
D wi =  [ ( t |k– y |k ) ( xi ) ]
52
 : konstante pesat belajar
Proses Pelatihan :
 Inisialisasi seluruh bobot wi ke harga acak yang kecil.
 Sampai jaringan konvergen, kerjakan :
- Berikan satu vektor input pelatihan x|k.

- Hitung net-input ynet|k=w1 x1 +w2 x2 +...w


+q

- Hitung output y|k = ynet|k (fungsi aktivasi = fungsi linear)


- Hitung penyesuaian bobotnya, untuk i = 1, 2, ... , N, q
D wi =  [ ( t |k– y |k ) ( xi ) ]
wi baru = w i lama + Dwi

 Bila Dwi|k  0 untuk semua input dalam 1 epoch, hentikan pelatihan.

syarat penghentian pelatihan


Contoh Kurve pembelajaran (learning curve),
53 menunjukkan penurunan error (RMS=Root Mean Square) dalam
proses belajar.

 Setiap pemberian satu epoch


pola pelatihan disebut
Satu iterasi pelatihan

 Pada setiap iterasi dihitung


errornya :

1/2
RMS = S t|k –y|k 2

 Error = 0 (atau cukup kecil) pada iterasi pelatihan ke 5


Dikatakan jaringan konvergen pada iterasi ke 5.
Aturan belajar Perceptron vs aturan Delta/LMS
54
x2 x2 x2
+ +
+
- + + --
+ - + ++ -
+ + -++ - - -
x1 x1 + -- x1
- + + - + - +
- -
- - -
- - -
-
Gb.(a) Gb.(b) Gb.(c)
• Dengan data pelatihan yang linearly separable, Perceptron dapat
melakukan klasifikasi sempurna (Gb.(a))
• Dengan data pelatihan yang non-linearly separable,
- Perceptron tidak dapat melakukan klasifikasi dengan benar
(Gb.(b)).
- Aturan Delta dapat melakukan klasifikasi pendekatan (Gb.(c)).
Persentase kesalahan klasifikasi yang cukup kecil masih dapat
diterima .
ADALINE & MADALINE
55  Jaringan lapis tunggal yang dilatih dengan aturan Delta adalah
jaringan ADALINE (Adaptive Linear Element).
 Jaringan ADALINE tidak mempersyaratkan data pelatihan yang harus
linearly separable.
 M buah ADALINE yang dikombinasikan akan menghasilkan jaringan
lapis- tunggal dengan M neuron output, disebut Multiple ADALINE
(MADALINE)
x1
w1
x2 w2
ADALINE y
wN

xN

vektor bobot
W = ( w1 , w2 , . . . , w )
lts05

N
MADALINE
w11 y1
56 x1 w21
wN1
x2
y2
vektor bobot
w1M WM = ( w1M, w2M , . . . , wNM )
xN w2M
wNM yM

Matriks bobot
w11 w12 w1M
w21 w22 w2M
WNM =

wN1 wN2 wNM


lts05
MADALINE
57
Dengan M buah neuron output maka klasifikasi dengan MADALINE
tidak hanya klasifikasi dikotomis.

x1 y1
Misal : Jaringan MADALINE dilatih untuk
Mengenali huruf huruf A, B, C, ...
x2
y2
ADALINE merah : melakukan klasifikasi
dikotomis “A” dan “bukan-A”.
ADALINE biru: melakukan klasifikasi
dikotomis “B” dan “bukan-B”. yM
xN
ADALINE hijau: melakukan klasifikasi
dikotomis “C” dan “bukan-C”.
Latihan :

58 1. Enam buah pola berupa matriks 2x2.

Horisontal vertikal Diagonal


(a) Rencanakan himpunan vektor pelatihannya
(b) Gambarkan arsitektur jaringannya
(c) Latih jaringan untuk mengenali jenis pola vertikal, horisontal dan diagonal
yang diberikan pada inputnya.
(d) Bagaimana output jaringan bila diberikan input pengujian sebagai berikut :

Anda mungkin juga menyukai