CHAIRUN NISA-FST.pdf
-
Upload
doannguyet -
Category
Documents
-
view
246 -
download
0
Transcript of CHAIRUN NISA-FST.pdf
BAB I
PENDAHULUAN
Sejak komputer diciptakan pertama kali, komputer memiliki peranan yang
besar dalam membantu menyelesaikan permasalahan-permasalahan yang sulit
diselesaikan oleh manusia. Salah satu teknologi komputer yang sedang
berkembang yaitu kecerdasan buatan. Jaringan saraf buatan merupakan salah satu
ilmu yang mendukung perkembangan kecerdasan buatan. Bermacam-macam
aplikasi berbasis jaringan saraf buatan telah dikembangkan di berbagai bidang.
1.1. Latar Belakang
Pesatnya perkembangan teknologi komputer menyebabkan adanya
perluasan lingkup yang membutuhkan kehadiran kecerdasan buatan.
Kecerdasan buatan merupakan ilmu komputer yang membuat mesin
komputer dapat melakukan pekerjaan sebaik mungkin seperti yang
dilakukan oleh otak manusia [9]. Jaringan saraf buatan merupakan salah satu
ilmu yang mendukung perkembangan kecerdasan buatan. Bermacam-macam
aplikasi berbasis jaringan saraf buatan telah dikembangkan di berbagai
bidang.
Jaringan saraf buatan merupakan salah satu metode pembelajaran
komputer yang efektif dan memiliki pendekatan berupa algoritma dalam
menyelesaikan suatu masalah. Pada jaringan saraf buatan terdapat dua
macam algoritma, yaitu algoritma untuk jaringan saraf buatan lapisan
tunggal dan algoritma untuk jaringan saraf buatan lapisan banyak. Dalam
1
penulisan skripsi ini akan dibahas mengenai jaringan saraf lapisan banyak
dengan algoritma backpropagation. Pembahasan jaringan saraf buatan
lapisan tunggal dapat ditemukan di [1].
Algoritma backpropagation merupakan metode yang baik dalam
menangani masalah pengenalan pola-pola kompleks [4]. Beberapa aplikasi
yang menggunakan algoritma ini antara lain pengenalan suara, pengenalan
pola, sistem kontrol, dan pengolahan citra. Oleh karena itu skripsi ini
mencoba memberikan gambaran mengenai algoritma yang digunakan pada
jaringan saraf buatan lapisan banyak dengan judul ”Kajian Teoritis
Algoritma Backpropagation pada Jaringan Saraf Buatan Lapisan
Banyak”.
1.2. Permasalahan
Masalah yang dapat diidentifikasi penulis adalah sebagai berikut:
1. Bagaimana cara kerja algoritma backpropagation menentukan bobot
awal dan menghasilkan model yang tepat dalam multiklasifikasi ?
2. Bagaimana kecenderungan nilai error yang dihasilkan pada jaringan
saraf buatan lapisan banyak dengan data percobaan pengenalan huruf
alphabet, jika banyak unit pada dua lapisan tersembunyi yang digunakan
tetap, momentum ( α ) yang digunkan tetap, dan learning rate (η ) yang
digunakan berbeda-beda?
2
1.3. Pembatasan Masalah
Masalah di dalam skripsi ini terbatas pada ruang lingkup jaringan saraf
buatan lapisan banyak dengan beberapa unit menggunakan algoritma
backpropagation dan hasil prediksi output pada jaringan saraf buatan lapisan
banyak ini berupa bilangan n-arry.
1.4. Tujuan Penulisan
Skripsi ini mempunyai beberapa tujuan, yaitu:
1. Mengetahui cara kerja algoritma backpropagation menentukan bobot
awal dan menghasilkan model yang tepat dalam multiklasifikasi.
2. Mengetahui kecenderungan nilai error yang dihasilkan pada percobaan
pengenalan huruf alphabet, jika banyak unit pada dua lapisan
tersembunyi yang digunakan tetap, momentum (α ) yang digunakan
tetap, dan learning rate (η ) yang digunakan berbeda-beda.
1.5. Manfaat Penulisan
Manfaat penulisan ini antara lain:
1. Memberikan pengetahuan tentang algoritma-algoritma yang digunakan
dalam metode pembelajaran jaringan saraf buatan, serta cara kerja dari
algoritma tersebut sehingga mendapatkan model yang tepat.
2. Memberikan informasi mengenai jaringan saraf buatan sehingga dapat
dijadikan acuan atau referensi.
3
BAB II
JARINGAN SARAF BUATAN
Penjelasan mengenai sejarah perkembangan jaringan saraf buatan, serta
beberapa teori dasar yang mendukung pembelajaran jaringan saraf buatan akan
dibahas dalam bab ini, yaitu Teori-teori dasar yang mendukung pembelajaran
jaringan saraf buatan antara lain ide dasar jaringan saraf buatan yang terinspirasi
dari sistem jaringan otak manusia, definisi dan arsitektur jaringan saraf buatan,
model-model pembelajaran, fungsi transfer, perceptron rule dan delta rule pada
jaringan saraf buatan lapisan tunggal serta gambaran stokastik gradien descent.
2.1. Jaringan Saraf Manusia
Jaringan saraf buatan merupakan model yang cara kerjanya meniru
sistem jaringan biologis. Otak manusia terdiri atas sel-sel saraf yang disebut
neuron, yang berjumlah sekitar 1011
sel-sel saraf. Sel-sel saraf ini
berhubungan satu dengan yang lain membentuk jaringan yang disebut
jaringan saraf [4]. Proses yang terjadi dalam suatu sel saraf merupakan
proses elektrokimiawi. Di otak ini terdapat fungsi-fungsi yang sangat
banyak dan rumit, diantaranya adalah ingatan, belajar, bahasa, asosiasi,
penalaran, kecerdasan, dan inisiatif.
Semua sel saraf alami mempunyai empat komponen dasar yang
sama. Keempat komponen dasar ini diketahui berdasarkan nama biologinya
yaitu, dendrit, soma, akson, sinapsis. Dendrit merupakan suatu perluasan
4
dari soma yang menyerupai rambut dan bertindak sebagai saluran masukan.
Saluran input ini menerima masukan dari sel saraf lainnya melalui sinapsis.
Kemudian soma memproses nilai input menjadi sebuah output yang
kemudian dikirim ke sel saraf lainnya melalui akson dan sinapsis. Gambar
berikut menunjukkan komponen-komponen dari saraf [7].
Gambar 2.1 Komponen-Komponen Sel Saraf
Suatu jaringan saraf menerima ribuan informasi kecil dari berbagai
organ sensoris dan mengintegrasikannya untuk menentukkan reaksi yang
harus dilakukan. Kegiatan sistem jaringan saraf didasari oleh pengalaman
sensoris dari reseptor sensoris, baik berupa reseptor visual, reseptor
auditoris, reseptor raba dipermukaan tubuh, ataupun jenis reseptor lainnya.
Pengalaman sensoris ini dapat menyebabkan suatu reaksi segera dan
kenangannya dapat disimpan didalam otak [4]. Konsep dasar semacam
inilah yang ingin dicoba para ahli dalam menciptakan jaringan buatan.
5
2.2. Jaringan Saraf Buatan
Jaringan saraf buatan diperkenalkan pertama kali pada tahun 1943
oleh seorang ahli saraf Warren McCulloch dan seorang ahli logika Walter
Pitss [12]. Jaringan saraf buatan merupakan model yang meniru cara kerja
jaringan sel-sel saraf biologis. Penelitian yang berlangsung pada tahun
1950-an dan 1960-an mengalami hambatan karena minimnya kemampuan
komputer. Kemudian pada pertengahan tahun 1980-an dapat dilanjutkan lagi,
karena sarana yang dibutuhkan telah tersedia. Sistem saraf buatan dirancang
untuk menirukan karakteristik sel-sel saraf biologis. Beberapa definisi
tentang jaringan saraf buatan dikemukakan oleh para ahli.
Menurut [7] jaringan saraf didefinisikan sebagai sebuah prosesor yang
terdistribusi paralel dan mempuyai kecenderungan untuk menyimpan
pengetahuan yang didapatkannya dari pengalaman dan membuatnya tetap
tersedia untuk digunakan.
Sedangkan menurut [3]. Mendefinisikan jaringan saraf buatan sebagai
sebuah sistem yang dibentuk dari sejumlah elemen pemroses sederhana yang
bekerja secara paralel dan fungsinya ditentukan oleh stuktur jaringan,
kekuatan hubungan serta pengolahan dilakukan pada komputasi elemen-
elemennya.
2.2.1. Arsitektur Jaringan Saraf Buatan
Pemodelan struktur pemrosesan informasi terdistribusi
dilakukan dengan menentukan pola hubungan antar sel-sel saraf
buatan. Pola hubungan yang umum adalah hubungan antar lapisanr
6
(lapisan). Setiap lapisan terdiri dari sekumpulan sel saraf buatan
(unit) yang memiliki fungsi tertentu, misalnya fungsi masukan
(input) atau fungsi keluaran (output).
Sistem saraf buatan terdiri dari tiga lapisan unit, yaitu:
1. Unit input
Pada gambar 2.2 unit input dinotasikan dengan i. Unit input ini
menerima data dari jaringan saraf luar. Aktifasi unit-unit lapisan
input menunjukkan informasi dasar yang kemudian digunakan
dalam jaringan saraf buatan.
2. Unit tersembunyi
Unit tersembunyi dinotasikan dengan h pada gambar 2.2. Unit
tersembunyi menerima dan mengirim sinyal ke jaringan saraf.
Aktifasi setiap unit-unit lapisan tersembunyi ditentukan oleh
aktifasi dari unit-unit input dan bobot dari koneksi antara unit-
unit input dan unit-unit lapisan tersembunyi.
3. Unit output
Unit output dinotasikan dengan o. Unit output mengirim data ke
jaringan saraf. Karakteristik dari unit-unit output tergantung dari
aktifasi unit-unit lapisan tersembunyi dan bobot antara unit-unit
lapisan tersembunyi dan unit-unit output. Dalam jaringan saraf
buatan lapisan banyak unit output bisa digunakan kembali
menjadi unit input yang diproses dalam lapisan selanjutnya.
7
X1 X2 X3 X4
i1 i2 i3 i4
h1 h2 h3
o1 o2
Y1 Y2
Gambar 2.2 Jaringan Saraf Buatan
Sedangkan tipe arsitektur jaringan saraf buatan ada tiga yaitu :
1. Jaringan dengan lapisan tunggal (Single Lapisanr Net)
Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan
bobot yang terhubung. Jaringan ini hanya menerima input kemudian
secara langsung akan mengolahnya menjadi output tanpa harus melalui
lapisan tersembunyi (Gambar 2.3).
Gambar 2.3. Jaringan Saraf Buatan Lapisan Tunggal Feedforward
8
2. Jaringan dengan lapisan banyak (Multilapisanr Net)
Pada tipe ini, diantara lapisan masukan dan keluaran terdapat satu atau
lebih lapisan tersembunyi (Gambar 2.4). Hubungan antar lapisan
berlangsung satu arah. Jaringan dengan banyak lapisan ini dapat
menyelesaikan permasalahan yang lebih sulit dari pada lapisan tunggal.
Gambar 2.4. Jaringan Saraf Buatan Lapisan Banyak Feedforward
3. Reccurent Network
Tipe reccurent berbeda dengan kedua tipe sebelumnya. Pada reccurent,
sedikitnya memiliki satu koneksi umpan balik (feedback).
Gambar 2.5. Jaringan dengan lapisan kompetitif reccurent
9
2.2.2. Model-Model Pembelajaran
Menurut [10] model pembelajaran dibedakan menjadi tiga, yaitu :
1. Supervised Learning
Pada model pembelajaran ini, jaringan saraf buatan menggunakan
variabel prediktor sebagai input yang akan dijadikan indikator untuk
menerangkan variabel target sebagai outputnya. Variabel-variabel
prediktor tersebut disesuaikan dengan target output yang ingin
dihasilkan. Tujuan model supervised learning adalah untuk
menentukan nilai bobot-bobot koneksi didalam jaringan sehingga
jaringan tersebut dapat melakukan pemetaan dari input ke output
sesuai dengan yang diinginkan. Jaringan perceptron, dan
backpropagation merupakan model-model dengan tipe supervised
learning [8].
Tabel 2.1 Data Sederhana Pengenalan Huruf Alphabet
Variabel Prediktor
Contoh
Posisi
horizontal
Posisi
vertikal
Panjang
box
Tinggi
box
Jumlah
pixel
Variabel
Target
1 2 8 3 5 1 T
2 5 12 3 7 2 I
3 4 11 6 8 6 D
4 7 11 6 6 3 N
5 2 1 3 1 1 G
Model pembelajaran supervised learning selalu memiliki satu
kolom yang merupakan variabel target, pada contoh data sederhana
pengenalan huruf diatas variabel targetnya adalah huruf alphabet. Pada
model pembelajaran ini tiap-tiap variabel memiliki suatu hubungan
10
yang tidak saling bebas. Sebagai contoh, Huruf T diprediksi berada
dalam posisi horizontal yang dihitung dari sebelah kiri gambar dan
huruf berada di tengah box pada titik koordinat 2 pixel, posisi vertikal
dihitung dari bagian bawah pada box di titik koordinat 8 pixel,
Sedangkan panjang box berada pada titik koordinat 3 pixel dan tinggi
box berada pada titik koordinat 5 pixel. Jika huruf alphabet berada
dalam karakteristik variabel target maka dapat dikatakan huruf tersebut
berhasil dalam mengklasifikasikan huruf alphabet.
2. Unsupervised Learning
Berbeda dengan model supervised learning, dalam model
unsupervised learning tidak terdapat variabel target dari kategori pola-
pola yang akan diklasifikasikan hanya terdiri dari variabel prediktor.
Untuk model pembelajaran ini biasanya hanya dilakukan proses
clustering lihat tabel 2.2. Bukan pengklasifikasian seperti pada model
pembelajaran supervised.
Tabel 2.2 Hak pilih USA senator pada 6 persoalan
Issue Class 1 Class 2 Toxic Waste Yes No Budget Cuts Yes No
SDI Reduction No Yes Contra Aid Yes No
Line-Item Veto Yes No
MX Production Yes No
3. Semi Unsupervised Learning
Model semi unsupervised learning awalnya adalah model
unsupervised learning, data percobaan untuk model ini biasanya tidak
11
memiliki variabel target. Oleh karena itu, proses klasifikasi dengan
model pembelajaran ini dilakukan dengan cara menentukan variabel
targetnya terlebih dahulu (two step analysis).
2.3 Fungsi Aktivasi
Pada setiap lapisan pada jaringan saraf buatan terdapat fungsi aktivasi.
fungsi ini adalah fungsi umum yang akan digunakan untuk membawa input
menuju output yang diinginkan. Fungsi aktivasi inilah yang akan
menentukan besarnya bobot.
Karakter dari jaringan saraf buatan tergantung pada bobot dan fungsi
input-output (Fungsi Transfer) yang mempunyai ciri-ciri tertentu untuk
setiap unit. Fungsi ini terdiri dari tiga kategori, yaitu : fungsi linear, fungsi
threshold, dan fungsi sigmoid (Gambar 2.6). Pada fungsi linear, aktivasi
output adalah sebanding dengan jumlah bobot output. Untuk fungsi
threshold, output diatur satu dari dua tingkatan tergantung dari apakah
jumlah input lebih besar atau lebih kecil dari nilai batasnya. Sedangkan
Fungsi sigmoid, outputnya terus menerus berubah tetapi tidak berbentuk
linear.
i
Threshold (sgn)
i i
Linear Sigmoid
Gambar 2.6. Jenis fungsi aktivasi yang digunakan dalam jaringan saraf buatan
12
Ada beberapa pilihan fungsi aktivasi yang digunakan didalam metode
backpropagation, seperti fungsi sigmoid biner dan sigmoid bipolar
(Gambar 2.7.). Untuk lebih jelasnya, berikut adalah penjelasan lebih lengkap
tentang fungsi sigmoid biner dan sigmoid bipolar, yaitu:
1. Fungsi Sigmoid Biner
Fungsi ini merupakan fungsi yang umum digunakan dalam metode
backpropagation. Nilai jangkauannya diantara (0,1) dan didefinisikan
sebagai :
f ( x) =
1
1 + e − x
dengan turunan : f ( x)' = f ( x)(1 − f ( x)) (2.1)
2. Fungsi Sigmoid Bipolar
Fungsi ini merupakan fungsi yang umum digunakan dalam metode
backpropagation. Range diantara (-1,1) dan didefinisikan sebagai:
g ( x) = 2 f ( x) − 1
dengan f ( x) = 1
1 + e − x
sehingga
g ( x) = 2 f ( x) − 1
1
= 2 − 1
1 + e
− x
1 − e ( − x )
= 1 + e
( − x )
(2.2)
13
dengan turunan : g ( x)' = 1
(1 + g ( x))(1 − g ( x)) 2
(2.3)
Gambar 2.7. Fungsi sigmoid biner dan fungsi sigmoid bipolar
2.4. Perceptron
Salah satu tipe dari sistem jaringan saraf buatan didasarkan pada
sebuah unit yang disebut perceptron, dan diilustrasikan pada gambar 2.8.
Sebuah perceptron menerima vektor input yang berupa nilai bilangan real.
Perceptron memiliki perhitungan kombinasi linear yang berasal dari
penjumlahan vektor input ( x1 , x
2 ,..., x
n ) , vektor bobot (w
1 , w
2 ,..., w
n ) dan
nilai thresholdnya (w0). Hasil output akan bernilai 1 jika perhitungan
kombinasi linearnya lebih besar dari pada 0 dan -1 jika perhitungan
kombinasi linearnya lebih kecil atau sama dengan 0. Kombinasi linear untuk
output perceptron dapat dituliskan sebagai:
1 jika
w0 + w1 x1 + w2 x2 + .... + wn x n > 0
o(x1, x2, ......., xn) = (2.4)
− 1 jika w0
+ w1 x
1 + w
2 x
2 + .... + w
n x
n ≤ 0
14
x0=1 w0
x1 w1
x2 w2
wn
∑
n
∑ wi x
i
i =0
o = 1
jika
n
∑ j =0
wi x j
xn − 1 untuk yang lainnya
Gambar 2.8 Perceptron
x1, x2, ... , xn adalah input, o(x1 ,..., xn ) adalah output dan wi adalah konstanta
real atau bobot (weight), dimana bobot menentukan kontribusi dari input xi
pada output perceptron. Fungsi perceptron dapat dituliskan sebagai :
r r r
o(x ) = sgn (w ⋅ x ) (2.5)
dan
dengan
1
sgn (y) = −1
jika
jika
r r
y>0
y≤0
(2.6)
y = w' ⋅ x (2.7)
2.4.1. Aturan Pembelajaran Perceptron
Masalah pembelajaran perceptron tunggal adalah
menentukan vektor bobot, karena perceptron menghasilkan output
± 1 untuk setiap contoh percobaan. Beberapa algoritma diketahui
dapat menyelesaikan permasalahan tersebut, antara lain: perceptron
rule dan delta rule. Algoritma tersebut sangat penting dalam jaringan
saraf buatan karena merupakan dasar dari pembelajaran jaringan
untuk lapisan banyak.
15
Salah satu cara untuk mempelajari vektor bobot yang tepat
yaitu dimulai dengan penentuan bobot secara acak, kemudian secara
iteratif dengan menggunakan perceptron untuk menghasilkan output
pada setiap contoh percobaan, setelah itu memodifikasikan bobot
perceptron. Proses ini terus diulang sampai pengklasifikasian
perceptron untuk semua contoh percobaan menjadi tepat. Bobot
dimodifiikasi pada setiap langkah berdasarkan aturan pembelajaran
perceptron (perceptron learning rule), yang meninjau kembali bobot
wi dengan input xi berdasarkan kaidah:
dengan
keterangan:
wi ← wi + ∆wi
∆wi = η (t − o )xi
(2.8)
(2.9)
t = target output contoh percobaan
o = output perceptron
η = konstanta positif yang disebut learning rate
2.4.2. Delta Rule
Perceptron rule dapat digunakan untuk mencari vektor bobot
yang paling tepat ketika contoh data percobaannya terpisah secara
linear. Namun, tidak semua data dapat dipisahkan secara linear.
Dalam hal ini perceptron rule tidak mampu mengatasi permasalahan
dengan kasus data yang tidak dapat dipisahkan secara linear, data
tersebut dikenal dengan istilah data non-linearly separable sets. Oleh
16
2
w
karena itu, pada pembahasan yang berikutnya digunakanlah delta
rule yang dapat mengatasi permasalahan tersebut.
Kunci dari delta rule dalam mencari ruang hipotesis dari
bobot vektor yang mungkin adalah dengan menggunakan gradient
descent sehingga didapatkan bobot yang paling tepat untuk suatu
contoh percobaan. Aturan ini penting karena gradient descent
merupakan dasar untuk algoritma backpropagation yaitu
pembelajaran untuk jaringan dengan banyak unit yang terhubung.
Terdapat banyak cara untuk mendefinisikan nilai error dari
model (vektor bobot). Salah satu ukuran yang dapat menurunkan
nilai error dengan tepat adalah :
r 1 2
E(w) ≡ ∑ (t d − od ) d∈D
(3.0)
dengan D adalah himpunan dari contoh data percobaan, td adalah
target output untuk contoh percobaan d dan od adalah output dari unit
linear untuk contoh percobaan d. Error E digolongkan sebagai fungsi
dari r
karena output unit linear o bergantung pada bobot vektor.
Karena permukaan error terdiri dari minimum global tunggal,
algoritma delta rule hanya akan mengkonvergenkan vektor bobot
dengan error minimum, tanpa memperhatikan apakah contoh
percobaannya terpisah secara linear atau tidak. Nilai η yang
digunakan pada algoritma ini awalnya adalah bilangan yang tidak
kecil namun juga tidak terlalu besar, kemudian untuk mendapatkan
17
bobot yang tepat nilai η diperkecil setelah langkah perbaikan ke-n.
Jika η terlalu besar, pencarian turunan gradient akan menimbulkan
resiko, yaitu terlalu banyaknya langkah yang dilakukan untuk
mencari permukan error yang minimum.
2.5. Gambaran Stokastik Untuk Gradient Descent
Salah satu pola model umum yang digunakan pada proses
pembelajaran adalah gradient descent. Gradient descent merupakan suatu
strategi untuk mencari ruang model yang tak terbatas atau besar yang dapat
digunakan ketika ruang model memuat parameter model yang kontinu dan
error dapat diturunkan dengan parameter modelnya tersebut. Namun,
gradient descent ini juga memiliki kelemahan yaitu tidak mudah digunakan
dan terkadang lambat dalam pengkonvergenan solusinya. Jika ada beberapa
minimum lokal pada permukaan error, maka tidak ada jaminan bahwa akan
didapatkan minimum global [11].
Tujuan digunakannya gradient descent yaitu untuk mempermudah
strategi pencarian model, hal tersebut dikenal dengan incremental gradient
descent atau stokastik gradient descent. Sedangkan ide dasar pada stokastik
gradient descent yaitu pencarian bobot yang tepat dilakukan berdasarkan
perhitungan error pada setiap contoh baris datanya. Stokastik gradient
descent biasanya menggunakan nilai learning rate η yang cukup kecil agar
langkah pengulangan yang dilakukan tidak terlalu besar, sehingga
didapatkan perkiraan gradient descent yang mendekati nilai sebenarnya.
18
2.6 Data Pengenalan Huruf Alphabet
Data pengenalan huruf berasal dari David J. Slate [5] (Northwestern
University) pada tahun 1991 dan telah banyak dipakai dalam berbagai
penelitian. Salah satunya adalah penelitian yang dilakukan P.W.Frey dan
D.J. Slate [2] dengan judul Letter Recognition Using Holland-Style Adaptive
Classifiers. Tingkat ketelitian pada penelitian ini mencapai 80% dan
memiliki nilai error mencapai 20%.
19
BAB III
JARINGAN SARAF BUATAN LAPISAN BANYAK
Jaringan saraf buatan lapisan banyak merupakan perluasan dari jaringan
saraf buatan lapisan tunggal. Pada jaringan saraf buatan lapisan tunggal
menggunakan pendekatan algoritma perceptron yang hanya menghasilkan fungsi
linear. Sebaliknya, Jaringan saraf buatan lapisan banyak menggunakan
pendekatan algoritma backpropagation yang akan merepresentasikan fungsi non
linear. Dalam jaringan ini selain unit input dan output terdapat unit tersembunyi.
Hubungan antar lapisan berlangsung satu arah.
3.1 Unit Sigmoid
Unit perceptron merupakan salah satu tipe dari jaringan saraf buatan
dengan unit tunggal dengan fungsi yang dihasilkan adalah fungsi yang
linear. Namun, unit perceptron tidak dapat menjelaskan fungsi yang non
linear, Oleh karena itu, Jaringan saraf buatan lapisan banyak mampu
menggambarkan fungsi yang non linear. Salah satu solusinya adalah dengan
unit sigmoid, yaitu sebuah unit yang mirip dengan perceptron, dan proses
dasar pekerjaan dilakukan sesuai tahapan.
Sama dengan perceptron, unit sigmoid pertama kali menghitung
kombinasi linear dari input, kemudian menggunakan nilai batas untuk
hasilnya. Pada kasus unit sigmoid, hasil output merupakan fungsi yang
kontinu dari input-inputnya dan unit sigmoid menghitung output ok, secara
singkat rumus yang digunakan dapat ditulis sebagai:
20
( )
x
Rumus fungsi sigmoid:
o( net )= n
∑ i =0
w ji.
xi
+ θ j 0
(3.1)
σ = 1
−o ( net )
(3.2)
Maka output ok
1 + e
n
ok = σ (∑ i =0
w ji.
xi
+ θ j 0
)
(3.3)
dimana x1, x2, ..., xn adalah input, o(x1 ,..., xn ) adalah output dan wi adalah
bobot yang menentukan kontribusi dari input xi pada output
backpropagation. σ disebut fungsi sigmoid atau fungsi logistik. Range
output yang dihasilkan oleh unit sigmoid antara 0 sampai 1, dan bersifat
monoton naik. Karena unit sigmoid memetakan domain bilangan input yang
sangat besar ke range output yang kecil, Sigmoid sering disebut dengan
pengkompresan hasil dari unit. Fungsi sigmoid memiliki sifat bahwa
turunannya secara mudah diperlihatkan dalam bentuk output
= σ (y ) ⋅ (1 − σ (y )) . Unit sigmoid diilustrasikan sebagai berikut:
dσ y dy
x0=1
w0
w1
1
x2 w2
w0
xn
∑
n
net = ∑ wi x j + θ j 0
j =0
Gambar 3.1. Sigmoid
o = σ (net) =
1
1 + e −o ( net )
21
= k k
3.2. Turunan dari Aturan Algoritma Backpropagation
Masalah yang paling pokok dalam bab ini adalah aturan penurunan
stokastik gradient descent yang diimplementasikan oleh algoritma
backpropagation. Berdasarkan persamaan (3.0) bahwa stokastik gradient
descent melibatkan iterasi pada sebuah waktu contoh percobaan, untuk
setiap contoh percobaan d menurunkan nilai gradient dari error Ed pada
contoh tunggal. Dengan kata lain, untuk setiap contoh percobaan d setiap
bobot wij di update oleh penambahan ∆wij dengan rumus sebagai berikut:
∆wi j
= −η =∂E
d
∂wi j
(3.4)
Dimana Ed adalah error pada contoh percobaan d ditambahkan dengan
semua unit output pada jaringan (persamaan 3.0)
1
Ed 2 ∑ (t − o )2
k∈output
outputnya disini adalah himpunan dari unit output pada jaringan, tk adalah
nilai target dari unit k untuk contoh percobaan d dan ok adalah output dari
unit k pada contoh percobaan d.
Notasi :
x ji = input ke i sampai input j
wji = bobot dengan input ke i sampai input j
netj = ∑i
w ji
x ji
(jumlahan bobot dari input untuk unit j)
oj = output dihitung berdasarkan unit j
tj = target output untuk unit j
22
j
σ = fungsi sigmoid
output = himpunan dari unit-unit pada lapisan terakhir dari
suatu jaringan
Downstream(j) =himpunan dari unit-unit yang berada satu lapisan
dibawahnya termasuk output dari unit j
Penurunan stokastik gradient descent =∂Ed
∂w ji
merupakan implementasi
dari persamaan (3.4). Dengan catatan bahwa bobot wij dapat mempengaruhi
sisa dari jaringan hanya sampai netj. Oleh karena itu,
=∂E d ∂E ∂net
j
= d
∂w ji ∂net j ∂w ji
= =∂E
d ∂∑i
w ji x ji
∂net j
= =∂Ed x ∂net
ji
∂w ji
(3.5)
dalam penurunan =∂Ed
∂w ji
terdapat dua pandangan kasus yaitu: kasus dimana
unit j adalah unit keluaran untuk jaringan dan kasus dimana j adalah unit
tersembunyi untuk jaringan.
Kasus 1 : Aturan percobaan untuk bobot unit output.
wij dapat mempengaruhi sisa dari jaringan hanya sampai netj, netj dapat
mempengaruhi jaringan hanya sampai o j. Oleh karena itu,
23
∂
( ) j j
( )
j
∂Ed
j j
=∂Ed =
=∂E d ∂o
j
(3.6) ∂net j ∂o j ∂net j
pandang bentuk pertama pada persamaan 3.0
∂Ed ∂ 1 2
= ∂o ∂o 2 ∑ (t k − ok )
j j k∈output
Penurunan (t k
∂o j − o
k )2
akan nol untuk semua unit output k kecuali saat k = j.
=∂E
d = ∂ 1 (t −o )2
∂oj ∂oj 2
1 ∂(t −o ) = 2 t −o 2
j j ∂o
j
= −(tj −o
j ) (3.7)
karena ∂o
j
o j = σ net j , penurunan ∂net j
merupakan penurunan dari fungsi
sigmoid, yang sama dengan σ (net j )(1 − σ (net j )) . Oleh karena itu,
∂o j ∂σ (net
j ) = ∂net j ∂net j
= σ ' (net )
= σ (net j )(1 − σ (net j ))
= o j (1 − o j )
(3.8)
substitusikan persamaan (3.7) dan (3.8) kedalam persamaan (3.6). Didapatkan,
=∂E
d = =∂E
d ∂o j
∂net j ∂o j ∂net j
= −(t j
− o j )o
j (1 − o
j )
∂net (3.9)
j
24
j
dan kombinasikan persamaan (3.9) dengan persamaan (3.4). Maka didapatkan
aturan stokastik gradient descent untuk unit output
∆wi j
= −η =∂E
d
∂wij
= −η =∂E
d ∂net j
∂net j ∂w ji
= η (t j − o j )o j (1 − o j )x ji
(3.10)
Kasus 2 : Aturan Percobaan untuk Bobot unit tersembunyi
Pada kasus ini j merupakan unit tersembunyi pada jaringan, turunan dari aturan
percobaan untuk wji harus mengmbil perhitungan secara tidak langsung dimana wji
dapat mempengaruhi output jaringan dan Ed. Notasikan himpunan semua unit
yang input-inputnya termasuk dalam output unit j dengan Downstream (j). Catat
bahwa netj dapat mempengaruhi jaringan keluaran dan Ed hanya sampai unit pada
Downstream (j). Oleh karena itu, dapat ditulis sebagai berikut:
=∂E
d = ∑ =∂E
d ∂net
k
∂net j k∈Downstream( j ) ∂net k ∂net j
= ∑ − δ =∂net k
k net
k∈Downstream( j ) ∂ j
∂net ∂o j
= ∑ − δ k
k∈Downstream( j )
k ∂o ∂net
j
= ∑ − δ w ∂o j
k∈Downstream( j ) k kj ∂net j
= ∑ − δ k wkj o j (1 − o j ) k∈Downstream( j )
(3.11)
25
setelah mengatur kembali bentuk persamaan di atas dan menggunakan δ j
untuk menotasikan − =∂E
d , didapatkan ∂net j
δ j = o j (1 − o j ) ∑δ k wkj
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
0 ≤ α < 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 = or (1 − or ) ∑ wsr δ 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 = or (1 − or ) ∑ wsrδ s
s∈downstream( r )
(3.16)
dimana Downstream(r) 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 − okd ) d∈D k∈outputs
(3.17)
D adalah himpunan dari contoh data percobaan, outputnya adalah himpunan
dari unit output pada jaringan, tkd dan okd 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) xij menotasikan input dari titik i ke unit j, dan wij menotasikan hubungan
bobot.
c) δ n menotasikan error dengan unit n.
Algoritma Backpropagation
BACKPROPAGATION (Contoh percobaan, η , nin , nout , nhidden )
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), nin adalah bilangan dari input jaringan,
ntersembunyi adalah bilangan dari unit pada lapisanr tersembunyi, dan nout adalah
bilangan dari unit output.
input dari unit i sampai j dinotasikan dengan xji, dan bobot dari i sampai j
dinotasikan dengan wji.
1. Buat jaringan feedforward dengan input nin, unit tersembunyi nhiiden, dan
unit output nout.
2. Inisialkan semua bobot awal jaringan ke bilangan acak yang kecil
(antara -0,05 sampai 0,05).
3. Hitung output o(net ) dari setiap unit k pada jaringan. n
o(net) = ∑ w ji xi
i =0
+ θ j 0 (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 ( ok ).
n
ok = σ (∑ i =0
w
ji. x
i + θ
j 0 )
(3.3)
6. Hitung nilai error pada lapisan output ok, dengan bentuk error( δ k ).
δ k
← ok (1 − o
k )(t
k − o
k )
(3.9)
7. Hitung nilai error pada lapisan tersembunyi h, dengan bentuk error( δ h ).
δ h ← ok (1 − ok )∑ wkhδ k
(3.12)
δ r = or (1 − or ) ∑ wsr δ s ;Untuk jaringan uniform m-lapisan (3.15) s∈layer m+1
δ r = or (1 − or ) ∑ wsr δ s
s∈downstream( r )
; Untuk jaringan sembarang n-iterasi (3.16)
8. Hitung perubahan setiap bobot jaringan( ∆ wji ).
∆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
x1 x2 t
1 1 0 1 0 1 0 1 1 0 0 0
Langkah 1.
Membuat Jaringan feedforward dengan unit input nin yaitu x1 dan x2 , terdapat 2
lapisan unit tersembunyi nhiiden yaitu z1 , z2 , z3
, z4 dan unit output nout.
33
Y
w50 w31 w32
1 z3 z 4
w
30
1
w40
z1
w 21
w22
w23
w24
z
2
w10
1
w20
w11
w12
x1
w13
w14
x2
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
w11 = 0,05 w13 = 0,03
w12 = -0,05 w14 = -0,02
- dan bobot awal unit tersembunyi lapis 1 ke unit tersembunyi lapis 2
w21 = 0,03 w23 = 0,04
w22 = -0,01 w24 = 0,05.
34
1
2
3
4
- Lebih lanjut lagi bobot awal unit tersembunyi ke unit output
w31 = -0,04
w32 = 0,05,
- Bobot awal bias ke unit tersembunyi lapis 1
w10 = -0,03
w20 = 0,04,
- Bobot awal bias ke unit tersembunyi lapis 2
w30
= 0,02
w40
=0,01
- Serta terakhir bobot awal bias ke unit output adalah
w50 =0,03
Langkah 3.
Hitung output o(net ) dari setiap unit k pada unit tersembunyi :
n
rumus : o(net ) = ∑ w ji x i
i =0
+ θ j 0
o1 (net) = (0,05)(1) + (0,03)(1) + (-0,03) = 0,05
o2 (net) = (-0,05)(1) + (-0,02)(1) + (0,04) = -0,03
o3 (net) = (0,03)(1) + (0,04)(1) + (0,02) = 0,09
o4 (net) = (-0,01)(1) + (0,05)(1) + (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 o(net ) dari setiap unit k pada lapisan keluaran output ok :
n
ok = ∑ w
ji x
i
i =0
+ θ j 0
= (0,52)(-0,04)+(0,51)(0,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 ← ok (1 − ok )(t k − ok )= (0,5) (1-0,5) (0-0,5) = -0,125
δ k
merupakan error yang dipakai dalam perubahan bobot lapisan dibawahnya.
ok merupakan nilai output pada jaringan keluaran dan tk adalah target keluaran.
Langkah 7.
Kemudian cari penjumlahan error berdasarkan error untuk setiap unit tersembunyi
h, hitung bentuk error δ h
δ h ← ok (1 − ok ) ∑ wkhδ k
k∈outputs
Pertama cari penjumlahan delta rule dari unit tersembunyi, dimana
dari hasil delta rule pada unit keluaran
δ k = -0,125
δ k
=
∑ wkhδ k
k∈output
δ 1 = (-0,125) (0,05) = -0,006
δ 2
= (-0,125) (-0,04) = 0,005
δ 3
=
(-0,125) (0,04) + (-0,125)(0,05) = 0,011
δ 4
= (-0,125) (0,03) + (-0,125)(-0,01) = -0,002
δ h ← ok (1 − ok ) ∑ wkhδ 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( ∆ wji )
∆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,...
∆w50 = (0,05) (-0,125) (1) = -0,00625
∆w31 =(0,05) (-0,125) (0,52) = -0,00325
∆w32
=(0,05) (-0,125)(0,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
∆w10
= (0,05) (0,001) (1) = 0,00005
∆w20 = (0,05) (-0,001) (1) = -0,00005
∆w11 = (0,05) (0,001) (1) = 0,00005
∆w12 = (0,05) (-0,001) (1) = -0,00005
∆w13 = (0,05) (0,001) (1) = 0,00005
∆w14
= (0,05) (-0,001) (1) = -0,00005
� Unit tersembunyi lapis 2
∆w30
=(0,05) (-0,0004) (1) = -0,00002
∆w40
=(0,05) (0,002) (1) =0,0001
∆w21
=(0,05) (-0,0004) (1) = -0,00002
37
∆w22 =(0,05) (0,002) (1) = 0,0001
∆w23
=(0,05) (-0,0004) (1) = -0,00002
∆w24
=(0,05) (0,002) (1) = 0,0001
Langkah 9.
Hitung perubahan bobot jaringan baru.
w ji
← w ji
+ ∆w ji
Perubahan bobot unit keluaran :
∆w50 = (0,03) + (-0,006)= 0,024
∆w31 = (-0,04) + (-0,003)= -0,043
∆w32
= (0,05) + (-0,003)= 0,047
Perubahan bobot unit tersembunyi layar 1
∆w10 = -0,03 + 0,00005 = -0,03
∆w20 = 0,04 - 0,00005 = 0,04
∆w11
= 0,05 + 0,00005 = 0,05
∆w12
= -0,05 - 0,00005 = -0,05
∆w13 = 0,03 + 0,00005 = 0,03
∆w14
= -0,02 - 0,00005 = -0,02
Perubahan bobot unit tersembunyi layar 2
∆w30
= 0,02 – 0,00002 = 0,02
∆w40 = 0,01 + 0,0001 = 0,01
∆w21 = 0,03 – 0,00002 =0,03
∆w22 = -0,01 +0,0001 = -0,01
∆w23 = 0,04 – 0,00002 = 0,04
∆w24
= 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
Algoritma backpropagation pada jaringan saraf buatan lapisan banyak
dengan beberapa unit yang terhubung dapat dikembangkan untuk
permasalahan multiklasifikasi. Untuk lebih jelasnya modifikasi dari
algoritma backpropagation ini masalah multiklasifikasi dijelaskan dengan
contoh berikut.
Tabel 3.2. Contoh Data Sederhana
Variabel Prediktor Variabel Target
x1 x
2 y
1 1 a
1 0 b
0 1 c 0 0 d
Diberikan contoh permasalahan data seperti tabel 3.2. Multiklasifikasi
dimulai dengan membuat jaringan feedforward dengan unit input nin yaitu
x1 , x2. dan terdapat satu lapisan unit tersembunyi nhiden yaitu z1 , z2 , z3
dan
unit output yaitu a, b, c , d.
39
a b c d
w40
1
w50
w60
w
70
w22
w21
z1
w23
w24
w26
w 25
w27
z
2
w
28
w31
w29
w
32
w33
z3
w10
1
w20
w
30
w
11
X1
w
12
w
13
w
14
w15
x2
w16
Gambar 3.3. Struktur jaringan dengan bilangan n-arry
Cara kerja dalam permasalahan multiklasifikasi memiliki kesamaan
dengan binary klasifikasi yaitu membuat struktur jaringan kemudian
merandom bobot jaringan dan menghitung unit output. Perbedaannya
terletak pada proses perhitungan output dimana untuk kasus multiklasifikasi
hasil output akan bekerja sesuai dengan proses klasifikasi, yaitu perhitungan
output pada kelas A diproses melalui pembelajaran algoritma
backpropagation dengan bilangan binary, jika hasil output masuk kedalam
klasifikasi kelas A, maka kelas tersebut mengandung nilai 1, Sedangkan
selain kelas A mengandung nilai 0. Keadaan ini dikerjakan sesuai dengan
proses pembelajaran multiklasifikasi yang berarti proses binary n kali.
40
Cara kerja algoritma backpropagation pada jaringan saraf buatan
lapisan banyak dapat diringkas dalam bentuk flowchart sebagai berikut:
Start
70% Training Data
30% Test Data
1. Membuat
jaringan
feedforword
2. Randomize bobot
|wji|<0,05
Hitung n
3. o(net) = ∑ w ji x
i
i =0
+ θ j 0
4. σ = 1
1 + e −o ( net )
n
5. ok = σ (∑ i =0
w ji. xi + θ j 0 )
6. δ k ← ok (1 − ok )(t k − ok ) 7. δ h ← ok (1 − ok )∑ wkhδ k
8. ∆w ji = ηδ j x ji ; j= k,h
9. w ji ← w ji + ∆w ji
Tidak
td=od
∀ d ∈ D
Ya
Akurasi error
generalisasi
End
Gambar 3.4. Flowchart Algoritma Backpropagation
41
BAB IV
STUDI NUMERIK DAN ANALISIS
Pada bab ini akan dijelaskan mengenai metode jaringan saraf buatan
lapisan banyak menggunakan algoritma backpropagation dalam menghasilkan
error minimum dalam mencari model yang tepat. Permasalahan yang akan dibahas
yaitu mengenai permasalahan klasifikasi pengenalan huruf alphabet.
4.1. Deskripsi Studi Numerik
Metode jaringan saraf buatan lapisan banyak dapat diaplikasikan pada
berbagai masalah tertentu di kehidupan sehari-hari. Untuk lebih memahami
proses pengklasifikasian pada metode jaringan saraf buatan lapisan banyak
dan nilai error, maka dilakukan studi numerik dengan mengambil
permasalahan yang sederhana. Data-data tersebut diperoleh dari machine
learning database [8]. Dalam proses kerjanya, data ini dipisahkan menjadi
dua bagian yaitu training data dan test data. Pembagian data ini dilakukan
secara random. Pada studi numerik disini penulis mengambil proporsi 70%
training data dan 30% test data.
Pengolahan data yang dilakukan dalam skripsi ini menggunakan
algoritma backpropagation dengan bantuan software SPSS 16 dalam
pencarian nilai errornya. Hal tersebut dilakukan karena asumsi dari data
yang digunakan belum diketahui. Untuk mendapatkan nilai error yang lebih
valid, percobaan tersebut dilakukan sebanyak sepuluh kali dengan sample
random atau biasa dikenal dengan 10 fold cross validation (CV).
42
4.2. Pengenalan Huruf Alphabet
Data pengenalan huruf alphabet merupakan salah satu data yang cocok
untuk mengetahui pengenalan suatu pola. Permasalahan yang akan diangkat
pada studi numerik adalah mencari nilai error minimum untuk
mengidentifikasi setiap huruf dengan tulisan tangan berwarna hitam-putih
yang terdapat dalam persegi panjang gambar digital dengan satuan pixel,
huruf tersebut akan diklasifikasikan ke salah satu dari 26 huruf alphabet.
Huruf-huruf tersebut berasal dari 20 bentuk huruf yang berbeda dan setiap
huruf dari berbagai karakter tersebut diacak secara random. Simulasi yang
dilakukan pada studi numerik ini menggunakan 20.000 baris data.
Cara penulisan diambil dari 20 bentuk yang berbeda menggunakan dua
cara teknik penulisan, yaitu stroke style merupakan penulisan huruf yang
dilakukan dengan cara mengambil dari titik atas sampai titik bawah yang
terdapat dalam 6 jenis cara penulisan yaitu simplex, duplex, triplex, complex,
dan ghotic. Kemudian 6 jenis huruf tersebut dimasukan ke dalam bentuk
tulisan seperti Block, Script, Italic, English, Italian dan German.
Setiap karakter huruf di proses pertama kali dengan merubah kedalam
koordinat vektor, dan pengidentifikasian dilakukan pada garis paling bawah
pada huruf. Segmen garis tersebut dirubah ukurannya menjadi koordinat
(x,y) yang berbentuk persegi panjang dengan satuan pixel. Ukuran pixel
akan menggambarkan titik-titik yang berwarna hitam dan putih. Posisi ”on”
pada satuan pixel yang berwarna hitam dan ”off” satuan pixel yang
berwarna putih. Setiap huruf akan diidentifikasikan pada pixel on berwarna
43
hitam yang akan berbentuk huruf dan pixel tersebut berukuran persegi
panjang dengan ukuran 45 x 45 pixel.
Nilai error minimum diproses dalam pengidentifikasian huruf dari
20.000 baris data yang akan di karakteristik oleh 16 variabel prediktornya
kemudian akan diproses ke dalam klasifikasi 26 huruf alphabet yang
menjadi variabel target. Data pengenalan huruf tidak memuat data yang
tidak lengkap (missing value). Setiap huruf diklasifikasikan berdasarkan 17
variabel yang terdiri dari satu variabel target dan 16 variabel prediktor.
Variabel prediktor ini merupakan sebuah bilangan integer yang berkisar
antara 0 sampai 15. Variabel ini terdiri dari:
a. Variabel target: 26 huruf alphabet dari A sampai Z
b. Variabel prediktor:
1. V1 merupakan posisi horizontal dihitung dari sebelah kiri gambar dan
huruf berada di tengah box
2. V2 merupakan posisi vertikal dihitung dari bagian bawah pada box.
3. V3 merupakan panjang box.
4. V4 merupakan tinggi box.
5. V5 merupakan jumlah pixel on pada huruf dalam box.
6. V6 merupakan rataan nilai x pada pixel berwarna hitam “on”
7. V7 merupakan rataan nilai y pada pixel berwarna hitam “on”
8. V8 merupakan variansi rataan nilai x pada pixel berwarna hitam “on”
9. V9 merupakan variansi rataan nilai y pada pixel berwarna hitam “on”
44
10. V10 merupakan jumlah rataan x dan y pada pixel berwarna
hitam“on”
11. V11 merupakan variansi rataan nilai x dikalikan dengan rataan y
pada pixel berwarna hitam “on”
12. V12 merupakan variansi rataan nilai y dikalikan dengan rataan x pada
pixel berwarna hitam “on”
13. V13 merupakan rataan posisi pixel ”on” dari kiri ke kanan.
14. V14 merupakan jumlah posisi vertikal pada rataan posisi pixel ”on”
dari kiri ke kanan.
15. V15 merupakan rataan posisi pixel ”on” dari bawah ke atas.
16. V16 merupakan jumlah posisi horizontal pada rataan posisi pixel
”on” dari bawah ke atas.
Untuk lebih jelasnya pengidentifikasian huruf alphabet menggunakan
16 variabel prediktor akan dijelaskan dengan contoh berikut.
Gambar 4.1. Contoh sampel yang merepresentasikan huruf ‘A dan
Pembagian region pada sample berikut nilai pixel aktifnya
Huruf A diprediksi berada dalam posisi horizontal yang dihitung dari
sebelah kiri gambar dan huruf berada di tengah box pada titik koordinat 13
pixel, posisi vertikal dihitung dari bagian bawah pada box di titik koordinat
22 pixel, Sedangkan tinggi box berada pada titik koordinat 22 pixel. Jika
45
huruf A berada dalam karakteristik 16 variabel prediktor maka huruf
tersebut sudah memiliki error minimum dan berhasil dalam
mengklasifikasikan huruf alphabet.
Gambar 4.2 menjelaskan struktur hasil pengidentifikasian huruf
alphabet yaitu lapisan pertama terdapat 20.000 baris data yang digunakan
sebagai input, banyaknya unit pada dua lapisan tersembunyi yang digunakan
yaitu 40 unit pada lapisan kesatu dan 30 unit pada lapisan kedua, dan lapisan
terakhir merupakan target yang dihasilkan dalam pengenalan huruf alphabet
Gambar 4.2 Struktur JSB untuk Data Pengenalan Huruf Alphabet
46
4.3. Analisis Numerik
Sebuah contoh percobaan mengenai data pengenalan huruf alphabet
menggambarkan perubahan nilai error dari algoritma backpropagation pada
jaringan saraf buatan lapisan banyak. Hasil output yang diperoleh dari
sepuluh percobaan yang dilakukan dengan parameter yaitu banyaknya unit
pada dua lapisan tersembunyi yang digunakan tetap yaitu 40 unit pada
lapisan kesatu dan 30 unit pada lapisan kedua, momentum(α ) = 0,9 dan
nilai learning rate (η ) yang digunakan berbeda-beda.
Dalam proses kerjanya, Terdapat 20.000 baris data pengenalan huruf
alphabet (Lampiran 2) dipisahkan menjadi dua bagian yaitu training data
dan test data. Tabel 4.1 merupakan hasil SPSS 16 case processing
summary dari data tersebut menjelaskan pembagian data dilakukan secara
random. Pada studi numerik disini penulis mengambil proporsi 70%
training data dan 30% test data sebagai berikut dibawah ini.
Tabel 4.1 Hasil SPSS Case Processing Summary
Training Data Test Data Percobaan
Persen N Persen N 1 70% 14009 30% 5990
2 70.1% 14012 29.9% 5988 3 69.8% 13964 30.2% 6036 4 70.1% 14015 29.9% 5984 5 69.4% 13874 30.6% 6126
6 70.2% 14043 29.8% 5957 7 70% 14007 30% 5993 8 70.1% 14023 29.9% 5976
9 70% 14008 30% 5992 10 70% 14002 30% 5997
Ket: N = Banyaknya data yang digunakan dalam proses studi numerik
47
Percobaan SPSS mengeluarkan hasil berupa nilai relatif error dan
sum of squares error dari training data dan test data (Tabel 4.2). Relatif
error disebut juga percent incorrect predictions merupakan nilai error yang
dihasilkan pada percobaan tersebut (Lampiran 1). Sedangkan sum of squares
error merupakan banyaknya data yang mengandung nilai error pada
percobaan tersebut. Hasil eksperimen ini digunakan untuk melihat
kecenderungan nilai error yang dihasilkan pada percobaan data pengenalan
huruf alphabet. Jika banyaknya unit pada dua lapisan tersembunyi yang
digunakan tetap yaitu 40 unit pada lapisan kesatu dan 30 unit pada lapisan
kedua, momentum(α ) = 0,9 dan nilai learning rate (η ) yang digunakan
berbeda-beda.
Tabel 4.2. Hasil SPSS Model Summary.
Training data Test data
Percobaan
Banyak unit
tersembunyi
η
α Sum of
squares
error
Relatif
error Sum of
squares
error
Relatif
error
1 40 & 30 unit 0.1 0.9 2849 29,6% 1292 30,4%
2 40 & 30 unit 0.2 0.9 2671 27,3% 1270 30,7%
3 40 & 30 unit 0.3 0.9 2486 25,8% 1202 28,4%
4 40 & 30 unit 0.4 0.9 2592 26,1% 1195 27,8%
5 40 & 30 unit 0.5 0.9 2547 25,2% 1227 27,8%
6 40 & 30 unit 0.6 0.9 2325 24% 1106 26,1%
7 40 & 30 unit 0.7 0.9 2558 26,7% 1170 28,1%
8 40 & 30 unit 0.8 0.9 2709 27,3% 1210 28,7%
9 40 & 30 unit 0.9 0.9 2619 26,5% 1195 28,7%
10 40 & 30 unit 1 0.9 1924 26,5% 1184 27,5%
48
Hasil Eksperimen pada jaringan saraf buatan lapisan banyak yang dilakukan
pada studi numerik data pengenalan huruf menggunakan 20.000 data. Hasil dari
sepuluh percobaan eksperimen terdapat satu percobaan yang memiliki nilai error
terbesar pada percobaan pertama yaitu pada training data relatif error sebesar
29,6% dan sum of squares error sebesar 2849 data dan pada test data sebesar
relatif error sebesar 30,4% dan sum of squares error 1292 data. Sedangkan
percobaan keenam memiliki nilai error terkecil yaitu pada training data relatif
error sebesar 24% dan sum of squares error 2325 data dan pada test data sebesar
relatif error sebesar 26,1% dan sum of squares error 1292 data.
Hasil dari sepuluh percobaan dengan parameter terdiri dari momentum,
jumlah unit dan learning rate yang berbeda menyebabkan nilai error cenderung
mengalami fluktuasi, keadaan ini disebabkan karena pada algoritma
backpropagation bobot awal dilakukan secara acak dan faktor parameter yang
mempengaruhi nilai disetiap iterasinya.
49
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Cara kerja algoritma backpropagation dalam menentukan bobot awal
yaitu dimulai dengan memilih bobot secara acak yang bernilai kecil antara
-0,05 sampai dengan 0,05. Dalam algoritmanya bobot ini diperbaiki dalam
setiap iterasinya hingga didapatkan jaringan saraf buatan yang terbaik
dimana nilai output jaringan akan sama atau hampir sama dengan nilai target
pada data.
Berdasarkan hasil percobaan, percobaan pertama memiliki nilai error
sebesar 29,6% pada training data dan 30,4% pada test data, nilai percobaan
ini merupakan nilai error terbesar dari sepuluh percobaan. Sedangkan
percobaan keenam memiliki nilai error sebesar 24% pada training data dan
26,1% pada test data, nilai ini merupakan nilai terkecil pada sepuluh
percobaan yang dilakukan.
Hasil dari sepuluh percobaan dengan parameter terdiri dari momentum,
jumlah unit dan learning rate yang berbeda menyebabkan nilai error
cenderung mengalami fluktuasi, keadaan ini disebabkan karena pada
algoritma backpropagation bobot awal dilakukan secara acak dan faktor
parameter yang mempengaruhi nilai disetiap iterasinya.
50
5.2. Saran
Algoritma backpropagation memiliki proses yang sangat panjang dan
aturan-aturannya yang tidak dapat diaplikasikan secara mudah. Oleh karena itu,
diharapkan skripsi selanjutnya dapat mengkaji lebih dalam mengenai
berbagai macam aplikasi pada jaringan saraf buatan dengan metode yang
berbeda sehingga dapat diterapkan kedalam dunia nyata, dalam hal ini
pembuatan aplikasi menyeluruh yang secara langsung dapat digunakan oleh
pengguna.(user).
51
BAB I
PENDAHULUAN
Sejak komputer diciptakan pertama kali, komputer memiliki peranan yang besar
dalam membantu menyelesaikan permasalahan-permasalahan yang sulit diselesaikan oleh
manusia. Salah satu teknologi komputer yang sedang berkembang yaitu kecerdasan
buatan. Jaringan saraf buatan merupakan salah satu ilmu yang mendukung perkembangan
kecerdasan buatan. Bermacam-macam aplikasi berbasis jaringan saraf buatan telah
dikembangkan di berbagai bidang.
1.1. Latar Belakang
Pesatnya perkembangan teknologi komputer menyebabkan adanya
perluasan lingkup yang membutuhkan kehadiran kecerdasan buatan. Kecerdasan
buatan merupakan ilmu komputer yang membuat mesin komputer dapat melakukan
pekerjaan sebaik mungkin seperti yang dilakukan oleh otak manusia [9]. Jaringan
saraf buatan merupakan salah satu ilmu yang mendukung perkembangan
kecerdasan buatan. Bermacam-macam aplikasi berbasis jaringan saraf buatan telah
dikembangkan di berbagai bidang.
Jaringan saraf buatan merupakan salah satu metode pembelajaran komputer
yang efektif dan memiliki pendekatan berupa algoritma dalam menyelesaikan suatu
masalah. Pada jaringan saraf buatan terdapat dua macam algoritma, yaitu algoritma
untuk jaringan saraf buatan lapisan tunggal dan algoritma untuk jaringan saraf
buatan lapisan banyak. Dalam penulisan skripsi ini akan dibahas mengenai jaringan
1
saraf lapisan banyak dengan algoritma backpropagation. Pembahasan jaringan saraf
buatan lapisan tunggal dapat ditemukan di [1].
Algoritma backpropagation merupakan metode yang baik dalam menangani
masalah pengenalan pola-pola kompleks [4]. Beberapa aplikasi yang menggunakan
algoritma ini antara lain pengenalan suara, pengenalan pola, sistem kontrol, dan
pengolahan citra. Oleh karena itu skripsi ini mencoba memberikan gambaran
mengenai algoritma yang digunakan pada jaringan saraf buatan lapisan banyak
dengan judul ”Kajian Teoritis Algoritma Backpropagation pada Jaringan Saraf
Buatan Lapisan Banyak”.
1.2. Permasalahan
Masalah yang dapat diidentifikasi penulis adalah sebagai berikut:
1. Bagaimana cara kerja algoritma backpropagation menentukan bobot awal dan
menghasilkan model yang tepat dalam multiklasifikasi ?
2. Bagaimana kecenderungan nilai error yang dihasilkan pada jaringan saraf
buatan lapisan banyak dengan data percobaan pengenalan huruf alphabet, jika
banyak unit pada dua lapisan tersembunyi yang digunakan tetap, momentum
( α ) yang digunkan tetap, dan learning rate (η ) yang digunakan berbeda-beda?
1.3. Pembatasan Masalah
Masalah di dalam skripsi ini terbatas pada ruang lingkup jaringan saraf buatan
lapisan banyak dengan beberapa unit menggunakan algoritma backpropagation dan
2
hasil prediksi output pada jaringan saraf buatan lapisan banyak ini berupa bilangan
n-arry.
1.4. Tujuan Penulisan
Skripsi ini mempunyai beberapa tujuan, yaitu:
1. Mengetahui cara kerja algoritma backpropagation menentukan bobot awal dan
menghasilkan model yang tepat dalam multiklasifikasi.
2. Mengetahui kecenderungan nilai error yang dihasilkan pada percobaan
pengenalan huruf alphabet, jika banyak unit pada dua lapisan tersembunyi yang
digunakan tetap, momentum ( α ) yang digunakan tetap, dan learning rate (η )
yang digunakan berbeda-beda.
1.5. Manfaat Penulisan
Manfaat penulisan ini antara lain:
1. Memberikan pengetahuan tentang algoritma-algoritma yang digunakan dalam
metode pembelajaran jaringan saraf buatan, serta cara kerja dari algoritma
tersebut sehingga mendapatkan model yang tepat.
2. Memberikan informasi mengenai jaringan saraf buatan sehingga dapat dijadikan
acuan atau referensi.
3
BAB II
JARINGAN SARAF BUATAN
Penjelasan mengenai sejarah perkembangan jaringan saraf buatan, serta beberapa
teori dasar yang mendukung pembelajaran jaringan saraf buatan akan dibahas dalam bab
ini, yaitu Teori-teori dasar yang mendukung pembelajaran jaringan saraf buatan antara
lain ide dasar jaringan saraf buatan yang terinspirasi dari sistem jaringan otak manusia,
definisi dan arsitektur jaringan saraf buatan, model-model pembelajaran, fungsi transfer,
perceptron rule dan delta rule pada jaringan saraf buatan lapisan tunggal serta gambaran
stokastik gradien descent.
2.1. Jaringan Saraf Manusia
Jaringan saraf buatan merupakan model yang cara kerjanya meniru sistem
jaringan biologis. Otak manusia terdiri atas sel-sel saraf yang disebut neuron, yang
berjumlah sekitar 1011
sel-sel saraf. Sel-sel saraf ini berhubungan satu dengan yang
lain membentuk jaringan yang disebut jaringan saraf [4]. Proses yang terjadi dalam
suatu sel saraf merupakan proses elektrokimiawi. Di otak ini terdapat fungsi-fungsi
yang sangat banyak dan rumit, diantaranya adalah ingatan, belajar, bahasa, asosiasi,
penalaran, kecerdasan, dan inisiatif.
Semua sel saraf alami mempunyai empat komponen dasar yang sama.
Keempat komponen dasar ini diketahui berdasarkan nama biologinya yaitu, dendrit,
soma, akson, sinapsis. Dendrit merupakan suatu perluasan dari soma yang
menyerupai rambut dan bertindak sebagai saluran masukan. Saluran input ini
1
menerima masukan dari sel saraf lainnya melalui sinapsis. Kemudian soma
memproses nilai input menjadi sebuah output yang kemudian dikirim ke sel saraf
lainnya melalui akson dan sinapsis. Gambar berikut menunjukkan komponen-
komponen dari saraf [7].
Gambar 2.1 Komponen-Komponen Sel Saraf
Suatu jaringan saraf menerima ribuan informasi kecil dari berbagai organ
sensoris dan mengintegrasikannya untuk menentukkan reaksi yang harus dilakukan.
Kegiatan sistem jaringan saraf didasari oleh pengalaman sensoris dari reseptor
sensoris, baik berupa reseptor visual, reseptor auditoris, reseptor raba dipermukaan
tubuh, ataupun jenis reseptor lainnya. Pengalaman sensoris ini dapat menyebabkan
suatu reaksi segera dan kenangannya dapat disimpan didalam otak [4]. Konsep
dasar semacam inilah yang ingin dicoba para ahli dalam menciptakan jaringan
buatan.
2.2. Jaringan Saraf Buatan
2
Jaringan saraf buatan diperkenalkan pertama kali pada tahun 1943 oleh
seorang ahli saraf Warren McCulloch dan seorang ahli logika Walter Pitss [12].
Jaringan saraf buatan merupakan model yang meniru cara kerja jaringan sel-sel saraf
biologis. Penelitian yang berlangsung pada tahun 1950-an dan 1960-an mengalami
hambatan karena minimnya kemampuan komputer. Kemudian pada pertengahan
tahun 1980-an dapat dilanjutkan lagi, karena sarana yang dibutuhkan telah tersedia.
Sistem saraf buatan dirancang untuk menirukan karakteristik sel-sel saraf biologis.
Beberapa definisi tentang jaringan saraf buatan dikemukakan oleh para ahli.
Menurut [7] jaringan saraf didefinisikan sebagai sebuah prosesor yang
terdistribusi paralel dan mempuyai kecenderungan untuk menyimpan pengetahuan
yang didapatkannya dari pengalaman dan membuatnya tetap tersedia untuk
digunakan.
Sedangkan menurut [3]. Mendefinisikan jaringan saraf buatan sebagai sebuah
sistem yang dibentuk dari sejumlah elemen pemroses sederhana yang bekerja secara
paralel dan fungsinya ditentukan oleh stuktur jaringan, kekuatan hubungan serta
pengolahan dilakukan pada komputasi elemen-elemennya.
2.2.1. Arsitektur Jaringan Saraf Buatan
Pemodelan struktur pemrosesan informasi terdistribusi dilakukan
dengan menentukan pola hubungan antar sel-sel saraf buatan. Pola
hubungan yang umum adalah hubungan antar lapisanr (lapisan). Setiap
lapisan terdiri dari sekumpulan sel saraf buatan (unit) yang memiliki fungsi
tertentu, misalnya fungsi masukan (input) atau fungsi keluaran (output).
Sistem saraf buatan terdiri dari tiga lapisan unit, yaitu:
3
1. Unit input
Pada gambar 2.2 unit input dinotasikan dengan i. Unit input ini
menerima data dari jaringan saraf luar. Aktifasi unit-unit lapisan input
menunjukkan informasi dasar yang kemudian digunakan dalam jaringan
saraf buatan.
2. Unit tersembunyi
Unit tersembunyi dinotasikan dengan h pada gambar 2.2. Unit
tersembunyi menerima dan mengirim sinyal ke jaringan saraf. Aktifasi
setiap unit-unit lapisan tersembunyi ditentukan oleh aktifasi dari unit-
unit input dan bobot dari koneksi antara unit-unit input dan unit-unit
lapisan tersembunyi.
3. Unit output
Unit output dinotasikan dengan o. Unit output mengirim data ke jaringan
saraf. Karakteristik dari unit-unit output tergantung dari aktifasi unit-unit
lapisan tersembunyi dan bobot antara unit-unit lapisan tersembunyi dan
unit-unit output. Dalam jaringan saraf buatan lapisan banyak unit output
bisa digunakan kembali menjadi unit input yang diproses dalam lapisan
selanjutnya.
X1 X2 X3 X4
i1 i2 i3 i4
h1 h2 h3
o1 o2
4
Y1 Y2
Gambar 2.2 Jaringan Saraf Buatan
Sedangkan tipe arsitektur jaringan saraf buatan ada tiga yaitu :
1. Jaringan dengan lapisan tunggal (Single Lapisanr Net)
Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot yang
terhubung. Jaringan ini hanya menerima input kemudian secara langsung akan
mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi (Gambar
2.3).
Gambar
2.3.
Jaringan
Saraf
Buatan
Lapisan
Tunggal
Feedforward
2. Jaringan dengan lapisan banyak (Multilapisanr Net)
Pada tipe ini, diantara lapisan masukan dan keluaran terdapat satu atau lebih
lapisan tersembunyi (Gambar 2.4). Hubungan antar lapisan berlangsung satu
5
arah. Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan
yang lebih sulit dari pada lapisan tunggal.
Gambar 2.4. Jaringan Saraf Buatan Lapisan Banyak Feedforward
3. Reccurent Network
Tipe reccurent berbeda dengan kedua tipe sebelumnya. Pada reccurent,
sedikitnya memiliki satu koneksi umpan balik (feedback).
Gambar 2.5. Jaringan dengan lapisan kompetitif reccurent
2.2.2. Model-Model Pembelajaran
Menurut [10] model pembelajaran dibedakan menjadi tiga, yaitu :
1. Supervised Learning
6
Pada model pembelajaran ini, jaringan saraf buatan menggunakan variabel
prediktor sebagai input yang akan dijadikan indikator untuk menerangkan
variabel target sebagai outputnya. Variabel-variabel prediktor tersebut
disesuaikan dengan target output yang ingin dihasilkan. Tujuan model
supervised learning adalah untuk menentukan nilai bobot-bobot koneksi
didalam jaringan sehingga jaringan tersebut dapat melakukan pemetaan dari
input ke output sesuai dengan yang diinginkan. Jaringan perceptron, dan
backpropagation merupakan model-model dengan tipe supervised learning
[8].
Tabel 2.1 DataVSareidabeerlhPanreadPiketnorgenalan Huruf Alp
Contoh
Posisi
horizontal
Posisi
vertikal
Panjang
box
Tinggi
box
Jumlah
pixel
habet Variabel
Target
1 2 8 3 5 1 T 2 5 12 3 7 2 I
3 4 11 6 8 6 D
4 7 11 6 6 3 N
5 2 1 3 1 1 G
Model pembelajaran supervised learning selalu memiliki satu kolom yang
merupakan variabel target, pada contoh data sederhana pengenalan huruf
diatas variabel targetnya adalah huruf alphabet. Pada model pembelajaran ini
tiap-tiap variabel memiliki suatu hubungan yang tidak saling bebas. Sebagai
contoh, Huruf T diprediksi berada dalam posisi horizontal yang dihitung dari
sebelah kiri gambar dan huruf berada di tengah box pada titik koordinat 2
pixel, posisi vertikal dihitung dari bagian bawah pada box di titik koordinat 8
pixel, Sedangkan panjang box berada pada titik koordinat 3 pixel dan tinggi
7
box berada pada titik koordinat 5 pixel. Jika huruf alphabet berada dalam
karakteristik variabel target maka dapat dikatakan huruf tersebut berhasil
dalam mengklasifikasikan huruf alphabet.
2. Unsupervised Learning
Berbeda dengan model supervised learning, dalam model unsupervised
learning tidak terdapat variabel target dari kategori pola-pola yang akan
diklasifikasikan hanya terdiri dari variabel prediktor. Untuk model
pembelajaran ini biasanya hanya dilakukan proses clustering lihat tabel 2.2.
Bukan pengklasifikasian seperti pada model pembelajaran supervised.
IssueTabel 2.2 Hak pilCihlaUsSsA1senator ap da 6 pCelrassosal2an Toxic Waste Yes No Budget Cuts Yes No
SDI Reduction No Yes
Contra Aid Yes No Line-Item Veto Yes No MX Production Yes No
3. Semi Unsupervised Learning
Model semi unsupervised learning awalnya adalah model unsupervised
learning, data percobaan untuk model ini biasanya tidak memiliki variabel
target. Oleh karena itu, proses klasifikasi dengan model pembelajaran ini
dilakukan dengan cara menentukan variabel targetnya terlebih dahulu (two
step analysis).
2.3 Fungsi Aktivasi
8
Pada setiap lapisan pada jaringan saraf buatan terdapat fungsi aktivasi. fungsi
ini adalah fungsi umum yang akan digunakan untuk membawa input menuju output
yang diinginkan. Fungsi aktivasi inilah yang akan menentukan besarnya bobot.
Karakter dari jaringan saraf buatan tergantung pada bobot dan fungsi input-
output (Fungsi Transfer) yang mempunyai ciri-ciri tertentu untuk setiap unit. Fungsi
ini terdiri dari tiga kategori, yaitu : fungsi linear, fungsi threshold, dan fungsi
sigmoid (Gambar 2.6). Pada fungsi linear, aktivasi output adalah sebanding dengan
jumlah bobot output. Untuk fungsi threshold, output diatur satu dari dua tingkatan
tergantung dari apakah jumlah input lebih besar atau lebih kecil dari nilai batasnya.
Sedangkan Fungsi sigmoid, outputnya terus menerus berubah tetapi tidak berbentuk
linear.
i
Threshold (sgn)
i i
Linear Sigmoid
Gambar 2.6. Jenis fungsi aktivasi yang digunakan dalam jaringan saraf buatan
Ada beberapa pilihan fungsi aktivasi yang digunakan didalam metode
backpropagation, seperti fungsi sigmoid biner dan sigmoid bipolar (Gambar 2.7.).
Untuk lebih jelasnya, berikut adalah penjelasan lebih lengkap tentang fungsi
sigmoid biner dan sigmoid bipolar, yaitu:
1. Fungsi Sigmoid Biner
Fungsi ini merupakan fungsi yang umum digunakan dalam metode
backpropagation. Nilai jangkauannya diantara (0,1) dan didefinisikan sebagai :
9
f ( x) = 1
1 + e − x
dengan turunan : f ( x)' = f ( x)(1 − f ( x)) (2.1)
2. Fungsi Sigmoid Bipolar
Fungsi ini merupakan fungsi yang umum digunakan dalam metode
backpropagation. Range diantara (-1,1) dan didefinisikan sebagai:
g ( x) = 2 f ( x) − 1
dengan
f ( x) = 1
1 + e − x
sehingga
g ( x) = 2 f ( x) − 1
1
= 2 − 1
dengan turunan :
1 + e − x
1 − e ( − x )
= 1 + e
( − x )
g ( x)' = 1
(1 + g ( x))(1 − g ( x)) 2
(2.2)
(2.3)
Gambar 2.7. Fungsi sigmoid biner dan fungsi sigmoid bipolar
10
2.4. Perceptron
Salah satu tipe dari sistem jaringan saraf buatan didasarkan pada sebuah unit
yang disebut perceptron, dan diilustrasikan pada gambar 2.8. Sebuah perceptron
menerima vektor input yang berupa nilai bilangan real. Perceptron memiliki
perhitungan kombinasi linear yang berasal dari penjumlahan vektor input
( x1 , x2 ,..., xn ) , vektor bobot (w1 , w2 ,..., wn ) dan nilai thresholdnya (w0). Hasil output
akan bernilai 1 jika perhitungan kombinasi linearnya lebih besar dari pada 0 dan -1
jika perhitungan kombinasi linearnya lebih kecil atau sama dengan 0. Kombinasi
linear untuk output perceptron dapat dituliskan sebagai:
1 jika
w0 + w1 x1 + w2 x2 + .... + wn x n > 0
o(x1, x2, ......., xn) = (2.4)
− 1 jika w0 + w1 x1 + w2 x2 + .... + wn xn ≤ 0
x0=1 w0
x1 w1
x2 w2
wn
∑
n
∑ wi x
i
i =0
o = 1
jika
n
∑ j =0
wi x j
xn − 1 untuk yang lainnya
x1, x2, ... , xn adalah input,
Gambar 2.8 Perceptron
o(x1 ,..., xn ) adalah output dan wi adalah konstanta real
atau bobot (weight), dimana bobot menentukan kontribusi dari input xi pada output
perceptron. Fungsi perceptron dapat dituliskan sebagai :
11
r r r
o(x ) = sgn(w ⋅ x ) (2.5)
dan
dengan
1
sgn (y) =−1
jika
jika
r r
y>0
y≤0
(2.6)
y = w' ⋅ x (2.7)
2.4.1. Aturan Pembelajaran Perceptron
Masalah pembelajaran perceptron tunggal adalah menentukan vektor
bobot, karena perceptron menghasilkan output ± 1 untuk setiap contoh
percobaan. Beberapa algoritma diketahui dapat menyelesaikan
permasalahan tersebut, antara lain: perceptron rule dan delta rule.
Algoritma tersebut sangat penting dalam jaringan saraf buatan karena
merupakan dasar dari pembelajaran jaringan untuk lapisan banyak.
Salah satu cara untuk mempelajari vektor bobot yang tepat yaitu
dimulai dengan penentuan bobot secara acak, kemudian secara iteratif
dengan menggunakan perceptron untuk menghasilkan output pada setiap
contoh percobaan, setelah itu memodifikasikan bobot perceptron. Proses ini
terus diulang sampai pengklasifikasian perceptron untuk semua contoh
percobaan menjadi tepat. Bobot dimodifiikasi pada setiap langkah
berdasarkan aturan pembelajaran perceptron (perceptron learning rule),
yang meninjau kembali bobot wi dengan input xi berdasarkan kaidah:
dengan
wi ← wi + ∆wi
∆wi
= η (t − o)xi
(2.8)
(2.9)
12
2
keterangan:
t = target output contoh percobaan
o = output perceptron
η = konstanta positif yang disebut learning rate
2.4.2. Delta Rule
Perceptron rule dapat digunakan untuk mencari vektor bobot yang
paling tepat ketika contoh data percobaannya terpisah secara linear. Namun,
tidak semua data dapat dipisahkan secara linear. Dalam hal ini perceptron
rule tidak mampu mengatasi permasalahan dengan kasus data yang tidak
dapat dipisahkan secara linear, data tersebut dikenal dengan istilah data non-
linearly separable sets. Oleh karena itu, pada pembahasan yang berikutnya
digunakanlah delta rule yang dapat mengatasi permasalahan tersebut.
Kunci dari delta rule dalam mencari ruang hipotesis dari bobot
vektor yang mungkin adalah dengan menggunakan gradient descent
sehingga didapatkan bobot yang paling tepat untuk suatu contoh percobaan.
Aturan ini penting karena gradient descent merupakan dasar untuk
algoritma backpropagation yaitu pembelajaran untuk jaringan dengan
banyak unit yang terhubung.
Terdapat banyak cara untuk mendefinisikan nilai error dari model
(vektor bobot). Salah satu ukuran yang dapat menurunkan nilai error dengan
tepat adalah :
r 1 2
E (w) ≡ ∑ (t d − od ) d∈D
(3.0)
13
dengan D adalah himpunan dari contoh data percobaan, td adalah target
output untuk contoh percobaan d dan od adalah output dari unit linear untuk
r contoh percobaan d. Error E digolongkan sebagai fungsi dari w karena
output unit linear o bergantung pada bobot vektor.
Karena permukaan error terdiri dari minimum global tunggal,
algoritma delta rule hanya akan mengkonvergenkan vektor bobot dengan
error minimum, tanpa memperhatikan apakah contoh percobaannya terpisah
secara linear atau tidak. Nilai η yang digunakan pada algoritma ini awalnya
adalah bilangan yang tidak kecil namun juga tidak terlalu besar, kemudian
untuk mendapatkan bobot yang tepat nilai η diperkecil setelah langkah
perbaikan ke-n. Jika η terlalu besar, pencarian turunan gradient akan
menimbulkan resiko, yaitu terlalu banyaknya langkah yang dilakukan untuk
mencari permukan error yang minimum.
2.5. Gambaran Stokastik Untuk Gradient Descent
Salah satu pola model umum yang digunakan pada proses pembelajaran
adalah gradient descent. Gradient descent merupakan suatu strategi untuk mencari
ruang model yang tak terbatas atau besar yang dapat digunakan ketika ruang model
memuat parameter model yang kontinu dan error dapat diturunkan dengan
parameter modelnya tersebut. Namun, gradient descent ini juga memiliki
kelemahan yaitu tidak mudah digunakan dan terkadang lambat dalam
pengkonvergenan solusinya. Jika ada beberapa minimum lokal pada permukaan
error, maka tidak ada jaminan bahwa akan didapatkan minimum global [11].
14
Tujuan digunakannya gradient descent yaitu untuk mempermudah strategi
pencarian model, hal tersebut dikenal dengan incremental gradient descent atau
stokastik gradient descent. Sedangkan ide dasar pada stokastik gradient descent
yaitu pencarian bobot yang tepat dilakukan berdasarkan perhitungan error pada
setiap contoh baris datanya. Stokastik gradient descent biasanya menggunakan nilai
learning rate η yang cukup kecil agar langkah pengulangan yang dilakukan tidak
terlalu besar, sehingga didapatkan perkiraan gradient descent yang mendekati nilai
sebenarnya.
2.6 Data Pengenalan Huruf Alphabet
Data pengenalan huruf berasal dari David J. Slate [5] (Northwestern
University) pada tahun 1991 dan telah banyak dipakai dalam berbagai penelitian.
Salah satunya adalah penelitian yang dilakukan P.W.Frey dan D.J. Slate [2]
dengan judul Letter Recognition Using Holland-Style Adaptive Classifiers. Tingkat
ketelitian pada penelitian ini mencapai 80% dan memiliki nilai error mencapai 20%.
15
16
BAB III
JARINGAN SARAF BUATAN LAPISAN BANYAK
Jaringan saraf buatan lapisan banyak merupakan perluasan dari jaringan
saraf buatan lapisan tunggal. Pada jaringan saraf buatan lapisan tunggal
menggunakan pendekatan algoritma perceptron yang hanya menghasilkan fungsi
linear. Sebaliknya, Jaringan saraf buatan lapisan banyak menggunakan
pendekatan algoritma backpropagation yang akan merepresentasikan fungsi non
linear. Dalam jaringan ini selain unit input dan output terdapat unit tersembunyi.
Hubungan antar lapisan berlangsung satu arah.
3.1 Unit Sigmoid
Unit perceptron merupakan salah satu tipe dari jaringan saraf buatan
dengan unit tunggal dengan fungsi yang dihasilkan adalah fungsi yang
linear. Namun, unit perceptron tidak dapat menjelaskan fungsi yang non
linear, Oleh karena itu, Jaringan saraf buatan lapisan banyak mampu
menggambarkan fungsi yang non linear. Salah satu solusinya adalah dengan
unit sigmoid, yaitu sebuah unit yang mirip dengan perceptron, dan proses
dasar pekerjaan dilakukan sesuai tahapan.
Sama dengan perceptron, unit sigmoid pertama kali menghitung
kombinasi linear dari input, kemudian menggunakan nilai batas untuk
hasilnya. Pada kasus unit sigmoid, hasil output merupakan fungsi yang
kontinu dari input-inputnya dan unit sigmoid menghitung output ok, secara
singkat rumus yang digunakan dapat ditulis sebagai:
1
( )
x
Rumus fungsi sigmoid:
o( net )= n
∑ i =0
w ji.
xi + θ
j 0
(3.1)
σ = 1
−o ( net )
(3.2)
Maka output ok
1 + e
n
ok = σ (∑ i =0
w ji.
xi
+ θ j 0
)
(3.3)
dimana x1, x2, ..., xn adalah input, o(x1 ,..., xn ) adalah output dan wi adalah
bobot yang menentukan kontribusi dari input xi pada output
backpropagation. σ disebut fungsi sigmoid atau fungsi logistik. Range
output yang dihasilkan oleh unit sigmoid antara 0 sampai 1, dan bersifat
monoton naik. Karena unit sigmoid memetakan domain bilangan input yang
sangat besar ke range output yang kecil, Sigmoid sering disebut dengan
pengkompresan hasil dari unit. Fungsi sigmoid memiliki sifat bahwa
turunannya secara mudah diperlihatkan dalam bentuk output
= σ (y ) ⋅ (1 − σ (y )) . Unit sigmoid diilustrasikan sebagai berikut:
dσ y dy
x0=1
w0
w1
1
x2 w2
w0
xn
∑
n
net = ∑ wi x j + θ j 0
j =0
Gambar 3.1. Sigmoid
o = σ (net) =
1
1 + e −o ( net )
2
= k k
3.2. Turunan dari Aturan Algoritma Backpropagation
Masalah yang paling pokok dalam bab ini adalah aturan penurunan
stokastik gradient descent yang diimplementasikan oleh algoritma
backpropagation. Berdasarkan persamaan (3.0) bahwa stokastik gradient
descent melibatkan iterasi pada sebuah waktu contoh percobaan, untuk
setiap contoh percobaan d menurunkan nilai gradient dari error Ed pada
contoh tunggal. Dengan kata lain, untuk setiap contoh percobaan d setiap
bobot wij di update oleh penambahan ∆wij dengan rumus sebagai berikut:
∆wi j
= −η =∂E
d
∂wi j
(3.4)
Dimana Ed adalah error pada contoh percobaan d ditambahkan dengan
semua unit output pada jaringan (persamaan 3.0)
1
Ed 2 ∑ (t − o )2
k∈output
outputnya disini adalah himpunan dari unit output pada jaringan, tk adalah
nilai target dari unit k untuk contoh percobaan d dan ok adalah output dari
unit k pada contoh percobaan d.
Notasi :
x ji = input ke i sampai input j
wji = bobot dengan input ke i sampai input j
netj = ∑i
w ji
x ji
(jumlahan bobot dari input untuk unit j)
oj = output dihitung berdasarkan unit j
tj = target output untuk unit j
3
j
σ = fungsi sigmoid
output = himpunan dari unit-unit pada lapisan terakhir dari
suatu jaringan
Downstream(j) =himpunan dari unit-unit yang berada satu lapisan
dibawahnya termasuk output dari unit j
Penurunan stokastik gradient descent =∂Ed
∂w ji
merupakan implementasi
dari persamaan (3.4). Dengan catatan bahwa bobot wij dapat mempengaruhi
sisa dari jaringan hanya sampai netj. Oleh karena itu,
=∂E d ∂E ∂net
j
= d
∂w ji ∂net j ∂w ji
= =∂E
d ∂∑i
w ji x ji
∂net j
= =∂Ed x ∂net
ji
∂w ji
(3.5)
dalam penurunan =∂Ed
∂w ji
terdapat dua pandangan kasus yaitu: kasus dimana
unit j adalah unit keluaran untuk jaringan dan kasus dimana j adalah unit
tersembunyi untuk jaringan.
Kasus 1 : Aturan percobaan untuk bobot unit output.
wij dapat mempengaruhi sisa dari jaringan hanya sampai netj, netj dapat
mempengaruhi jaringan hanya sampai o j. Oleh karena itu,
4
∂
( ) j j
( )
j
∂Ed
j j
=∂Ed =
=∂E d ∂o
j
(3.6) ∂net j ∂o j ∂net j
pandang bentuk pertama pada persamaan 3.0
∂Ed ∂ 1 2
= ∂o ∂o 2 ∑ (t k − ok )
j j k∈output
Penurunan (t k
∂o j − o
k )2
akan nol untuk semua unit output k kecuali saat k = j.
=∂E
d = ∂ 1 (t −o )2
∂oj ∂oj 2
1 ∂(t −o ) = 2 t −o 2
j j ∂o
j
= −(tj −o
j ) (3.7)
karena ∂o
j
o j = σ net j , penurunan ∂net j
merupakan penurunan dari fungsi
sigmoid, yang sama dengan σ (net j )(1 − σ (net j )) . Oleh karena itu,
∂o j ∂σ (net
j )
= ∂net j ∂net j
= σ ' (net )
= σ (net j )(1 − σ (net j ))
= o j (1 − o j )
(3.8)
substitusikan persamaan (3.7) dan (3.8) kedalam persamaan (3.6). Didapatkan,
=∂E
d = =∂E
d ∂o j
∂net j ∂o j ∂net j
= −(t j − o j )o j (1 − o j ) ∂net
(3.9)
j
5
j
dan kombinasikan persamaan (3.9) dengan persamaan (3.4). Maka didapatkan
aturan stokastik gradient descent untuk unit output
∆wi j
= −η =∂E
d
∂wij
= −η =∂E
d ∂net j
∂net j ∂w ji
= η (t j − o j )o j (1 − o j )x ji
(3.10)
Kasus 2 : Aturan Percobaan untuk Bobot unit tersembunyi
Pada kasus ini j merupakan unit tersembunyi pada jaringan, turunan dari aturan
percobaan untuk wji harus mengmbil perhitungan secara tidak langsung dimana wji
dapat mempengaruhi output jaringan dan Ed. Notasikan himpunan semua unit
yang input-inputnya termasuk dalam output unit j dengan Downstream (j). Catat
bahwa netj dapat mempengaruhi jaringan keluaran dan Ed hanya sampai unit pada
Downstream (j). Oleh karena itu, dapat ditulis sebagai berikut:
=∂E
d = ∑ =∂E
d ∂net
k
∂net j k∈Downstream( j ) ∂net k ∂net j
= ∑ − δ =∂net k
k net
k∈Downstream( j ) ∂ j
∂net ∂o j
= ∑ − δ k
k∈Downstream( j )
k ∂o ∂net
j
= ∑ − δ w ∂o j
k∈Downstream( j ) k kj ∂net j
= ∑ − δ k wkj o j (1 − o j ) k∈Downstream( j )
(3.11)
6
setelah mengatur kembali bentuk persamaan di atas dan menggunakan δ j
untuk menotasikan − =∂E
d , didapatkan ∂net j
δ j = o j (1 − o j ) ∑δ k wkj
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
0 ≤ α < 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.
7
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 = or (1 − or ) ∑ wsr δ 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 = or (1 − or ) ∑ wsrδ s
s∈downstream( r )
(3.16)
dimana Downstream(r) 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
8
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 − okd ) d∈D k∈outputs
(3.17)
D adalah himpunan dari contoh data percobaan, outputnya adalah himpunan
dari unit output pada jaringan, tkd dan okd 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
9
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
10
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
11
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 :
12
a) Sebuah index menententukan setiap titik dari jaringan, dimana sebuah
”titik” merupakan salah satu input atau output dari beberapa unit pada
jaringan.
b) xij menotasikan input dari titik i ke unit j, dan wij menotasikan hubungan
bobot.
c) δ n menotasikan error dengan unit n.
Algoritma Backpropagation
BACKPROPAGATION (Contoh percobaan, η , nin , nout , nhidden )
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), nin adalah bilangan dari input jaringan,
ntersembunyi adalah bilangan dari unit pada lapisanr tersembunyi, dan nout adalah
bilangan dari unit output.
input dari unit i sampai j dinotasikan dengan xji, dan bobot dari i sampai j
dinotasikan dengan wji.
1. Buat jaringan feedforward dengan input nin, unit tersembunyi nhiiden, dan
unit output nout.
2. Inisialkan semua bobot awal jaringan ke bilangan acak yang kecil
(antara -0,05 sampai 0,05).
3. Hitung output o(net ) dari setiap unit k pada jaringan. n
o(net) = ∑ w ji xi
i =0
+ θ j 0 (3.1)
4. Hitung fungsi sigmoid( σ ) dari setiap unit k pada jaringan.
σ = 1
1 + e −o ( net )
(3.2)
13
5. Hitung output pada lapisan keluaran ( ok ).
n
ok = σ (∑ i =0
w
ji. x
i + θ
j 0 )
(3.3)
6. Hitung nilai error pada lapisan output ok, dengan bentuk error( δ k ).
δ k
← ok (1 − o
k )(t
k − o
k )
(3.9)
7. Hitung nilai error pada lapisan tersembunyi h, dengan bentuk error( δ h ).
δ h ← ok (1 − ok )∑ wkhδ k
(3.12)
δ r = or (1 − or ) ∑ wsr δ s ;Untuk jaringan uniform m-lapisan (3.15) s∈layer m+1
δ r = or (1 − or ) ∑ wsr δ s
s∈downstream( r )
; Untuk jaringan sembarang n-iterasi (3.16)
8. Hitung perubahan setiap bobot jaringan( ∆ wji ).
∆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
x1 x2 t
1 1 0 1 0 1
0 1 1 0 0 0
Langkah 1.
Membuat Jaringan feedforward dengan unit input nin yaitu x1 dan x2 , terdapat 2
lapisan unit tersembunyi nhiiden yaitu z1 , z2 , z3
, z4 dan unit output nout.
14
Y
w50 w31 w32
1 z3 z 4
w
30
1
w40
z1
w 21
w22
w23
w24
z
2
w10
1
w20
w11
w12
x1
w13
w14
x2
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
w11 = 0,05 w13 = 0,03
w12 = -0,05 w14 = -0,02
- dan bobot awal unit tersembunyi lapis 1 ke unit tersembunyi lapis 2
w21 = 0,03 w23 = 0,04
w22 = -0,01 w24 = 0,05.
15
1
2
3
4
- Lebih lanjut lagi bobot awal unit tersembunyi ke unit output
w31 = -0,04
w32 = 0,05,
- Bobot awal bias ke unit tersembunyi lapis 1
w10 = -0,03
w20 = 0,04,
- Bobot awal bias ke unit tersembunyi lapis 2
w30
= 0,02
w40
=0,01
- Serta terakhir bobot awal bias ke unit output adalah
w50 =0,03
Langkah 3.
Hitung output o(net ) dari setiap unit k pada unit tersembunyi :
n
rumus : o(net ) = ∑ w ji x i
i =0
+ θ j 0
o1 (net) = (0,05)(1) + (0,03)(1) + (-0,03) = 0,05
o2 (net) = (-0,05)(1) + (-0,02)(1) + (0,04) = -0,03
o3 (net) = (0,03)(1) + (0,04)(1) + (0,02) = 0,09
o4 (net) = (-0,01)(1) + (0,05)(1) + (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
16
=
Langkah 5.
Hitung output o(net ) dari setiap unit k pada lapisan keluaran output ok :
n
ok = ∑ w
ji x
i
i =0
+ θ j 0
= (0,52)(-0,04)+(0,51)(0,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 ← ok (1 − ok )(t k − ok )= (0,5) (1-0,5) (0-0,5) = -0,125
δ k
merupakan error yang dipakai dalam perubahan bobot lapisan dibawahnya.
ok merupakan nilai output pada jaringan keluaran dan tk adalah target keluaran.
Langkah 7.
Kemudian cari penjumlahan error berdasarkan error untuk setiap unit tersembunyi
h, hitung bentuk error δ h
δ h ← ok (1 − ok ) ∑ wkhδ k
k∈outputs
Pertama cari penjumlahan delta rule dari unit tersembunyi, dimana
dari hasil delta rule pada unit keluaran
δ k = -0,125
δ k
=
∑ wkhδ k
k∈output
δ 1 = (-0,125) (0,05) = -0,006
δ 2
= (-0,125) (-0,04) = 0,005
δ 3
=
(-0,125) (0,04) + (-0,125)(0,05) = 0,011
δ 4
= (-0,125) (0,03) + (-0,125)(-0,01) = -0,002
δ h ← ok (1 − ok ) ∑ wkhδ k
k∈outputs
δ1
= (-0,006) ( 0,51) (1-0,51) = 0,001
17
δ 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( ∆ wji )
∆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,...
∆w50 = (0,05) (-0,125) (1) = -0,00625
∆w31 =(0,05) (-0,125) (0,52) = -0,00325
∆w32
=(0,05) (-0,125)(0,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
∆w10
= (0,05) (0,001) (1) = 0,00005
∆w20 = (0,05) (-0,001) (1) = -0,00005
∆w11 = (0,05) (0,001) (1) = 0,00005
∆w12 = (0,05) (-0,001) (1) = -0,00005
∆w13 = (0,05) (0,001) (1) = 0,00005
∆w14
= (0,05) (-0,001) (1) = -0,00005
� Unit tersembunyi lapis 2
∆w30
=(0,05) (-0,0004) (1) = -0,00002
∆w40
=(0,05) (0,002) (1) =0,0001
∆w21
=(0,05) (-0,0004) (1) = -0,00002
18
∆w22 =(0,05) (0,002) (1) = 0,0001
∆w23
=(0,05) (-0,0004) (1) = -0,00002
∆w24
=(0,05) (0,002) (1) = 0,0001
Langkah 9.
Hitung perubahan bobot jaringan baru.
w ji
← w ji
+ ∆w ji
Perubahan bobot unit keluaran :
∆w50 = (0,03) + (-0,006)= 0,024
∆w31 = (-0,04) + (-0,003)= -0,043
∆w32
= (0,05) + (-0,003)= 0,047
Perubahan bobot unit tersembunyi layar 1
∆w10 = -0,03 + 0,00005 = -0,03
∆w20 = 0,04 - 0,00005 = 0,04
∆w11
= 0,05 + 0,00005 = 0,05
∆w12
= -0,05 - 0,00005 = -0,05
∆w13 = 0,03 + 0,00005 = 0,03
∆w14
= -0,02 - 0,00005 = -0,02
Perubahan bobot unit tersembunyi layar 2
∆w30
= 0,02 – 0,00002 = 0,02
∆w40 = 0,01 + 0,0001 = 0,01
∆w21 = 0,03 – 0,00002 =0,03
∆w22 = -0,01 +0,0001 = -0,01
∆w23 = 0,04 – 0,00002 = 0,04
∆w24
= 0,05 + 0,0001 = 0,05
lakukan iterasi sampai variabel prediktor menghasilkan unit output.
19
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
Algoritma backpropagation pada jaringan saraf buatan lapisan banyak
dengan beberapa unit yang terhubung dapat dikembangkan untuk
permasalahan multiklasifikasi. Untuk lebih jelasnya modifikasi dari
algoritma backpropagation ini masalah multiklasifikasi dijelaskan dengan
contoh berikut.
Tabel 3.2. Contoh Data Sederhana
Variabel Prediktor Variabel Target
x1 x
2 y
1 1 a
1 0 b
0 1 c 0 0 d
Diberikan contoh permasalahan data seperti tabel 3.2. Multiklasifikasi
dimulai dengan membuat jaringan feedforward dengan unit input nin yaitu
x1 , x2. dan terdapat satu lapisan unit tersembunyi nhiden yaitu z1 , z2 , z3
dan
unit output yaitu a, b, c , d.
20
a b c d
w40
1
w50
w60
w
70
w22
w21
z1
w23
w24
w26
w 25
w27
z
2
w
28
w31
w29
w
32
w33
z3
w10
1
w20
w
30
w
11
X1
w
12
w
13
w
14
w15
x2
w16
Gambar 3.3. Struktur jaringan dengan bilangan n-arry
Cara kerja dalam permasalahan multiklasifikasi memiliki kesamaan
dengan binary klasifikasi yaitu membuat struktur jaringan kemudian
merandom bobot jaringan dan menghitung unit output. Perbedaannya
terletak pada proses perhitungan output dimana untuk kasus multiklasifikasi
hasil output akan bekerja sesuai dengan proses klasifikasi, yaitu perhitungan
output pada kelas A diproses melalui pembelajaran algoritma
backpropagation dengan bilangan binary, jika hasil output masuk kedalam
klasifikasi kelas A, maka kelas tersebut mengandung nilai 1, Sedangkan
selain kelas A mengandung nilai 0. Keadaan ini dikerjakan sesuai dengan
proses pembelajaran multiklasifikasi yang berarti proses binary n kali.
21
Cara kerja algoritma backpropagation pada jaringan saraf buatan
lapisan banyak dapat diringkas dalam bentuk flowchart sebagai berikut:
Start
70% Training Data
30% Test Data
1. Membuat
jaringan
feedforword
2. Randomize bobot
|wji|<0,05
Hitung n
3. o(net) = ∑ w ji x
i
i =0
+ θ j 0
4. σ = 1
1 + e −o ( net )
n
5. ok = σ (∑ i =0
w ji. xi + θ j 0 )
6. δ k ← ok (1 − ok )(t k − ok ) 7. δ h ← ok (1 − ok )∑ wkhδ k
8. ∆w ji = ηδ j x ji ; j= k,h
9. w ji ← w ji + ∆w ji
Tidak td=od
∀ d ∈ D
Ya
Akurasi error
generalisasi
End
Gambar 3.4. Flowchart Algoritma Backpropagation
22
BAB IV
STUDI NUMERIK DAN ANALISIS
Pada bab ini akan dijelaskan mengenai metode jaringan saraf buatan
lapisan banyak menggunakan algoritma backpropagation dalam menghasilkan
error minimum dalam mencari model yang tepat. Permasalahan yang akan dibahas
yaitu mengenai permasalahan klasifikasi pengenalan huruf alphabet.
4.1. Deskripsi Studi Numerik
Metode jaringan saraf buatan lapisan banyak dapat diaplikasikan pada
berbagai masalah tertentu di kehidupan sehari-hari. Untuk lebih memahami
proses pengklasifikasian pada metode jaringan saraf buatan lapisan banyak
dan nilai error, maka dilakukan studi numerik dengan mengambil
permasalahan yang sederhana. Data-data tersebut diperoleh dari machine
learning database [8]. Dalam proses kerjanya, data ini dipisahkan menjadi
dua bagian yaitu training data dan test data. Pembagian data ini dilakukan
secara random. Pada studi numerik disini penulis mengambil proporsi 70%
training data dan 30% test data.
Pengolahan data yang dilakukan dalam skripsi ini menggunakan
algoritma backpropagation dengan bantuan software SPSS 16 dalam
pencarian nilai errornya. Hal tersebut dilakukan karena asumsi dari data
yang digunakan belum diketahui. Untuk mendapatkan nilai error yang lebih
valid, percobaan tersebut dilakukan sebanyak sepuluh kali dengan sample
random atau biasa dikenal dengan 10 fold cross validation (CV).
1
4.2. Pengenalan Huruf Alphabet
Data pengenalan huruf alphabet merupakan salah satu data yang cocok
untuk mengetahui pengenalan suatu pola. Permasalahan yang akan diangkat
pada studi numerik adalah mencari nilai error minimum untuk
mengidentifikasi setiap huruf dengan tulisan tangan berwarna hitam-putih
yang terdapat dalam persegi panjang gambar digital dengan satuan pixel,
huruf tersebut akan diklasifikasikan ke salah satu dari 26 huruf alphabet.
Huruf-huruf tersebut berasal dari 20 bentuk huruf yang berbeda dan setiap
huruf dari berbagai karakter tersebut diacak secara random. Simulasi yang
dilakukan pada studi numerik ini menggunakan 20.000 baris data.
Cara penulisan diambil dari 20 bentuk yang berbeda menggunakan dua
cara teknik penulisan, yaitu stroke style merupakan penulisan huruf yang
dilakukan dengan cara mengambil dari titik atas sampai titik bawah yang
terdapat dalam 6 jenis cara penulisan yaitu simplex, duplex, triplex, complex,
dan ghotic. Kemudian 6 jenis huruf tersebut dimasukan ke dalam bentuk
tulisan seperti Block, Script, Italic, English, Italian dan German.
Setiap karakter huruf di proses pertama kali dengan merubah kedalam
koordinat vektor, dan pengidentifikasian dilakukan pada garis paling bawah
pada huruf. Segmen garis tersebut dirubah ukurannya menjadi koordinat
(x,y) yang berbentuk persegi panjang dengan satuan pixel. Ukuran pixel
akan menggambarkan titik-titik yang berwarna hitam dan putih. Posisi ”on”
pada satuan pixel yang berwarna hitam dan ”off” satuan pixel yang
berwarna putih. Setiap huruf akan diidentifikasikan pada pixel on berwarna
2
hitam yang akan berbentuk huruf dan pixel tersebut berukuran persegi
panjang dengan ukuran 45 x 45 pixel.
Nilai error minimum diproses dalam pengidentifikasian huruf dari
20.000 baris data yang akan di karakteristik oleh 16 variabel prediktornya
kemudian akan diproses ke dalam klasifikasi 26 huruf alphabet yang
menjadi variabel target. Data pengenalan huruf tidak memuat data yang
tidak lengkap (missing value). Setiap huruf diklasifikasikan berdasarkan 17
variabel yang terdiri dari satu variabel target dan 16 variabel prediktor.
Variabel prediktor ini merupakan sebuah bilangan integer yang berkisar
antara 0 sampai 15. Variabel ini terdiri dari:
a. Variabel target: 26 huruf alphabet dari A sampai Z
b. Variabel prediktor:
1. V1 merupakan posisi horizontal dihitung dari sebelah kiri gambar dan
huruf berada di tengah box
2. V2 merupakan posisi vertikal dihitung dari bagian bawah pada box.
3. V3 merupakan panjang box.
4. V4 merupakan tinggi box.
5. V5 merupakan jumlah pixel on pada huruf dalam box.
6. V6 merupakan rataan nilai x pada pixel berwarna hitam “on”
7. V7 merupakan rataan nilai y pada pixel berwarna hitam “on”
8. V8 merupakan variansi rataan nilai x pada pixel berwarna hitam “on”
9. V9 merupakan variansi rataan nilai y pada pixel berwarna hitam “on”
3
10. V10 merupakan jumlah rataan x dan y pada pixel berwarna
hitam“on”
11. V11 merupakan variansi rataan nilai x dikalikan dengan rataan y
pada pixel berwarna hitam “on”
12. V12 merupakan variansi rataan nilai y dikalikan dengan rataan x pada
pixel berwarna hitam “on”
13. V13 merupakan rataan posisi pixel ”on” dari kiri ke kanan.
14. V14 merupakan jumlah posisi vertikal pada rataan posisi pixel ”on”
dari kiri ke kanan.
15. V15 merupakan rataan posisi pixel ”on” dari bawah ke atas.
16. V16 merupakan jumlah posisi horizontal pada rataan posisi pixel
”on” dari bawah ke atas.
Untuk lebih jelasnya pengidentifikasian huruf alphabet menggunakan
16 variabel prediktor akan dijelaskan dengan contoh berikut.
Gambar 4.1. Contoh sampel yang merepresentasikan huruf ‘A dan
Pembagian region pada sample berikut nilai pixel aktifnya
Huruf A diprediksi berada dalam posisi horizontal yang dihitung dari
sebelah kiri gambar dan huruf berada di tengah box pada titik koordinat 13
pixel, posisi vertikal dihitung dari bagian bawah pada box di titik koordinat
22 pixel, Sedangkan tinggi box berada pada titik koordinat 22 pixel. Jika
4
huruf A berada dalam karakteristik 16 variabel prediktor maka huruf
tersebut sudah memiliki error minimum dan berhasil dalam
mengklasifikasikan huruf alphabet.
Gambar 4.2 menjelaskan struktur hasil pengidentifikasian huruf
alphabet yaitu lapisan pertama terdapat 20.000 baris data yang digunakan
sebagai input, banyaknya unit pada dua lapisan tersembunyi yang digunakan
yaitu 40 unit pada lapisan kesatu dan 30 unit pada lapisan kedua, dan lapisan
terakhir merupakan target yang dihasilkan dalam pengenalan huruf alphabet
Gambar 4.2 Struktur JSB untuk Data Pengenalan Huruf Alphabet
5
4.3. Analisis Numerik
Sebuah contoh percobaan mengenai data pengenalan huruf alphabet
menggambarkan perubahan nilai error dari algoritma backpropagation pada
jaringan saraf buatan lapisan banyak. Hasil output yang diperoleh dari
sepuluh percobaan yang dilakukan dengan parameter yaitu banyaknya unit
pada dua lapisan tersembunyi yang digunakan tetap yaitu 40 unit pada
lapisan kesatu dan 30 unit pada lapisan kedua, momentum(α ) = 0,9 dan
nilai learning rate (η ) yang digunakan berbeda-beda.
Dalam proses kerjanya, Terdapat 20.000 baris data pengenalan huruf
alphabet (Lampiran 2) dipisahkan menjadi dua bagian yaitu training data
dan test data. Tabel 4.1 merupakan hasil SPSS 16 case processing
summary dari data tersebut menjelaskan pembagian data dilakukan secara
random. Pada studi numerik disini penulis mengambil proporsi 70%
training data dan 30% test data sebagai berikut dibawah ini.
Tabel 4.1 Hasil SPSS Case Processing Summary
Training Data Test Data Percobaan
Persen N Persen N 1 70% 14009 30% 5990
2 70.1% 14012 29.9% 5988 3 69.8% 13964 30.2% 6036 4 70.1% 14015 29.9% 5984 5 69.4% 13874 30.6% 6126
6 70.2% 14043 29.8% 5957 7 70% 14007 30% 5993 8 70.1% 14023 29.9% 5976
9 70% 14008 30% 5992 10 70% 14002 30% 5997
Ket: N = Banyaknya data yang digunakan dalam proses studi numerik
6
Percobaan SPSS mengeluarkan hasil berupa nilai relatif error dan
sum of squares error dari training data dan test data (Tabel 4.2). Relatif
error disebut juga percent incorrect predictions merupakan nilai error yang
dihasilkan pada percobaan tersebut (Lampiran 1). Sedangkan sum of squares
error merupakan banyaknya data yang mengandung nilai error pada
percobaan tersebut. Hasil eksperimen ini digunakan untuk melihat
kecenderungan nilai error yang dihasilkan pada percobaan data pengenalan
huruf alphabet. Jika banyaknya unit pada dua lapisan tersembunyi yang
digunakan tetap yaitu 40 unit pada lapisan kesatu dan 30 unit pada lapisan
kedua, momentum(α ) = 0,9 dan nilai learning rate (η ) yang digunakan
berbeda-beda.
Tabel 4.2. Hasil SPSS Model Summary.
Training data Test data
Percobaan
Banyak unit
tersembunyi
η
α Sum of
squares
error
Relatif
error Sum of
squares
error
Relatif
error
1 40 & 30 unit 0.1 0.9 2849 29,6% 1292 30,4%
2 40 & 30 unit 0.2 0.9 2671 27,3% 1270 30,7%
3 40 & 30 unit 0.3 0.9 2486 25,8% 1202 28,4%
4 40 & 30 unit 0.4 0.9 2592 26,1% 1195 27,8%
5 40 & 30 unit 0.5 0.9 2547 25,2% 1227 27,8%
6 40 & 30 unit 0.6 0.9 2325 24% 1106 26,1%
7 40 & 30 unit 0.7 0.9 2558 26,7% 1170 28,1%
8 40 & 30 unit 0.8 0.9 2709 27,3% 1210 28,7%
9 40 & 30 unit 0.9 0.9 2619 26,5% 1195 28,7%
10 40 & 30 unit 1 0.9 1924 26,5% 1184 27,5%
7
Hasil Eksperimen pada jaringan saraf buatan lapisan banyak yang dilakukan
pada studi numerik data pengenalan huruf menggunakan 20.000 data. Hasil dari
sepuluh percobaan eksperimen terdapat satu percobaan yang memiliki nilai error
terbesar pada percobaan pertama yaitu pada training data relatif error sebesar
29,6% dan sum of squares error sebesar 2849 data dan pada test data sebesar
relatif error sebesar 30,4% dan sum of squares error 1292 data. Sedangkan
percobaan keenam memiliki nilai error terkecil yaitu pada training data relatif
error sebesar 24% dan sum of squares error 2325 data dan pada test data sebesar
relatif error sebesar 26,1% dan sum of squares error 1292 data.
Hasil dari sepuluh percobaan dengan parameter terdiri dari momentum,
jumlah unit dan learning rate yang berbeda menyebabkan nilai error cenderung
mengalami fluktuasi, keadaan ini disebabkan karena pada algoritma
backpropagation bobot awal dilakukan secara acak dan faktor parameter yang
mempengaruhi nilai disetiap iterasinya.
8
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Cara kerja algoritma backpropagation dalam menentukan bobot awal
yaitu dimulai dengan memilih bobot secara acak yang bernilai kecil antara
-0,05 sampai dengan 0,05. Dalam algoritmanya bobot ini diperbaiki dalam
setiap iterasinya hingga didapatkan jaringan saraf buatan yang terbaik
dimana nilai output jaringan akan sama atau hampir sama dengan nilai target
pada data.
Berdasarkan hasil percobaan, percobaan pertama memiliki nilai error
sebesar 29,6% pada training data dan 30,4% pada test data, nilai percobaan
ini merupakan nilai error terbesar dari sepuluh percobaan. Sedangkan
percobaan keenam memiliki nilai error sebesar 24% pada training data dan
26,1% pada test data, nilai ini merupakan nilai terkecil pada sepuluh
percobaan yang dilakukan.
Hasil dari sepuluh percobaan dengan parameter terdiri dari momentum,
jumlah unit dan learning rate yang berbeda menyebabkan nilai error
cenderung mengalami fluktuasi, keadaan ini disebabkan karena pada
algoritma backpropagation bobot awal dilakukan secara acak dan faktor
parameter yang mempengaruhi nilai disetiap iterasinya.
1
5.2. Saran
Algoritma backpropagation memiliki proses yang sangat panjang dan
aturan-aturannya yang tidak dapat diaplikasikan secara mudah. Oleh karena
itu, diharapkan skripsi selanjutnya dapat mengkaji lebih dalam mengenai
berbagai macam aplikasi pada jaringan saraf buatan dengan metode yang
berbeda sehingga dapat diterapkan kedalam dunia nyata, dalam hal ini
pembuatan aplikasi menyeluruh yang secara langsung dapat digunakan oleh
pengguna.(user).
2