Bab II Landasan Teori
Di dalam thesis penelitian ini, terdapat beberapa landasan teori yang digunakan sebagai penunjang. Teori tersebut diantaranya mengenai pengolahan citra, feature extraction, normalisasi data, penyakit osteoarthritis, dan jaringan syaraf tiruan backpropagation.
II. 1 Pengolahan Citra (Image Processing) Pengolahan citra adalah suatu sistem dimana proses dilakukan dengan masukan berupa citra dan menghasilkan citra pula dengan kualitas yang lebih baik. Terminologi yang berkaitan dengan pengolahan citra adalah computer vision. Pada hakikatnya computer vision mencoba meniru cara kerja human vision (sistem visual manusia). Human vision sesungguhnya sangat kompleks, dimana manusia melihat objek dengan mata, lalu citra objek diteruskan ke otak untuk diinterpretasi sehingga manusia mengerti objek apa yang tampak dalam matanya. Computer vision merupakan proses otomatis yang mengintegrasikan sejumlah besar proses untuk persepsi visual, seperti akuisisi citra, pengolahan citra, klasifikasi, pengenalan (recognation), dan membuat keputusan. Sesuai dengan perkembangan computer vision itu sendiri, pengolahan citra mempunyai dua tujuan utama (Ahmad, 2005), yakni : 1. Memperbaiki kualitas citra, dimana citra yang dihasilkan dapat menampilkan informasi secara jelas sehingga dapat diinterpretasikan oleh manusia.
7
2. Mengekstrasi informasi ciri yang menonjol pada suatu citra dimana hasilnya adalah informasi citra yang bisa didapat manusia secara numerik atau dengan kata lain komputer melakukan interpretasi terhadap informasi yang ada pada citra melalui nilai-nilai data yang dapat dibedakan secara jelas. Dalam perkembangan lebih lanjut dari ilmu komputasi yang menggunakan pengolahan citra, pengenalan terhadap suatu penyakitlah yang lebih banyak dimanfaatkan dan diaplikasikan. Hal ini dikarenakan pengenalan/pendeteksian suatu penyakit akan membantu pengobatan agar lebih cepat ditangani, sehingga menjauhkan kemungkinan terjadinya kesalahan diagnosa maupun analisis yang dilakukan secara manual oleh pihak medis. Citra itu sendiri pengertiannya merupakan sebuah representasi informasi dua dimensi yang diciptakan dengan melihat atau merasakan sebuah objek. Secara matematis, citra merupakan fungsi kontinyu dari intensitas cahaya pada bidang 2D (Purnomo & Puspitodjati, 2010). Citra yang dimaksud dalam penelitian ini adalah citra X-ray bergambar rangka tulang tangan yang setelah melalui proses scan akan berbentuk citra digital. Citra digital akan didefinisikan sebagai fungsi f(x,y) dimana x menyatakan nomor baris, y menyatakan nomor kolom, dan f menyatakan nilai warna pada citra. Fungsi tersebut dapat digambarkan pula dalam bentuk matriks dengan ukuran N baris x M kolom seperti di bawah ini
8
Dalam setiap citra digital, mengandung sejumlah elemen-elemen dasar berupa kecerahan (brightness), kontras (contrast), kontur (contour), warna (color), bentuk (shape), dan tekstur (texture). Citra digital inilah yang kemudian akan dipergunakan sebagai data masukan untuk mengukur tingkat keparahan penyakit osteoathritis dengan elemen dasar yang dipilih pada penelitian ini adalah dari tingkat intensitas warna dan tekstur . II.1.1 Konversi Warna RGB ke Greyscale Sistem pengolahan citra yang pertama akan dilakukan di dalam penelitian ini adalah mengkonversi warna citra true color (24 bit) pada X-ray menjadi greyscale (8 bit). Untuk mendapatkan nilai greyscale, setiap piksel pada citra yang terdiri atas nilai R (Red), G (Green), B (Blue) akan dirata-rata sehingga akan menghasilkan nilai keabuan berinterval 0 s/d 255. Hasil dari konversi warna dapat dilihat pada gambar di bawah ini :
a
b
Gambar 1. (a) Citra X-ray 24 bit hasil Scan; (b) Citra X-ray 8 bit hasil konversi
II.1.2 Thresholding Thresholding merupakan salah satu proses pengolahan citra yang digunakan untuk mengelompokkan piksel-piksel dalam batas intensitas tertentu. Selain itu, thresholding juga berfungsi untuk memisahkan bagian citra yang sesuai
9
dengan objek (foreground) dan latar belakangnya (background), serta mengubah citra menjadi citra biner (binerisasi) agar mempermudah proses selanjutnya (Ahmad, 2005). Di dalam penelitian ini, untuk menentukan nilai threshold diperlukan pembelajaran berupa pengetahuan sifat-sifat dari masing-masing citra yang akan diproses yaitu dengan melakukan try and error berulang hingga mendapatkan nilai threshold yang kurang lebih cocok untuk semua citra (Nugroho, 2005).
ab Gambar 2. (a)Citra X-ray Greyscale; (b)Citra X-ray Greyscale setelah Thresholding Gambar di atas merupakan salah satu contoh dari hasil penggunaan thresholding (untuk gambar b) dengan threshold sebesar 80. Nilai threshold akan menentukan batasan dari nilai-nilai piksel mana yang akan dikategorikan sebagai background dan mana yang dikategorikan sebagai foreground. Piksel dengan nilai lebih kecil dari threshold yang diberikan akan diset menjadi nol, sedangkan piksel dengan nilai yang lebih besar sama dengan dari threshold akan bernilai tetap.
II. 2 Ekstraksi Fitur (Feature Extraction) Ekstraksi fitur (feature extraction) atau juga dikenal dengan sebutan indexing, merupakan langkah awal dalam melakukan suatu klasifikasi dan interpretasi citra. Proses ini berkaitan dengan kuantisasi karakteristik citra ke dalam sekelompok nilai fitur yang sesuai. Dengan adanya ekstraksi fitur,
10
informasi penting yang berada dalam citra tersebut dapat diambil dan disimpan ke dalam vektor fitur (feature vector). Fitur-fitur yang dapat diekstrak pada citra dapat berdasarkan elemen warna, bentuk, tekstur, kecerahan, kontur, dan kontras dengan menggunakan teknik ekstraksi fitur tertentu. Pemilihan teknik ekstraksi fitur akan mempengaruhi bentuk nilai serta jumlah fitur yang didapat, sehingga diperlukan analisis sebelumnya terhadap jenis data yang akan diekstrak serta elemen dasar apa yang memang tepat untuk digunakan sebagai vektor fitur. Vektor fitur inilah yang kemudian dapat juga disebut dengan descriptor atau index (Lu, 1963). Dan di dalam penelitian ini, fitur yang diekstrak adalah berdasarkan intensitas warna dan tekstur yang terkandung di dalam citra X-ray. II.2.1 Ekstraksi Fitur Berdasarkan Intensitas Warna Informasi warna sangat diperlukan sebagai pendeskripsi sebuah objek dalam proses analisis suatu citra. Proses ekstraksi objek dalam suatu citra dapat disederhanakan dengan mengambil intensitas warnanya. Intensitas
atau
kecerahan
warna
pada
citra
didapat
dari
hasil
penyederhanaan ketiga komponen nilai warna RGB (24 bit) menjadi satu buah komponen intensitas (8 bit). Warna yang didapat merupakan tingkat kecerahan atau nilai keabuan yang umumnya berada diantara level 0-255. Semakin tinggi levelnya, semakin cerah citra tersebut. Begitu pula sebaliknya. Semakin rendah levelnya, semakin gelap citra tersebut. Intensitas atau kecerahan warna dari suatu citra bisa dilihat melalui sebuah histogram.
11
II.2.1.1 Histogram Citra Histogram citra merupakan grafik yang dapat digunakan untuk mengetahui sebaran tingkat keabuan suatu citra (Purnomo & Muntasa, 2010). Histogram dihitung dengan rumus berikut :
Dimana : ni = jumlah piksel yang memiliki nilai keabuan i (i = 0 .....L-1) L = maksimal interval warna n = total piksel dalam citra hi = probabilitas dari nilai keabuan i
Gambar 3. Histogram dengan tingkat keabuan 0 – 255 Gambar di atas merupakan bentuk dari histogram citra yang memiliki tingkat keabuan (greylevel) sebanyak 256 warna. Pada penelitian ini, tingkat keabuan yang digunakan kemudian akan dikelompokkan lagi menjadi skala tertentu melalui proses kuantisasi.
12
II.2.1.2 Kuantisasi Citra Kuantisasi citra merupakan bagian dari proses digitasi citra analog, yaitu sebuah teknik pengelompokkan nilai tingkat keabuan citra kontinu ke dalam beberapa level. Kuantisasi juga merupakan sebuah proses membagi skala keabuan [0, L] menjadi G buah level yang dinyatakan dengan suatu harga bilangan bulat (integer) : G = 2m Dimana : G = derajat keabuan m = bilangan bulat positif atau jumlah bit Kuantisasi akan menentukan resolusi kecemerlangan dari suatu citra. Jika skala yang digunakan terlalu kecil, resolusi citra akan semakin kecil dan hal tersebut bisa menyebabkan citra terlihat buram, patah-patah atau tidak jelas. Dalam resolusi kecemerlangan, kuantisasi dibagi menjadi tiga jenis : a. Kuantisasi Uniform Kuantisasi ini mempunyai interval pengelompokkan tingkat keabuan yang sama (misalnya, intensitas 1 s/d 10 diberi nilai 1, intensitas 11 s/d 20 diberi nilai 2, dan seterusnya). b. Kuantisasi Non-uniform Kuantisasi yang lebih halus diperlukan terutama pada bagian citra yang menggambarkan detail atau tekstur atau batas suatu daerah objek, dan kuantisasi yang lebih kasar diberlakukan pada daerah yang sama pada bagian objek
13
c. Kuantisasi Tapered Bila ada daerah tingkat keabuan yang sering muncul sebaiknya dikuantisasi secara lebih halus dan di luar batas daerah tersebut dapat dikuantisasi secara lebih kasar. II.2.2 Ekstraksi Fitur Berdasarkan Tekstur Tekstur merupakan karakteristik intrinsik dari suatu citra yang terkait dengan tingkat kekasaran (roughness), granularitas (granulation), dan keteraturan (regularity) susunan struktural piksel. Tekstur dicirikan sebagai distribusi spasial dari derajat keabuan di dalam sekumpulan piksel-piksel yang bertetangga. Analisis tekstur penting dan berguna dalam bidang computer vision. Dari elemen tekstur, sebuah citra akan dapat dimanfaatkan dalam proses segmentasi, klasifikasi, maupun interpretasi citra. Ekstraksi fitur citra berdasarkan tekstur pada orde pertama dapat menggunakan metode statistik, yaitu dengan melihat statistik distribusi derajat keabuan pada histogram citra tersebut (Wong & Zrimec, 2006). Dari nilai-nilai pada histogram yang dihasilkan, dapat dihitung parameter ciri atau fitur antara lain : 2
a. Variance (σ ) Menunjukkan variasi elemen pada histogram dari suatu citra
Dimana : μ = nilai rata-rata piksel yang ada di dalam suatu citra fn = nilai intensitas keabuan
14
p(fn) = nilai histogramnya (probabilitas kemunculan intensitas pada citra) b. Skewness (α3) Menunjukkan tingkat kecondongan relatif kurva histogram dari suatu citra
c. Entropy (H) Menunjukkan ukuran ketidakteraturan bentuk dari suatu citra
d. Relative Smoothness (R) (Singh & Mazumdar, 2010) Menunjukkan tingkat kehalusan relatif dari bentuk suatu citra
Fitur-fitur ini diterapkan pada penelitian Wong & Zrimec sebagai karakteristik dari sebuah kista (honeycombing cycts) dalam CT. Scan paru-paru, dan menghasilkan persentase klasifikasi yang baik yaitu antara 83,3% - 8,7%. Dan fitur-fitur ini lah yang kemudian peneliti coba terapkan pula dalam mengambil karakteristik dari penyakit osteoarthritis pada data Manus X-ray.
II. 3 Normalisasi Data Normalisasi data merupakan sebuah metode untuk mengelompokkan range atau interval dari nilai-nilai yang berbeda ke dalam skala yang sama yang lebih kecil. Normalisasi penting digunakan untuk memberikan bobot yang sama terhadap nilai-nilai fitur yang berbeda dari hasil ekstraksi.
15
Normalisasi pada vektor fitur dapat dilakukan dengan berbagai cara, dan pada penelitian ini normalisasi yang dipergunakan adalah dengan metode MinMax Normalization [10] :
Dimana : D’ = data hasil normalisasi D = nilai sebelum normalisasi U = nilai batas atas (upper bound) L = nilai batas atas (lower bound) Penggunaan rumus di atas akan menghasilkan data akan dikelompokkan ke dalam interval [0.1, 0.9]. Hal ini disesuaikan dengan penggunaan fungsi aktivasi sigmoid biner pada proses jaringan syaraf tiruan di dalam penelitian ini yang memiliki interval [0, 1]. Namun, jika fungsi aktivasi yang digunakan adalah fungsi sigmoid bipolar, maka data perlu dinormalisasikan ke interval [-1, 1] atau interval lain yang mendekati terlebih dulu.
II. 4 Osteoarthritis Osteoarthritis (OA) atau dikenal sebagai pengapuran adalah suatu penyakit tulang
yang menggambarkan kerusakan pada tulang rawan sendi.
Dikarenakan proses kerusakan terjadi pada rawan sendi, maka kelainan dan nyeri yang dijumpai umumnya tejadi pada sendi-sendi tulang rawan atau kartilago (Jauwerissa, 2009).
16
II.4.1 Faktor dan Gejala Osteoarthritis Faktor-faktor yang menyebabkan terjadinya penyakit osteoathritis diantaranya usia yang sudah diatas 45 tahun, berat badan yang berlebihan, sehingga mengakibatkan tekanan pada sendi-sendi, Adanya cedera atau trauma otot, aktifitas yang memerlukan pergerakan terus menerus, adanya penyakit lainnya seperti Rheumatoid Athritis (RA), akromegali, gout, dan lain-lain Osteoarthritis umumnya bermula dari kelainan sel-sel yang membentuk komponen tulang rawan seperti kolagen dan proteoglikan. Akibat dari kelainan tersebut, tulang rawan akhirnya menipis dan membentuk retakan-retakan pada permukaan sendi. Rongga kecil akan terbentuk di dalam sumsum dari tulang di bawah tulang rawan tersebut. Keadaan itu akan membuat tubuh berusaha memperbaiki kerusakannya dengan membentuk tulang baru dan mengakibatkan timbulnya benjolan pada pinggiran sendi (osteophyte). Gejala yang ditimbulkan juga secara bertahap, diawali dengan rasa nyeri dan kekakuan pada sendi. Sendi-sendi jari tangan, pangkal ibu jari, leher, punggung bawah, jari kaki, panggul dan lutut adalah bagian yang paling sering terkena osteoarthritis. II.4.2 Diagnosa X-ray Osteoarthritis Dalam mendiagnosa osteoathritis, pakar rheumatologi umumnya dapat melakukan tiga serangkaian pemeriksaan, yaitu analisis terhadap gejala yang ditimbulkan, pemeriksaan fisik sendi, dan pemeriksaan tambahan seperti rontgen tulang (sinar X-ray), MRI (Magnetic Resonance Imaging), dan arthrocentesis. Pemeriksaan tambahan tersebut dilakukan hanya jika ingin diketahui seberapa
17
besar tingkat osteoarthritis yang telah diderita serta untuk mempertegas kondisi pasien. Dengan foto rontgen, seorang rheumatologi dapat mengetahui adanya osteoarthritis beserta derajatnya. Hal ini akan memberikan pengobatan yang tepat bagi
penderita
osteoarthritis
sehingga
tidak
overtreatment
ataupun
undertreatment.
s Gambar 4. Struktur Rangka Tangan Manusia (”Computer Vision”, 2005) Berdasarkan analisa foto rontgen, penyakit osteoarthritis dapat dibagi menjadi empat tingkat (grade) keparahan yaitu (Brandt, Doherty & Lohmander, 2003) : a. Grade 1 (Doubtful) : •
Distal Interphalangeal joints : Sendi normal, dan osteofit (osteophyte) di satu titik
•
Proximal Interphalangeal joints : Osteofit di satu titik dan dimungkinkan adanya kista (cyst)
18
•
First Carpometacarpal joint : Osteofit kecil dan dimungkinkan terbentuknya kista (cyst)
b. Grade 2 (Minimal) : •
Distal Interphalangeal joints : Osteofit di dua titik dengan sedikit subchondral sclerosis dan kadang subchondral cysts, tapi tidak ada penyempitan ruang sendi dan kelainan
•
Proximal Interphalangeal joints : Osteofit di dua titik dan dimungkinkan ada penyempitan ruang sendi di satu titik
•
First Carpometacarpal joint : Adanya osteofit dan dimungkinkan adanya kista (cyst)
c. Grade 3 (Moderate) : •
Distal Interphalangeal joints : Osteofit di beberapa titik, adanya kelainan bentuk tulang, dan penyempitan ruang sendi
•
Proximal Interphalangeal joints : Osteofit di banyak titik, adanya kelainan bentuk tulang
•
First Carpometacarpal joint : Osteofit di beberapa titik, penyempitan ruang sendi, subchondral sclerosis, dan kelainan bentuk tulang
d. Grade 4 (Severe) : •
Distal Interphalangeal joints : Banyak osteofit, kelainan bentuk tulang dengan kerusakan ruang sendi, sclerosis dan kista (cysts)
•
Proximal Interphalangeal joints : Banyak osteofit, penyempitan ruang sendi, subchondral sclerosis, dan sedikit kelainan
19
•
First Carpometacarpal joint : Banyak osteofit, sclerosis parah, dan penyempitan ruang sendi.
a
b
Gambar 5. (a) Citra X-ray normal atau non-osteoathritis; (b) Citra X-ray osteoarthritis (Szendroi, 2008)
a
b
c
d
Gambar 6. Citra X-ray osteoarthritis dalam berbagai derajat pada Distal Interphalangeal joints: (a) grade 1 ; (b) grade 2 ; (c) grade 3 ; (d) grade 4 (Brandt, Doherty & Lohmander, 2003)
a
b
c
d
Gambar 7. Citra X-ray osteoarthritis dalam berbagai derajat pada Proximal Interphalangeal joints : (a) grade 1 ; (b) grade 2 ; (c) grade 3 ; (d) grade 4 (Brandt, Doherty & Lohmander, 2003)
20
a
b
c
d
Gambar 8. Citra X-ray osteoarthritis dalam berbagai derajat pada First Carpometacarpal joint : (a) grade 1 ; (b) grade 2 ; (c) grade 3 ; (d) grade 4 (Brandt, Doherty & Lohmander, 2003)
II.5 Jaringan Syaraf Tiruan Jaringan Saraf Tiruan (JST) didefinisikan sebagai suatu sistem pemrosesan informasi yang mempunyai karakteristik menyerupai jaringan saraf manusia. Jaringan saraf tercipta sebagai suatu generalisasi model matematis dari pemahaman manusia (Siang, 2005). Ada beberapa tipe jaringan syaraf, namun demikian, hampir semuanya memiliki komponen-komponen yang sama. Seperti halnya otak manusia, jaringan syaraf tiruan juga terdiri dari beberapa neuron, dan ada hubungan antara neuronneuron tersebut. Neuron-neuron tersebut akan mentransformasikan informasi yang diterima melalui sambungan keluarnya menuju ke neuron-neuron yang lain. Pada jaringan syaraf tiruan, hubungan ini dikenal dengan nama bobot. Informasi tersebut disimpan pada suatu nilai tertentu pada bobot tersebut.
Gambar 9 . Struktur Neuron Jaringan Syaraf Tiruan
21
Gambar diatas menunjukkan bahwa neuron buatan sebenarnya dibangun mirip dengan sel neuron biologis. Neuron-neuron buatan bekerja dengan cara yang sama pula dengan sel neuron biologis. Informasi (disebut dengan input) akan dikirim ke neuron dengan bobot kedatangan tertentu. Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan nilai-nilai semua bobot yang datang. Hasil penjumlahan ini kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila input tersebut melewati semua nilai ambang tertentu, maka neuron tersebut diaktifkan, tapi kalau tidak, maka neuron tersebut tidak akan diaktifkan. Apabila neuron tersebut akan diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot outputnya ke seluruh neuron yang berhubungan dengannya. Demikian seterusnya. Jaringan syaraf tiruan yang telah dan sedang dikembangkan merupakan pemodelan matematika dari jaringan syaraf biologis, berdasarkan asumsi : -
Pemrosesan info terjadi pada banyak elemen pemroses sederhana yang disebut neuron.
-
Sinyal dilewatkan antar neuron yang membentuk jaringan neuron.
-
Setiap elemen pada jaringan neuron memiliki 1 (satu) pembobot. Sinyal yang dikirimkan ke lapisan neuron berikutnya adalah info dikalikan dengan pembobot yang bersesuaian.
-
Tiap-tiap neuron mengerjakan fungsi aktivasi untuk mendapatkan nilai output masing-masing. Jaringan syaraf tiruan di dalam penggunaannya dapat terbagi menjadi
bermacam arsitektur, dimulai dari jaringan syaraf yang paling sederhana yaitu
22
single-layer yang hanya terdiri atas layer input dan sebuah unit output dan jaringan syaraf multi-layer dengan adanya hidden layer diantara layer input dan output. Untuk beberapa kasus, jaringan syaraf multi-layer memang cenderung lebih menguntungkan, tetapi pada umumnya dengan satu layer saja sudah memadai untuk menyelesaikan berbagai masalah. Beberapa model jaringan, seperti backpropagation, menerapkan sebuah unit bias sebagai bagian tiap lapisan. Unit ini mempunyai nilai pengaktifan konstan berharga 1, atau bernilai random dengan faktor skala tertentu yang didapat dari metode Nguyen Widrow, dimana tiap unit bias dihubungkan ke semua unit pada lapisan selanjutnya yang lebih tinggi dan pembobotan padanya diatur selama back-error propagation. Unit bias memberikan masa konstan dalam jumlah pembobotan dari unit-unit di lapisan selanjutnya. Hasilnya kadang kala merupakan properti konvergensi (menuju target) dari jaringan. Pada JST, belajar adalah proses pembentukan konfigurasi nilai-nilai bobot dari jaringan. Proses ini bertujuan agar input-input yang diberikan padanya akan direspon melalui bobot-bobot tersebut sehingga menghasilkan output yang sesuai atau mendekati dengan target. Secara umum, proses pembelajaran JST dapat dikategorikan dalam dua jenis proses (Purnomo & Kurniawan, 2006) : •
Supervised training (Pelatihan terbimbing) Pada tipe pembelajaran ini, tiap pola input memiliki pola target, sehingga masing-masing input memiliki pasangan output yang bersesuaian. Dalam hal ini, dapat diterapkan toleransi kesalahan output respon terhadap target
23
yang seharusnya. Error digunakan untuk mengubah bobot sambungan sehingga kesalahan akan semakin kecil dalam siklus pelatihan berikutnya. •
Unsupervised training (Pelatihan tidak terbimbing) Pada pelatihan ini, vektor target tidak dibutuhkan untuk keluarannya sehingga tidak ada perbandingan untuk menentukan respon yang ideal. Proses ini hanya terdiri dari vektor-vektor masukan, dan berfungsi sebagai pengubah pembobot jaringan untuk menghasilkan pola vektor, sehingga penerapan dua vektor pelatihan suatu vektor lain yang cukup sejenis menghasilkan pola keluaran yang sama.
2.5.1 Jaringan Syaraf Tiruan Backpropagation Ada berbagai algoritma diterapkan di dalam jaringan syaraf tiruan, salah satunya adalah algoritma pelatihan Backpropagasi (Backpropagation). Metode Backpropagasi atau disebut juga propagasi balik pertama kali dirumuskan oleh Werbos dan dipopulerkan oleh Rumelhart bersama McClelland untuk dipakai pada jaringan syaraf tiruan (Hermawan, 2006). Algoritma ini termasuk metode pelatihan terbimbing (supervised), yaitu metode pelatihan yang memasukkan target keluaran dalam data untuk proses pelatihannya, dan didesain untuk operasi pada jaringan syaraf tiruan feed forward multi-layer (lapis banyak) Algoritma ini juga banyak dipakai pada aplikasi pengendalian karena proses pelatihannya didasarkan pada interkoneksi yang sederhana, yaitu : Jika keluaran memberikan hasil yang salah, maka bobot dikoreksi supaya galatnya dapat diperkecil dan tanggapan JST selanjutnya diharapkan akan lebih mendekati nilai yang benar. backpropagation juga berkemampuan untuk memperbaiki bobot pada lapis tersembunyi (hidden layer).
24
Secara garis besar, ketika JST backpropagation diberikan pola masukan sebagai pola pelatihan maka pola tersebut menuju ke unit-unit pada lapis tersembunyi untuk diteruskan ke unit-unit lapis keluaran. Kemudian unit-unit lapis keluaran memberikan tanggapan yang disebut sebagai keluaran JST. Saat keluaran JST tidak sama dengan keluaran yang diharapkan maka keluaran akan disebarkan mundur (backward) pada lapis tersembunyi diteruskan ke unit pada lapis masukan. Oleh karenanya maka mekanisme pelatihan tersebut dinamakan backpropagation/propagasi balik. Tahap ini termasuk dalam tahap pelatihan, dan apabila proses pelatihan tersebut selesai, fase ini disebut juga sebagai fase mapping atau proses pengujian / testing. Kemampuan dalam mengurangi galat yang terjadi antara target dengan output pada tahap propagasi balik merupakan kelebihan yang dimiliki pada arsitektur JST backpropagation, sehingga banyak dimanfaatkan di beberapa penelitian terutama di bidang medis. Seperti di dalam penelitian Savio et al (2006) yang mempergunakan backpropagation untuk mengklasifikasikan penyakit Alzheimer dari 98 data MRI otak manusia (49 normal dan 49 mild AD), telah berhasil memberikan diagnosa kelas dengan keakuratan mencapai 78%. Penelitian lainnya juga diterapkan oleh Al-Shayea & Bahia (2010) untuk mendiagnosis penyakit kandung kemih (urinary bladder) dengan menggunakan arsitektur feedforward backpropagation, yang telah berhasil mengklasifikasikan antara kelas terinfeksi dan kelas non-terinfeksi dengan ketepatan hingga mencapai 99%. Seperti halnya dengan kedua penelitian tersebut, penelitian ini juga akan diterapkan dengan mengaplikasikan arsitektur backpropagation dan diharapkan
25
akan memiliki tingkat keberhasilan yang tinggi pula dalam mendiagnosis kelas/derajat penyakit osteoarthritis. 2.5.2 Arsitektur Backpropagation Backpropagation merupakan salah satu dari metode jaringan syaraf tiruan yang memiliki arsitektur yang lebih kompleks. Umumnya arsitektur dari JST backpropagation terdiri dari tiga bagian yang meliputi bagian masukan (input layer), lapis tersembunyi (hidden layer) dan keluaran (output layer). Disamping itu juga terdapat parameter-parameter yang lainnya.
Gambar 10. Arsitektur Jaringan Syaraf Tiruan Multilayer (Lin, Chu, Lee & Huang, 2008) Gambar diatas merupakan arsitektur dari JST multilayer dengan metode backpropagation. Wxh merupakan bobot garis dari unit masukan Xi ke unit layer tersembunyi Hj. Why merupakan bobot dari unit layer tersembunyi Hj ke unit keluaran Yt. 2.5.3 Pemilihan Bobot dan Bias Awal Dalam jaringan syaraf tiruan, bobot awal akan mempengaruhi apakah jaringan mencapai titik minimum lokal atau global, dan seberapa cepat konvergensinya.
26
Bobot yang menghasilkan nilai turunan aktivasi yang kecil sedapat mungkin dihindari karena akan menyebabkan perubahan bobotnya menjadi sangat kecil. Demikian pula nilai bobot awal tidak boleh terlalu besar karena nilai turunan fungsi aktivasinya menjadi sangat kecil juga. Oleh karena itu dalam standar backpropagation, bobot dan bias diisi dengan bilangan acak kecil. Pada tahun 1990, Nguyen dan Widrow mengusulkan cara membuat inisialisasi bobot dan bias ke unit tersembunyi sehingga menghasilkan iterasi lebih cepat (Siang, 2005). Algoritma inisialisasi Nguyen Widrow adalah sebagai berikut : a. Inisialisasi semua bobot (vji( lama )) dengan bilangan acak dalam interval [-0.5, 0.5]. b. Hitung ||vj|| = √vj12 + vj22 + ... + vjn2 c. Bobot yang dipakai sebagai inisialisasi = vji = [β.vji (lama)] / ||vj|| d. Bias yang dipakai sebagai inisialisasi = vj0 = bilangan acak antara -β dan β. Dimana ; n
: jumlah unit masukan
p
: jumlah unit tersembunyi
β
: faktor skala = 0.7 n√ p
2.5.4 Fungsi Aktivasi Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat yaitu : kontinu, terdeferensial dengan mudah dan merupakan fungsi yang tidak turun. Beberapa fungsi yang memenuhi ketiga syarat tersebut
27
sehingga sering dipakai adalah fungsi sigmoid biner yang memiliki range [0,1] dan fungsi sigmoid bipolar dengan range [-1, 1]. a) Fungsi sigmoid biner
Dengan turunan :
Fungsi diatas dapat digambarkan :
Gambar 11. Fungsi Sigmoid Biner, Range [0,1] (Siang, 2005)
b) Fungsi sigmoid bipolar
Dengan turunan :
Ilustrasi fungsi diatas dapat digambarkan :
28
Gambar 12. Fungsi Sigmoid Bipolar, Range [-1,1] (Siang, 2005)
Fungsi sigmoid memiliki nilai maksimum = 1. Maka untuk pola yang targetnya > 1, pola masukan dan keluaran harus terlebih dahulu ditransformasi sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang dipakai. Alternatif lain adalah menggunakan fungsi aktivasi sigmoid hanya pada lapis yang bukan lapis keluaran. Pada lapis keluaran, fungsi aktivasi yang dipakai adalah fungsi identitas : f(x) = x. 2.5.5 Pelatihan Standar Backpropagation Pelatihan backpropagation meliputi 3 fase, yaitu (Hermawan, 2006): I. Fase I : Propagasi maju Selama propagasi maju, sinyal masukan (= xi) dipropagasikan ke layer tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit layer tersembunyi (= zj) tersebut selanjutnya dipropagasikan maju lagi ke layer tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan (= yk). Berikutnya, keluaran jaringan (= yk) dibandingkan dengan target yang harus dicapai (= tk). Selisih hk-yk adalah kesalahan atau galat yang terjadi. Jika galat ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi
29
dihentikan. Akan tetapi apabila galat masih lebih besar dari batas toleransi, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi galat yang terjadi. II. Fase II : Propagasi mundur Berdasarkan galat tk-yk, dihitung faktor δk (k = 1, 2, ...., m) yang dipakai untuk mendistribusikan galat di unit yk ke semua unit tersembunyi yang terhubung langsung dengan yk. δk juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran. Dengan cara yang sama, dihitung faktor δ, 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. III. 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 di dasarkan atas δk yang ada di unit keluaran. Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian dipenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah iterasi atau galat. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau
30
jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diizinkan. 1. Algoritma pelatihan backpropagation terdiri dari dua tahapan, feed forward dan backpropagation dari galatnya : a) Langkah 0 : Pemberian inisialisasi penimbang(diberi nilai kecil secara acak) b) Langkah 1 : Ulangi langkah 2 hingga 9 sampai kondisi akhir iterasi dipenuhi c) Langkah 2 : Untuk masing-masing pasangan data pelatihan lakukan langkah 3 hingga 8. 2. Umpan maju (Feed Forward) d) Langkah 3 : Masing-masing unit masukan (Xi, i = 1, ….n) menerimasinyal masukan Xi dan sinyal tersebut disebarkan ke unit-unit bagian berikutnya (unit-unit lapis tersembunyi). e) Langkah 4 : Masing-masing unit di lapis tersembunyi dikalikan dengan penimbang dan dijumlahkan serta ditambah dengan biasnya Z_inj = Vj0 + ∑ XiVji Kemudian dihitung sesuai dengan fungsi pengaktif yang digunakan : Zj = f(Z_inj)
31
Bila yang digunakan adalah fungsi sigmoid maka bentuk fungsi tersebut adalah :
Sinyal keluaran dari fungsi pengaktif tersebut dikirim ke semua unit di lapis keluaran. f) Langkah 5 : Masing-masing unit keluaran (Yk, k = 1,2,3…m) dikalikan dengan penimbang dan dijumlahkan serta ditambah dengan biasnya : Y_ink = Wk0 + ∑ Zj.Wkj Kemudian dihitung kembali sesuai dengan fungsi pengaktif yk = f(y_ink) 3. Backpropagasi (Backpropagation) dan Galatnya g) Langkah 6 : Masing-masing unit keluaran (Yk, k = 1, ….,m) menerima pola target sesuai dengan pola masukan saat pelatihan/training dan dihitung galatnya :
δk = ( tk – yk) f,(y_ink) karena f,(y_ink) = yk menggunakan fungsi sigmoid, maka : f,(y_ink) = f(y_ink)(1 - f(y_ink)) = yk(1 – yk) Menghitung
perbaikan
memperbaiki Wkj).
penimbang
(kemudian
untuk
32
∆Wk j =α.δk.Zj Menghitung perbaikan korelasi : ∆Wk0 = α.δk Dan menggunakan nilai delta (δk) pada semua unit lapis sebelumnya. h) Langkah 7 : Masing-masing penimbang yang menghubungkan unit-unit lapis keluaran dengan unit-unit pada lapis tersembunyi (Zj, j = 1,…p) dikalikan dengan delta (δk) dan dijumlahkan sebagai masukan ke unit-unit lapis berikutnya.
δ_inj = ∑ δk Wk j Selanjutnya dikalikan dengan turunan dari fungsi pengaktifnya untuk menghitung galat.
δj = δ_inj f,(y_inj) Langkah
selanjutnya
menghitung
perbaikan
penimbang
(digunakan untuk memperbaiki Vji). ∆ Vji = α.δJ Xi Kemudian menghitung perbaikan bias (untuk memperbaiki Vj0) ∆ Vj0 = α.δJ 4. Memperbaiki penimbang dan bias i) Langkah 8 : Masing-masing keluaran unit (Yk, k = 1, …,m) diperbaiki bias dan penimbangnya (j = 0,…..,p),
33
Wkj(baru) = Wkj(lama) + α.δk.Zj atau apabila parameter momentum (μ) digunakan menjadi : Wkj(baru) = Wkj(lama) + α.δk.Zj + (μ (Wkj(lama) - Wkj(lama -1))) Masing-masing unit tersembunyi (Zj, j = 1, ….,p) diperbaiki bias dan penimbangnya (j = 1, …n) Vji(baru) = Vji(lama) + α.δJ Xi
atau apabila parameter
momentum digunakan menjadi : Vji(baru) = Vji(lama) + α.δJ Xi + (μ (Vji(lama) - Vji(lama -1))) j) Langkah 9 : Uji kondisi pemberhentian (akhir iterasi). 2.5.6 Parameter Pelatihan Parameter – parameter yang turut menentukan keberhasilan proses pelatihan pada algoritma backpropagation : a. Inisialisasi bobot Bobot sebagai interkoneksi JST yang akan dilatih biasanya diinisialisasi dengan nilai real kecil secara random, namun banyak penelitian yang menunjukkan bahwa konvergensi tidak akan dicapai apabila penimbang atau bobot kurang bervarisasi dan bernilai terlalu kecil (Purnomo & Kurniawan, 2006). Dengan demikian, penentuan nilai inisialisasi bobot sebaiknya dipilih pada interval -0.5 sampai 0.5, atau -1 sampai 1, atau dengan cara menggunakan algoritma Nguyen Widrow agar tercapai konvergensi.
34
b. Jenis adaptasi penimbang Ada dua jenis adaptasi penimbang pada pelatihan jaringan syaraf tiruan, yaitu (Purnomo & Kurniawan, 2006) :
Adaptasi kumulatif (commulative weight adjustment) Yaitu bobot baru diadaptasi setelah semua bobot yang masuk dilatih.
Adaptasi biasa (incremental updating) Yaitu bobot diadaptasi pada setiap pola yang masuk.
c. Learning rate (laju pelatihan) Nilai parameter learning rate atau laju pelatihan sangat mempengaruhi proses training. Laju pelatihan mempengaruhi seberapa banyak bobot dalam setiap neuron berubah dalam setiap epoch. Jika nilai laju pelatihan terlalu besar menyebabkan perubahan bobot jaringan
terlalu tinggi
hingga jaringan menjadi tidak stabil. Dan apabila nilainya terlalu kecil, jaringan akan lama untuk mencapai konvergen (Navaroli, Turner, Conception & Lynch, 2008). d. Momentum Koofisien ini diberikan pada komputasi JST agar dapat mempercepat konvergensi, dimana nilai konstanta momentum dapat berupa bilangan positif antara 0.1 sampai dengan 0.9. Penggunaan
momentum
akan
mengijinkan
jaringan
tidak
memperhitungkan kesalahan-kesalahan kecil pada perubahan error yang terjadi antara setiap epoch. Semakin kecil nilai momentum, membuat jaringan akan berputar disekitar minimum error lokal. Semakin besar
35
nilainya, membuat jaringan akan mengabaikan error sama sekali sehingga memberikan hasil yang tidak valid (Navaroli, Turner, Conception & Lynch, 2008). e. Penentuan jumlah lapis tersembunyi Beberapa hasil teoritis yang telah didapat menunjukkan bahwa jaringan dengan
sebuah
lapis
tersembunyi
sudah
cukup
bagi
metode
backpropagation untuk mengenali pola, namun penambahan jumlah lapis tersembunyi terkadang juga dapat membuat pelatihan menjadi lebih baik. Hal ini terbukti pada penelitian sebelumnya yang dilakukan oleh Niu & Ye (2009). 2.5.7 Proses Pelatihan JST (Training) Setelah ditentukan semua data masukan dari citra dan data target keluaran, maka dapat dilakukan proses learning/pelatihan. Untuk menentukan jumlah pelatihan, digunakan dua macam stopping kriteria yaitu : − Berdasarkan jumlah pelatihan yang dilakukan (epochs), misalnya pelatihan akan dihentikan setelah dilakukan sejumlah pelatihan. − Berdasarkan Galat Mean Square Error (MSE), maka proses pelatihan akan terus dilakukan sampai error-nya menjadi lebih kecil dari batas toleransi. Perhitungan MSE yakni :
2.5.8 Proses Pengujian JST (Testing atau Mapping) Setelah dilakukan pelatihan terhadap metode JST tersebut, maka didapatkan weight (bobot/penimbang) hasil pelatihan yang sesuai untuk
36
berbagai macam permasalahan. Proses mapping dilakukan dengan menjalankan prosedur feed forward dengan bobot-bobot yang telah disimpan sebelumnya (dilakukan load data penimbang dari file). Hasil keluaran dari JST merupakan hasil dari proses mapping. Sehingga dengan proses mapping ini, dapat dilakukan proses identifikasi sekaligus didapatkan diagnosa berupa prediksi dari x-ray. 2.5.9 Evaluasi Prediksi yang telah didapat dari masing-masing citra x-ray pada proses pengujian (testing), kemudian akan dievaluasi tingkat keberhasilannya melalui pencocokan hasil identifikasi atau prediksi derajat penyakit dengan diagnosa yang berasal dari ahli rheumatologi.