Abstract—Machine learning and edge computing secara khusus untuk ML yang memiliki kelebihan yakni
currently becomes popular technology used in any ukuran modelnya yang relatif lebih kecil dan tidak
discipline. Flexibility and adapt to the problem are the kompleks.
main advantages of its technology. In this paper, we
explain step-by-step way to make a lightweight machine
learning model especially intended for embedded system
application. We use open source machine learning tool
called as Weka to design the model. Moreover, we
performed a simple stress recognition experiment to
make our own dataset for evaluation. We evaluate
algorithm complexity and accuracy for different well-
known classifier such as support vector machine, simple
logistic and hoeffding tree.
I. PENDAHULUAN
An intelligence system atau sebuah sisem cerdas
merupakan idaman bagi manusia di mana sistem
tersebut dapat menganalisa permasalahan yang ada Gambar 1. Tren jumlah publikasi ilmiah machine
(perception) dan memberikan feedback secara natural learning dan deep learning [6]
(decision making). Penggunaan sistem cerdas saat ini
meliputi banyak sektor seperti transportasi [1], ekonomi Penggunaan sistem cerdas idealnya dapat dilakukan
[2], pelayanan umum [3], pendidikan [4] hingga dunia secara real time. Biasanya untuk sistem yang kompleks
medis [5]. dan menggunakan model yang berukuran besar
Secara teknis untuk mewujudkan sebuah sistem spesifikasi komponen komputasi harus mengikuti.
cerdas beberapa metode dapat diimplementasiskan. Sedangkan, tren saat ini telah dikenal dan sering
Saat ini terdapat 2 teknik yang popular untuk digunakan digunakan sebuah teknologi yang disebut edge
yakni machine learning (ML) dan deep learning (DL). computing, di mana semua proses komputasi dilakukan
Gambar 1 [6] memperlihatkan peningkatan jumlah di tempat sehingga menyediakan informasi dengan
publikasi ilmiah yang membahas kedua metode cepat. Hanya saja, komponen pemroses yang digunakan
tersebut, hal ini menunjukan kredibilitas metode yang terbatas pada beberapa parameter spesifikasi. Sehingga
disebutkan. Perbedaan mendasar dari machine learning saat menggunakan sebuah model sistem cerdas
dan deep learning ialah cara ekstraksi fitur. ML sebaiknya dengan kompleksitas dan ukuran yang kecil.
mengandalkan sebuah tahapan preprocessing untuk Padahal, implementasi sistem cerdas pada edge
mendapatkan fitur yang diinginkan selanjutnya kita computing memiliki prospek aplikasi yang luas salah
proses pada sebuah model. Sedangkan DL merupakan satunya digunakan untuk penerjemah Bahasa isyarat [8]
metode yang bersifat “featureless extraction” di mana Berdasarkan urgensi masalah di atas dan karena
fitur diproses di dalam sebuah model. Pada dasarnya, juga sedikitnya literatur mengenai implementasi ML
teori fundamental yang digunakan pada kedua metode untuk edge computing dalam Bahasa Indonesia, pada
tersebut meliputi probabilitas, statistika, kalkulus, dan tulisan ilmiah ini kami menjabarkan langkah-langkah
aljabar linear. Sehingga sebuah model tidak lain dalam mendesain dan mengimplementasikan algortima
hanyalah beberapa persamaan matematis yang dapat ML untuk apliaksi edge computing dalam hal ini kami
direalisasikan. Kedua metode tersebut memiliki menggunakan sistem tertanam. Tools yang kami
keunggulan dan kelemahan masing-masing [7] dan gunakan pada penelitian ini bersifat open source
sehingga dapat digunakan oleh semua pihak. Terlebih, mendapatkan fitur yang sama fitur yang
kami berikan contoh sederhana implementasi ML digunakan untuk training model
model pada stress recognition berdasarkan langkah- 9. Terakhir untuk memprediksi class yang sesuai,
langkah yang kami jabarkan. Sebagai evaluasi, kami proses inference dapat dilakukan
akan menguji kompleksitas dari model ML ketika
Berikut detail dari Gambar 2 mengenai cara
ditananmkan pada sistem embedded yang digunakan.
implementasi model ML ke dalam sistem tertanam.
II. MACHINE LEARNING PADA EMBEDDED A. Embedded Devices
SYSTEM
Saat ini komponen komputasi yang digunakan
Secara sederhana proses desain dan implementasi pada sistem tertanam memiliki banyak pilihan, dari
algoritma machine learning (ML) pada sistem berbagai macam tipe mikrokontroller hingga beberapa
embedded dapat diilustrasikan pada Gambar 2. Pada tipe mikrokomputer yang popular digunakan di
dasarnya, 2 perangkat keras dibutuhkan untuk Indonesia antara lain ialah,
merealisasikan sistem ini, yakni embedded device
1. Arduino berbasis ATmega328 – RISC 8 bit
(sistem yang akan kita implementasikan) dan host
mikrokontroller berjalan pada kecepatan 16
computer (digunakan untuk menjalankan machine
MHz
learning tool untuk training dan evaluasi model).
2. ESP32 – 32 bit Xtensa LX6 SoC dengan clock
source 160 MHz
3. ARM seri M – RISC 32 bit mikrokontroller
dengan basis clock 72 MHz
4. ARM seri A – arm64 arch mikrokomputer
yang berjalan dengan menggunakan sistem
operasi (misal Raspberry Pi)
Dari beberapa contoh di atas, pertimbangan
pemilihan komponen komputasi tergantung kepada
permasalahan yang ingin di atasi, karena komponen
tersebut memiliki kelebihan dan kekurangan masing-
masing. Parameter yang dapat menjadi pertimbangan
seperti interface I/O, kecepatan (clock speed semata
bukan menjadi benchmark), kapasitas memori, tipe data
yang dapat digunakan (penting untuk ML) dan
konsumsi daya (penting untuk edge computing)
Gambar 2. Implementasi model machine learning
B. Data Collection and Preprocessing
untuk sistem tertanam
Melatih sebuah model ML membutuhkan data yang
Workflow dari implementasi model ML, secara cukup banyak untuk mendapatkan hasil yang lebih
berurutan ialah secara berikut, terpercaya. Oleh sebab itu pengumpulan data dengan
1. Desain perangkat keras (hardware) dari sistem baik dan benar perlu dilakukan. Data yang dikumpulan
tertanam sesuai dengan tujuan dan spesifikasi merupakan data dari sensor, contoh: suhu, kelembapan,
yang dibutuhkan inertial motion unit, elektrokardiograf, dan banyak
2. Kumpulkan data dengan baik dan benar dan lainnya. Pengumpulan data harus dilakukan sesuai
merepresentasikan penggunaan sebenarnya dengan kriteria sinyal dan sistem yang diinginkan
3. Mendapatkan fitur dari data yang terkumpul contoh yang menjadi konstrain adalah frekuensi
(features extraction) dan memberi label atau sampling dan tipe data yang didapat (signed, unsigned,
class pada kumpulan data tersebut (labelling) fixed point, floating point). Terlebih, data tersebut
4. Train model pada host computer dengan mewakili beberapa atribut dan class yang akan
menggunakan ML tool, pilih classifier yang diprediksi.
cocok digunakan
Setelah data yang diinginkan terkumpul, proses
5. Test model yang didapat dengan beberapa
selanjutnya yaitu memproses data tersebut untuk
metrik pengujian (misal K-fold validation)
mendapatkan fitur ML yang baik. Preprocessing akan
6. Lakukan optimasi dengan memilih fitur mana
berbeda sesuai dengan spesifikasi dan kebutuhan
yang dibutuhkan dan memiliki korelasi dengan
masing-masing sinyal. Salah satu parameter yang perlu
permasalahan yang dihadapi
diperhatikan ialah panjang sebuah segmen atau window
7. Implementasikan model yang sudah dilatih ke
dari sebuah sinyal. Membuat fitur dari satu data stream
dalam sistem embedded yang telah dibuat
tidaklah direkomendasi karena apabila sinyal tersebut
8. Dalam penggunaan secara real time data
sebuah noise akan membuat fitur yang kurang bagus.
stream harus diproses terlebih dahulu untuk
Dengan demikian biasanya sebuah segmen (kumpulan
dari beberapa n poin sinyal, buffer) sinyal dibuat. dapat dilakukan dengan cara mencari fitur yang sesuai
Ukuran segmen akan berpengaruh dengan respon dan dan dibutuhkan untuk menyelesaikan masalah yang
akurasi prediksi. Semakin panjang segmen maka akan dihadapi.
kurang responsif, namun memiliki banyak informasi di
dalamnya. Segmen tidak hanya dalam bentuk time D. Model Implementation on Embedded Device
domain, namun bisa juga dalam bentuk frequency Apabila model yang didapat sudah memiliki
domain. Terlebih lagi bisa dalam bentuk dari gabungan performa yang baik, maka model tersebut dapat kita
kedua domain tersebut, seperti yang dilakukan pada implementasikan ke sistem tertanam kita. Cara
karya ilmiah [9]. implementasi dapat dilakukan dengan cara mencari
Selanjutnya salah satu proses yang paling penting persamaan atau model matematika yang terdapat di
ialah mengekstraksi sebuah segmen sinyal menjadi fitur dalam model tersebut. Selanjutnya model tersebut dapat
ML. Fitur yang paling umum digunakan ialah statistika dijalankan secara real time. Sebelum melakukan proses
fitur seperti rata-rata, median, modus, maksimum, inference, raw data harus di proses dengan proses yang
minimum, standar deviasi, kuartil dan banyak lainnya sama saat membuat dataset.
[10]. Fitur-fitur tersebut dikombinasikan agar
mendapatkan keunikan yang lebih terlihat pada sebuah
sinyal.
Setelah perhitungan fitur selesai, kita dapat
memberi label pada fitur tersebut dan membuat sebuah
database fitur beserta labelnya yang biasa disebut
dataset. Format dataset bermacam, yang umum
digunakan kolom merepresentasikan bebera fitur, dan
juga label dari fitur tersebut.
∑0.15
𝑓1=0.04 𝑃𝑁𝑁 (𝑓1) (3)
𝐿𝐹 = . 100
∑𝑓𝑠/2
𝑓2=0 𝑃𝑁𝑁 (𝑓2)
∑0.4
𝑓1=0.15 𝑃𝑁𝑁 (𝑓1) (4)
𝐻𝐹 = . 100
∑𝑓𝑠/2
𝑓2=0 𝑃𝑁𝑁 (𝑓2) Gambar 7. Hasil Testing Hoeffding
- Support vector machine (SVM):
Fitur yang sudah dikalkulasi dan diekstrak lalu ▪ one-versus-one SVM
dibentuk menjadi sebuah dataset untuk dapat ▪ decimal number = 2
digunakan di dalam machine learning tool. ▪ seed number = 1
▪ batch size = 100.
82 ULTIMA Computing, Vol. XII, No. 2 | Desember 2020
ISSN 2355-3286
on Cloud Computing and Big Data Analysis (ICCCBDA), based on Ensemble Empirical Mode Decomposition (EEMD),"
Chengdu, China. 2018 5th International Conference on Information Technology,
[7] M. Sewak, S. K. Sahay and H. Rathore, "Comparison of Deep Computer, and Electrical Engineering (ICITACEE),
Learning and the Classical Machine Learning Algorithm for Semarang, 2018, pp. 359-364.
the Malware Detection," 2018 19th IEEE/ACIS International [10] A. Kamal and M. Abulaish, "Statistical Features Identification
Conference on Software Engineering, Artificial Intelligence, for Sentiment Analysis Using Machine Learning Techniques,"
Networking and Parallel/Distributed Computing (SNPD), 2013 International Symposium on Computational and Business
Busan, 2018, pp. 293-296 Intelligence, New Delhi, 2013, pp. 178-181.
[8] B. G. Lee and S. M. Lee, "Smart Wearable Hand Device for [11] Lin, Shu-Tyng et al. “A Pulse Rate Detection Method for
Sign Language Interpretation System With Sensors Fusion," in Mouse Application Based on Multi-PPG Sensors.” Sensors
IEEE Sensors Journal, vol. 18, no. 3, pp. 1224-1232. (Basel, Switzerland) vol. 17,7 1628. 14 Jul. 2017,
[9] E. W. Sinuraya, A. Rizal, Y. A. A. Soetrisno and Denis, doi:10.3390/s17071628.
"Performance Improvement of Human Activity Recognition