Beberapa penelitian telah melakukan penelitian tentang pengenalan pola, diantaranya, penelitian yang dilakukan oleh beberapa peneliti berikut ini; Wahyono
2009, melakukan penelitian tentang pelatihan dan pengujian data pola dan didapatkan bahwa ternyata algoritma perceptron pun bisa digunakan dalam
pengenalan huruf yang masuk dalam ruang lingkup pengklasifikasian pola ; Setyo Nugroho 2005, melakukan penelitian tentang Algoritma Quickprop dan metode
active learning dapat meningkatkan kecepatan training ; Ang Wie Siong dan Resmana 1999, melakukan penelitian tentang Jaringan saraf tiruan ini mampu
mengenali citra bernoise, namun kurang dapat menangani pergeseran citra. Pada input citra dengan pengecilan sekaligus pergeseran, justru jaringan dapat lebih
mengenali ; Sri Kusumadewi 2008, melakukan penelitian tentang Metode Backpropagation
dapat digunakan untuk melakukan pendeteksian suatu jenis penyakit, gangguan, maupun kasus yang memiliki data masa lalu, dan dengan
menggunakan metode Backpropagation , target output yang diinginkan lebih
mendekati ketepatan dalam malakukan pengujian, karena terjadi penyesuaian nilai bobot dan bias yang semakin baik pada proses pelatihan training.
Berdasarkan penelitian yang ada tersebut, penulis mencoba untuk melakukan penelitian menggunakan algoritma Kohonen yang meneliti tentang apakah algoritma
Kohonen pada jaringan syaraf tiruan backpropagation dapat mempercepat mengenali pola suatu penyakit.
Penggunaan algoritma Kohonen pada jaringan syaraf tiruan backpropagation diharapkan dapat menghasilkan hasil yang jauh lebih baik pada proses pelatihan
traning yang dapat mempercepat dalam pengenalan pola suatu penyakit.
1.2 Perumusan Masalah
Perumusan masalah yang dapat ditarik dari penjelasan latar belakang dibuatnya pengenalan pola, yaitu :
• Bagaimana algoritma Kohonen pada jaringan syaraf tiruan backpropagation
dapat mempercepat mengenali pola suatu penyakit. •
Sejauh mana penggunaan algoritma kohonen pada Jaringan Syaraf Tiruan backpropagation mampu mengenali suatu pola penyakit.
Universita Sumatera Utara
1.3 Batasan Masalah
Rumusan masalah diatas, dibatasi dengan beberapa hal sebagai berikut : 1.
Mempercepat proses pembelajaran training dalam mengenali pola suatu jenis penyakit Paru yaitu pada Pneumonia dan TBC Paru;
2. Algoritma yang digunakan dalam pengenalan pola adalah algoritma
Backpropagation dan algoritma Kohonen; 3.
Aplikasi yang akan digunakan: bahasa pemrograman Visual Basic 2010.
1.4 Tujuan Penelitian
Adapun tujuan penelitian ini adalah menganalisa algoritma kohonen pada Jaringan syaraf tiruan backpropagation untuk mempercepat proses pembelajaran training
yang signifikan dan klasifikasi yang akurat dalam mengenali pola suatu penyakit.
1.5 Manfaat Penelitian
Manfaat yang diharapkan dari hasil penelitian ini adalah sebagai berikut : 1.
Dapat mengetahui sejauh mana penggunaan algoritma kohonen pada Jaringan Syaraf Tiruan Backpropagation mampu mengenali suatu pola penyakit.
2. Dapat mengaplikasikan algoritma Kohonen pada algoritma backpropagation
dalam pengenalan pola. 3.
Dapat mengetahui lebih dalam tentang JST backpropagation dan algoritma Kohonen.
Universita Sumatera Utara
BAB 2
LANDASAN TEORI
2.1 Jaringan Syaraf Tiruan
Jaringan saraf tiruan merupakan salah satu representasi buatan dari otak manusia yang mencoba untuk mensimulasikan proses pembelajaran pada otak manusia
dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran.
Adapun beberapa aplikasi Jaringan Syaraf Tiruan ANN adalah sebagai berikut : 1. Pengenalan pola
Jaringan syaraf tiruan sangat cocok digunakan untuk mengenali pola, misalnya mengenali pola huruf, angka, sidik jari atau bahkan penyakit. Hal ini mirip dengan
cara kerja otak manusia ketika membedakan dan mengenali perubahan wajah setiap orang yang pernah dilihatnya.
2. Signal Processing Mengenali pola suatu signal atau noise dalam suatu perubahan nada suara misalnya.
Secara sederhana Jaringan syaraf tiruan terdiri dari module yang saling keterkaitan secara sederhana yang disebut juga dengan Neuron dimana analogi dari
syaraf biologi pada otak.
Gambar 2.1 Node sederhana
Universita Sumatera Utara
Gambar 2.1 memperlihatkan bahwa Neural Network 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.
2.1.1 Fungsi Aktivasi
Fungsi aktivasi adalah salah satu parameter yang terpenting dalam jaringan syaraf tiruan. fungsi ini tidak hanya menentukan keputusan garis, disamping nilai fungsi
aktivasi juga menunjukkan total signal dari node. Oleh karena pemilihan fungsi aktivasi tidak dapat secara sembarangan dipilih sebab sangat besar berdampak pada
performan jaringan syaraf tiruan. Ada beberapa fungsi aktivasi yang sering digunakan dalam syaraf tiruan, antara lain :
a. Fungsi Linear Fungsi linear ditunjukkan oleh gambar 2.2 menyiapkan output tang
seimbang untuk total bobot output. y = fx = x
2.1
Gambar 2.2 Fungsi Linear b. Fungsi Threshold
Fungsi threshold memetakan bobot input dengan nilai biner [0,1] seperti yang ditunjukkan dengan gambar 2.3 dimana :
Y 1
X -
1 -
1 1
Universita Sumatera Utara
y=fx= 1
2.2
Gambar 2.3 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.4 Fungsi Piecewise Linear
d. Fungsi Sigmoid
Ini type fungsi aktivasi yang mempunyai Garis S-shaped dan bentuk distribusi perubahan sigmois input dimana mempunyai nilai interval [-∞, ∞]
= = 2.4
Y 1
X
Universita Sumatera Utara
Gambar 2.5 Fungsi sigmoid
2.1.2 Multi Layer Perceptron
MLP juga dikenal setara Multilayer Feedforward Neural Network MLFNN adalah salah satu yang paling terkenal dan banyak digunakan sebagai type model ANN oleh
karena arsitektur dan perbandingan algoritma yang sederhana Popescu et al., 2009. Dapat juga digunakan sebagai fungsi pembangkit secara menyeluruh, bahkan cocok
digunakan untuk jenis aplikasi yang besar.
Gambar 2.6 Multi layer Perceptron Popescu et al., 2009
Multi layer perceptron tersusun oleh seperangkat sensor moder yang dikelompokkan dalam tiga tingkatan lapisan yang terdiri dari lapisan modul
masukan, satu atau lebih perantara atau lapisan tersembunyi dari modul perhitungan dan lapisan keluaran modul yang mengkalkulasikan keluaran dari jaringan. semua
Universita Sumatera Utara
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, diikuti oleh 3 lapisan tersembunyi dan yang terakhir lapisan keluaran dimana terdiri dari 1 modul. jaringan ANN disebut dengan
sebagai jaringan 4-3-1. Jaringan saraf tiruan juga memiliki sejumlah besar kelebihan dibandingkan
dengan metoda perhitungan lainnya sistem pakar, statistik, dll, yaitu : 1.
kemampuan mengakuisisi pengetahuan walaupun dalam kondisi adanya gangguan dan ketidakpastian. Hal ini dikarenakan JST mampu melakukan
generalisasi, abstraksi, dan ekstrasi terhadap properti statistik dari data. 2.
Kemampuan merepresentasikan pengetahuan secara fleksibel. JST dapat menciptakan sendiri representasi melalui pengaturan diri sendiri atau
kemampuan belajar self organizing. 3.
Kemampuan mentolerir suatu distorsi errorfault . Dimana gangguan kecil pada data dapat dianggap hanya noise guncangan belaka.
4. Kemampuan memproses pengetahuan secara efisien karena memakai sistem
paralel, maka waktu yang diperlukan untuk mengoperasikannya menjadi lebih singkat.
5. Kemampuan untuk memperoleh pengetahuan melalui pembelajaran dari
pengalaman. Walaupun dengan segudang kelebihan yang dimiliki, jaringan saraf tiruan
tetap mempunyai sejumlah keterbatasan. Misal : Kekurangmampuannya dalam melakukan operasi-operasi numerik dengan presisi tinggi, operasi algoritma
aritmatik, operasi logika, dan operasi simbolis serta lamanya proses pelatihan yang kadang-kadang membutuhkan waktu berhari-hari untuk jumlah data yang besar. Hal
itu terjadi karena sulitnya mengukur performansi sebenarnya dari jaringan saraf tiruan itu sendiri.
Saat ini implementasi jaringan saraf tiruan sudah cukup luas digunakan mulai dari teknologi militer, satelit ruang angkasa, bisnis dan kesehatan.
Universita Sumatera Utara
2.2 Algoritma Backpropagation
Algoritma pelatihan Backpropagation Neural Network BPNN pertama kali dirumuskan oleh Werbos dan dipopulerkan oleh Rumelhart Mc.Clelland. Pada
supervised learning terdapat pasangan data input dan output yang dipakai untuk melatih JST hingga diperoleh bobot penimbang weight yang diinginkan.
Pelatihan Backpropagation meliputi 3 fase: i
fase propagsi maju feedforward pola pelatihan masukan. Pola masukan dihitung maju mulai dari layer masukan hingga layer
keluaran dengan fungsi aktivasi yang ditentukan; ii
fase propasi mundur backpropagation dari error yang terkait. Selisih antara keluaran dan target merupakan kesalahn yang terjadi. Kesalahan
tersebut dipropagasi mundur, dimulai dari garis yang berhubungan langsung dengan unit-unit dilayar keluaran;
iii fase modifikasi bobot.
Ketiga tahapan tersebut diulangi terus-menerus sampai mendapatkan nilai error yang diinginkan. Setelah training selesai dilakukan, hanya tahap pertama yang
diperlukan untuk memanfaatkan jaringan syaraf tiruan tersebut. Kemudian, dilakukan pengujian terhadap jaringan yang telah dilatih. Pembelajaran algoritma
jaringan syaraf membutuhkan perambatan maju dan diikuti dengan perambatan mundur.
2.2.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
. Selisih t
k
-y
k
adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Jika kesalahan masih lebih
Universita Sumatera Utara
besar dari batas toleransi, maka bobot setiap garis dari jaringan akan dimodifikasi untuk mengurangi kesalahan.
2.2.2 Fase Propagasi Mundur
Berdasarkan kesalahan t
k
– y
k
dihitung faktor δ
k
k= 1, ..., 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 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 dihitung.
2.2.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
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 kesalahan yang terjadi sudah
lebih kecil dari batas toleransi yang ditetapkan.
2.2.4 Prosedur Pelatihan
Seperti halnya jaringan syaraf yang lain, pada jaringan feedfoward umpan maju pelatihan dilakukan dalam rangka perhitungan bobot sehingga pada akhir pelatihan
akan diperoleh bobot-bobot yang baik. Selama proses pelatihan, bobot-bobot diatur secara iteratif untuk meminimumkan
error kesalahan yang terjadi. Error
kesalahan dihitung berdasarkan rata-rata kuadrat kesalahan MSE. Rata-rata kuadrat kesalahan juga dijadikan dasar perhitungan unjuk kerja fungsi aktivasi.
Universita Sumatera Utara
Sebagian besar pelatihan untuk jaringan feedfoward umpan maju menggunakan gradien dari fungsi aktivasi untuk menentukan bagaimana mengatur bobot-bobot
dalam rangka meminimumkan kinerja. Gradien ini ditentukan dengan menggunakan suatu teknik yang disebut backpropagation.
Pada dasarnya, algoritma pelatihan standar backpropagation
akan menggerakkan bobot dengan arah gradien negatif. Prinsip dasar dari algoritma
backpropagation adalah memperbaiki bobot-bobot jaringan dengan arah yang
membuat fungsi aktivasi menjadi turun dengan cepat. Langkah-langkah yang dilakukan pada prosedur pelatihan adalah:
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 setiap pasangan 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 :
2.5
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 jumlahkan bobot sinyal masukannya :
2.6
∑
=
+ =
n i
ij i
j j
v x
vo in
z
1
_
∑
=
+ =
p j
jk j
k k
w z
wo in
y
1
_
Universita Sumatera Utara
w
ok
= bias pada unit keluaran k dan aplikasikan fungsi aktivasinya untuk menghitung sinyal keluarannya, y
k
= fy_in
k
Propagasi balik
Langkah 6 : tiap unit keluaran yk, k = 1,…..,m menerima pola target yang
saling berhubungan pada masukan pola pelatihan, hitung kesalahan informasinya,
2.7 hitung koreksi bobotnya digunakan untuk mempengaruhi w
jk
nantinya, 2.8
hitung koreksi biasnya digunakan untuk mempengaruhi w
ok
nantinya 2.9
dan kirimkan δ
k
ke unit-unit pada lapisan dibawahnya, Langkah 7
: Setiap unit lapisan tersembunyi zj, j = 1,…..p jumlah hasil perubahan masukannya dari unit-unit lapisan diatasnya,
2.10 kalikan dengan turunan fungsi aktivasinya untuk menghitung
informasi kesalahannya, 2.11
2.12 hitung koreksi bias
2.13 Langkah 8
: Update bobot dan bias pada hubungan antar lapisan 2.14
2.15
Langkah 9 : Tes kondisi terhenti
_
k k
k k
in y
f y
t −
= δ
j k
jk
z w
αδ =
∆
k k
wo αδ
= ∆
∑
=
=
m k
jk k
j
w in
1
_ δ
δ
_ _
j j
j
in z
f in
δ δ
=
i j
ij
x v
αδ =
∆
j j
vo αδ
= ∆
jk jk
jk
w lama
w baru
w ∆
+ =
ij ij
ij
v lama
v baru
v ∆
+ =
Universita Sumatera Utara
Backpropagation secara garis besar terdiri dari dua fase, fase maju dan fase mundur. 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.16 di mana,
. = +
2.17 dimana,
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 output neuron digambarkan sebagai berikut :
= 2.18
dimana, 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 Parameter α merupakan laju pemahaman yang menentukan kecepatan iterasi. Nilai
α terletak antara 0 dan 1 0 ≤ a ≤ 1. Semakin besar harga α , semakin sedikit iterasi yang dipakai. Akan tetapi jika harga α terlalu besar, maka akan merusak pola yang
sudah benar sehingga pemahaman menjadi lambat. Satu siklus pelatihan yang melibatkan semua pola disebut epoch.
Pemilihan bobot awal sangat mempengaruhi jaringan syaraf tiruan dalam
Universita Sumatera Utara
mencapai minimum global atau mungkin lokal saja terhadap nilai error
kesalahan dan cepat tidaknya proses pelatihan menuju kekonvergenan. Apabila bobot awal terlalu besar maka input masukan ke setiap lapisan tersembunyi atau
lapisan output keluaran akan jatuh pada daerah dimana turunan fungsi sigmoidnya akan sangat kecil. Apabila bobot awal terlalu kecil, maka input masukan ke setiap
lapisan tersembunyi atau lapisan output keluaran akan sangat kecil. Hal ini akan menyebabkan proses pelatihan berjalan sangat lambat. Biasanya bobot awal
diinisialisasi secara random dengan nilai antara -0.5 sampai 0.5. Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola.
Keuntungan dari metode backpropagation yaitu : 1. Back-Propagation sangat luas digunakan dalam paradigma jaringan saraf, dan
berhasil diaplikasikan dalam berbagai bidang. Misalnya : pengenalan pola militer, diagnosa kedokteran, klasifikasi gambar, menerjemahkan kode, dan
dalam deteksi jenis penyakit paru. 2. Back-Propagation dapat digunakan untuk dua atau lebih lapisan dengan bobot
dan menggunakan aturan pengalaman belajar. 3. Pembelajaran dan penyesuaian prosedur didasari konsep yang relatif sederhana.
4. Dapat memisahkan pola yang terpisah secara linear maupun pola yang terpisah tidak linear. Terpisah linear adalah dipisahkan 1 garis linear 2 pola tersebut.
Adapun kelemahannya yaitu : Waktunya Konvergen, karena pelatihan memerlukan ratusan atau ribuan contoh dalam kumpulan pelatihan, dan mungkin
membutuhkan waktu komputasi sepanjang hari atau lebih untuk menyelesaikan pelatihan.
2.3 Algoritma Kohonen
Kohonen Map atau dapat disebut Self Organizing Maps SOM diperkenalkan pertama kali oleh Prof. Teuvo Kohonen dari Finlandia pada tahun 1982 Kohonen,
1982. Jaringan Kohonen telah banyak dimanfaatkan untuk pengenalan pola baik berupa polacitra, suara, dan lain-lain. Jaringan SOM sering pula digunakan untuk
ekstraksi ciri feature pada proses awal pengenalan pola. Ia mampu mereduksi dimensi input pola ke jumlah yang lebih sedikit sehingga pemrosesan komputer
menjadi lebih hemat.
Universita Sumatera Utara
Prinsip kerja dari algoritma SOM adalah pengurangan node-node
tetangganya neighbor, sehingga pada akhirnya hanya ada satu node output yang terpilih winner node. Pertama kali yang dilakukan adalah melakukan inisialisasi
bobot untuk tiap-tiap node dengan nilai random. Setelah diberikan bobot random, maka jaringan diberi input sejumlah dimensi nodeneuron input. Setelah input
diterima jaringan, maka jaringan mulai melakukan perhitungan jarak vektor yang didapatkan dengan menjumlah selisihjarak antara vektor input dengan vektor bobot.
Secara matematis dirumuskan : d
j
=
∑
− =
1 n
i
x
I
t -w
ij
t
2
2.19
Langkah-langkah Algoritma Kohonen
Berikut merupakan langkah-langkah algoritma Kohonen : Langkah 0 :
Inisialisasi bobot : W
ij
Set parameter-parameter tetangga Set parameter learning rate
Langkah 1 : Kerjakan jika kondisi berhenti bernilai FALSE
a. Untuk setiap vektor input x, kerjakan : •
Untuk setiap j, hitung : bobot
i
=∑
i
W
ij
–Xi
2
2.20 •
Bandingkan bobot
i
untuk mencari bobot terkecil •
Untuk bobot
i
terkecil, ambil W
ij
lama untuk mendapatkan :
W
ij
baru = W
ij
lama + α x
i
– W
ij
lama 2.21
b. Perbaiki learning rate baru = 0,5 α
2.22 c. Kurangi radius ketetanggaan pada waktu-waktu tertentu,
dengan cara meng-update nilai boboti d. Tes kondisi berhenti min error atau maxepoch terpenuhi
Universita Sumatera Utara
2.4 Normalisasi Data