setelah  mengatur  kembali  bentuk  persamaan  di  atas  dan  menggunakan δ
j
untuk menotasikan −
=
∂E
d
, didapatkan ∂net
j
δ
j
= o
j
1 − o
j
δ
k
w
kj k
∈Downstream j
3.12 dan
∆w
ji
= ηδ
j
x
ji
3.13
3.3.  Penggunaan Faktor Momentum
Banyak variasi  yang dapat dikembangkan dari penggunaan algoritma backpropagation,
salah  satunya  adalah  mengubah  aturan  perubahan  bobot pada algoritma  backpropagation  persamaan  3.13,  yaitu  membuat perubahan
bobot pada n iterasi yang secara parsial bergantung pada update  yang terjadi selama n-1 iterasi, dengan persamaan:
∆w
ji
n =
ηδ
j
x
ji
+ α∆w
ji
n − 1
3.14 ∆w
ji
n adalah  weight-update  yang  dilakukan  selama  n  iterasi  dan
≤
α
1  merupakan  konstanta  yang  disebut  momentum.  Dengan menambah  variabel
α
ke  dalam  rumus  perubahan  bobot  mengakibatkan konvergensi akan lebih cepat untuk mendekati itersasi yang dilakukan sesuai
tahapan sampai bobot mencapai solusinya.
26
3.4.  Pembelajaran Jaringan Sembang Acylic
Pada algoritma   backpropagation   yang   telah   dijelaskan   dengan
menggunakan  dua   lapisan  unit  tersembunyi  pada   jaringan.   Namun,   jika algoritma   backpropagation   menggunakan   lebih   dari   dua   lapisan   unit
tersembunyi  pada  jaringan  maka  aturan  perubahan  bobot  Persamaan  3.13. tetap  digunakan,  dan  hanya  mengubah  cara  perhitungan  nilai
δ .  Secara umum,  nilai
δ
r
untuk  r  unit  pada  m  lapisanr  dihitung  dari  nilai
δ
pada lapisanr m+1.
δ
r
= o
r
1 − o
r
w
sr
δ
s s
∈layer m+1
3.15 Pembelajaran tersebut sama-sama  mengeneralisasi algoritma untuk
graph langsung  acyclic,  tanpa  memperhatikan  apakah  unit  jaringan  yang
ditetapkan  ada  pada  lapisan  uniform.  Aturan  untuk  menghitung
δ
untuk unit internal adalah
δ
r
= o
r
1 − o
r
w
sr
δ
s s
∈downstream r
3.16 dimana Downstreamr adalah himpunan dari unit-unit yang turun dari unit r
pada jaringan,  yaitu  semua unit  yang  input-inputnya  termasuk dalam  output dari unit r.
3.3  Algoritma Backpropagation
Algoritma  backpropagation  mempelajari  bobot  untuk  jaringan  saraf buatan   lapisan   banyak   dengan   himpunan   dari   unit-unitnya   dan   saling
berhubungan.  Algoritma  ini  menggunakan gradient descent  untuk mencoba
27
2 meminimalisasi   kuadrat   error   antara   nilai   input   dan   nilai   target   pada
jaringan. Terdapat  banyak  cara  untuk  mendefinisikan  nilai  error  dari  model
vektor   bobot.  Berbeda  dengan  persamaan  3.0   definisikan   kembali  E sebagai  penjumlahan  error  dari  semua  unit  keluaran  jaringan.  Proses  ini
merupakan salah satu ukuran yang dapat menurukan nilai error dengan tepat adalah
r 1
2
E w
≡ t
kd
− o
kd d
∈D k∈outputs
3.17 D
adalah himpunan dari contoh data percobaan, outputnya adalah himpunan dari unit  output pada jaringan,  t
kd
dan  o
k d
masing-masing adalah  nilai target dan nilai output dengan unit output k dan contoh percobaan d.
Permasalahan   yang   digambarkan   oleh   algoritma   backpropagation adalah  untuk  mencari  ruang  hipotesis  yang  besar  dan  didefinisikan  oleh
semua nilai bobot  yang  mungkin untuk setiap  unit  pada  jaringan. Salah satu perbedaan  pokok  pada  kasus  jaringan  saraf  buatan  lapisan  banyak  yaitu
permukaan  error  dapat  memiliki  perkalian  minimum  lokal.  Hal  ini  berarti turunan  gradient  dapat  menjamin  kekonvergenan  untuk  beberapa  minimum
lokal, dan bukan error minimum global. Walaupun   tidak   dijaminnya   konvergen   ke   arah   global   minimum,
Algoritma  backpropagation  merupakan  fungsi  yang  efektif  dalam  metode pembelajaran  [11].  Fungsi  error  pada  gradient  descent  dapat  diilustrasikan
sebagai  permukaan   error   dengan   n-dimensi,   ketika   kemiringan   gradient
28
descent  menurun  dalam  lokal  minimum  sehingga  akan  berpengaruh  dalam perubahan bobot.
Perbedaan performa
ruang hipotesis
antara algoritma
backpropagation jaringan   saraf   buatan  lapisan   banyak   dengan   performa
pembelajaran  algoritma  pada  metode   yang  lain,   yaitu  algoritma backpropagation
memiliki  ruang   hipotesis   pada   n-dimensi   dari   n-bobot jaringan.  Dengan  catatan  ruang  hipotesis  memiliki  fungsi   yang  kontinu.
Sedangkan    hipotesis   pada    pembelajaran   algoritma    yang    lain   seperti pembelajaran  decision  tree  dan  metode  yang  lain  memiliki  proses pencarian
hipotesis  yang berbeda-beda.  Untuk  jelasnya  pembelajaran tentang   decision tree
menggunakan algoritma ID3 dapat ditemukan di [6]. Seperti
penjelasan sebelumnya,
Algoritma backpropagation
diimplementasikan  dengan  mencari  kemiringan  gradient  descent  pada  bobot jaringan,  nilai  error  E  yang  diperoleh  akan  mengurangi  iterasi  yang  berada
diantara   nilai   target   pada   contoh   percobaan   dan   hasil   output.   Karena permukaan  jaringan  saraf   buatan  lapisan  banyak   menggambarkan
permukaan   yang   tidak   linear   pada   lokal   minima,   Sehingga   kemiringan gradient  descent  terdapat  pada  permukaan    error.  Hasil  algoritma
backpropagation akan   menunjukan   ke   arah   konvergen   terhadap   lokal
minimum  dalam  mencari  nilai  error  dan  tidak  membutuhkan  nilai  error  ke arah global minimum.
Nilai  error  minimum  dapat  dicari  pada  saat  jaringan  saraf  buatan lapisan  banyak    menginisialisasikan  dan  dibangkitkan  secara  random  atau
29
acak  untuk  mentukan  bobot  koneksi  antar  unit  dari  suatu  lapisan  dengan lapisan   sesudahnya,   jadi   antar   unit-unit   di   lapisan   tersembunyi   saling
terkoneksi satu  sama  lain dengan  unit-unit  di lapisan tersembunyi,  dan antar unit-unit   di   tersembunyi   lapisan   akan   saling   terkoneksi   satu   sama   lain
dengan   unit-unit   pada   lapisan   output.   Nilai   bobot   inilah   yang   akan menentukan proses pembelajaran kecerdasan buatan.
Pada  saat  proses  training,  nilai  bobot  tersebut  akan  terus  berubah sehingga  didapatkan  kesesuaian  antara  input  dengan  output  dengan  error
minimum.  Dengan  kata  lain,  Pada  proses  training  akan  menentukan  nilai minimum error  yang bisa di tolerir oleh jaringan saraf buatan lapisan banyak
seperti  yang  disampaikan  diatas  bahwa  algoritma  backpropagation  tidak akan  memberikan  kepastian  jawaban  untuk  suatu  kasus  yang  tidak  pernah
dilatihkan,  pasti  ada  nilai  error  dari  jawaban  sistem  pembelajaran  dengan jawaban  yang  seharusnya,   nilai  error  tersebut  yang  harus  di  definisikan
sebelum    melatih   proses   pembelajaran   sehingga    sistem   tersebut   bisa menjawab  dengan  tingkat  kebenaran  semaksimal  mungkin  misal:  tingkat
kebenaran sistem 99,9999 dengan nilai Error 0.0001. Algoritma  backpropagation  merupakan  proses  pembelajaran  yang
mampu   menjelaskan  beberapa  fungsi  yang  terdapat  dalam  data.  Fungsi- fungsi  data tersebut dapat  digambarkan secara  keseluruhan dengan beberapa
unit  yang  digunakan  pada  lapisannya  dan  beberapa  lapisan  yang  digunakan dalam  jaringan.  Fungsi-fungsi  ini  dapat  dibagi  menjadi  tiga  yaitu  fungsi
boolean,  fungsi  bernilai  kontinu  dan  fungsi  sembarang.  Fungsi  boolean
30
adalah  fungsi  yang  rangenya  hanya  memiliki  Z  elemen,  fungsi  ini  dapat digambarkan  dengan  model  struktur   jaringan  dengan  baik  menggunakan
jaringan  terdiri   dari   dua   lapisan.   Sedangkan   fungsi   kontinu   merupakan fungsi  yang  rangenya  berupa  interval,  fungsi  ini  juga  dapat  digambarkan
dengan  struktur  jaringan  saraf  buatan  dengan  baik  menggunakan  jaringan terdiri  dari  dua  lapisan.  Terakhir  fungsi  sembarang  adalah  sebuah  fungsi
yang  berbeda  dari  kedua  fungsi  sebelumnya.  fungsi  ini  dapat menggambarkan  model  struktur  jaringan  cukup  baik  dengan  menggunakan
tiga lapisan pada unit. Induktif   bias   merupakan   suatu   cara   yang   digunakan   algoritma
backpropagation dalam  menginferensi  populasi  dari data percobaan.  Sample
data  di  proses  dalam  proses  pembelajaran,  kemudian  performa  model  dari sample data tersebut diuji kembali ke populasi data percobaan. Hal ini secara
praktis  biasanya  dapat  dilakukan  dengan  membagi  dua  data  menjadi  data training dan data test. Tujuan pembelajaran induktif bias untuk mendapatkan
performa  dari  sample  data  dengan  nilai  error  yang  relatif  kecil  dan  dapat dibandingkan dengan performa yang dihasilkan pada data populasi.
Algoritma backpropagation
menggunakan jaringan
lapisanr feedforward
yang  terdiri  dari  dua  unit  lapisan  sigmoid  dengan  lapisan  yang dihubungkan   ke   semua   unit   dari   lapisan   yang   terdahulu.   Notasi   yang
digunakan pada algoritma ini adalah :
31
a   Sebuah  index  menententukan  setiap  titik  dari  jaringan,  dimana  sebuah ”titik”  merupakan  salah  satu  input  atau  output  dari  beberapa  unit  pada
jaringan. b   x
ij
menotasikan  input  dari  titik  i  ke  unit  j,  dan  w
ij
menotasikan  hubungan bobot.
c δ
n
menotasikan error dengan unit n.
Algoritma Backpropagation
BACKPROPAGATION Contoh percobaan, η , n
in
, n
out
, n
hidden
r  r r
Setiap  contoh  percobaan  merupakan  pasangan  dari  bentuk x
, t ,  dimana   x
r adalah  vektor  dari  nilai  unit  input,  dan   t
jaringan target. adalah  vektor  dari  nilai  output
η
adalah   learning   rate   0,05,   n
in
adalah   bilangan   dari   input   jaringan, n
tersembunyi
adalah bilangan dari  unit pada lapisanr tersembunyi,  dan  n
out
adalah bilangan dari unit output.
input  dari  unit  i  sampai  j  dinotasikan  dengan  x
ji
, dan  bobot  dari  i  sampai  j
dinotasikan dengan w
ji.
1.   Buat  jaringan  feedforward  dengan  input  n
in
,  unit  tersembunyi  n
hiiden ,
dan unit output n
out
. 2.   Inisialkan   semua   bobot   awal   jaringan   ke   bilangan   acak   yang   kecil
antara -0,05 sampai 0,05. 3.   Hitung output  onet  dari  setiap unit k pada jaringan.
n
o net =
w
ji
x
i i
=0
+ θ
j
3.1
4.   Hitung fungsi sigmoid
σ
dari setiap unit k pada jaringan. σ  =
1 1
+ e
−o  net
3.2
32
5.   Hitung output pada lapisan keluaran  o
k
.
n
o
k  =
σ
i =0
w
ji .
x
i
+ θ
j
3.3 6.   Hitung  nilai error pada lapisan output o
k
, dengan bentuk error δ
k
.
δ
k
← o
k
1 − o
k
t
k
− o
k
3.9 7.   Hitung nilai error pada lapisan tersembunyi h, dengan bentuk error
δ
h
. δ
h
← o
k
1 − o
k
w
kh
δ
k
3.12
δ
r
= o
r
1 − o
r
w
sr
δ
s
Untuk jaringan uniform m-lapisan 3.15
s ∈layer m+1
δ
r
= o
r
1 − o
r
w
sr
δ
s s
∈downstream r
Untuk jaringan sembarang n-iterasi 3.16
8.   Hitung  perubahan setiap bobot jaringan ∆ w
ji
. ∆w
ji
=
ηδ
j
x
ji
j = k , h
3.13 ∆w
ji
n =
ηδ
j
x
ji
+ α∆w
ji
n − 1
9.  Hitung  perubahan bobot jaringan baru. w
ji
← w
ji
+ ∆w
ji
Untuk n-iterasi 3.14
2.8 Algoritma   backpropagation   akan   lebih   dipahami   dengan   melakukan
proses perhitungan pada data sederhana dibawah ini.
Tabel 3.1. Fungsi XOR Variabel Prediktor
Variabel Target
x
1
x
2
t 1
1 1
1 1
1
Langkah 1.
Membuat  Jaringan  feedforward  dengan  unit  input  n
in
yaitu  x
1
dan  x
2
,  terdapat  2 lapisan unit tersembunyi n
hii den
yaitu z
1
,
z
2
,
z
3
,
z
4
dan unit output n
out
.
33
Y
w
50
w
31
w
32
1
z
3
z
4
w
30
1
w
40
z
1
w
21
w
22
w
23
w
24
z
2
w
10
1
w
20
w
11
w
12
x
1
w
13
w
14
x
2
Gambar 3.2. Jaringan feedforward dengan dua lapisan unit tersembunyi Langkah 2.
Setelah  membuat jaringan feedforward kemudian  inisialkan semua bobot jaringan ke  bilangan acak  yang  kecil antara -0,05 sampai 0,05  dan bobot  awal   ditentukan
secara random -  Misal bobot awal unit input ke unit tersembunyi
w
11
= 0,05 w
13
= 0,03 w
12
= -0,05 w
14
= -0,02 -   dan bobot awal unit tersembunyi lapis 1 ke unit tersembunyi lapis 2
w
21
=  0,03 w
23
= 0,04 w
22
=  -0,01 w
24
= 0,05.
34
1 2
3 4
-   Lebih lanjut lagi bobot awal unit tersembunyi ke unit output w
31
=  -0,04 w
32
= 0,05, -  Bobot awal bias ke unit tersembunyi lapis 1
w
10
= -0,03 w
20
= 0,04, -   Bobot awal bias ke unit tersembunyi lapis 2
w
30
= 0,02 w
40
=0,01 -   Serta terakhir bobot awal bias ke unit output adalah
w
50
=0,03
Langkah 3.
Hitung output  onet  dari  setiap unit k pada unit tersembunyi :
n
rumus :  onet  = w
ji
x
i i
=0
+
θ
j
o
1
net  = 0,051 + 0,031 + -0,03 = 0,05 o
2
net  = -0,051 + -0,021 + 0,04 = -0,03 o
3
net  = 0,031 + 0,041 + 0,02 = 0,09 o
4
net  = -0,011 + 0,051 + 0,01 = 0,05
Langkah 4.
Hitung fungsi sigmoid σ  dari setiap unit k pada jaringan :
σ
= 1
1 + e
− o  net
σ
net =
1 = 0,51
1 + e
− 0 , 05
σ
net =
1 = 0,49
1 + e
0 , 03
σ
net =
1 = 0,52
1 + e
− 0 , 09
σ
net =
1 = 0,51
1 + e
− 0 , 05
35
=
Langkah 5.
Hitung output  onet  dari  setiap unit k pada lapisan keluaran output o
k
:
n
o
k
= w
ji
x
i i
=0
+ θ
j
=  0,52-0,04+0,510,05+0,03 = 0,0347 1
1 o
= = 0,5
k
1 + e
− o
k
1 + e
− 0 , 0347
Langkah 6.
Setelah mendapatkan nilai output pada langkah 5, kemudian hitung error berdasarkan kesalahan untuk setiap unit output jaringan k, hitung bentuk error
δ
k
δ
k
← o
k
1 − o
k
t
k
− o
k
= 0,5 1-0,5 0-0,5 = -0,125
δ
k
merupakan error yang dipakai dalam perubahan bobot lapisan dibawahnya. o
k
merupakan nilai output pada jaringan keluaran dan t
k
adalah target keluaran.
Langkah 7.
Kemudian cari penjumlahan error berdasarkan error untuk setiap unit tersembunyi h
, hitung bentuk error
δ
h
δ
h
← o
k
1 − o
k
w
kh
δ
k k
∈outputs
Pertama cari penjumlahan delta rule dari  unit tersembunyi, dimana dari hasil delta rule pada unit keluaran
δ
k
= -0,125
δ
k
= w
kh
δ
k k
∈output
δ
1
=  -0,125 0,05 = -0,006
δ
2
=  -0,125 -0,04 = 0,005
δ
3
= -0,125 0,04 + -0,1250,05  = 0,011
δ
4
=  -0,125 0,03 + -0,125-0,01 = -0,002
δ
h
← o
k
1 − o
k
w
kh
δ
k k
∈outputs
δ
1
=  -0,006  0,51 1-0,51 = 0,001
36
δ
2
=  0,005 0,52 1-0,52 = -0,001
δ
3
= 0,011 0,49 1-0,49 = 0,002
δ
4
=  -0,002 0,51 1-0,51 = -0,0004
Langkah 8.
Hitung  perubahan setiap bobot jaringan ∆ w
ji
∆w
ji
=
ηδ
j
x
ji
Suku perubahan bobot keluaran ∆w
ji
= -0,125 hasil langkah 4. dengan learning rate
η
= 0,05 , delta rule δ
k
∆w
ji
=
ηδ
j
x
ji
j=0,1,2,3,... ∆w
50
= 0,05 -0,125 1 = -0,00625 ∆w
31
=0,05 -0,125 0,52 = -0,00325 ∆w
32
=0,05 -0,1250,51 = -0,00318 Suku perubahan bobot ke unit tersembunyi
∆w
ji
delta rule  hasil delta rule langkah 5. dengan learning rate
η
= 0,05 ,
∆w
ji
=
ηδ
j
x
ji
j=0,1,2,3,.. Unit tersembunyi lapis 1
∆w
10
= 0,05 0,001 1 = 0,00005 ∆w
20
= 0,05 -0,001 1 = -0,00005 ∆w
11
= 0,05 0,001 1 = 0,00005 ∆w
12
= 0,05 -0,001 1 = -0,00005 ∆w
13
= 0,05 0,001 1 = 0,00005 ∆w
14
= 0,05 -0,001 1 = -0,00005 Unit tersembunyi lapis 2
∆w
30
=0,05 -0,0004 1 = -0,00002 ∆w
40
=0,05 0,002 1 =0,0001 ∆w
21
=0,05 -0,0004 1 = -0,00002
37
∆w
22
=0,05 0,002 1 = 0,0001 ∆w
23
=0,05 -0,0004 1 = -0,00002 ∆w
24
=0,05 0,002 1 = 0,0001
Langkah 9. Hitung  perubahan bobot jaringan baru.
w
ji
← w
ji
+ ∆w
ji
Perubahan bobot unit keluaran : ∆w
50
= 0,03 + -0,006= 0,024 ∆w
31
= -0,04 + -0,003= -0,043 ∆w
32
= 0,05 + -0,003= 0,047 Perubahan bobot unit tersembunyi  layar 1
∆w
10
= -0,03 + 0,00005 = -0,03 ∆w
20
= 0,04 - 0,00005 = 0,04 ∆w
11
= 0,05 + 0,00005 = 0,05 ∆w
12
= -0,05 - 0,00005 = -0,05 ∆w
13
= 0,03 + 0,00005 = 0,03 ∆w
14
= -0,02 - 0,00005 = -0,02 Perubahan bobot unit tersembunyi  layar 2
∆w
30
= 0,02 – 0,00002 = 0,02 ∆w
40
= 0,01 + 0,0001 = 0,01 ∆w
21
= 0,03 – 0,00002 =0,03 ∆w
22
= -0,01 +0,0001 = -0,01 ∆w
23
= 0,04 – 0,00002 = 0,04 ∆w
24
= 0,05 + 0,0001 = 0,05 lakukan iterasi sampai variabel prediktor menghasilkan unit output.
38
Algoritma backpropagation dimulai dari pembentukan sebuah jaringan dengan unit tersembunyi  dan  unit  output  serta  menginisialisasi  semua  bobot
jaringan   ke   nilai   random   yang   kecil.   Untuk   setiap   contoh   percobaan menggunakan   suatu   jaringan   untuk   menghitung   nilai   error   dari   output
jaringan,  menghitung  gradient  descent  dan  kemudian  mengupdate  semua bobot  pada  jaringan.  Proses  ini  dilakukan  sampai  menghasilkan  klasifikasi
dengan model yang tepat.
3.6.   Analisis Multiklasifikasi