BAB 2 TINJAUAN PUSTAKA
2.1. Kecerdasan Buatan
Bagian dari teknik kompetitif yang lain dari kecerdasan buatan Sistem pendukung keputusan, Sistem pakar, Komputer vision seperti fuzzy logic, genetik algorithm sama
halnya dengan metode statistik dan analitik, Jaringan syaraf tiruan sangat kuat dalam menyelesaikan masalah kompleks dan masalah non linear. Alasan mengapa JST banyak
digunakan karena dapat menunjukkan beberapa keuntungan antara lain pembelajaran yang memperlihatkan beberapa kemampuan dari generalisasi pelatihan data.
2.2. Jaringan Syaraf Tiruan
Jaringan syaraf tiruan salah satu mesin pembelajaran yang sangat terkenal dan telah digunakan secara luas pada berbagai permasalahan, yang melibatkan pembangunan
algoritma yang memungkin komputer untuk belajar Negnevitsky, 2005. Jaringan syaraf tiruan merupakan suatu sistem informasi yang cara kerjanya
memiliki kesamaan tertentu dengan jaringan syaraf biologi Fausett, 1994. Jaringan syaraf tiruan dikembangkan sebagai model matematis dari syaraf biologis dengan
berdasarkan asumsi bahwa : 1.
Pemrosesan terjadi pada elemen – elemen sederhana yang disebut neuron. 2.
Sinyal penghubungkan antar neuron melalui penghubung 3.
Setiap penghubung memiliki bobot yang akan mengalikan sinyal yang lewat. 4.
Setiap neuron memiliki fungsi aktivasi yang akan menentukan nilai sinyal output.
Jaringan syaraf tiruan adalah prosesor yang terdistribusi paralel, terbuat dari unit-unit yang sederhana dan memiliki kemampuan untuk menyimpan pengetahuan yang
diperoleh secara eksperimental dan siap pakai untuk berbagai tujuan. Pada jaringan syaraf tiruan terdapat istilah neuron atau lebih dikenal dengan node. Setiap neuron
terhubung dengan neuron lainya melalui layer dengan bobot tertentu. Bobot melambangkan informasi yang digunakan jaringan untuk menyelesaikan permasalahan.
Universitas Sumatera Utara
Setiap neuron memiliki internal state yang disebut dengan fungsi aktivasi. Fungsi aktivasi merupakan fungsi dari input yang diterima neuron. Satu neuron akan
mengirimkan sinyal ke neuron-neuron yang lain Setiawan, 2003 Secara sederhana Jaringan syaraf tiruan terdiri dari modul yang saling keterkaitan
disebut juga dengan neuron dimana analogi dari syaraf biologi pada otak. Struktur Neuron pada JST digambarkan sebagai berikut :
Gambar 2.1 Struktur Neuron
Sumber : Fausset 1994
Gambar 2.1 memperlihatkan bahwa jaringan syaraf tiruan terdiri dari satuan-satuan pemroses berupa neuron. Y sebagai output menerima input dari x
1
, x
2
, x
3
,…….x
n
dengan bobot W
1
, W
2
, W
3
,……..W
n
. Hasil penjumlahan seluruh impuls neuron dibandingkan dengan nilai ambang tertentu melalui fungsi aktivasi f setiap neuron.
Sebagaian besar jaringan syaraf melakukan penyeseuain bobot-bobotnya selama proses pelatihan. Pelatihan dapat berupa pelatihan terbimbing Supervised training
dimana diperlukan pasangan masukan – sasaran untuk tiap pola yang dilatihnya.Jenis kedua adalah pelatihan tak terbimbing unsurpersived training. Pada metode ini,
penyesuaian bobot tidak perlu disertai sasaran. Sebuah jaringan syaraf tiruan mempunyai tiga karakteristik, yaitu :
1. Arsitektur Jaringan
Dalam suatu jaringan neuron – neuron dikelompokkan dalam lapisan – lapisan. Faktor yang akan menentukan keadaan dari suatu neuron adalah fungsi aktivasi dan
pola bobotnya. Pada setiap lapisan yang sama, neuron – neuron memiliki fungsi aktivasi yang sama. Setiap neuron pada satu lapisan harus dipetakan tepat ke setiap
Universitas Sumatera Utara
neuron pada lapisan berikutnya. Adapun arsitektur dari Jaringan Syaraf tiruan antara lain :
a. Jaringan Satu Lapis Single layer network
Pada jaringan satu lapis, hanya memiliki satu lapisan input dan lapisan output. Pada jaringan ini sinyal masukan langsung diolah menjadi
sinyal keluaran , tanpa melalui hidden layer seperti contoh yang ditujukkan pada Gambar 2.2. Pada jaringan satu lapis dapat
ditambahkan dengan bias yang merupakan bobot koneksi dari unit aktivasinya selalu 1
Gambar 2.2 Jaringan satu lapis
Sumber : Supriyadi 2012
b. Jaringan Lapis Banyak multi layer net
Jaringan lapis banyak terdiri dari satu lapisan input, satu lapisan output dan satu atau lebih hidden layer yang terletak diantara lapisan input dan
lapisan output seperti yang ditunjukkan pada gambar 2. 3. Jaringan dengan banyak lapisan dapat dimanfaatkan untuk menyelesaikan
permasalahan yang lebih sulit dan kompleks daripada jaringan satu lapis, namun pembelajaran yang lebih rumit dan membutuhkan waktu
yang lama. Pada jaringan lapis banyak juga ditambahkan satu buah neuron bias pada tiap lapisan
Universitas Sumatera Utara
Gambar 2.3 Jaringan lapis banyak
Sumber : Hamid 2011
Multi layer net juga dikenal setara Multilayer Feedforward Neural Network MLFNN adalah salah satu yang banyak digunakan pada model
jaringan syaraf tiruan. Oleh karena arsitektur dan perbandingan algoritma yang sederhana Popescuet al., 2009, dapat juga digunakan sebagai fungsi pembangkit
secara menyeluruh, bahkan dapat digunakan untuk jenis aplikasi yang besar Multi layer perceptron tersusun oleh seperangkat sensor yang
dikelompokkan dalam tiga tingkatan lapisan yang terdiri dari input layer, satu atau lebih perantara atau hidden layer dan lapisan output layer yang
mengkalkulasikan keluaran dari jaringan. Semua lapisan berurutan terhubung secara lengkap. Hubungan antara modul berbatasan lapisan relay sinyal keluaran
dari satu lapisan ke berikutnya. Sebagai contoh, gambar diatas mempunyai 4 vektor dimensi, di ikuti oleh 3 lapisan tersembunyi dan yang terakhir lapisan
keluaran dimana terdiri dari 1 modul. Jaringan JSTdisebut dengan sebagai jaringan 4-3-1.
c. Jaringan dengan lapisan kompetitif
Pada lapisan kompetitif hubungan antar neuron tidak diperlihatkan pada diagram arsitektur. Salah satu contoh dari arsitektur jaringan
kompetitif diperlihatkan pada 2.8 yang memiliki bobot -µ
Universitas Sumatera Utara
Gambar 2.4 Jaringan lapisan kompetitif
Sumber :Supriyadi 2012
2. Konsep Pembelajaran Jaringan Syaraf Tiruan
Sistem Jaringan syaraf tiruan mempunyai ciri utama yaitu kemampuannya untuk belajar dari contoh atau pengalaman terdahulu. Sistem dapat berfungsi
dengan baik tanpa dilakukan pembuatan program seperti pada sistem komputer konvensional akan tetapi dengan pelatihan. Fungsi JST ditentukan
oleh bobot penghubungnya dan didasarkan pada fungsi masukan keluarannya.
Bobot – bobot koneksi dapat berupa variabel yang ditentukan pada saat perancangan, tetapi juga jaringan yang harus mencari sendiri besarnya bobot – bobot
yang sesuai. Proses penyesuaian bobot inilah jaringan syaraf tiruan disebut pross pelatihan. Proses pembelajaran di bagi atas dua yaitu :
a. Proses belajar terbimbing
Algoritma pembelajaran terbimbing memerlukan keluaran target yang telah diketahui sebelumnya, target sebagai dasar pengubahan bobot. Pada proses
pelatihan Trainning, satu sinyal masukan diberikan kepada satu neuron yang selanjutnya akan diolah dan akan ditampilkan satu keluaran. Nilai
keluaran ini akan dibandingkan dengan nilai targetnya. Jika terjadi perbedaan antara output pembelajaran dengan output target maka disini akan timbul
error. Untuk mendapatkan nilai keluaran yang sesuai dengan error yang terjadi kecil, maka harus dilakukan pelatihan berkala. Algoritma
pembelajaran terbimbing dapat menyelesaikan persoalan – persoalan yang
Universitas Sumatera Utara
terdapat dalam paket belajarnya. Diagram dari konsep belajar terbimbing ditunjukkan pada gambar 2.5
Gambar 2.5 Proses belajar terbimbing
Sumber :Supriyadi 2012
b. Proses belajar tidak terbimbing unsupervised learning
Pada algoritma pembelajaran tak terbimbing, jaringan akan mengubah bobot- bobotnya, sehingga tanggapan terhadap masukan tanpa memerlukan keluaran
acuan target. Tujuan pembelajaran ini adalah mengelompokkan unit-unit yang hampir sama dalam suatu area tertentu. Pembelajaran ini cocok untuk
pengelompokan pola
2.2.1. Fungsi Aktivasi
Fungsi aktivasi yang juga dikenal sebagai fungsi pemindahan adalah fungsi untuk menentukan output dari penjumlahan fungsi dari input bobot pada neuron Engelbrecht,
2007, fungsi tersebut dapat berbentuk linear dan non linear. Ada beberapa fungsi aktivasi yang sering digunakan dalam syaraf tiruan, antara lain :
a. Fungsi Linear
Fungsi linear menyiapkan output yang seimbang untuk total bobot output y = fx = x
2.1
Gambar 2.6 Fungsi Linear
Universitas Sumatera Utara
b. Fungsi Theshold
Fungsi threshold memetakan bobot input dengan nilai biner [0,1] seperti yang ditunjukkan dengan gambar 2.3 dimana :
y=fx= 1 ≥ 0
0 0 2.2
Gambar 2.7 Fungsi Theshold
c. Fungsi Piecewise Linear
Fungsi piecewise linear dapat juga ruang lingkup biner atau bipolar untuk batas saturasi output. Fungsi output dapat ditulis sebagai berikut :
= =
−0.5 −0.5 − 0.5 ≤ ≤ 0.5
0.5 0.5 2.3
Gambar 2.8 fungsi Piecewise Linear
d. Fungsi Sigmoid Fungsi aktivasi yang mempunyai Garis S-shaped dan bentuk distribusi perubahan
sigmoid input dimana mempunyai nilai interval [- , ] =
= 2.4
Universitas Sumatera Utara
Gambar 2.9 Fungsi sigmoid
Fungsi aktivasi adalah salah satu parameter yang terpenting dalam jaringan syaraf tiruan. Fungsi ini tidak hanya untuk penentuan garis, disamping nilai fungsi
aktivasi juga menunjukkan jumlah masukan dari node Engelbrecht, 2007. Oleh karena pemilihan fungsi aktivasi tidak dapat secara sembarangan dipilih sebab sangat besar
berdampak pada perfoma jaringan syarat tiruan.
2.3. Backpropagation
Backpropagation BP merupakan Jaringan syaraf tiruan multi-layer. Penemuannya mengatasi kelemahan JST dengan layer tunggal yang mengakibatkan perkembangan JST
sempat tersendat disekitar tahun 1970.Algoritma BP merupakan generalisasi aturan delta Widrow-Hoff, yaitu menerapkan metode gradient descent untuk meminimalkan error
kuadrat total dari keluaran yang dihitung oleh jaringan. Salah satu metode pelatihan dalam jaringan syaraf tiruanadalahpelatihan
terbimbing supervised learning. Jaringan syaraf tiruan Backpropagationmerupakan metode yangmenggunakan supervised learning.Padapelatihan terbimbing diperlukan
sejumlahmasukan dan target yang berfungsi untukmelatih jaringan hingga diperoleh bobot yangdiinginkan.Pada setiap kali pelatihan, suatu inputdiberikan ke jaringan.
Jaringan akan memprosesdan mengeluarkan keluaran. Selisih antarakeluaran jaringan dengan target merupakanerror. Jaringan akanmemodifikasi bobot sesuai dengan
errortersebut. Algoritma pelatihan BackpropagationNeural Network BPNN pertama kali
dirumuskan oleh werbos dan dipopulerkan oleh RumelhartMc.Clelland. Pada
Universitas Sumatera Utara
supervised learning terdapat pasangan data input dan output yang dipakai untuk melatih JST hingga diperoleh bobot penimbang weight yang diinginkan.
2.4. Algoritma Backpropagation
Pelatihan algoritma backpropagation meliputi 2 fase yaitu a.
Fasepropagsi maju feedforward pola pelatihan masukan. b.
Fase propasi mundur backpropagation dari error yang terkait. c.
Fase modifikasi bobot PenempatanBackpropagation metode gradient descent berusaha memperkecil
error pada jaringan dengan memindahkan kebawah kurva error gradient. Algoritma jenis ini banyak digunakan serta dikombinasikan dengan yang lain dan diterapkan pada banyak
aplikasi yang berbeda alsmadiet al, 2009 Selama fase maju algoritma ini memetakan nilai masukan untuk mendapatkan
keluaran yang diharapkan.Untuk menghasilkan keluaran pola maka didapatkan dari rekapitulasi bobot masukan dan dipetakan untuk fungsi aktivasi jaringan. Keluaran dapat
dihitung sebagai berikut =
2.5 . =
+
+ - 2.6
dengan : o
j
: input dari j unit w
ij
: bobot yang dihubungkan dari unit I ke unit j a
net,j
: jaringan keluaran untuk j unit
j
: bias untuk j unit
Di dalam fase mundur, pola keluaran aktual output kemudian dibandingkan dengan keluaran yang dikehendaki dan sinyal error dihitung untuk masing – masing
output. Sinyal-sinyal kemudian merambat mundur dari lapisan output ke masing-masing unit dalam lapisan lapisan transisi memberikan kontribusi langsung ke output, dan bobot
disesuaikan iterasi selama proses pembelajaran, kemudian error diperkecil selama descent direction. Fungsi error pada outputneuron digambarkan sebagai berikut :
Universitas Sumatera Utara
. =
12 1
−
1
2.7 dengan,
n : angka pada modul keluaran didalam lapisan output
t
k
: keluaran yang dikendaki dari keluaran unit k o
k
: keluaran jaringan dari keluaran unit k
2.4.1. Fase Propagasi Maju
Selama propagasi maju, sinyal masukan x
1
dipropagasikan ke layer tersembunyi menggunakan fungsi aktivasi yang ditentukan.Keluaran dari unit tersembuyi Z
1
tersebut selanjutnya dipropagasi maju lagi ke layer tersembunyi berikutnya dengan fungsi aktivasi
yang telah ditentukan. Dan seterusnya hingga menghasilkan keluaran jaringan y
k
. Berikutnya, keluaran jaringan y
k
dibandingkan dengan target yang harus dicapai t
k
..Jika erro lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Jika error masih lebih besar dari batas toleransi, maka bobot setiap garis dari jaringan
akan dimodifikasi untuk mengurangi error.
2.4.2. Fase Propagasi Mundur
Berdasarkan kesalahan t
k
- y
k
dihitung faktor
k
k= 1, ..., m yang dipakai untuk mendistribusikan kesalahan di unit Yke semua unit tersembunyi yang terhubung
langsung dengan y
k
.
k
juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran.
Dengan cara yang sama, dihitung faktor
j
di setiap layer tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layer di
bawahnya. Dan seterusnya hingga semua faktor di unit tersembunyi yang terhubung langsung dengan unit masukan.
2.4.3. Fase Modifikasi 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 yang ada di unit keluaran
Universitas Sumatera Utara
Ketiga fase
tersebut diulang-ulang
hingga kondisi
penghentian dipenuhi.Umumnya kondisi penghentian yang sering dipakai adalah jumlah interasi atau
kesalahan. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika error yang terjadi sudah lebih kecil
dari batas toleransi yang ditetapkan.
2.4.4. Prosedur Pelatihan
Menurut Fausset 1994 langkah prosedur pelatihan sebagai berikut :
Langkah 0 :
Inisialisasi bobot keterhubungan antara neuron dengan menggunakan bilangan acak kecil -0.5 sampai +0.5.
Langkah 1 :
Kerjakan langkah 2 sampai langkah 9 selama kondisi berhenti yang ditentukan tidak dipenuhi.
Langkah 2 :
Kerjakan langkah 3 sampai langkah 8 untuk setiappasangan pelatihan.
Propagasi maju Langkah 3
: Setiap unit masukan x
i,
i = 1,…., n menerima sinyal masukan x
i
,dan menyebarkannya ke seluruh unit pada lapisan tersembunyi
Langkah 4 :
Setiap unit tersembunyi xi, I = 1,…….,p jumlahkan bobot sinyal masukannya :
3_
5
= 6
5
+
2
6
5
2.8 v
oj
= bias pada unit tersembunyi j aplikasikan fungsi aktivasinya untuk menghilangkan sinyal keluarannya, z
j
= f z_in
j
, dan kirimkan sinyal ini keseluruh unit pada lapisan diatasnya unit keluaran
Langkah 5 :
tiap unit keluaran yk, k = 1,…….m jumlahkanbobot sinyal masukannya :
2.9 w
ok
= bias pada unit keluaran k dan aplikasikan fungsi aktivasinya untuk menghitung sinyal keluarannya, y
k
= fy_in
k
`
Propagasi balik
p j
jk j
k k
w z
wo in
y
1
_
Universitas Sumatera Utara
Langkah 6 : Tiap unit keluaran yk, k = 1,…..,m menerima pola target yang saling
berhubungan pada masukan pola pelatihan, hitung kesalahan informasinya,
7
1
=
1
−
1
′
9
2.10 hitung koreksi bobotnya digunakan untuk mempengaruhi
w
jk
nantinya, ∆
51
= ; 7
1
3
5
2.11 hitung koreksi biasnya digunakan untuk mempengaruhi w
ok
nantinya ∆
12
; 7
1
2.12 Dankirimkan
k
ke unit-unit pada lapisan dibawahnya, Langkah 7
: Setiap unit lapisan tersembunyi zj, j = 1,…..p jumlah hasil perubahanmasukannya dari unit-unit lapisan diatasnya,
7_
5
= 7
1 12
51
2.13 kalikan dengan turunan fungsi aktivasinya untuk menghitung informasi
kesalahannya, 7
5
= 7_
5
′ 3_
5
hitung koreksi bobotnya digunakan untuk memperbaharui v
oj
nanti 2.15
hitung koreksi bias 2.16
Langkah 8 : Update bobot dan bias pada hubungan antar lapisan
2.17
2.18 Langkah 9
: Tes kondisi terhenti
Jika stop condition telah terpenuhi, maka pelatihan dapat dihentikan. Ada dua cara yang dapat dilakukan untuk menentukan stopping condition test kondisi
berhenti, yaitu : Cara 1
: membatasi jumlah iterasi yang ingin dilakukan satu iterasi
merupakan perulangan langkah 3 sampai dengan langkah 8 untuk semua training data yang ada
Cara 2 :
membatasi error, metode yang digunakan adalah Mean Square Error, untuk menghitung rata – rata antara output
i j
ij
x v
j j
vo
jk jk
jk
w lama
w baru
w
ij ij
ij
v lama
v baru
v
Universitas Sumatera Utara
yang dikendaki pada training data dengan output yang dihasilkan oleh jaringan.
2.4.5. Prosedur Pengujian
Setelah pelatihan, jaringan syaraf backpropagation diaplikasikan dengan hanya menggunakan tahap perambatan maju dari algoritma pelatihan. Prosedur aplikasinya
adalah sebagai berikut : Langkah 0
: Inisialisasi bobot dari algoritma pelatihan Langkah 1
: Untuk tiap vektor masukan, lakukan langkah 2-4 Langkah 2
:
= = 1, … … .
: atur aktivasi unit masukan xi Langkah 3
:
= = 1, … . . , : 3
05
= 6
B5 C
DEDF G
DHI
2.18
3
52J K_0
F
2.19
Langkah 4 :
_
DG9
=
L1
+ 3
5 M
F9
52
2.20
12J N
_DG9
2.21 Langkah 5
: Jika
1
≥ 0,5 OP
1
= 1, QR
1
= 0
Adapun notasi – notasi yang digunakan pada algoritma backpropagation adalah ; X
Data training untuk input x = x
1
,…,x
i
,…,x
n
t Data training untuk output targetdesired output
t = t
1
,…,t
k
,…,t
m
Learning rate, yaitu parameter yang mengontrol perubahan bobot selama pelatihan. Jika learning rate besar, jaringan semakin cepat belajar, tetapi
hasilnya kurang akurat. Learning rate biasanya dipilih antara 0 dan 1 X
i
Unit input ke-i. untuk unit input, sinyal yang masuk dan keluar pada suatu unit dilambangkan dengan variabel yang sama, yaitu x
i
Z
j
Hidden unit ke-j. sinyalinput pada Z
j
dilambangkan dengan
3
F
.
Sinyal
Universitas Sumatera Utara
output aktivasi untuk Z
j
dilambangkan dengan z
j
V
oj
Bias untuk hidden unit ke-j V
ij
Bobot antara unit input ke-i dan hidden unit ke-j Y
k
Unit output ke-k. sinyalinput ke Y
k
dilambangkan
9
.
Sinyal output aktivasi untuk Y
k
dilambangkan dengan y
k
W
ok
Bias untuk unit output ke-k W
jk
Bobot antara hidden unit ke-j dan unit output ke-k
k
Faktor koreksi error untuk bobot W
jk j
Faktor koreksi error untuk bobot V
ij
2.5. Syarat Parameter
Backpropagation menggunakan dua parameter yaitu learning rate dan momentum coefficient. Kedua parameter tersebut digunakan untuk mengawasi perubahan bobot
selama arah turunan paling terjal dan untuk mematikan osilasi Zweiriet al, 2003. a.
Learning rate Learning rate salah satu yang paling efektif untuk mempercepat converge
dari pembelajaran Backpropagation dimana nilai yang diberikan antara 0,1 . ini adalah yang sangat penting untuk mengawasi variabel neuron
perubahan bobot untuk masing iterasi selama proses pelatihan dan oleh sebab itu mempengaruhi laju converge. Kenyataan kecepatan converge sangat
berpengaruh pada pemilihan nilai learning rate. Learning rate juga menjadi pertimbangan penting dalam kinerja jaringan
saraf yang ditentukan oleh bagaimana kita merubah bobot-bobot ‘w’ pada tiap langkah, jika learning rate terlalu kecil algoritma akan memakan waktu
lama menuju konvergen, dan sebaliknya jika learning rate terlalu besar maka algoritma menjadi divergen.
b. Momentum coeffisiens
Satu lagi pendekatan yang efektif terhadap percepatan konvergensi dan stabilitas langkah pembelajaran dengan menambahkan beberapa koefisien
momentum pada jaringan. Nilai koefisien momentum yang biasa digunakan dalam interval 0,1. Penambahan parameter momentum coeffisiens dapat
membantu jaringan keluar dari lokal minimal.
Universitas Sumatera Utara
Dengan momentum m, bobot diperbaharui pada waktu t yang diberikan menjadi. Dimana 0 m 1 adalah sebuah parameter global baru yang harus
ditentukan secara trial dan error. Momentum ini menambahkan sebuah perkalian dengan bobot sebelumnya pada bobot saat ini. Pada saat gradient
tidak terlalu banyak bergerak, ini akan meningkatkan ukuran langkah yang diambil menuju nilaiminimum.
2.6. Riset Terkait