BACKPROPAGATION NGUYEN WIDROW PADA KLASIFIKASI PENYAKIT
DIABETES MELLITUS TESIS
ANANDA MUTIA DEWI 187038022
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN
2020
BACKPROPAGATION NGUYEN WIDROW PADA KLASIFIKASI PENYAKIT
DIABETES MELLITUS
TESIS
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika
ANANDA MUTIA DEWI 187038022
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA MEDAN
2020
Judul Tesis : OPTIMISASI ALGORITMA SMOOTH SUPPORT VECTOR
MACHINE MENGGUNAKAN ALGORITMA
BACKPROPAGATION NGUYEN WIDROW PADA KLASIFIKASI PENYAKIT DIABETES MELLITUS
Kategori : TESIS
Nama Mahasiswa : ANANDA MUTIA DEWI
Nomor Induk Mahasiswa : 187038022
Program Studi : MAGISTER TEKNIK INFORMATIKA
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :
Prof .Dr. Tulus, Vor.Dipl.Math., M.Si., Ph.D.
PERNYATAAN ORISINALITAS
OPTIMISASI ALGORITMA SMOOTH SUPPORT VECTOR MACHINE MENGGUNAKAN ALGORITMA
BACKPROPAGATION NGUYEN WIDROW PADA KLASIFIKASI PENYAKIT
DIABETES MELLITUS TESIS
Dengan ini saya mengakui bahwa tesis ini adalah hasil karya sendiri, kecuali kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan,
ANANDA MUTIA DEWI 187038022
Telah diuji pada Tanggal:
PANITIA PENGUJI TESIS
Ketua : 1. Prof .Dr. Tulus, Vor.Dipl.Math., M.Si., Ph.D Angotta : 2. Prof. Dr. Muhammad Zarlis
3. Dr. Sawaluddin, M.IT
4. Dr. Sutarman, M.Sc
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan dibawah ini:
Nama : ANANDA MUTIA DEWI
NIM : 187038022
Program Studi : Teknik Informatika Jenis Karya Ilmiah : Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas Tesis saya yang berjudul:
OPTIMISASI ALGORITMA SMOOTH SUPPORT VECTOR MACHINE MENGGUNAKAN ALGORITMA
BACKPROPAGATION NGUYEN WIDROW PADA KLASIFIKASI PENYAKIT
DIABETES MELLITUS
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan Tesis saya tanpa meminta ijin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan atau sebagai pemilik hak cipta.
Demikian pernyataan ini dibuat dengan sebenarnya.
Medan, 03 Juli 2020 ANANDA MUTIA DEWI 187038022
(SSVM) dengan Backpropagation Nguyen Widrow. Algoritma SSVM adalah pengembangan Support Vector Machine (SVM) dengan menggunakan teknik smoothing diaman algoritma memanfaatkan optimasi dengan quadratic programming, sehingga untuk data berdimensi tinggi dan jumlah besar SVM menjadi kurang efisien dimana dilakukan penggantian plus function SVM dengan integral dari fungsi sigmoid neural network. Algoritma Backpropagation Neural Network adalah suatu pembelajaran yang dapat memperkecil tingkat sebuah error dengan bobotnya yang disesuaikan berdasarkan perbedaan dari output dan atau target yang diharapkan.
Backpropagation terdiri dari 3 layer, yaitu input layer, hidden layer, dan output layer.
Backpropagation ini merupakan perkembangan dari bentuk sebelumnya yang disebut single layer network yang hanya memiliki 2 layer, yaitu input layer dan output layer.
Pada algoritma ini nilai bobot-bobot awal ditentukan dengan rumusan yang diajukan oleh Nguyen dan Widrow, sehingga besaran nilai bobot awal lebih proporsional sesuai dengan arsitektur jaringan yang digunakan. Pada algoritma Kombinasi ini, algoritma SSVM berfungsi sebagai fungsi pelatihan dataset oleh jaringan dan algoritma Backpropagation berfungsi untuk klasifikasi data pengujian. Hasil percobaan untuk algoritma SSVM nilai rata-rata MSE adalah 0.7569 dan nilai Akurasi sebesar 81.33 % sedangkan untuk algoritma Kombinasi nilai rata-rata MSE adalah sebesar 0.6672 dan nilai Akurasi sebesar 96.6 % dan secara keseluruhannya dapat dilihat bahwa peningkatan nilai MSE dengan algoritma Kombinasi adalah sebesar 10.84 % dan nilai Akurasi sebesar 15.80 %.
ABSTRACT
In this study a combination of Smooth Support Vector Machine (SSVM) and Nguyen Widrow Backpropagation algorithms was conducted. SSVM algorithm is the development of Support Vector Machine (SVM) using smoothing techniques where the algorithm utilizes optimization with quadratic programming, so that for high- dimensional data and large amounts of SVM it becomes less efficient where replacement of SVM functions is added with integrals of sigmoid neural network functions. Backpropagation Neural Network algorithm is a learning that can reduce the level of an error with the weight adjusted based on the difference from the expected output and or target. Backpropagation consists of 3 layers, namely the input layer, hidden layer, and output layer. This backpropagation is a development from the previous form called single layer network which only has 2 layers, namely the input layer and the output layer. On this algorithmthe initial weights are determined by the formula proposed by Nguyen and Widrow, so that the initial weight values are more proportional to the network architecture used. In this combination algorithm, the SSVM algorithm functions as a training function for the dataset by networks and algorithmsBackpropagation function for the classification of test data. The experimental results for the SSVM algorithm the average value of MSE is 0.7569 and the Accuracy value is 81.33% while for the Combination algorithm the average value of MSE is 0.6672 and the Accuracy value is 96.6% and overall it can be seen that the increase in the value of MSE with the Combination algorithm is 10.84% and an Accuracy value of 15.80%.
DATA PRIBADI
Nama Lengkap : ANANDA MUTIA DEWI
Tempat dan Tanggal Lahir : Bekasi, 09 September 1996
Alamat Rumah : Jl. Biruen Takengon Mekar ayu Kecamatan Timang Gajah Kabupaten Bener Meriah
Handphone : 082316209299
E-mail : [email protected]
DATA PENDIDIKAN
SD : SD N 02 TIMANG GAJAH
SLTP : SMP N 02 TIMANG GAJAH
SLTA : SMA N 02 TIMANG GAJAH
S1 : SARJANA TEKNIK ELEKTRO UVERSITAS
MALIKUSSALEH
S2 : MAGISTER TEKNIK INFORMATIKA
UNIVERSITAS SUMATERA UTARA
Pertama-tama penulis panjatkan puji syukur kehadirat Tuhan Yang Maha Esa atas segala rahmat dan karunia-Nya berupa pengetahuan, kesehatan dan kesempatan yang diberikan kepada penulis sehingga dapat menyelesaikan tesis ini dengan baik.
Tesis penulis yang berjudul : “OPTIMISASI ALGORITMA SMOOTH SUPPORT VECTOR MACHINE MENGGUNAKAN ALGORITMA BACKPROPAGATION NGUYEN WIDROW ” merupakan salah satu syarat akademik penulis sebagai mahasiswa S2, program studi Teknik Informatika, Fakultas Ilmu Komputer dan Teknologi Informasi (Fasilkom-TI), Universitas Sumatera Utara (USU), Medan dalam menyelesaikan jenjang pendidikan S2.
Dalam kesempatan ini, penulis hendak memberikan penghargaan dan ucapan terima kasih yang sebesar-besarnya kepada :
1. Pejabat Rektor Universitas Sumatera Utara, Bapak Prof. Dr. Runtung Sitepu, SH.MHUM atas kesempatan yang diberikan kepada saya untuk mengikuti dan menyelesaikan pendidikan Program Pasca Sarjana.
2. Dekan Fakultas Ilmu Komputer Universitas Sumatera Utara Bapak Prof. Dr. Opim Salim Sitompul
3. Ketua Program Studi Magister (S2) Teknik Informatika, Bapak Prof. Dr.
Muhammad Zarlis sekaligus pembimbing kedua yang telah banyak memberikan bimbingan, tuntunan, masukan serta motivasi kepada penulis.
4. Sekretaris Program Studi Magister (S2) Teknik Informatika, Bapak Dr. Syahril Efendi,M.IT beserta seluruh dosen yang telah banyak memberikan ilmu pengetahuan selama masa perkuliahan serta seluruh staff pegawai pada Program Studi S2 Teknik Informatika Universitas Sumatera Utara.
5. Bapak Prof. Dr. Tulus ,selaku pembimbing utama yang telah memberikan bimbingan dan masukan kepada penulis hingga selesainya tesis ini.
6. Bapak Dr Sawaluddin , selaku pembanding/penguji tesis yang senantiasa memberikan masukan dan saran kepada penulis agar tesis ini menjadi lebih baik lagi.
Secara khusus penulis mengucapkan rasa terima kasih sedalam-dalamnya kepada orang tua penulis tercinta dan tersayang, Ibu Rina Valerina S.sos dan bapak Muhsin BA yang telah memberikan perhatian, pengertian, kasih sayang, motivasi serta dukungan berupa material dan spiritual kepada penulis.
Penulis juga meyampaikan rasa terima kasih kepada seluruh keluarga dan berbagai pihak yang telah banyak membantu, memberikan motivasi, perhatian serta dukungan kepada penulis.
Penulis menyadari bahwa masih terdapat kekurangan dalam penyusunan tesis ini. Oleh karena itu, penulis mengharapkan kritik dan saran dari pembaca demi kesempurnaan penelitian selanjutnya.
Akhir kata, penulis berharap semoga tesis ini dapat dikembangkan lagi menjadi lebih baik dan bermanfaat bagi semua pihak khususnya dalam dunia pendidikan dan teknologi.
Medan, 03 Juli 2020
ANANDA MUTIA DEWI 187038022
DAFTAR ISI
Halaman
LEMBAR PERSETUJUAN... ii
LEMBAR PERNYATAAN ORISINALITAS ... iii
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI... iv
LEMBAR PANITIA PENGUJI TESIS ... v
RIWAYAT HIDUP ... vi
UCAPAN TERIMA KASIH ... vii
ABSTRAK ... ix
ABSTRACT ... x
DAFTAR ISI ... xi
DAFTAR TABEL ... xiii
DAFTAR GAMBAR ... xiv
BAB 1 : PENDAHULUAN 1.1 Latar Belakang Masalah... 1
1.2 Perumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.4 Tujuan Penelitian ... 3
1.5 Manfaat Penelitian ... 3
1.6 Metode Penelitian ... 3
BAB 2 : LANDASAN TEORI 2.1 Penyakit Diabetes Mellitus (DM) ... 4
2.2 Algoritma Support Vector Machine (SSVM) ... 8
2.2.1 Metode Sequential Training SVM ... 9
2.2.2 Algoritma Smooth Support Vector Machine (SSVM) ... 9
2.3 Algoritma Backpropagation ... 11
2.3.1 Fase Propagasi Maju ... 12
2.3.2 Fase Propagasi Mundur ... 12
2.3.3 Fase Modifikasi Bobot ... 12
2.4 Algoritma Nguyen Widrow ... 13
2.5 K-Fold Cross Validation (KCV) ... 13
2.6 Penelitian Terkait ... 14
BAB 3 : METODOLOGI PENELITIAN 3.1 Pendahuluan ... 15
3.2 Data Yang Digunakan ... 16
3.2 Bagan Penelitian ... 17
3.3 Bagan Algoritma Pelatihan SSVM ... 17
3.4 Bagan Pengujian Algoritma SSVM ... 19
3.5 Bagan Pelatihan Algoritma Kombinasi BPNW- SSVM ... 20
3.6 BaganPengujian Algoritma Kombinasi BPNW- SSVM ... 20
3.7 Normalisasi Data ... 22
3.8 Perhitungan Alogaritma SSVM ... 23
3.8.1Perhitungan Kernel Radial Basis Function ... 23
3.8.2Perhitungan Nilai Error ... 26
3.9 Perhitungan Pengujian Algoritma SSVM ... 31
3.10 Perhitungan Pengujian Algoritma SVM-BNWP ... 34
3.10.1Perhitungan Training SSVM ... 34
3.10.2Perhitungan Klasifikasi dengan BNWP ... 34
3.11 Perhitungan Akurasi Dengan Confusion Matrikx ... 40
BAB 4 : HASIL DAN PEMBAHASAN 4.1 Hasil ... 41
4.1.1Data Yang Digunakan ... 41
4.1.2 Tahap pengujian ... 42
4.2. Hasil Pengujian Alogaritma SSVM ... 43
4.2.1 Pengujian 1 (10 Record) ... 43
4.2.2 Pengujian 2 (20 Record) ... 47
4.2.3 Pengujian 3 (50 Record) ... 47
4.3. Hasil Pengujian Alogaritma BNWP SSVM ... 55
4.3.1 Pengujian 1 (10 Record) ... 55
4.3.2 Pengujian 2 (20 Record) ... 58
4.3.3 Pengujian 3 (50 Record) ... 60
4.2 Pembahasan ... 65
BAB 5 : KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 66
5.2 Saran ... 66
DAFTAR PUSTAKA ... 67
DAFTAR TABEL
Halaman
Tabel 3.1 Dataset Diabetes Mellitus Prima Indians ... 16
Tabel 3.2 Nilai Atribut Maksimum Minimum ... 22
Tabel 3.3 Dataset Hasil Normalisasi ... 23
Tabel 3.4 Hasil Perhitungan Kernel RBF ... 24
Tabel 3.5 Hasil Perhitungan Matriks Hessian ... 26
Tabel 3.6 Hasil Perhitungan Nilai Error Awal ... 27
Tabel 3.7 Hasil Perhitungan Nilai Error ... 28
Tabel 3.8 Hasil perhitungan nilai 𝐾(𝑥, 𝑥+) ... 29
Tabel 3.9 Hasil perhitungan nilai 𝐾(𝑥, 𝑥-) ... 29
Tabel 3.10 Hasil perhitungan nilai 𝐾(𝑥, 𝑥+) dan nilai 𝐾(𝑥, 𝑥−) ... 30
Tabel 3.11 Hasil perhitungan w.x+ dan w.x- ... 30
Tabel 3.12 Bobot dan Bias ... 31
Tabel 3.13 Hasil Normalisasi Data ... 31
Tabel 3.14 Perhitungan Nilai 𝑘(𝑥, 𝑥+) Pengujian ... 32
Tabel 3.15 Hasil Perhitungan Nilai K(x,xi) dan w untuk data Pengujian ... 33
Tabel 3.16 Hasil Perhitungan Nilai K(x,xi) dan w untuk f(x) ... 33
Tabel 3.17 Nilai Bobot dan Bias Hasil Training Algoritma SSVM ... 34
Tabel 3.18 Normalisasi Data Pengujian ... 36
Tabel 3.19 Bobot Hasil Training ... 36
Tabel 3.20 Bobot Awal dan Bias Hasil Training ... 37
Tabel 3.21 Bobot V ... 37
Tabel 3.22 Bobot W ... 37
Tabel 3.23 Data Pengujian ... 38
Tabel 3.24 Hasil Klasifikasi ... 40
Tabel 4.1 Dataset Prima Indians ... 42
Tabel 4.2 Hasil Pengujian 1 ... 45
Tabel 4.3 Hasil Pengujian 2 ... 49
Tabel 4.4 Hasil Pengujian 3 ... 53
Tabel 4.5 Hasil Pengujian 1 (SSVM-BNWP) ... 57
Tabel 4.6 Hasil Pengujian 2 (SSVM-BNWP) ... 59
Tabel 4.7 Hasil Pengujian 3 (SSVM-BNWP) ... 60
Tabel 4.8 Hasil Klasifikasi SSVM ... 61
Tabel 4.9 Hasil Klasifikasi Kombinasi SSVM ... 62
Tabel 4.10 Hasil Klasifikasi SSVM ... 63
Tabel 4.11 Hasil Klasifikasi Kombinasi SSVM ... 64
DAFTAR GAMBAR
Gambar 2.1. Hyperplane mengklasifikasikan data menjadi dua kelas... 5
Gambar 2.2. Support vector, jarak terdekat dengan masing-masing kelas 6
Gambar 2.3.Konsep Fungsi Pemisah SSVM ... 6
Gambar 3.1. Bagan Penelitian ... 17
Gambar 3.2. BaganPelatihan Algoritma SVM ... 18
Gambar 3.3. BaganAlgoritma Pengujian SVM... 20
Gambar 3.4. BaganPelatihan Algoritma Kombinasi SVM-BPNW ... 21
Gambar 3.5. BaganPengujian Algoritma Kombinasi SVM-BPNW ... 22
Gambar 3.6. Arsitektur Jaringan Backpropagation ... 35
Gambar 4.1. Nilai MSE dan Akurasi Iterasi-100 ... 43
Gambar 4.2. Nilai MSE dan Akurasi Iterasi-200 ... 43
Gambar 4.3. Nilai MSE dan Akurasi Iterasi-300 ... 44
Gambar 4.4. Nilai MSE dan Akurasi Iterasi-400 ... 44
Gambar 4.5. Nilai MSE dan Akurasi Iterasi-500 ... 45
Gambar 4.6. Grafik Nilai MSE Pengujian 1 ... 46
Gambar 4.7. Grafik Akurasi Pengujian 1 ... 46
Gambar 4.8. Nilai MSE dan Akurasi Iterasi-100 ... 47
Gambar 4.9 Nilai MSE dan Akurasi Iterasi-200 ... 47
Gambar 4.10. Nilai MSE dan Akurasi Iterasi-300 ... 48
Gambar 4.11. Nilai MSE dan Akurasi Iterasi-400 ... 48
Gambar 4.12. Nilai MSE dan Akurasi Iterasi-500 ... 49
Gambar 4.13. Grafik Nilai MSE Pengujian 2 ... 50
Gambar 4.14. Grafik Akurasi Pengujian 2 ... 50
Gambar 4.15 Nilai MSE dan Akurasi Iterasi-100. ... 51
Gambar 4.16. Nilai MSE dan Akurasi Iterasi-200 ... 51
Gambar 4.17 Nilai MSE dan Akurasi Iterasi-300 ... 52
Gambar 4.18. Nilai MSE dan Akurasi Iterasi-400 ... 52
Gambar 4.19 Nilai MSE dan Akurasi Iterasi-500 ... 53
Gambar 4.20. Grafik Nilai MSE Pengujian 3 ... 53
Gambar 4.21Grafik Nilai MSE Pengujian 3 ... 54
Gambar 4.22 Nilai MSE dan Akurasi Iterasi-100.. ... 55
Gambar 4.23 Nilai MSE dan Akurasi Iterasi-200. ... 55
Gambar 4.24 Nilai MSE dan Akurasi Iterasi-300. ... 56
Gambar 4.25 Nilai MSE dan Akurasi Iterasi-400 ... 56
Gambar 4.25 Nilai MSE dan Akurasi Iterasi-500 ... 57
Gambar 4.26. Grafik Nilai MSE Pengujian 1 ... 58
Gambar 4.27. Grafik Akurasi Pengujian 1 ... 58
Gambar 4.28. Grafik Nilai MSE Pengujian 2 ... 59
Gambar 4.29. Grafik Akurasi Pengujian 2 ... 59
Gambar 4.30. Grafik Nilai MSE Pengujian 3 ... 60
Gambar 4.31. Grafik Akurasi Pengujian 3 ... 61
Gambar 4.32. Grafik Klasifikasi Alogaritma SSVM ... 62
Gambar 4.31. Grafik Klasifikasi Alogaritma Kombinasi SSVM ... 63
Gambar 4.32. Grafik Klasifikasi Alogaritma SSVM ... 64
Gambar 4.31. Grafik Klasifikasi Alogaritma Kombinasi SSVM ... 64
DAFTAR LAMPIRAN
Halaman Listing Program ... 69
1.1 Latar Belakang
Algoritma Support Vector Machine (SVM) adalah metode klasifikasi yang bekerja dengan cara mencari hyperplane dengan margin terbesar. Hyperplane adalah garis batas pemisah data antar-kelas. Margin adalah jarak antara hyperplane dengan data terdekat pada masing-masing kelas. Adapun data terdekat dengan hyperplane pada masing- masing kelas inilah yang disebut Support Vector. Algoritma Smooth Support Vector Machine (SSVM) adalah pengembangan Support Vector Machine (SVM) dengan menggunakan teknik smoothing. Algoritma SVM memanfaatkan optimasi dengan quadratic programming, sehingga untuk data berdimensi tinggi dan jumlah besar SVM menjadi kurang efisien. Oleh karena itu dikembangkan smoothing technique yang menggantikan plus function SVM dengan integral dari fungsi sigmoid neural network yang selanjutnya dikenal dengan Smooth Support Vector Machine (SSVM). SVM dikembangkan oleh Boser, Guyon dan Vapnik, pertama kali diperkenalkan pada tahun 1992 di Annual Workshop on Computational Learning Theory. Konsep dasar metode SVM sebenarnya merupakan gabungan atau kombinasi dari teori-teori komputasi yang telah ada sebelumnya.
Algoritma Backpropagation Neural Network atau disingkat BPNN adalah suatu pembelajaran yang dapat memperkecil tingkat sebuah error dengan bobotnya yang disesuaikan berdasarkan perbedaan dari output dan atau target yang diharapkan.
Backpropagation terdiri dari 3 layer, yaitu input layer, hidden layer, dan output layer.
Backpropagation ini merupakan perkembangan dari bentuk sebelumnya yang disebut single layer network yang hanya memiliki 2 layer, yaitu input layer dan output layer.
Untuk dapat mengidentifikasi penyakit DM tersebut, perlu diketahui ciri pasien penyakit DM melalui berbagai hasil uji laboratorium. Hasil pengecekan tersebut memiliki nilai diskret yang dapat dikategorikan. Dibutuhkan sebuah metode klasifikasi
yang nantinya digunakan untuk mengetahui apakah terjadi penyakit DM pada data-data hasil uji laboratorium. Salah satu metode klasifikasi yang dikenal adalah metode Smooth Support Vector Machine (SSVM).
Penelitian yang dilakukan oleh He Chunjian dan Zhang Cuilian Zhao Yan (2016) dengan judul A New Support Vector Machine (SVM) Merged into Data Information, dengan metode kernel fungsi dimana beberapa kernel dilatih dan kernel terbaik tampil di set validasi kemudian dipilih untuk pengujian dan kinerjanya dievaluasi pada set tes dan menunjukkan bahwa pendekatan secara efektif dapat meningkatkan klasifikasi akurasi. Support Vector Machines adalah kasus khusus dari keluarga algoritma yang kita sebut sebagai regularized metode klasifikasi linier dan metode yang kuat untuk minimalisasi resiko. Dan kelebihan Support Vector Machines lainnya adalah dapat meminimalkan kesalahan melalui memaksimalkan margin dengan misahkan antara hyper-lane dan satu set data bahkan dengan jumlah sample yang kecil.
Melihat penelitian diatas, maka penulis bermaksud mengoptimisasi nilai akurasi deteksi penyakit DM pada penelitian dengan meningkatkan akurasi menggunakan metode kombinasi jaringan syaraf tiruan dan berdasarkan latar belakang masalah diatas maka penulis memberi judul penelitian ini dengan Optimisasi Algoritma Smooth Support Vector Machine (SSVM) Menggunakan Algoritma Backpropagation Nguyen Widrow (BPNW) Untuk Klasifikasi Penyakit Diabetes Malitus.
1.2 Rumusan Masalah
Nilai eror yang masih tinggi tidak mampu menghasilkan hasil yang akurat dalam hasil klasifikasi, Sehingga memerlukan sebuah metode untuk mengurangi eror pada hasil klasifikasi SSVM, selain itu banyaknya data yang diklasifikasikan juga mempengaruhi tingkat akurasi pada alogaritma SSVM, Oleh karena itu diperlukan sebuah metode pembobotan yang lain untuk meningkatkan nilai akurasi pada klasifikasi, dari pemasalahan diatas dapat dirumuskan masalah dalam penelitian ini akan mengunakan Backpropagation Nguyen Widrow (BNWP) untuk menentukan nilai pembobotan untuk mengurangi eror.
1.3 Batasan Masalah
Dalam penelitian ini penulis membuat batasan masalah yaitu:
1. Dataset yang digunakan 3 dataset antara lain dataset Luzhou, Pima Indians di http://121.42.167.206/PIMAINDIANS/data.html dan dataset Kaggle competition promoted (https://www.datascienceacademy.com.br/) National Institute of Diabetes and Digestive and Kidney Diseases.
2. Algoritma yang digunakan adalah Smooth Support Vector Machine (SSVM) menggunakan algoritma Backpropagation Nguyen Widrow (BPNW).
3. Parameter yang digunakan adalah nilai akurasi masing-masing dataset.
1.4 Tujuan Penelitian
Tujuan penelitian adalah untuk mengoptimalkan nilai akurasi SSVM pada klasifikasi penyakit diabetes malitus.
1.5 Manfaat Penelitian Manfaat penelitian ini adalah:
1. Diperolehnya sebuah perangkat lunak yang dapat melakukan klasifikasi penyakit diabetes malitus.
2. Diperoleh informasi apakah kombinasi algoritma Smooth Support Vector Machine (SSVM) menggunakan algoritma Backpropagation Nguyen Widrow (BPNW) dapat digunakan untuk melakukan klasifikasi dataset.
1.6 Metode Penelitian
Secara umum urutan langkah yang dilakukan untuk melakukan klasifikasi penyakit diabetes malitus dengan algoritma Smooth Support Vector Machine (SSVM) dan algoritma Backpropagation Nguyen Widrow adalah sebagai berikut:
1. Baca dataset.
2. Normalisasi dataset (0-1).
3. Pembobotan atribut dataset dengan algoritma SSVM.
4. Pengujian data dengan menggunakan algoritma BPNW.
5. Hitung nilai akurasi dan bandingkan dengan akurasi kontribusi.
2.1 Penyakit Diabetes Mellitus (DM)
Diabetes mellitus (DM) merupakan penyakit gangguan metabolik akibat pankreas tidak memproduksi cukup insulin atau tubuh tidak dapat menggunakan insulin yang diproduksi secara efektif sehingga terjadi peningkatan konsentrasi glukosa dalam darah yang dikenal dengan hiperglikemia. DM dapat dibagi atas diabetes tipe 1, yang terjadi karena produksi insulin yang tidak memadai oleh pankreas dan diabetes tipe 2, terjadi karena kegagalan sel dalam respon efektif terhadap insulin yang di produksi oleh pancreas. Peningkatan penyakit DM setiap tahun selalu terjadi bahwa penderita penyakit DM telah mencapai 382 juta pada tahun 2013 yang membawa 6,6% dari total populasi orang dewasa didunia. Riskesdas 2013 penyakit DM di Indonesia adalah 6.9%
dari total populasi orang diatas 15 tahun.
Diabetes adalah faktor resiko penyebab terjadinya komplikasi mikrovaskuler.
Penderita DM mengakibatkan penyakit cardio vascular dua hingga empat kali lebih banyak dibandingkan dengan yang bukan penderita DM. Kerusakan vascular mikro dan akibat penyakit vascular kardio adalah retinopati dan neuropati (Jurnal Kesehatan, 2017).
2.2 Algoritma Support Vector Machine (SVM)
Support Vector Machine (SVM) dikembangkan oleh Boser, Guyon, dan Vapnik, pertama kali diperkenalkan pada tahun 1992 di Annual Workshop on Computational Learning Theory. Konsep dasar metode SVM sebenarnya merupakan gabungan atau kombinasi dari teori-teori komputasi yang telah ada pada tahun sebelumnya, seperti kernel diperkenalkan oleh Aronszajn tahun 1950, Lagrange Multiplier yang ditemukan oleh Joseph Louis Lagrange pada tahun 1766, dan demikian juga dengan konsep-konsep
pendukung lain. Konsep SVM dapat dijelaskan secara sederhana sebagai usaha mencari pemisah dua buah kelas pada input space (Listiana & Much, 2017).
SVM merupakan salah satu metode unggulan dibidang pattern recognition, sebagai algoritma yang terhitung masih baru (1992), SVM berkembang pesat karena berprinsip Structural Risk Minimization (SRM) dengan tujuan menemukan hyperplane terbaik untuk memisahkan dua buah kelas pada suatu space sehingga algoritma ini cocok untuk diimplementasikan sebagai clasificator. Berbeda dengan strategi neural network yang berusaha mencari hyperplane pemisah antar class, SVM berusaha menemukan hyperplane yang terbaik pada input space. Prinsip dasar SVM adalah linear classifier, dan selanjutnya dikembangkan agar dapat bekerja pada problem non-linear.
dengan memasukkan konsep kernel trick pada ruang kerja berdimensi tinggi .
Konsep SVM adalah mendesain sebuah hyperplane yang dapat mengklasifikasikan seluruh data training menjadi dua buah kelas, pada Gambar 2.1 memperlihatkan beberapa pattern yang merupakan anggota dari dua buah class yang berbentuk lingkaran dan kotak. Berbagai alternatif garis pemisah (discrimination boundaries) ditunjukkan pada Gambar 2.1.
Gambar 2.1 Hyperplane Mengklasifikasikan Data Menjadi Dua Kelas (Listiana & Much, 2017)
Hyperplane terbaik antara kedua class dapat ditemukan dengan cara mengukur margin hyperplane tersebut dan mencari titik maksimalnya. Margin adalah jarak antara hyperplane dengan pattern terdekat dari masing-masing kelas, seperti yang terlihat pada Gambar 2.2 Pattern yang paling dekat ini disebut sebagai Support Vector.
Gambar 2.2 Support Vector, Jarak Terdekat Dengan Masing-Masing Kelas (Listiana & Much, 2017)
Pattern yang merupakan anggota dari dua buah kelas: +1 dan -1 dan berbagi alternatif garis pemisah (discrimination boundaries). Margin adalah jarak antara pemisah tersebut dengan pattern terdekat dari masing-masing kelas. Pattern yang memiliki jarak paling dekat disebut sebagai support vector. Dalam menyelesaikan permasalahan linear diasumsikan terdapat data latih {𝑥𝑖 , 𝑦𝑖 } , 𝑥𝑖 merupakan atribut untuk data latih {𝑥1,
… , 𝑥𝑛 } dan 𝑦𝑖 ∈ {−1,1} adalah label kelas dari data latih 𝑥𝑖. Bidang pemisah yang baik tidak hanya bisa memisahkan data tetapi juga memiliki margin yang besar atau maksimal, data yang berada dekat dan diatas bidang pemisah.
Klasifikasi menggunakan SVM dapat dijelaskan secara sederhana yaitu usaha untuk mendapatkan garis sebagai fungsi pemisah terbaik yang dapat memisahkan dua kelas yang berbeda (+1,-1) pada ruang input.
Gambar 2.3. Konsep Fungsi Pemisah pada SVM
Pada Gambar 2.3 memperlihatkan bahwa beberapa data yang merupakan anggota dari kelas -1 dan +1. Data yang disimbolkan dengan kotak adalah anggota data -1 sedangkan yang bulat menyimbolkan anggota data +1. Fungsi pemisah terbaik adalah fungsi yang mampu memisahkan data dengan nilai margin (m) yang terbesar, dan tepat berada di antara kedua kelas data. Margin merupakan jarak antara fungsi pemisah dengan data terdekat dari masing-masing kelas (Prasetyo, 2012). Pada gambar 1, fungsi pemisah terbaik ditunjukkan dengan garis tebal yang memisahkan kedua kelas. Data yang berada pada bidang pembatas dan terdekat dengan fungsi pemisah terbaiklah yang disebut dengan support vector. Hanya data support vector yang digunakan selama proses mendapatkan fungsi pemisah terbaik (Prasetyo, 2012). SVM merupakan metode berbasis machine learning yang berpotensi untuk dikembangkan lebih jauh karena memiliki performansi tinggi dan dapat diaplikasikan secara luas untuk klasifikasi dan estimasi.
Apabila terdapat dua kelas yang dipisahkan oleh dua bidang pembatas secara sejajar yaitu kelas +1 dan kelas -1. Bidang pembatas dinyatakan dengan H. H1 dinyatakan sebagai bidang pembatas pada kelas +1 dan H2 dinyatakan sebagai bidang pembatas kelas -1, yang dinyatakan dengan persamaan 2.1 dan 2.2 sebagai berikut:
𝑤. 𝑥𝑖 + 𝑏 ≥ +1 𝑓𝑜𝑟 𝑦𝑖 = +1 ……….………….….. (2.1) 𝑤. 𝑥𝑖 + 𝑏 ≥ −1 𝑓𝑜𝑟 𝑦𝑖 = −1 ……….……… (2.2) Keterangan :
𝑥𝑖 : Data ke-i, i = 1, 2, 3, … , n 𝑤𝑖 : Bobot support vector 𝑏 : Nilai bias
𝑦𝑖 : Kelas dataset
Sehingga didapatkan persamaan 2.3 sebagai berikut:
𝑦𝑖 (𝑥𝑖 . 𝑤 + 𝑏) ≥ 1 ……….………... (2.3) Jika titik terpisah secara linear fungsi untuk permukaan ini ditentukan dengan persamaan 2.4 sebagai berikut:
f(x) =(∑𝑛𝑖=1∝𝑖 ∗yi (xi.x)+b*) (xi,yi) €Rn x{-1,1} ……….……..… (2.4) Keterangan :
𝛼𝑖 ∗ : Lagrange Multiplier 𝑏∗ : Bias
Jika kelas tidak terpisah secara linear maka fungsi untuk permukaan ditentukan oleh persamaan 2.5 sebagai berikut:
f(x) =(∑𝑛𝑖=1∝𝑖 ∗yik (x.x)+b*) ……….…. (2.5) Keterangan :
𝛼𝑖 ∗ : Lagrange Multiplier 𝑏∗ : Bias
𝑘(𝑥, 𝑦) : Fungsi Kernel
Terdapat beberapa fungsi kernel yang digunakan untuk menyelesaikan masalah pada VM non linear dapat dilihat pada persamaan 2.6 hingga 2.7 berikut ini:
a. Fungsi Kernel Linear
𝑘(𝑥, 𝑦) = 𝑥. 𝑦 ………..….……….……(2.6) b. Fungsi Kernel Polinomial
𝑘(𝑥, 𝑦) = (1 + 𝑥. 𝑦)𝑞, 𝑞 = 1,2, … , 𝑁 ………..….………….…....…(2.7) c. Fungsi Kernel Radial Basis
𝑘(𝑥, 𝑦) = 𝑒𝑥𝑝 (−||x − y||2)
2σq ……….. (2.8)
2.2.1 Metode Sequential Training SVM
Metode Sequential Training merupakan metode yang digunakan untuk training data agar menghasilkan hyperlane yang optimal. Metode ini digunakan juga untuk mendapatkan nilai α. Metode ini dikembangkan oleh Vijayakumar dan memiliki langkah proses seperti berikut:
a. Melakukan perhitungan kernel dan melakukan inisialisasi parameter-parameter SVM seperti contoh nilai αi = 0; ε = 0,001; γ = 0,01; λ = 1; C = 1; dan nilai iterasi maksimal = 10;
b. Menghitung matriks Hessian dengan persamaan 2.9.
𝐷𝑖𝑗 = 𝑦𝑖𝑦𝑗 (𝐾(𝑥𝑖 , 𝑥𝑗 ) + λ2) ……….….. (2.9) c. Melakukan iterasi untuk setiap iterasi = 1, 2, 3, … , n dan dihitung menggunakan
persamaan 2.10 hingga 2.13.
- Menghitung nilai Ei menggunakan persamaan 2.10.
Ei= ∑𝑛𝑗=1∝𝑖∗ 𝐷ij ………..………..….… (2.10) - Menghitung nilai γ dan δαi menggunakan persamaan 2.11 dan 2.12.
ɤ =𝐾𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑎
𝑚𝑎𝑥𝐷𝑖𝑖 ………. (2.11)
δα𝑖 = min[max[𝛾(1 − 𝐸𝑖 ), 𝛼𝑖 ] , 𝐶 − 𝛼𝑖 ] ……….. (2.12) - Memperbarui nilai αi menggunakan persamaan 2.13.
𝛼𝑖 = 𝛼𝑖 + 𝛿𝛼 ……….…….. (2.13) Keterangan:
𝐸𝑖 : Nilai Error
𝐷𝑖𝑗 : Nilai Matriks Hessian γ : Gamma
δα𝑖 : Delta alpha i 𝐶 : Complexity
d. Proses 1, 2, dan 3 diulangi hingga nilai δαi mencapai konvergen (|δα|<ε) dan atau ketika nilai iterasi sudah mencapai nilai maksimum maka iterasi dihentikan.
e. Menghitung nilai w.x+ dan w.x- untuk mendapatkan nilai bias menggunakan persamaan 2.14 hingga 2.15.
𝑤. 𝑥+ = 𝛼𝑖 . 𝑦𝑖 . 𝐾(𝑥, 𝑥+) ……… (2.14) 𝑤. 𝑥− = 𝛼𝑖 . 𝑦𝑖 . 𝐾(𝑥, 𝑥−) ……….… (2.15) b= -1
2(𝑤. 𝑥 + 𝑤. 𝑥 −) ……….….… (2.16)
Keterangan:
𝐾(𝑥, 𝑥+) : Nilai kernel data x dengan data x kelas positif yang memiliki nilai α tertinggi.
𝐾(𝑥, 𝑥−) : Nilai kernel data x dengan data x kelas negatif yang memiliki nilai α tertinggi dan 𝑏 : Nilai bias.
2.2.2 Algoritma Smooth Support Vector Machine (SSVM)
SSVM adalah pengembangan SVM dengan menggunakan teknik smoothing dimana metode ini pertama kali diperkenalkan oleh Lee pada tahun 2001. Algoritma SVM memanfaatkan optimasi dengan quadratic programming, sehingga untuk data berdimensi tinggi dan data jumlah besar SVM menjadi kurang efisien. SVM adalah sistem pembelajaran yang menggunakan ruang hipotesis berupa fungsi-fungsi linier dalam sebuah ruang fitur (feature space) berdimensi tinggi, dilatih dengan algoritma pembelajaran yang didasarkan pada teori optimasi dengan mengimplementasikan learning bias yang berasal dari teori pembelajaran statistik (Christianini, 2000). Oleh karena itu dikembangkan smoothing technique yang menggantikan plus function SVM
dengan integral dari fungsi sigmoid neural network yang selanjutnya dikenal dengan Smooth Support Vector Machine (SSVM).
Smooth Support Vector Machine (SSVM) merupakan mengembangan dari kasifikasi Support Vector Machine (SVM) dimana melibatkan fungsi smoothing didalamnya. Jika terdapat masalah dari klasifikasi titik 𝑚 di dalam 𝑛 ruang dimensi nyata 𝑅𝑛, gambaran dari matriks 𝑚 × 𝑛 adalah matrik 𝐴, anggota dari titik 𝐴𝑖 di dalam kelas +1 atau −1 seperti yang diberikan 𝑚 ×𝑚 matriks diagonal 𝐷 dengan diagonal +1 atau −1. Untuk masalah support vector machine dengan sebuah kernel linier 𝐴𝐴′
diberikan untuk 𝑣 > 0:
𝑚𝑖𝑛(𝑤,𝑦,𝑦)∈𝑅𝑛+1+𝑚)𝑣𝑒′𝑦+
1
2𝑤′𝑤 ……….….… (2.17)
s.t d (Aw-ey) + y≥ e ……….……… (2.18) y≥ 0
Dimana 𝑤 adalah normal untuk bounding planes:
𝑥′𝑤−𝛾=+1 ……….……….….… (2.19) 𝑥′𝑤−𝛾=+1 ……….……….….… (2.20) Dan 𝛾 menentukan daerah relative asal. Garis pemisah pertama batasanya adalah +1 dan garis pemisah kedua batasnya adalah −1 ketika kedua kelas dipisahkan secara 𝑙𝑖𝑛𝑖𝑒𝑟, yaitu ketika variabel slack 𝑦 = 0. Garis pemisah linier ketika: 𝑥′𝑤=𝛾. Batasan tengah antara dua garis (lihat gambar 2.3). Jika kelas linier tidak bisa dipisahkan kemudian dua plane membatasi dua kelas dengan ”soft margin” ditentukan oleh variabel slack y non negatif, yaitu
𝑥′− 𝛾+𝑦𝑖 ≥ +1 𝑢𝑛𝑡𝑢𝑘 𝑥′=𝐴𝑖 𝑑𝑎𝑛 𝐷𝑖𝑖=+1 𝑥′− 𝛾−𝑦𝑖 ≤ +1 𝑢𝑛𝑡𝑢𝑘 𝑥′=𝐴𝑖 𝑑𝑎𝑛 𝐷𝑖𝑖=−1 Solusi dari permasalahan di atas adalah:
𝑦=(𝑒−𝐷(𝐴𝑤−𝑒𝛾))+ ……….….… (2.21)
Dimana, terlebih dahulu menggambarkan, (.)+ diganti dengan komponen negative dari vektor nol, dengan demikian dapat mengganti y dalam persamaan (2.22) dengan (𝑒−𝐷(𝐴𝑤−𝑒𝛾))+ dan mengubah masalah Support Vector Machine (SVM) pada persamaan (2.3) kedalam Support Vector Machine (SVM) yang merupakan masalah optimasi dibatasi sebagai berikut:
𝑚𝑖𝑛(𝑤,𝑦) 𝑣
2‖(𝑒 − 𝐷(𝐴𝜔 − 𝑒𝛾))‖2
2+1
2(𝜔′𝜔 + 𝛾2) ……… (2.22)
Masalah ini adalah masalah minimisasi tanpa banyak kendala. Tetapi tujuan fungsi dalam persamaan (2.23) tidak dua kali terdiferensiasi yang menghalangi penggunaan metode Newton. Penerapan teknik smoothing dengan mengganti 𝑥+ dengan sebuah akurasi penaksiran smooth pemulusan yang diberikan oleh 𝑝(𝑥,𝛼), fungsi integral sigmoid 1/1+𝜀−𝛼𝑥 dari neural networks:
p(x,α) = x +1
𝛼log(1-ɛ-αx), α > 0 ………..….… (2.23) Fungsi 𝑝 dengan parameter pemulusan 𝛼 digunakan untuk menggantikan fungsi plus pada persamaan (2.24) untuk mendapatkan sebuah Smooth Support Vector Machine (SSVM):
𝑚𝑖𝑛(𝑤,𝑦)∈𝑅(𝜔,𝛾)= 𝑚𝑖𝑛
(𝑤,𝑦)∈𝑅(𝑛+1,) 𝑣
2‖𝑝(𝑒 − 𝐷(𝐴𝜔 − 𝑒𝛾), 𝛼)‖2
2+1
2(𝜔′+ 𝛾2) …..(2.24)
2.3 Algoritma Backpropagation
Algoritma pelatihan Backpropagation Neural Network (BPNN) pertama kali dirumuskan oleh Werbos dan dipopulerkan oleh Rumelhart & Mc. Clelland (Kusumadewi, 2004). 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:
1. Fase propagsi maju (feedforward) pola pelatihan masukan. Pola masukan dihitung maju mulai dari layer masukan hingga layer keluaran dengan fungsi aktivasi yang ditentukan.
2. 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.
3. 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.3.1 Fase Propagasi Maju
Selama propagasi maju, sinyal masukan (x1) dipropagasikan ke layer tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari unit tersembuyi (Z1) tersebut selanjutnya dipropagasi maju lagi ke layer tersembunyi berikutnya dengan fungsi aktivasi yang telah ditentukan. Dan seterusnya hingga menghasilkan keluaran jaringan (yk). Berikutnya, keluaran jaringan (yk) dibandingkan dengan target yang harus dicapai (tk). Selisih (tk-yk) adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Jika kesalahan masih lebih besar dari batas toleransi, maka bobot setiap garis dari jaringan akan dimodifikasi untuk mengurangi kesalahan.
2.3.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.3.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.4 Algoritma Nguyen Widrow
Pada awalnya, bobot-bobot yang digunakan pada jaringan syaraf tiruan (JST) menggunakan nilai acak yang kecil (Andrian & Wayahdi. 2014). Bobot-bobot ini harus cukup kecil sehingga Jaringan Syaraf Tiruan (JST) tidak mulai dari titik di ruang error yang berada di daerah saturasi. Ketika JST beroperasi di daerah saturasi, akan dibutuhkan banyak iterasi untuk proses pembelajaran agar mencapai nilai konvergen.
Salah satu algoritma untuk menentukan besarnya nilai bobot-bobot awal adalah algoritma yang diajukan oleh Nguyen dan Widrow yang dikenal dengan algoritma Nguyen-Widrow. Berikut algoritma yang ditawarkan oleh metode ini:
1. Hitung faktor skala dengan formula berikut:
β
=
0.7𝑛𝑜√𝑛
1……… (2.25) di mana n0 adalah banyaknya neuron pada lapisan tempat bobot berasal dan n1 adalah banyaknya neuron pada lapisan yang dituju oleh bobot
2. Tentukan nilai bobot, wij, awal secara acak antara -0.5 hingga 0.5 3. Tentukan kembali nilai bobot awal dengan formula berikut
Wij = β 𝑤𝑖𝑗
√∑𝑛1 𝑤2𝑖𝑗 𝑖=1
………..……. (2.26)
4. Tentukan nilai bias secara acak di antara –β hingga β
2.5 K-fold Cross Validation (KCV)
K-fold cross validation merupaka teknik untuk membagi dokumen menjadi k bagian.
Pembagian tersebut merupakan pembagian sebagi data training dan test set. Seluruh data secara acak dibagi menjadi K buah subset 𝐵𝑘 dengan ukuran yang sama dimana himpunan bagian dari {1, …, n}, sedemikian sehingga ⋃𝐵𝑘={1,…,𝑛}𝐾𝑘=1 dan 𝐵𝑗∩𝐵𝑘=∅(𝑗≠𝑘). Kemudian dilakukan tahap iterasi sebanyak k kali, kemudian pada iterasi ke k subset 𝐵𝑘 menjadi test test sedangkan sisanya menjadi training set.
Kelebihan dari metode k-fold cros validation adalah tidak adanya permasalahan dalam pembagian data.
2.6 Penelitian Terkait
Beberapa penelitian yang berhubungan algoritma Smooth Support Vector Machine (SSVM) menggunakan algoritma Backpropagation Nguyen Widrow dapat dilihat seperti pada Tabel 2.1.
Tabel 2.1 Penelitian Terkait Tahun Peneliti/Tahun Metode Yang
Digunakan
Keterangan (Hasil) 2018 Zou, et al Principal Component
Analysis (PCA).
Hasil akurasi yang terbaik untuk dataset Luzhou adalah 80.84 % dan untuk Pima Indian adalah 77.21
%.
2019 Sneha, N. &
Gangil, T.
Machine learning Analysis of diabetes mellitus for early prediction using optimal features selection.
Hasilnya menunjukkan algoritma pohon keputusan dan Hutan Acak memiliki spesifisitas tertinggi 98,20% dan 98,00%, masing-masing memegang yang terbaik untuk analisis data diabetes. Hasil Naïve Bayesian menyatakan akurasi terbaik 82,30%.
Penelitian ini juga menggeneralisasi pemilihan fitur optimal dari dataset untuk meningkatkan akurasi klasifikasi.
BAB 3
METODOLOGI PENELITIAN
Pada penelitian ini dilakukan kombinasi algoritma Smooth Support Vector Machine (SSVM) menggunakan algoritma Backpropagation Nguyen Widrow (BPNW) untuk meningkatkan hasil akurasi pada penelitian Zou et al (2018). Masalah yang hendak diselesaikan adalah masalah optimisasi akurasi pada klasifikasi penyakit Diabetes Mellitus.
Langkah-langkah penelitian klasifikasi penyakit Diabetes Mellitus adalah sebagai berikut:
1. Melakukan normalisasi dataset.
2. Melakukan klasifikasi penyakit Diabetes Mellitus dengan algoritma Smooth Support Vector Machine (SSVM).
3. Melakukan klasifikasi penyakit Diabetes Mellitus dengan algoritma Kombinasi Smooth Support Vector Machine (SSVM) dengan Backpropagation Nguyen Widrow (BPNW).
Pada penelitian ini dilakukan klasifikasi penyakit Diabetes berdasarkan dataset dengan cara mengkombinasikan algoritma Smooth Support Vector Machine (SSVM) dengan algoritma Backpropagation Nguyen Widrow untuk mendapatkan hasil akurasi yang lebih optimal. Sebelum dilakukan pelatihan dan pengujian dataset terlebih dahulu dilakukan pengolahan awal. Langkah-langkah untuk melakukan klasifikasi penyakit Diabetes dengan cara mengkombinasikan algoritma Smooth Support Vector Machine (SSVM) dengan algoritma Backpropagation Nguyen Widrow adalah sebagai berikut:
1. Normalisasi Dataset
2. Pelatihan (training) dataset dengan algoritma SSVM untuk menghasilkan bobot akhir setiap atribut.
3. Klasifikasi penyakit Diabetes Mellitus dengan menggunakan algoritma Backpropagation Nguyen Widrow.
4. Menghitung nilai akurasi setiap iterasi dengan jumlah dataset yang bervariasi.
5. Membandingkan nilai akurasi klasifikasi dengan algoritma SSVM dengan algoritma Kombinasi (SSVM-BPNW)
3.1 Data Yang Digunakan
Data yang digunakan adalah dataset Kaggle 600 record serta Pima Indians 767 record (Sneha & Gangil, 2019) dengan atribut antara lain:
1. Pregnants 2. Glucose 3. Pressure 4. Thickness 5. Insulin 6. BMI 7. Function 8. Age
9. Class
Tabel 3.1 Dataset Diabetes Mallitus Pima Indians
Pregnants Glucose Pressure Thickness Insulin BMI Function Age Class 6 148 72 35 0 33.6 0.627 50 1 1 85 66 29 0 26.6 0.351 31 0 8 183 64 0 0 23.3 0.672 32 1 1 89 66 23 94 28.1 0.167 21 0 0 137 40 35 168 43.1 2.288 33 1 5 116 74 0 0 25.6 0.201 30 0 3 78 50 32 88 31.0 0.248 26 1 10 115 0 0 0 35.3 0.134 29 0 2 197 70 45 543 30.5 0.158 53 1
… …. …. ….. …. ….. ….. …. … 8 125 96 0 0 0.0 0.232 54 1
3.2 Bagan Penelitian
Pada penelitian ini dilakukan klasifikasi penyakit Diabetes Mallitus menggunakan algoritma SSVM dan Kombinasi yang terdiri dari proses Pelatihan dan Pengujian.
Adapun secara garis besarnya penelitian ini dapat digambarkan dalam bentuk bagan seperti pada Gambar 3.1.
Gambar 3.1 Bagan Penelitian
Pada awalnya pengguna memasukkan input dataset dan proses awal yang dilakukan proses normalisasi dataset. Setelah normalisasi selesai, maka dilanjutkan dengan proses dilakukan pelatihan dataset masing-masing algoritma untuk mendapatkan nilai Bias, Alpha dan Sigma yang akan digunakan pada proses klasifikasi.
3.3 Bagan Algoritma Pelatihan SSVM
Adapun bagan algoritma pelatihan SSVM dapat dijelaskan sebagai berikut:
1. Data yang menjadi inputan adalah dataset pelatihan dan inisialisasi parameter- parameter SSVM.
2. Menghitung kernel RBF, matriks Hessian dan Max Gamma.
INPUT Dataset
Normalisasi Dataset
HASIL KLASIFIKASI SSVM/KOMBINASI PENGUJIAN SSVM/KOMBINASI
KESIMPULAN PENELITIAN PELATIHAN SSVM/KOMBINASI
3. Melakukan iterasi untuk tiap data untuk mendapatkan nilai Ei, δα, dan memperbarui nilai αi.
4. Memeriksa nilai | δα | < ε, jika benar iterasi dihentikan atau iterasi sudah mencapai maksimal iterasi dihentikan.
5. Menentukan nilai maksimal alpha kelas positif dan nilai maksimal alpha kelas negatif. Data kelas positif dan data kelas negatif memiliki nilai alpha tertinggi digunakan untuk perhitungan nilai w.x+ dan w.x-.
6. Menghitung nilai kernel antara data pelatihan dengan data kelas positif yang memiliki nilai alpha tertinggi (k(x, x+)) dan data pelatihan dengan data kelas negatif yang memiliki nilai alpha tertinggi (K(x, x-)).
7. Menghitung nilai w.x+ dan w.x- 8. Menghitung nilai bias.
Adapun bagan pelatihan algoritma SSVM untuk klasifikasi penyakit Diabetes Melitus dapat dilihat seperti pada Gambar 3.2.
Gambar 3.2 Bagan Pelatihan Algoritma SSVM Normalisasi Data
Menghitung Kernel RBF, Matriks Hessian, Max Gamma
Menghitung Kernel
Menghitung Alpha Positif dan Negatif
Menghitung Bobot + dan Bobot -
Simpan Bobot
Input Dataset Inisiasi Parameter
3.4 Bagan Pengujian Algoritma SSVM
Adapun Bagan Pengujian Algoritma SSVM dapat dijelaskan sebagai berikut:
1. Data yang menjadi inputan adalah dataset pengujian 2. Inisialisasi parameter-parameter SSVM.
3. Menghitung kernel RBF, matriks Hessian dan Max Gamma.
4. Melakukan iterasi untuk tiap data untuk mendapatkan nilai Ei, δα, dan memperbarui nilai αi.
5. Memeriksa nilai | δα | < ε, jika benar iterasi dihentikan atau iterasi sudah mencapai maksimal iterasi dihentikan.
6. Menentukan nilai maksimal alpha kelas positif dan nilai maksimal alpha kelas negatif. Data kelas positif dan data kelas negatif memiliki nilai alpha tertinggi digunakan untuk perhitungan nilai w.x+ dan w.x-.
7. Menghitung nilai kernel antara data pelatihan dengan data kelas positif yang memiliki nilai alpha tertinggi (K(x, x+)) dan data pelatihan dengan data kelas negatif yang memiliki nilai alpha tertinggi (K(x, x-)).
8. Menghitung Total Weight.
9. Menghitung Bias Total Weight (Bias Pelatihan + Total Weight)
10. Jika nilai Bias Total Weight < 0 maka Klasifikasi-1, selain itu Klasifikasi+1
Adapun Bagan Pengujian Algoritma SSVM untuk klasifikasi penyakit Diabetes dapat dilihat seperti pada Gambar 3.3.
Gambar 3.3 Bagan Algoritma Pengujian SSVM
3.5 Bagan Pelatihan Algoritma Kombinasi SSVM- BPNW
Adapun bagan Pelatihan ini menggunakan algoritma Kombinasi SSVM- Backpropagation Nguyen Widrow dapat dilihat seperti pada Gambar 3.4.
Inisialisasi Parameter
Menghitung Kernel RBF, Matriks Hessian, Max Gamma
Menghitung Kernel
Menghitung Alpha Positif dan Negatif
Menghitung Total Weight
Menghitung Bias Total Weight
Tampilkan Hasil Klasifikasi Input Data Uji Normalisasi Data
Jika Bias Total Weight < 0;
Klasifikasi = -1, jika > 0;
Klasifikasi = 1
Gambar 3.4 Bagan Pelatihan Algoritma Kombinasi SSVM-BPNW
3.6 Bagan Pengujian Algoritma Kombinasi BPNW-SSVM
Adapun bagan pengujian algoritma BPNW-SSVM dalam melakukan klasifikasi penyakit Diabetes dapat dilihat seperti pada Gambar 3.5.
Normalisasi Data
Menghitung Kernel RBF, Matriks Hessian, Max Gamma
Menghitung Kernel
Menghitung Alpha Positif dan Negatif
Menghitung Bobot + dan Bobot -
Simpan Bobot
Input Dataset Inisiasi Parameter
Gambar 3.5 Bagan Pengujian Algoritma Kombinasi SSVM-BPNW
3.7 Normalisasi Data
Sebelum melakukan training, maka pada dataset dilakukan normalisasi data agar nilai dataset dalam jangkauan 0-1 dengan rumus:
Xn = (𝑋𝑖−𝑋𝑚𝑖𝑛)
(𝑋𝑚𝑎𝑥− 𝑋𝑚𝑖𝑛) ……….. (3.1)
Xi = bobot atribut ke i
Xmin = bobot minimum atribut i Xmax = bobot maksimum atribut i
Dari Dataset yang digunakan dapat diperoleh informasi seperti pada Tabel 3.2.
Tabel 3.2 Nilai Atribut Maksimum dan Minimum Atribut Nilai Minimum Nilai Maksimum
Pregnants 0 17
Glucose 0 199
Pressure 0 122
Thickness 0 99
Insulin 0 846
BMI 0 67.1
Function 0.078 2.42
Age 21 81
Fungsi Aktivasi Perkalian input dengan bobot
Tampilkan Hasil Klasifikasi
Inisialisasi Bobot dengan Faktor Skala β =0.7 √𝑛𝑛0 1
Input Bobot (SSVM)
Untuk pasien-1 dengan atribut:
Pregnants = 6, Glucose =148, Pressure =72, Thickness = 35, Insulin = 0, BMI = 33.6, Function = 0.627, Age = 50
Pregnants (x1) = 6−0
17− 0 = 0.35294 Glucose (x2) = 148−0
199− 0 = 0.743718 Pressure (x3) = 72−0
122− 0 = 0.590163 Thickness (x4) = 35−0
99− 0 = 0.353535 Insulin (x5) = 0−0
846− 0 = 0 BMI (x6) = 33.6−0
67.1− 0 = 0.500745 Function (x7) = 0.627−0.078
2.42− 0.078 = 0.234415 Age (x8) = 50−21
81− 21 = 0.483333
Dari perhitungan normalisasi untuk pasien-1 diatas dimasukkan ke dalam tabel dan untuk perhitungan normalisasi pasien selanjutnya dilakukan dengan cara yang sama.
Hasil normalisasi semua pasien dari dataset dapat dilihat seperti pada Tabel 3.3.
Table 3.3 Dataset Hasil Normalisasi
x1 x2 x3 x4 x5 x6 x7 x8
0.352941 0.743719 0.590164 0.353535 0 0.500745 0.234415 0.483333 0.058824 0.427136 0.540984 0.292929 0 0.396423 0.116567 0.166667 0.470588 0.919598 0.52459 0 0 0.347243 0.253629 0.183333 0.058824 0.447236 0.540984 0.232323 0.111111 0.418778 0.038002 0 0 0.688442 0.327869 0.353535 0.198582 0.642325 0.943638 0.2 0.294118 0.582915 0.606557 0 0 0.38152 0.052519 0.15 0.176471 0.39196 0.409836 0.323232 0.104019 0.461997 0.072588 0.083333
0.588235 0.577889 0 0 0 0.52608 0.023911 0.133333
0.117647 0.98995 0.57377 0.454545 0.641844 0.454545 0.034159 0.533333
3.8 Perhitungan Pelatihan Algoritma SSVM
3.8.1 Perhitungan Kernel Radial Basis Function (RBF)
Perhitungan manual kernel RBF menggunakan data berupa dataset pelatihan dengan menggunakan persamaan.
𝑘(𝑥, 𝑦) = 𝑒𝑥𝑝(−‖𝑥−𝑦‖ 2)
2𝜎2 ………..…….. (3.2)
𝑘(1,2) = 𝑒𝑥𝑝 (−||0.352941 − 0.743719||2)
2(1)2 𝑘(1,2) = 0.858381
𝑘(1,3) = 𝑒𝑥𝑝 (−||0.352941 − 0.590164||2)
2(1)2
𝑘(1,3) = 0.945279
𝑘(1,4) = 𝑒𝑥𝑝 (−||0.352941 − 0.353535||2)
2(1)2
𝑘(1,4) = 0.9999996
𝑘(1,5) = 𝑒𝑥𝑝 (−||0.352941 − 0||2)
2(1)2
k(1,5) = 0.882879
𝑘(1,6) = 𝑒𝑥𝑝 (−||0.352941 −0.500745||2)
2(1)2
k(1,6) = 0.978391
𝑘(1,7) = 𝑒𝑥𝑝 (−||0.352941 −0.234415||2)
2(1)2
k(1,7) = 0.9860498
𝑘(1,8) = 𝑒𝑥𝑝 (−||0.352941 −0.483333||2)
2(1)2
k(1,8) = 0.983142
Selanjutnya untuk data yang lainnya K(2,n+1) dilakukan dengan cara yang sama dengan perhitungan diatas dan selanjutnya diperoleh matriks seperti pada Tabel 3.4.
Tabel 3.4 Hasil Perhitungan Kernel RBF
1-2 1-3 1-4 1-5 1-6 1-7 1-8
1 0.858381 0.945279 0.9999996 0.882879 0.978391 0.9860498 0.983142 2 0.873145 0.792567 0.9466696 0.996546 0.892282 0.9966713 0.988437 3 0.817414 0.997088 0.8013535 0.801354 0.984901 0.9540195 0.920797 4 0.859965 0.792567 0.9703466 0.99727 0.878476 0.9995665 0.996546 5 0.622537 0.898078 0.8825084 0.961333 0.661939 0.4104699 0.960789 6 0.91998 0.906995 0.9171306 0.917131 0.99239 0.9433008 0.979444 7 0.954626 0.946997 0.9786915 0.994764 0.92171 0.9892663 0.991363 8 0.999893 0.707498 0.707498 0.707498 0.996144 0.727267 0.813072 9 0.46724 0.812168 0.892704 0.759737 0.892704 0.993054 0.84131
3.8.2 Perhitungan Matriks Hessian
Nilai masukan untuk perhitungan Matriks Hessian adalah hasil perhitungan kernel RBF, nilai kelas aktual dari tiap data training serta lambda. Hasil keluaran perhitungan berupa Matriks Hessian. Tahap awal dilakukan inisialisasi nilai parameter:
αi = 0 ε = 0,001 γ = 0,01 λ = 0.5 C = 1
Iterasi maksimal = 2 K = Nilai kernel data xi,xj
D1,2 = y𝑖y𝑗 (𝐾(𝑥𝑖,𝑥𝑗) + λ2) 𝐾(𝑥𝑖,𝑥𝑗) adalah kernel RBF
D1,2 = 1 * 1 (0.858381 + (0.5)2
=1.10838081
D1,3 = 1 * 1 (0.945279 + 0.25)
=1.195279383
D1,4 = 1 * 1 (0.9999996 + 0.25)
=1.24999965
D1,5 = 1 * 1 (0.882879 + 0.25)
=1.1328788
D1,6 = 1 * 1 (0.978391 + 0.25)
=1.228390874
D1,7 = 1 * 1 (0.9860498 + 0.25)
=1.236049806
D1,8 = 1 * 1 (0.983142 + 0.25)
=1.23314165
Selanjutnya untuk data yang lainnya D8,8 dilakukan dengan cara yang sama dengan perhitungan diatas dan selanjutnya diperoleh matriks seperti pada Tabel 3.5.
Tabel 3.5 Hasil Perhitungan Matriks Hessian
1.10838 1.19528 1.25000 1.13288 1.22839 1.23605 1.23314 1.12314 1.04257 1.19667 1.24655 1.14228 1.24667 1.23844 1.06741 1.24709 1.05135 1.05135 1.23490 1.20402 1.17080 1.10996 1.04257 1.22035 1.24727 1.12848 1.24957 1.24655 0.87254 1.14808 1.13251 1.21133 0.91194 0.66047 1.21079 1.16998 1.15700 1.16713 1.16713 1.24239 1.19330 1.22944 1.20463 1.19700 1.22869 1.24476 1.17171 1.23927 1.24136 1.24989 0.95750 0.95750 0.95750 1.24614 0.97727 1.06307 0.71724 1.06217 1.14270 1.00974 1.14270 1.24305 1.09131
3.8.3 Perhitungan Nilai Error
Menghitung nilai y baru dengan membagi nilai inisialisasi y dengan nilai maksimal dari diagonal Matriks Hessian menggunakan persamaan:
γ=𝐾𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑎 (𝑦)
𝑀𝑎𝑥𝐷𝑖𝑖 ……….. (3.3)
γ=0.01
1.25 = 0.008
Melakukan iterasi sebanyak inisialisasi Maksimal Iterasi yaitu 2 kali. Pada tiap iterasi melakukan perhitungan Nilai error, δα, dan α. Nilai error didapatkan menggunakan persamaan 2.11 dan nilai δα didapatkan menggunakan persamaan 2.12 dan iterasi dilakukan hingga iterasi maksimal namun jika nilai maksimal δα kurang dari nilai epsilon maka iterasi berhenti.
- Iterasi ke-0
Menghitung nilai Error:
Ei= ∑𝑛𝑗=1∝𝑖∗ 𝐷ij
𝐸1 = (0 𝑥 1.10838) + (0 𝑥 1.19528) + ⋯ + (0 𝑥 1.23314) 𝐸1 = 0
p(x,α) = x +1
𝛼log(1-ɛ-αx), α > 0
Smooth Support Vector Machine (SSVM) 𝑚𝑖𝑛(𝑤,𝑦)∈𝑅(𝜔,𝛾)= 𝑚𝑖𝑛
(𝑤,𝑦)∈𝑅(𝑛+1,) 𝑣
2‖𝑝(𝑒 − 𝐷(𝐴𝜔 − 𝑒𝛾), 𝛼)‖2
2+1
2(𝜔′+ 𝛾2) Berikut hasil perhitungan nilai error seperti pada pada Tabel 3.6.
Tabel 3.6 Hasil Perhitungan Nilai Error Awal
Ei 1 2 3 4 5 6 7
1 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0
Menghitung nilai δα:
δα𝑖 = min[max[𝛾(1 − 𝐸𝑖 ), 𝛼𝑖 ] , 𝐶 − 𝛼𝑖] ……….. (3.4) Dimana:
𝐸𝑖 : Nilai Error
𝐷𝑖𝑗 : Nilai Matriks Hessian γ : Gamma
δα𝑖 : Delta alpha i 𝐶 : Complexity
𝛿𝛼 = min [𝑚𝑎𝑘𝑠[0.008(1 − 0), −0], 1 − 0]
𝛿𝛼 = 0.008
Memperbarui nilai αi:
αi = αi + δα αi = 0 + 0.008
αi = 0.008 (parameter smooth)
Pengecekan iterasi apabila nilai (|δα|<ε) maka iterasi dihentikan. Nilai maksimal δα yang didapatkan pada iterasi pertama adalah 0.008 sehingga δα belum memenuhi nilai konvergen iterasi dilanjutkan.
- Iterasi ke-1
Menghitung Nilai Error:
𝐸1 = (0.008 * 1.10838) + (0.008 * 1.19528) + (0.008 * 1.25000) + (0.008 * 1.13288) + (0.008 * 1.22839) + (0.008 * 1.23605) + (0.008 * 1.23314)
𝐸11 = 0.00886704, E12 = 0.00956224 …. E18 = 0.00986512