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 QUANTIATION Agus Nurkhozin 1, Mohammad Isa Irawan 2, Imam Mukhlash 2 1 Mahasiswa Pascasarana Matematika FMIPA ITS Surabaya 2 Dosen Pascasarana Jurusan FMIPA ITS Surabaya E-mail : akhozin73@gmail.com 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 menadi dua kelas klasifikasi. Dalam mengklasifikasikan suatu permasalahan dengan umlah data yang besar membutuhkan metode cepat dan akurat. Salah satunya adalah menggunakan metode aringan 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 uicoba didapatkan bahwa dalam klasifikasi penyakit diabetes mellitus metode LVQ memberikan kinera 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 aringan dalam tubuh ika tidak ditangani secara tepat dan serius. Penyakit ini akan mengakibatkan berbagai macam komplikasi kronis teradi pada mata, ginal, saraf, dan pembuluh darah. Indonesia menempati urutan ke-4 dengan umlah 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 menadi obyek penelitian yang menarik dan banyak digunakan untuk menyelesaikan permasalahan pada beberapa bidang kehidupan, contohnya klasifikasi penyakit diabetes mellitus. Dalam penelitian ini menggunakan metode aringan 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 bertuuan untuk membandingkan keakurasian hasil klasifikasi menggunakan aringan syaraf tiruan Backpropagation dan LVQ dalam mengklasifikasikan penyakit diabetes mellitus. M-1
Agus Nurkhozin/Komparasi Hasil Klasifikasi METODE PENELITIAN Prosedur kera pada penelitian ini dilakukan dalam beberapa tahapan. Tahap pertama adalah mengidentifikasi permasalahan yang diawali dengan mencari topik yang akan diui, 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. Selanutnya data yang diperoleh didiskusikan dengan dokter spesialis penyakit dalam dikasifikasikan dalam dua kelas. Tahap selanutnya adalah implementasi pada metode klasifikasi yang didahului dengan mengolah data dan transformasi data sesuai dengan kebutuhan aringan. 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. Selanutnya ditarik kesimpulan metode mana dari kedua metode tersebut yang lebih baik. Diagram Proses Penelitian Mulai Identifikasi Masalah Penngambilan dan Pengolahan (transformasi Data Implementasi pada LVQ Implementasi pada Backpropagation Analisis Kera Analisis Kera Membandingkan Kinera Kedua Metode Selesai Gambar 1 : Denah alur penelitian PEMBAHASAN Diabetes Melitus merupakan suatu penyakit multisistem dengan ciri hiperglikemia akibat kelainan sekresi insulin, kera insulin, atau kedua-duanya. Kelainan pada sekresi atau kera 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 menadi dua macam, yaitu : 1. Kelas 1 (insulin dependent diabetes mellitus. Pada tipe ini teradi destruksi sel-sel beta pankreas oleh proses autoimun yang menyebabkan pembentukan antibody di mana akibat infeksi virus sehingga teradi 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 umlah reseptor insulin yang terdapat pada permukaan sel berkurang sehingga teradi resistensi insulin. Hal ini biasa teradi pada usia dewasa dan usia Lanut (>40 tahun, badan gemuk dan obesitas, diabetagonik, dan adanya faktor genetika. Data yang diperoleh terdapat tersebut peneliti bagi menadi 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 Selanutnya nilai variabel input tersebut dinormalisasikan dengan rumus sebagai berikut : Selanutnya data yang sudah dinormalisasi diubah menadi bentuk biner [0,1]sesuai kebutuhan aringan. Pengubahan dalam bentuk biner dilakukan dengan ketentuan sebagai berikut :, Untuk data output atau target uga diubah sebagai berikut : = 1 = 2 Langkah berikutnya adalah Implementasi pada Jaringan LVQ dan Backpropagation. a. Jaringan LVQ LVQ adalah metode untuk melakukan pembelaaran pada lapisan kompetitif yang terawasi. Suatu lapisan kompetitif akan secara otomatis belaar untuk mengklasifikasikan vektor input. Kelas-kelas yang didapatkan sebagai hasil dari lapisan kompetitif, bergantung arak 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 aringan 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- yaitu (w 1, w 2,..., w 6 adalah kelas hasil komputasi oleh unit output ke-, terdiri dari dua kelas yaitu adalah arak Euclidean antara vektor input dengan vektor bobot untuk unit output ke-. 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, kerakan langkah 2 6 Langkah 2 : Untuk setiap vector input training x, kerakan langkah 3-4 Langkah 3 : Dapatkan nilai J sedemikian hingga minimum Langkah 4 : Update sebagai berikut : Jika 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 aringan 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 aringan Backpropagation : Input layer X1 V11 Hidden layer X2 w1 Output X3 Y X4 Y X5 X6 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, kerakan 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 (, =1,,p dihitung nilai input dengan menggunakan nilai bobotnya z_ in = υ + x υ 0 i i i= 1 n Kemudian dihitung nilai output dengan menggunakan fungsi aktivasi yang dipilih z = f ( z_in Hasil fungsi tersebut dikirim ke semua unit pada layer berikutnya (unit output. Step 5: Untuk tiap unit output ( Y k, k=1,..,m dihitung nilai input dengan menggunakan nilai bobotnya y_ in = w + z w k 0k k = 1 p Kemudian dihitung nilai output dengan menggunakan fungsi aktivasi yk = f ( y_ ink Backpropagation Of Error Step 6 : Untuk tiap unit output ( Y k, k=1,..,m menerima pola target yang bersesuaian dengan pola input dan kemudian dihitung informasi kesalahan ' δ k = ( t k y k f ( y_ in k Kemudian dihitung koreksi nilai bobot yang akan digunakan untuk memperbaharui nilai bobot w k. : M-5
Agus Nurkhozin/Komparasi Hasil Klasifikasi w k = αδ k z Hitung koreksi nilai bias yang kemudian akan digunakan untuk memperbaharui nilai w 0k : w 0 k = αδ k dan kemudian nilai δ k dikirim ke unit pada layer sebelumnya. Step 7: Untuk tiap unit dalam (, =1,,p dihitung delta input yang berasal dari unit pada layer di atasnya : δ _ in = m δ w k k k = 1 Kemudian nilai tersebut dikalikan dengan nilai turunan dari fungsi aktivasi untuk menghitung informasi kesalahan : ' δ = δ _ in f ( z_ in Hitung koreksi nilai bobot yang kemudian digunakan untuk memperbaharui nilaiυ i : υi = αδ xi dan hitung nilai koreksi bias yang kemudian digunakan untuk memperbaharui υ o : υ o = αδ Update nilai bobot dan bias : Step 8 : Setiap unit output ( Y k, k=1,,m mengupdate bias dan bobotnya (=0,,p w ( new = w ( old + w k k k Tiap unit hidden (, =1,,p mengupdate bias dan bobotnya ( i=0,,n υ i ( new = υ i ( old + υ i Step 9 : Mengui apakah kondisi berhenti sudah terpenuhi. Algoritma Testing Setelah training, aringan 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, kerakan step 2-4 Step 2 : Untuk i = 1,...,n: set aktifasi dari unit input x i ; Step 3 : Untuk = 1,...p: z _ in = v + x v ; 0 z = f ( z _ in n i= 1 Step 4 : Untuk k = 1,...m: y _ in = w + z w ; y k = f ( y _ ink i i k p 0k = 1 Penelitian ini bertuuan untuk mencari perbandingan keakurasian hasil dari kinera kedua metode aringan yang digunakan. Data ditraining dengan menggunakan kedua metode klasifikasi yaitu aringan LVQ dan Backpropagatioan dengan masing-masing algoritma berbeda. Setelah data ditraining dan ditesting dengan kedua metode tersebut, selanutnya 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 : k 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 menadi 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 ditunukkan 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 kerakan Step 3 4 Step 3 J = 2, seak x lebih dekat ke w 2 daripada ke w 1. Step 4 Karena T = 2 dan C 2 = 2 update w 2 sebagai berikut: w 2 = (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 kerakan Step 3 4. Step 3 J =1 Step 4 Karena T = 1 dan C 1 = 1 update w 1 sebagai berikut: w 1 = (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 kerakan Step 3 4. Step 3 J = 1 Step 4 Karena T = 2 tetapi C 1 = 1 update w 1 sebagai berikut w 1 = (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 ika learning rate mencapai suatu nilai yang cukup kecil atau bobot-bobot tidak berubah lagi artinya mencapai konvergen. Hasil ui coba dari metode Backpropagation dan LVQ ditunukkan dalam tabel di bawah ini. Tabel 1 : Hasil klasifikasi dengan menggunakan α= 0.5 dengan umlah epoch = 100, Jumlah training 345 dan umlah 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 ika dibandingkan klasifikasi data menggunakan aringan Backpropagation. M-7
Agus Nurkhozin/Komparasi Hasil Klasifikasi SARAN Dalam rangka pengembangan penelitian perlu dilakukan pada klasifikasi kasus yang lain karena aringan LVQ dan Backpropagation masih dapat memung-kinkan untuk dikai 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