Abstrak
Elektrokardiogram (EKG), atau rekam jantung, dapat digunakan untuk mengenali kelainan detak
jantung atau aritmia. Bantuan komputer dengan teknik machine learning tertentu dapat digunakan untuk
mengenali aritmia secara otomatis. Tetapi data numerik yang belum diproses dari EKG mempunyai
jumlah fitur yang banyak, yang dapat mengurangi kualitas pengenalan otomatis. Algoritma genetika
(genetic algorithm, GA) dapat digunakan untuk menyeleksi fitur sehingga didapat data dengan jumlah
fitur yang lebih rendah. GA akan membuat data set dengan fitur yang sudah diseleksi, dan data set
tersebut digunakan untuk melatih support vector machine (SVM) untuk mengklasifikasikan aritmia.
Untuk pelatihan dan pengujian, digunakan data EKG dari database aritmia Massachusetts Institute of
Technology–Beth Israel Hospital (MIT-BIH). Masing-masing data merupakan rekam jantung selama 6
detik dan diklasifikasikan ke dalam detak jantung normal dan 3 jenis aritmia. Hasil yang didapat dari
penelitian menunjukkan bahwa GA-SVM mempunyai akurasi rata-rata sebesar 82.5% menggunakan
120 data latih dan 20 data uji. GA-SVM juga dapat menurunkan jumlah fitur, dari 2160 jumlah fitur
awal menjadi rata-rata 406 fitur.
Kata kunci: aritmia, elektrokardiogram, support vector machine, algoritma genetika, seleksi fitur
Abstract
Electrocardiogram (ECG) can be used to recognize abnormal heart beats or arrhythmia. Automatic
arrhythmia recognition can be achieved through the use of machine learning techniques. However, ECG
generates raw numerical data with large amount of features that can reduce the quality of automatic
recognition. Genetic algorithm (GA) can be utilized to perform a feature selection, reducing the amount
of features. Data with reduced features then will be used to train a support vector machine (SVM)
classifier. ECG data from the Massachusetts Institute of Technology–Beth Israel Hospital (MIT-BIH)
arrhythmia database is used as training and testing data. Each data is a six-second ECG recording, and
is classified into normal heartbeat and 3 different kind of arrhythmias. Result shows that GA-SVM
yielded average accuracy of 82.5% with 120 training data and 20 test data, and reduced the amount of
feature from 2160 original features to an average of 406 reduced features.
Keywords: arrhythmia, electrocardiogram, support vector machine, genetic algorithm, feature selection
mengambil tindakan yang tepat (Wilkins, 2011). deteksi penyakit jantung dengan seleksi fitur
Dalam menginterpretasikan hasil EKG, menggunakan genetic algorithm (GA).
diperlukan pengetahuan yang luas karena setiap Penelitian dilakukan dengan 3 jenis teknik
macam aritmia memiliki ciri-ciri yang berbeda, klasifikasi yakni Naïve Bayes, decision tree, dan
seperti bentuk-bentuk gelombang dan jumlah klasifikasi melalui clustering. Dataset terdiri dari
detak jantung permenit (Wilkins, 2011). 909 data. Setiap data memiliki 13 fitur dan 2
Pengenalan manual seperti ini rentan terhadap kelas, yakni sembuh (tidak mempunyai penyakit
kesalahan diagnosis karena kurangnya ketelitian. jantung) dan sakit (mempunyai penyakit
Praktisi-praktisi non-ahli kardiologi, seperti jantung). GA dapat menyeleksi 6 fitur dari 13
perawat, juga dapat mengalami kesulitan fitur yang ada. Hasil klasifikasi dari fitur yang
mengenali jenis-jenis gelombang. sudah diseleksi sangat memuaskan, Naïve Bayes
Untuk membantu tenaga medis memiliki akurasi sebesar 96,5% dan decision
menginterpretasikan hasil EKG, dapat tree memiliki akurasi sebesar 99,2%. Klasifikasi
digunakan bantuan sistem komputer dengan melalui klustering memiliki akurasi yang cukup
machine learning. Akan tetapi, kendala dalam bagus yakni 88,2%.
menerapkan pengenalan otomatis dengan sistem Untuk penelitian SVM tanpa seleksi fitur,
komputer adalah EKG menghasilkan data Cholissodin, dkk (2014) melakukan klasifikasi
numerik dengan jumlah besar. Hal ini dokumen komplain elektronik kampus dengan
dikarenakan EKG merupakan rekaman aktivitas directed acyclic graph (DAG) SVM dan analytic
jantung dalam millivolt (mV) yang direkam hierarchy processing (AHP). Data-data
setiap sepersekian detik (Wilkins, 2011). diklasifikaskan ke empat kelas berdasarkan
Contoh, pada database aritmia Massachusetts urgensi dan pentingnya komplain yang diterima.
Institute of Technology–Beth Israel Hospital Data-data kemudian dioleh dengan text
(MIT-BIH) rekam jantung selama 6 detik preprocessing. Kemudian AHP digunakan untuk
menghasilkan titik data sebanyak 2160 buah mendapat bobot setiap kelas, dan akhirnya SVM
(Moody & Mark, 1997). digunakan untuk mengklasifikakan data. Hasil
Dalam mengatasi jumlah fitur yang besar yang diperoleh adalah akurasi selalu lebih tinggi
ini, support vector machine (SVM) adalah salah tanpa penggunaan bobot AHP dengan akurasi
satu algoritma yang dapat digunakan. SVM terbaik senilai 82,61%.
mempunyai keuntungan karena tidak begitu Berdasarkan penjelasan yang telah
dipengaruhi oleh besarnya jumlah fitur pada data dipaparkan, akan dilakukan penelitian untuk
(curse of dimensionality). Selain itu SVM juga mengklasifikasikan aritmia dari hasil EKG
tidak perlu mengetahui distribusi data pada dengan SVM dengan proses seleksi fitur. Data
ruang fitur (Melgani & Bazi, 2008). penelitian diambil dari database aritmia MIT-
Untuk meningkatkan kinerja SVM, jumlah BIH (Moody & Mark, 1997). Setiap data
fitur dapat dikurangi dengan melakukan proses merupakan rekam jantung selama 6 detik kanal
seleksi fitur. Pengurangan jumlah fitur dengan MLII (limb lead II yang dimodifikasi) yang
memiliki keuntungan yakni mempermudah diubah menjadi 2160 fitur dan dinormalisasi
visualisasi dan pemahaman data, mengurangi dengan metode min-max. Setiap data
biaya komputasi, dan meningkatkan kinerja mempunyai kelas yakni detak jantung normal,
algoritma (Guyon & Elisseeff, 2003). atrial fibrillation, PVC bigeminy, dan
Beberapa penelitian tentang SVM dan ventricular tachycardia. Dataset terdiri dari 120
proses seleksi fitur telah dilakukan sebelumnya. data latih dan data uji. Proses seleksi fitur
Melgani dan Bazi (2008) mengembangkan SVM dilakukan menggunakan GA. Pengujian yang
dengan kernel radial basis function (RBF) untuk dilakukan meliputi melihat pengaruh berbagai
mengklasifikasi 5 jenis detak jantung. SVM parameter GA dan SVM terhadap hasil
dioptimasi dengan particle swarm optimization klasifikasi.
(PSO) untuk menentukan parameter C dan γ.
PSO juga digunakan untuk memilih subset fitur 2. JANTUNG DAN ARITMIA
yang digunakan untuk melatih SVM. Dengan Jantung adalah organ penuh otot yang
500 data latih, SVM-PSO dapat menentukan terletak di dada, di belakang sternum di
dengan benar 90,52% data dari 40.438 total data mediastinum, di antara paru-paru, dan di depan
uji. tulang belakang. Jantung terdiri dari empat
Dalam penelitian lain, Anbarasi, Anupriya, ruang, yang terdiri dari dua atria dan dua
dan Inyengar (2010) melakukan penelitian untuk
ventrikel. Atria dan ventrikel masing-masing 𝐾(𝒙𝒊 , 𝒙𝒋 ) adalah fungsi kernel untuk
dibagi menjadi kanan dan kiri. Atria dan memetakan data untuk kasus data yang tidak
ventrikel berperan dalam siklus peredaradan dapat dipisahkan secara linear. Fungsi kernel
darah dalam tubuh manusia (Wilkins, 2011). yang digunakan adalah radial basis function
Untuk memompa darah, jantung (RBF) pada persamaan 3.
memerlukan impuls listrik. Aktivitas listrik 𝟐
jantung ini dapat digambarkan dengan ‖𝒙𝒊 −𝒙𝒋 ‖
𝐾(𝒙𝒊 , 𝒙𝒋 ) = exp (− ) (3)
2𝜎 2
elektrokardiogam (EKG). Rekaman EKG
berbentuk gelombang yang digambarkan pada Nilai 𝛼𝑖 didapat dengan menyelesaikan
kertas dengan kisi. Sumbu horizontal bidang pemisah. Pencarian bidang pemisah
menunjukkan waktu dan sumbu vertikal dapat tersebut merupakan masalah optimasi dan dapat
menunjukkan tegangan listrik atau amplitudo. diselesaikan dengan beberapa cara. Pada
EKG direkam dengan menempelkan elektrode penelitian ini, cara yang digunakan adalah
ke kulit pasien. Tempat penempelan elektrode sequential learning (Vijayakumar & Wu, 1999).
mempengaruhi EKG yang dihasilkan, dan Sequential learning dapat menemukan bidang
terdapat 12 jenis rekaman EKG (Wilkins, 2011). pemisah optimal dengan lebih cepat dibanding
Dalam penelitian ini, jenis-jenis aritmia dengan metode quadraric programming yang
yang akan dikenali adalah: biasanya digunakan untuk memecahkan
a. Detak jantung normal. optimasi.
b. Atrial fibrillation. SVM hanya dapat mengklasifikasikan data
c. Premature ventricular contraction secara biner. Untuk klasifikasi lebih dari 2 kelas,
(PVC) bigeminy. dapat digunakan berbagai strategi memecah
d. Ventricular Tachycardia. klasifikasi multikelas menjadi beberapa
klasifikasi biner. Dalam penelitian ini digunakan
3. SUPPORT VECTOR MACHINE strategi binary decision tree (BDT) (Madzarov,
Misalkan terdapat sekumpulan data latih Gjorgjevikj & Chorbev, 2008). BDT mempunyai
berjumlah 𝑛 dengan fitur sejumlah 𝑚 (𝒙𝑖 ∈ prinsip membentuk pohon keputusan
ℜ𝑚 , 𝑖 = 1,2, … , 𝑛), support vector machine berdasarkan jarak masing-masing kelas.
(SVM) akan mengklasifikasikan setiap data ke
dalam target kelas yang bernilai 𝑦𝑖 ∈ (+1, −1). 4. ALGORITMA GENETIKA
Dari data latih tersebut, SVM melakukan Algoritma genetika atau Genetic Algorithm
klasifikasi dengan menemukan bidang (GA) adalah algoritma optimasi (Coley, 1999)
(hyperplane) yang dapat memisahkan data-data dan pencarian stokastik (Gen & Cheng, 2000)
dari kedua kelas dengan margin yang paling yang menggunakan konsep seleksi alam sebagai
besar (Huang, Kecman & Kopriva, 2006). dasar cara kerjanya. GA merupakan sebuah
Untuk menglasifikasikan data 𝒙 ke dalam metode umum atau framework yang dapat
kelas 𝑦 ∈ (+1, −1), digunakan persamaan 1, digunakan untuk menyelesaikan berbagai
dengan proses penurunan persamaan 1 secara macam masalah (Coley, 1999).
keseluruhan dapat dilihat pada Bennett & GA bekerja dengan memanipulasi populasi
Campbell (2000). atau kumpulan individu yang merepresentasikan
𝑓(𝒙) = 𝑠𝑖𝑔𝑛(∑𝑛𝑖=1 𝑦𝑖 𝛼𝑖 𝐾(𝒙𝒊 , 𝒙) + 𝑏) (1) solusi terhadap seuatu masalah. Pada awalnya,
populasi dibangkitkan secara acak pada berbagai
Dimana 𝛼𝑖 adalah Lagrange multiplier titik di ruang pencarian (Coley, 1999).
untuk data ke-i dan 𝑏 adalah nilai bias yang Kemudian dari populasi awal, dibentuk
didapat dari persamaan 2. individu-individu baru yang disebut dengan
1 ∑ 𝑦 𝛼 𝐾(𝒙𝒊 , 𝒙+ ) offspring. Offspring dibentuk dengan proses
𝑏 = − ( 𝑖∈𝑆𝑉 𝑖 𝑖 −
) (2) reproduksi yang dilakukan dengan dua cara yaitu
2 +∑
𝑖∈𝑆𝑉 𝑦𝑖 𝛼𝑖 𝐾(𝒙𝒊 , 𝒙 )
crossover (menggabungkan dua individu untuk
Dimana 𝑥 + adalah data dengan nilai 𝛼𝑖 membentuk individu baru) dan mutasi
terbesar untuk kelas +1 dan 𝑥 − data dengan nilai (mengubah bagian dari sebuah individu untuk
𝛼𝑖 terbesar untuk kelas −1. SV atau support membuat individu baru). Seluruh individu
vectors adalah data-data yang mempunyai nilai (termasuk offspring) diukur kemampuannya
𝛼𝑖 lebih dari 0 (Huang, Kecman & Kopriva, dalam memecahkan masalah, yang diukur
2000). dengan nilai fitness. Populasi baru dibentuk
Rata-rata Fitness
kromosom terbaik pada generasi ke-𝑖 (𝑔𝐵𝑒𝑠𝑡 𝑖 ) 0,9
dibandingkan dengan kromosom terbaik pada 0,8
generasi sebelumnya (𝑔𝐵𝑒𝑠𝑡). Jika fitness 0,7
𝑔𝐵𝑒𝑠𝑡 𝑖 lebih baik dari 𝑔𝐵𝑒𝑠𝑡, maka 𝑔𝐵𝑒𝑠𝑡 𝑖 0,6
dinyatakan sebagai 𝑔𝐵𝑒𝑠𝑡 yang baru. 0,5
10 20 30 40 50 60 70 80 90 100
Konvergensi: GA akan berhenti dengan 2 Ukuran Populasi
syarat. Pertama, GA harus dijalankan minimal
25 generasi. Kedua, jika selama 10 generasi
tidak terjadi perbaikan akurasi dan fitur yang Gambar 2 Hasil Pengujian Ukuran Populasi
terseleksi tidak turun lebih dari 10%. Kondisi
Hasil dari pengujian ukuran populasi
kedua jika dinyatakan dengan persamaan 4, akan
disajikan pada gambar 3. Dari hasil pengujian
menghasilkan nilai threshold:
didapat bahwa nilai fitness cenderung sebanding
∆𝑓𝑖𝑡𝑛𝑒𝑠𝑠 = 0.85 × ∆𝑓1 + 0.15 × ∆𝑓2 dengan ukuran populasi. Populasi menunjukkan
= 0.85 × 0 + 0.15 × 0.1 (5) berapa banyak solusi (Gen & Cheng, 2000),
sehingga populasi yang kecil menyebabkan tidak
= 0 + 0.015 = 0.015 banyak solusi yang ditelusuri. Jumlah populasi
100 dipilih sebagai jumlah populasi yang tepat
6. HASIL DAN PEMBAHASAN pada masalah ini dan digunakan pada pengujian-
Kinerja dari GA-SVM dilihat dengan hasil pengujian selanjutnya.
akurasi, yakni perbandingan antara data uji yang
diklasifikasikan dengan benar dan jumlah semua 6.2 Hasil dan Pembahasan Pengujian
data uji. Dalam penelitian ini, digunakan 120 Crossover Rate dan Mutation Rate
data latih dan 20 data uji, dengan 5 data uji untuk
1
setiap kelas. Kemudian dilihat pengaruh
Rata-rata Fitness
(22160), dan crossover memberikan kemampuan pemisah yang didapat dengan menyelesaikan
untuk menjelahi ruang pencarian yang lebih luas quadratic problem, tetapi juga menyebabkan
(Gen & Cheng, 2000). Nilai kombinasi konvergensi lebih lama (Vijayakumar & Wu,
parameter 𝑐𝑟 dan 𝑚𝑟 yang dipilih untuk 1999), sehingga nilai 𝛼𝑖 yang didapat pada saat
pengujian selanjutnya adalah 0.9 dan 0.1. iterasi terakhir tercapai tidak optimal. Oleh
karena itu, nilai 0.5 dipilih sebagai nilai 𝜆 terbaik
6.3 Hasil dan Pembahasan Pengujian dan digunakan pada pengujian-pengujian
Threshold 𝜺 SVM selanjutnya.
1 6.5 Hasil dan Pembahasan Pengujian Nilai
Rata-rata Fitness
0,9 𝑪 SVM
0,8
0,7 1
Rata-rata Fitness
0,6 0,9
0,5
0,8
0,7
𝜀 0,6
0,5
Gambar 4 Hasil Pengujian Threshold ε SVM
0,9
6.6 Hasil dan Pembahasan Pengujian Nilai
0,8
Learning Rate 𝜸 SVM
0,7
0,6 1
Rata-rata Fitness
0,5
0,8
0,01 0,1 0,5 1 5 10 25 50 100
0,6
𝜆
0,4
pada gambar 8. Hasil menunjukkan nilai fitness jumlah iterasi SVM sebesar 100 dipilih sebagai
cenderung stabil dari 𝛾 = 10−7 hingga 𝛾 = jumlah iterasi terbaik walaupun terdapat nilai
10−4 , mencapai titik maksimal pada 𝛾 = 0.01 fitness yang lebih tinggi pada jumlah iterasi yang
dan kemudian mengalami penurunan. Sequential lebih banyak. Selain itu, jumlah iterasi yang
Learning pada dasarnya adalah gradient ascent lebih banyak menyebabkan waktu komputasi
(Vijayakumar & Wu, 1999) sehingga learning yang lebih lama.
rate yang terlalu kecil menyebabkan optimal Jumlah Iterasi SVM
lama tercapai, dan learning rate yang terlalu
besar menyebabkan 𝛼𝑖 optimal terlewati. 1
Rata-rata Fitness
0,9
Berdasarkan hasil pengujian, nilai 𝛾 = 0.01
0,8
menjadi nilai yang mempunyai keseimbangan
0,7
antara kecepetan pencarian dan tidak melawati 0,6
hasil optimal. Oleh karena itu, 𝛾 = 0.01 dipilih 0,5
menjadi nilai parameter terbaik dan digunakan
900
100
200
300
400
500
600
700
800
1000
pada pengujian-pengujia selanjutnya.
Jumlah Iterasi SVM
6.7 Hasil dan Pembahasan Pengujian Nilai
𝝈 Kernel RBF
Gambar 9 Hasil Pengujian Jumlah Iterasi SVM
1
Rata-rata Fitness