Prosiding Seminar Nasional Penelitian, Pendidikan dan Penerapan MIPA, Fakultas MIPA, Universitas Negeri Yogyakarta, 14 Mei 2011
KLASIFIKASI PENYAKIT DIABETES MELLITUS MENGGUNAKAN JARINGAN SYARAF TIRUAN BACKPROPAGATION DAN LEARNING VECTOR QUANTIZATION Agus Nurkhozin1, Mohammad Isa Irawan2, Imam Mukhlash2 1 Mahasiswa Pascasarjana Matematika FMIPA ITS Surabaya 2 Dosen Pascasarjana Jurusan FMIPA ITS Surabaya E-mail :
[email protected]
Abstrak Diabetes mellitus merupakan penyakit yang ditandai dengan kenaikan kadar gula dalam darah. Penyakit ini biasanya disebabkan pengaruh destruksi sel beta, diabetagonik, dan olah raga yang kurang teratur. Penyakit ini diklasifikasikan menjadi dua kelas klasifikasi. Dalam mengklasifikasikan suatu permasalahan dengan jumlah data yang besar membutuhkan metode cepat dan akurat. Salah satunya adalah menggunakan metode jaringan syaraf tiruan. Jaringan syaraf tiruan merupakan sistem pemroses informasi seperti pemroses pada otak manusia. Jaringan syaraf tiruan telah banyak digunakan dalam banyak aplikasi, salah satunya untuk klasifikasi. Dalam penelitian ini, dua metode klasifikasi yaitu metode Backpropagation dan Learning Vector Quantization (LVQ) digunakan untuk menyelesaikan permasalahan klasifikasi penyakit diabetes mellitus. Dari hasil ujicoba didapatkan bahwa dalam klasifikasi penyakit diabetes mellitus metode LVQ memberikan kinerja lebih baik dibandingkan Backprogation Kata Kunci : Jaringan Syaraf Tiruan, Backropagation, Learning Vector Quantization, Diabetes Mellitus
PENDAHULUAN Diabetes mellitus adalah suatu keadaan hiperglikemik kronis dan perlahan namun pasti akan merusak jaringan dalam tubuh jika tidak ditangani secara tepat dan serius. Penyakit ini akan mengakibatkan berbagai macam komplikasi kronis terjadi pada mata, ginjal, saraf, dan pembuluh darah. Indonesia menempati urutan ke-4 dengan jumlah penderita diabetes mellitus terbanyak di dunia setelah India, Cina, dan Amerika Serikat. Dalam menyelesaikan permasalahan yang komplek memerlukan metode cepat, tepat dan akurat. Salah satunya adalah Jaringan Syaraf Tiruan. Jaringan ini telah menjadi obyek penelitian yang menarik dan banyak digunakan untuk menyelesaikan permasalahan pada beberapa bidang kehidupan, contohnya klasifikasi penyakit diabetes mellitus. Dalam penelitian ini menggunakan metode jaringan syaraf tiruan backpropagation dan Learning Vector Quantization (LVQ) karena metode ini terkenal bagus, cepat, dan akurat yang mampu melakukan pengelompokan data berdasarkan sifat atribut yang dimiliki oleh sekelompok besar data. Penelitian ini bertujuan untuk membandingkan keakurasian hasil klasifikasi menggunakan jaringan syaraf tiruan Backpropagation dan LVQ dalam mengklasifikasikan penyakit diabetes mellitus.
M-1
Agus Nurkhozin/Komparasi Hasil Klasifikasi
METODE PENELITIAN Prosedur kerja pada penelitian ini dilakukan dalam beberapa tahapan. Tahap pertama adalah mengidentifikasi permasalahan yang diawali dengan mencari topik yang akan diuji, mencari literatur yang sesuai dengan permasalahan penelitian, dan proses pembuatan proposal penelitian tesis. Tahap kedua adalah mengambil data di mana data yang diambil adalah data pasien pengidap penyakit diabetes mellitus dari sebuah rumah sakit. Data yang diperoleh adalah data pasien dari bulan Januari sampai bulan Desember 2010. Dalam satu tahun terakhir tercatat sebanyak 1.386 pasien, dan diambil sampel sebanyak 431 pasien. Selanjutnya data yang diperoleh didiskusikan dengan dokter spesialis penyakit dalam dikasifikasikan dalam dua kelas. Tahap selanjutnya adalah implementasi pada metode klasifikasi yang didahului dengan mengolah data dan transformasi data sesuai dengan kebutuhan jaringan. Metode klasifikasi yang penulis gunakan adalah metode Backpropagation dan Learning Vector Quantization (LVQ) dengan algoritma yang berbeda. Setelah data ditraining dan ditesting dengan menggunakan kedua metode klasifikasi lalu hasilnya dianalisis keakurasiannya. Selanjutnya ditarik kesimpulan metode mana dari kedua metode tersebut yang lebih baik. Diagram Proses Penelitian
Mulai
Identifikasi Masalah
Penngambilan dan Pengolahan (transformasi) Data
Implementasi pada Backpropagation
Implementasi pada LVQ
Analisis Kerja
Analisis Kerja
Membandingkan Kinerja Kedua Metode
Selesai
Gambar 1 : Denah alur penelitian
PEMBAHASAN Diabetes Melitus merupakan suatu penyakit multisistem dengan ciri hiperglikemia akibat kelainan sekresi insulin, kerja insulin, atau kedua-duanya. Kelainan pada sekresi atau kerja insulin tersebut menyebabkan abnormalitas dalam metabolisme karbohidrat, lemak dan protein. Gangguan metabolisme karbohidrat ini menyebabkan tubuh kekurangan energi, karena itu penderita diabetes melitus umumnya terlihat lemah, lemas, dan tidak bugar [1]. M-2
Prosiding Seminar Nasional Penelitian, Pendidikan dan Penerapan MIPA, Fakultas MIPA, Universitas Negeri Yogyakarta, 14 Mei 2011
Diabetes mellitus pada umumnya dikelompokkan menjadi dua macam, yaitu : 1. Kelas 1 (insulin dependent diabetes mellitus). Pada tipe ini terjadi destruksi sel-sel beta pankreas oleh proses autoimun yang menyebabkan pembentukan antibody di mana akibat infeksi virus sehingga terjadi defisiensi insulin, usia muda termasuk anak-anak (<40 tahun), badan kurus, ratarata tidak ada faktor genetika. 2. Kelas 2 (non insulin dependent diabetes mellitus). Pada tipe ini pankreas masih menghasilkan insulin namun tidak cukup. Jumlah insulin normal lebih banyak tetapi jumlah reseptor insulin yang terdapat pada permukaan sel berkurang sehingga terjadi resistensi insulin. Hal ini biasa terjadi pada usia dewasa dan usia Lanjut (>40 tahun), badan gemuk dan obesitas, diabetagonik, dan adanya faktor genetika. Data yang diperoleh terdapat tersebut peneliti bagi menjadi enam variable input dan target sebanyak dua kelas. Sebagai variabel input dalam penelitian ini diuraikan sebagai berikut : = Usia = Berat badan = Tinggi badan = Riwayat keluarga = Terdapat gangguan destruksi sel beta = Pengaruh pola makan Sedangkan sebagai unit output atau target adalah : = Kelas 1 = Kelas 2 Selanjutnya nilai variabel input tersebut dinormalisasikan dengan rumus sebagai berikut :
Selanjutnya data yang sudah dinormalisasi diubah menjadi bentuk biner [0,1]sesuai kebutuhan jaringan. Pengubahan dalam bentuk biner dilakukan dengan ketentuan sebagai berikut : , Untuk data output atau target juga diubah sebagai berikut : =1 =2 Langkah berikutnya adalah Implementasi pada Jaringan LVQ dan Backpropagation. a. Jaringan LVQ LVQ adalah metode untuk melakukan pembelajaran pada lapisan kompetitif yang terawasi. Suatu lapisan kompetitif akan secara otomatis belajar untuk mengklasifikasikan vektor input. Kelas-kelas yang didapatkan sebagai hasil dari lapisan kompetitif, bergantung jarak antar vektor input. Jika dua vektor mendekati sama, maka lapisan kompetitif akan meletakkan kedua vektor input dalam kelas yang sama [5]. Pada penelitian ini terdiri dari dua lapisan yaitu lapisan input dan output. Lapisan input terdiri dari enam unit input unit dan lapisan output terdiri dari dua unit output yang diambil dari banyaknya kelas klasifikasi.
M-3
Agus Nurkhozin/Komparasi Hasil Klasifikasi
Arsitektur jaringan LVQ : Input Layer W11
Output Layer
W61
Gambar 2 : Arsitektur Jaringan LVQ Permasalahan Diabetes Mellitus Deskripsi dari gambar di atas adalah sebagai berikut : adalah vektor training sebanyak (x 1 , x 2 , ..., x 6 ) adalah target untuk vektor training sebanyak 2 target yaitu yang ditentukan dalam dua kelas. adalah vektor bobot untuk unit output ke-j yaitu (w 1j , w2j , ..., w6j ) adalah kelas hasil komputasi oleh unit output ke-j, terdiri dari dua kelas yaitu adalah jarak Euclidean antara vektor input dengan vektor bobot untuk unit output ke-j. Algoritma LVQ Input : (x 1 , x 2 , ..., x 6 ) Output : (y 1 ,y 2 ) Proses Langkah 0 : Inisialisasi vektor referensi yang mewakili kelas, inisialisasi learning rate (0) Langkah 1 : Bila kondisi STOP belum terpenuhi, kerjakan langkah 2–6 Langkah 2 : Untuk setiap vector input training x, kerjakan langkah 3- 4 Langkah 3 : Dapatkan nilai J sedemikian hingga minimum Langkah 4 : Update Jika
sebagai berikut : maka
W Jika
; maka ;
Langkah 5 : Reduksi learning rate Langkah 6 : Tes kondisi STOP
M-4
Prosiding Seminar Nasional Penelitian, Pendidikan dan Penerapan MIPA, Fakultas MIPA, Universitas Negeri Yogyakarta, 14 Mei 2011
b. Jaringan Backpropagatioan Backpropagation adalah jaringan multilayer, yang terdiri dari 3 lapisan yaitu lapisan input, hidden dan output. Lapisan input terdiri dari enam unit. Lapisan hidden terdiri dari 6 yang dipilih dari 10 node yang dipilih berdasarkan dari training dengan error terkecil. Sedangkan unit output terdiri dari dua kelas. Arsitektur jaringan Backpropagation : Hidden layer
Input layer V11 X1
Z w1
X2
Z
X3
Z
X4
Z
Output Y
Y X5
X6
Z
Z
Gambar 3 : Arsitektur backpropagation permasalahan Diabetes Mellitus
Algoritma backpropagation Dengan menggunakan satu hidden layer, algoritma backpropagation sebagai berikut : Step 0 : Inisialisasi nilai bobot dengan nilai acak yang kecil. Step 1 : Selama kondisi berhenti masih tidak terpenuhi, laksanakan step 2 - 9. Step 2 : Untuk tiap pasangan pelatihan, kerjakan step 3 - 8. Feedforward : Step 3: Untuk tiap unit input (X i , i=1,…,n) menerima sinyal input x i dan menyebarkan sinyal itu ke seluruh unit pada layer berikutnya ( hidden layer ) Step 4: Untuk tiap unit dalam ( Z j , j=1,…,p ) dihitung nilai input dengan menggunakan nilai bobotnya n
z _ in j = υ0 j + ∑ xi υij i =1
Kemudian dihitung nilai output dengan menggunakan fungsi aktivasi yang dipilih z j = f ( z_in j ) Hasil fungsi tersebut dikirim ke semua unit pada layer berikutnya (unit output ). Step 5: Untuk tiap unit output ( Yk , k=1,..,m ) dihitung nilai input dengan menggunakan nilai bobotnya p
y _ in k = w0 k + ∑ z j w jk j =1
Kemudian dihitung nilai output dengan menggunakan fungsi aktivasi
y k = f ( y _ in k )
Backpropagation Of Error Step 6 : Untuk tiap unit output ( Yk , k=1,..,m ) menerima pola target yang bersesuaian dengan pola input dan kemudian dihitung informasi kesalahan
δ k = (t k − y k ) f ' ( y _ ink ) Kemudian dihitung koreksi nilai bobot yang akan digunakan untuk memperbaharui nilai bobot wjk. : M-5
Agus Nurkhozin/Komparasi Hasil Klasifikasi
∆w jk = αδ k z j Hitung koreksi nilai bias yang kemudian akan digunakan untuk memperbaharui nilai w 0k :
∆w0 k = αδ k
dan kemudian nilai δ k dikirim ke unit pada layer sebelumnya. Step 7: Untuk tiap unit dalam ( Z j , j=1,…,p ) dihitung delta input yang berasal dari unit pada layer di atasnya : m
δ _ in j = ∑ δ k w jk k =1
Kemudian nilai tersebut dikalikan dengan nilai turunan dari fungsi aktivasi untuk menghitung informasi kesalahan :
δ j = δ _ in j f ' ( z _ in j ) Hitung koreksi nilai bobot yang kemudian digunakan untuk memperbaharui nilai υij :
∆υij = αδ j xi dan hitung nilai koreksi bias yang kemudian digunakan untuk memperbaharui υ oj :
∆υ oj = αδ j Update nilai bobot dan bias : Step 8 : Setiap unit output ( Yk , k=1,…,m ) mengupdate bias dan bobotnya (j=0,…,p )
w jk (new) = w jk (old ) + ∆w jk
Tiap unit hidden ( Z j , j=1,…,p ) mengupdate bias dan bobotnya ( i=0,…,n)
υ ij (new) = υ ij (old ) + ∆υ ij
Step 9 : Menguji apakah kondisi berhenti sudah terpenuhi. Algoritma Testing Setelah training, jaringan syaraf backpropagation diaplikasikan dengan menggunakan fase yang diberikan sebelumnya dari algoritma training. Prosedur aplikasinya adalah sebagai berikut : Step 0 : Inisialisasi bobot (dari algoritma training) Step 1 : Untuk setiap vektor input, kerjakan step 2-4 Step 2 : Untuk i = 1,.......,n: set aktifasi dari unit input xi ; Step 3 : Untuk j = 1,.....p: n
z _ in j = v0 j + ∑ xi vij ; i =1
z j = f ( z _ in j ) Step 4 : Untuk k = 1,.....m: y _ in k = w0 k +
p
∑z w j =1
j
jk
;
y k = f ( y _ ink ) Penelitian ini bertujuan untuk mencari perbandingan keakurasian hasil dari kinerja kedua metode jaringan yang digunakan. Data ditraining dengan menggunakan kedua metode klasifikasi yaitu jaringan LVQ dan Backpropagatioan dengan masing-masing algoritma berbeda. Setelah data ditraining dan ditesting dengan kedua metode tersebut, selanjutnya hasil training keduanya dibandingkan. Di bawah ini akan diberikan hasil klasifikasi dari kedua metode klasifikasi. Hasil klasifikasi setelah proses training dan testing dapat dilihat pada tabel berikut :
M-6
Prosiding Seminar Nasional Penelitian, Pendidikan dan Penerapan MIPA, Fakultas MIPA, Universitas Negeri Yogyakarta, 14 Mei 2011
Contoh Sederhana untuk LVQ dalam mengklasifikasikan 5 vektor menjadi 2 kelas. Vektor Kelas 1. (1, 1, 0, 0) 1 2. (0, 0, 0, 1) 2 3. (0, 0, 1, 1) 2 4. (1, 0, 0, 0) 1 5. (0, 1, 1, 0) 2 Dua vektor yang pertama digunakan untuk menginisialisasi dua vektor referensi. Unit output yang pertama mewakili kelas 1 dan yang ke dua mewakili kelas 2 (yang dilambangkan dengan C 1 = 1 dan C 2 = 2). Sedangkan tiga vektor (0, 0, 1, 1), (1, 0, 0, 0), dan (0, 1, 1, 0) sebagai vektor training. Di bawah ini ditunjukkan satu iterasi sebagai berikut : Step 0 Inisialisasi bobot (dari vektor referensi) w 1 = (1, 1, 0, 0) w 2 = (0, 0, 0, 1) Inisialisasi learning rate α = 0.1 Step 1 Mulai komputasi Step 2 Untuk vektor input x = (0, 0, 1, 1) dengan T = 2 kerjakan Step 3 – 4 Step 3 J = 2, sejak x lebih dekat ke w 2 daripada ke w 1 . Step 4 Karena T = 2 dan C 2 = 2 update w2 sebagai berikut: w2 = (0, 0, 0, 1) + 0.1 [(0, 0, 1, 1) – (0, 0, 0, 1)] = (0, 0, 0 .1, 1) Step 2 Untuk vektor input x = (1, 0, 0, 0) dengan T = 1 kerjakan Step 3 – 4. Step 3 J =1 Step 4 Karena T = 1 dan C 1 = 1 update w1 sebagai berikut: w1 = (1, 1, 0, 0) + 0 .1[(1, 0, 0, 0) – (1, 1, 0, 0)] = (1, 0.9, 0, 0) Step 2 Untuk vektor input x = (0, 1, 1, 0) dengan T = 2 kerjakan Step 3 – 4. Step 3 J = 1 Step 4 Karena T = 2 tetapi C 1 = 1 update w1 sebagai berikut w1 = (1, 0.9, 0, 0) – 0.1[(0, 1, 1, 0) – (1, 0.9, 0, 0)] = (1.1, 0.89, -0.1, 0) Step 5 Training telah lengkap dilakukan untuk 1 epoch Diperoleh w 1 , w 2 yang baru ini digunakan untuk proses berikutnya Reduksi learning rate Kondisi stop dipenuhi jika learning rate mencapai suatu nilai yang cukup kecil atau bobot-bobot tidak berubah lagi artinya mencapai konvergen. Hasil uji coba dari metode Backpropagation dan LVQ ditunjukkan dalam tabel di bawah ini. Tabel 1 : Hasil klasifikasi dengan menggunakan α= 0.5 dengan jumlah epoch = 100, Jumlah training 345 dan jumlah data testing 86 pasien Metode
Error
Persentasi keakurasian
LVQ
27.441861
82.558139
Backpropagation
26.744187
73.255813
KESIMPULAN Berdasarkan pembahasan, dapat disimpulakan bahwa klasifikasi data penyakit diabetes mellitus menggunakan LVQ memberikan tingkat akurasi lebih tinggi atau akurat dalam membaca pola jika dibandingkan klasifikasi data menggunakan jaringan Backpropagation. M-7
Agus Nurkhozin/Komparasi Hasil Klasifikasi
SARAN Dalam rangka pengembangan penelitian perlu dilakukan pada klasifikasi kasus yang lain karena jaringan LVQ dan Backpropagation masih dapat memung-kinkan untuk dikaji dan dikembangkan.
DAFTAR PUSTAKA [1] Rahmadi, Agus. (2008). Kadar Gula Darah dan Kadar Hormon Testosteron pada Pria Penderita Diabetes Melitus. Tesis. Universitas Diponegoro Semarang [2] Arief, M. (2001). Diabetes Mellitus dan Komplikasinya. Puslitbang Kesehatan. Jakarta [3] Fausett, L. (1994). Fundamentals of Neural Networks: Architecture, Algorithms, and Aplications, Prentice Hall [4] Jorgens, V. dkk. (1994). Bagaimana Mengobati Diabetes secara Mandiri untuk Pasien yang tidak Menyuntikkan Insulin. Fakultas Kedokteran Universitas Indonesia [5] Kusumadewi,S. (2003). Artificial Intelligence. Graha Ilmu, Yogyakarta [6] Kuzuya, T. Dkk. (2002). “Report of Committee on the Classification and Diagnostic Criteria of Diabetes Mellitus”. Diabetes Research and Clinical Practice. 55. Hal 65-85. [7] Laksana, Teddy. (1996). Perancangan Alat Pradiagnosis untuk Diabetes. Surabaya [8] Rafflesia, U. (2010). Perbandingan Performansi Jaringan LVQ dan RBF untuk Permasalahan Klasifikasi pada Penyakit Karies Gigi. Tesis Magister. ITS. Surabaya [9] Siang JJ. (2005). Jaringan Syaraf Tiruan & Pemrogamannya Menggunakan Matlab, Andi Yogyakarta
M-8