BAB 2
TINJAUAN PUSTAKA
2.1 Jaringan Saraf Tiruan
Jaringan saraf tiruan JST pertama kali diperkenankan oleh McCulloch dan Walter Pitts pada tahun 1943. Jaringan saraf tiruan merupakan suatu sistem pemrosesan
informasi yang memiliki karakteristik-karakteristik menyerupai jaringan saraf biologi [2].
Dengan meniru sistem jaringan biologis maka sistem jaringan saraf tiruan memiliki 3 karakteristik utama, yaitu [1]:
1. Arsitektur jaringan Merupakan pola keterhubungan antara neuron. Keterhubungan neuron-
neuron inilah yang membentuk suatu jaringan. 2. Algoritma Pembelajaran
Merupakan metode untuk menentukan nilai bobot hubungan. Ada dua jenis metode utama, yaitu metode pelatihan atau pembelajaran memorisasi dan
metode pengenalan atau aplikasi. 3. Fungsi Aktivasi
Merupakan fungsi untuk menentukan nilai keluaran output berdasarkan nilai total masukan input pada neuron. Fungsi aktivasi suatu algoritma
jaringan dapat berbeda dengan fungsi aktivasi algoritma jaringan lain.
2.1.1 Arsitektur jaringan saraf tiruan
Satu sel saraf dapat dimodelkan secara matematis seperti diilustrasikan oleh Gambar 1. Satu sel saraf terdiri dari tiga bagian, yaitu fungsi penjumlah summing function,
Universitas Sumatera Utara
8
Synaptic weights
fungsi aktivasi activation function dan keluaran output. Secara matematis, dapat digambarkan sebuah neuron dengan menuliskan pasangan persamaan sebagai berikut:
Gambar 2.1. Model Neuron[1]
y = f ∑
� �=1
w
i
x
i +
� keterangan:
x
i
= sinyal masukan ke-i. w
i
= bobot hubungan ke-i. �
= bias f.
= fungsi aktivasi atau elemen pemroses y
= sinyal keluaran. Beberapa konsep yang berhubungan dengan pemrosesan informasi tersebut
seperti yang disebutkan di atas, yaitu: 1. Input
Nilai numerik atau representasi suatu atribut merupakan input dari jaringan. Beberapa tipe data seperti teks, gambar dan suara dapat juga
digunakan sebagai input. 2. Output
Output jaringan berisi solusi untuk permasalahan. 3. Bobot weights
Unsur kunci Jaringan saraf tiruan adalah bobot. Bobot menunjukkan suatu kekuatan relatif relative strength atau nilai matematik dari input data atau
w
2
w
i
U
k
Output
Y
k
Summing function
Activation function
w
1
∑
f
.
x
1
x
2
x
i
Input Signal
Threshol dθ
. .
. .
. .
b
1
Universitas Sumatera Utara
9 banyaknya koneksi yang memindahkan data dari satu lapisan ke lapisan
yang lainnya. Bobot sangat penting karena menyimpan pola pembelajaran dari informasi.
4. Fungsi Penjumlahan Fungsi penjumlahan merupakan perkalian setiap nilai input dengan
bobotnya. 5. Fungsi Aktivasi
Fungsi aktivasi merupakan hubungan antara tingkat aktivasi internal dan output yang bisa berupa linier atau non-linier
Arsitektur pada jaringan saraf tiruan menggambarkan jumlah neuron dan hubungan bobot yang dipakai dan fungsi aktivasi. Secara umum arsitektur jaringan
saraf dapat dibedakan menjadi tiga kelas yang berbeda, yaitu jaringan umpan-maju lapisan tunggal single layer feedforward network atau perceptron, jaringan umpan-
maju lapisan jamak multilayer perceptron dan jaringan dengan lapisan kompetitif [6].
2.1.2 Jaringan saraf tiruan backpropagation
Terdapat banyak ide dan definisi yang berhubungan dengan “belajar”. Taksonomi proses belajar dalam jaringan saraf tiruan dibagi secara umum menjadi dua bagian [5]:
1. Supervised learning
Supervised learning adalah proses belajar yang membutuhkan guru. Yang dimaksud guru disini adalah sesuatu yang memiliki pengetahuan tentang
lingkungan. Guru bisa direpresentasikan sebagai sekumpulan sampel input- ouput.
2. Unsupervised learning
Sesuai dengan namanya, unsupervised atau self-organized learning tidak membutuhkan guru untuk memantau proses belajar. Dengan kata lain,
tidak ada sekumpulan input-output atau fungsi tertentu untuk dipelajari oleh jaringan.
Universitas Sumatera Utara
10 Jaringan saraf tiruan backpropagation dikategotikan sebagai supervised
learning yang melakukan pembelajaran sehingga memberikan output yang masuk akal jika diberi masukan serupa tidak harus sama dengan pola yang dipakai dalam
pelatihan. Sifat generalisasi ini membuat pelatihan lebih efisien karena tidak perlu dilakukan pada semua data [9].
Backpropagation dibentuk dengan membuat generalisasi aturan pelatihan dalam model widrow-hoff dengan cara menambahkan layer tersembunyi. Kata
backpropagation merujuk pada cara bagaimana gradien perubahan bobot dihitung.
Suatu jaringan saraf tiruan backpropagation memproses informasi masukan pada setiap neuron. Pada gambar 2. ditunjukkan arsitektur JST backpropagation
dengan tiga layer dimana unit masukan X, unit hidden layer Z, dan unit keluaran Y. Sedangkan v
0j
adalah nilai bias untuk hidden layer Z dan w
ok
adalah nilai bias untuk keluaran Y.
Y
1
Y
k
Y
m
w
01
w
11
w
j1
w
p1
w
0k
w
1k
w
jk
w
pk
w
0m
w
1m
w
jm
w
pm
Z
1
Z
j
Z
p
X
1
X
i
X
n
v
01
v
11
v
i1
v
n1
v
0j
v
1j
v
ij
v
nj
v
0p
v
1p
v
ip
v
np
1
1
Gambar 2.2. Arsitektur Jaringan Saraf Tiruan dengan Backpropagation[7]
Keterangan: X
= Masukan input V
= Bobot lapisan tersembunyi W
= Bobot lapisan keluaran
Universitas Sumatera Utara
11 n
= Jumlah unit pengolah lapisan tersembunyi Z
= Lapisan tersembunyi hidden layer Y
= Keluaran output
2.1.3 Fungsi Aktivasi
Sebuah sinyal aktivasi diperlukan oleh suatu neuron untuk menyalakan atau memadamkan penjalaran sinyal dari neuron tersebut. Sinyal aktivasi dalam jaringan
saraf tiruan ditentukan oleh suatu fungsi aktivasi.
Fungsi aktivasi merupakan fungsi pengolah jumlahan data masukan menjadi data keluaran. Karakteristik pada fungsi aktivasi dari backpropagation adalah
continue, dapat diturunkan, dan tidak menurun secara monoton. Fungsi aktivasi untuk algoritma backpropagation adalah sebagai berikut [6]:
1. Linier atau Purelin Fungsi linier akan membawa masukkan ke keluaran yang sebanding. Fungsi ini
didefinisikan:
Ilustrasi fungsi liner digambarkan pada gambar 2.3 berikut ini:
Gambar 2.3. Fungsi Aktivasi Linier
-1 1
x fx
x x
f =
Universitas Sumatera Utara
12
2. Sigmoid Biner atau Logsig
Fungsi ini memiliki sifat nonlinier sehingga sangat baik diterapkan dalam penyelesaian masalah yang kompleks. Keluaran dari fungsi sigmoid biner berupa
bilangan biner 0 atau 1 atau nilai yang berada di antara 0 sampai 1. Sigmoid biner memiliki range dari [0,1] dan didefinisikan :
exp 1
1 x
x f
− +
=
dan fungsi turunannya adalah :
] 1
[
1 1
x f
x f
x f
− =
Ilustrasi fungsi sigmoid biner digambarkan pada gambar 2.4 berikut ini:
Gambar 2.4. Sigmoid Biner[11]
3. Sigmoid Bipolar atau Tansig
Sigmoid Bipolar memiliki range dari -1,1 dan didefinisikan : 1
exp 1
2 −
− +
= x
x f
dan turunan fungsi adalah :
[ ][
]
1 1
2 1
2 2
x f
x f
x f
− +
= x
fx
-1 1
Universitas Sumatera Utara
13 Ilustrasi fungsi sigmoid bipolar digambarkan pada gambar 2.5 berikut ini:
Gambar 2.5. Sigmoid Bipolar[12]
2.1.4 Algoritma pembelajaran metode backpropagation
Proses pelatihan backpropagation meliputi tiga tahap, yaitu tahap umpan maju feedforward, tahap umpan mundur, dan tahap update bobot dan bias[7]. Algoritma
backpropagation diuraikan sebagai berikut:
Fase I: Propagasi Maju Selama propagasi maju, sinyal masukan = x
i
dipropagasikan ke layer tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit layer
tersembunyi = z
j
tersebut selanjutnya dipropagasikan maju lagi ke layer tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. Demikian
seterusnya hingga menghasilkan keluaran jaringan =y
k
. Berikutnya, keluaran jaringan = y
k
dibandingkan dengan target yang harus dicapai = t
k
. Selisih dari t
k
terhadap y
k
yaitu t
k
– y
k
adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Akan tetapi apabila
kesalahan masih lebih besar dari batas toleransinya, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi.
-1
x fx
1
Universitas Sumatera Utara
14 Fase II: Propagasi Mundur
Berdasarkan kesalahan t
k
– y
k
, dihitung faktor δ
k
k = 1,2,..., m yang dipakai untuk mendistribusikan kesalahan di unit y
k
ke semua unit tersembunyi yang terhubung langsung dengan y
k
. δ
k
juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran.
Dengan ca ra yang sama, dihitung faktor δj j = 1,2,…, p di setiap unit di layer
tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layer
di bawahnya. Demikian seterusnya hingga semua faktor δ di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung.
Fase III: Perubahan Bobot Setelah semua faktor δ dihitung, bobot semua garis dimodifikasi bersamaan.
Perubahan bobot suatu garis didasarkan atas faktor δ neuron di layer atasnya. Sebagai
contoh, perubahan bobot garis yang menuju ke layer keluaran didasarkan atas δ
k
yang ada di unit keluaran. Ketiga fase terebut diulang-ulang terus hingga kondisi
penghentian dipenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah iterasi atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi yang
dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan. Algoritma
pelatihan untuk jaringan dengan satu layer tersembunyi dengan fungsi aktivasi sigmoid biner adalah sebagai berikut [4]:
Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil. Langkah 1 : Jika kondisi penghentian belum terpenuhi, lakukan langkah 2 – 9.
Langkah 2 : Untuk setiap pasang data pelatihan, lakukan langkah 3 – 8.
Fase I : Propagasi maju Langkah 3 : Tiap unit masukan menerima sinyal dan meneruskannya ke unit
tersembunyi di atasnya. Langkah 4 :
Hitung semua keluaran di unit tersembunyi j z j = 1,2,…, p .
Universitas Sumatera Utara
15
Langkah 5 : Hitung semua keluaran jaringan di unit k
Fase II : Propagasi mundur Langkah 6 : Hitung faktor δ unit keluaran berdasarkan kesalahan di setiap unit
keluaran y
k
k = 1,2,…,m . δ
k
merupakan unit kesalahan yang akan dipakai dalam perubahan bobot layer dibawahnya langkah 7. Hitung suku perubahan bobot w
kj
yang akan dipakai nanti untuk merubah bobot w
kj
dengan laju perceptron α Δw
kj
=αδ
k
z
j
; k = 1,2,…,m ; j = 0,1,…, p Langkah 7 : Hitung faktor δ unit tersembunyi berdasarkan kesalahan di setiap unit
tersembunyi z
j
j = 1,2,…, p .
Faktor δ unit tersembunyi : δ
j
= δ_net
j
f ’z_net
j
= δ_net
j
z
j
1– z
j
Hitung suku perubahan bobot Vji yang akan dipakai nanti untuk merubah bobot V
ji
. Δv
ji
= α δj xi ; j = 1,2,…,p ; I = 0,1,…,n
Fase III : Perubahan bobot Langkah 8 : Hitung semua perubahan bobot.
Perubahan bobot garis yang menuju ke unit keluaran : Wkj baru = Wkj lama + ΔWkj k = 1,2,…,m ; j = 0,1,…,p
Perubahan bobot garis yang menuju ke unit tersembunyi :
Universitas Sumatera Utara
16 Vji baru = Vji lama + Δvji j = 1,2…,p ; I = 0,1,…,n
Setelah selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola. Dalam hal ini, hanya propagasi maju langkah 4 dan 5 saja yang dipakai untuk menentukan
keluaran jaringan. Apabila fungsi aktivasi yang dipakai bukan sigmoid biner, maka langkah 4 dan 5 harus disesuaikan. Demikian juga turunannya pada langkah 6 dan 7.
2.1.5 Preprocessing dan postprocessing
1. Min dan Max
Sebelum dilakukan pelatihan, seringkali dilakukan penskalaan pada input dan target sedemikian hingga data input dan target tersebut masuk dalam satu range tertentu[5].
Fungsi premnmx digunakan untuk menskala input dan output sedemikian hingga data- datanya akan terletak pada range [1,1].
Systax: [pn,minp,maxp,tn,mint,maxt] = premnmxp,t, atau
[pn,minp,maxp] = premnmxp, atau
[tn,mint,maxt] = premnmxt
Dengan p adalah hasil input, dan t adalah matriks output. Fungsi ini akan menghasilkan:
pn : matriks input yang ternormalisasi terletak pada range [-1,1]
tn : matriks target yang ternormalisasi terletak pada range [-1,1]
minp : nilai minimum pada matriks input aslip. maxp : nilai maksimum pada matriks input aslip.
mint : nilai minimum pada matriks target aslip.
maxt : nilai maksimum pada matriks target aslip.
Apabila matriks yang sudah ternormalisasi ini ingin dikembalikan kebentuk aslinya, maka dapat digunakan fungsi postmnmx.
Systax: [p,t]
= postmnmxpn,minp,maxp,tn,mint,maxt, atau
Universitas Sumatera Utara
17 [p]
= postmnmx pn,minp,maxp, atau [t]
= postmnmx tn,mint,maxt Dengan p dan t adalah matriks yang telah didenormalisasi.
Apabila pada jaringan saraf tiruan yang telah dilatih menggunakan premnmx untuk preprocessing, maka apabila ada data input baru yang akan disimulasikan, data baru
tersebut juga harus disesuaikan dengan nilai minimum dan maksimum dari jaringan. Untuk keperluan ini, dapat digunakan fungsi tramnmx.
2. Mean dan standar deviasi
Selain dengan meletakkan data input dan target pada range tertentu, proses normalisasi juga dapat dilakukan dengan bantuan mean dan standar deviasi[5]. Fungsi
prestd akan membawa data ke bentuk normal dengan mean=0 dan deviasi standar=1. Syntax:
[pn,meanp,stdp,tn,meant,stdt] = prestdp,t, atau [pn,meanp,stdp]
= prestdp, atau [tn,meant,stdt]
= prestdt
Dengan p adalah hasil input, dan t adalah matriks output. Fungsi ini akan menghasilkan:
pn : matriks input yang ternormalisasi terletak pada range [-1,1]
tn : matriks target yang ternormalisasi terletak pada range [-1,1]
meanp : mean pada matriks input aslip. stdp
: standar deviasi pada matriks input aslip meant : mean pada matriks input targett.
stdt : standar deviasi pada matriks target aslip
Apabila matriks yang sudah ternormalisasi ini ingin dikembalikan kebentuk aslinya, maka dapat digunakan fungsi poststd.
Systax: [p,t]
= poststdpn,meanp,stdp,tn,meant,stdt, atau [p]
= poststd pn,meanp,stdp, atau
Universitas Sumatera Utara
18 [t]
= poststd tn,meant,stdt Dengan p dan t adalah matriks yang telah didenormalisasi.
Apabila pada jaringan saraf tiruan yang telah dilatih menggunakan trastd untuk preprocessing, maka apabila ada data input baru yang akan disimulasikan, data baru
tersebut juga harus disesuaikan dengan nilai mean dan standar deviasi dari jaringan. Untuk keperluan ini, dapat digunakan fungsi trastd.
2.2 Aplikasi Backpropagation Dalam Prediksi