Modul Pembelajaran Machine Learning

0% found this document useful (0 votes)
72 views20 pages
The document discusses machine learning and provides an overview of its key concepts. It defines machine learning as a field of study that gives computers the ability to learn without being …
  • Module 1: Introduction to Machine Learning
  • Module 2: Implementing K-Means Clustering on Arduino
  • Module 3: Implementing Convolutional Neural Networks (CNN) on Arduino
  • Module 4: Implementing K-Nearest Neighbor (KNN) on Arduino

MODUL

“MACHINE LEARNING”

UNIVERSITAS TEKNOLOGI SUMBAWA

Disusun Oleh Kelompok 2 :


Mar’i Yustiardin [Link]
Muhammad Fiqar Ramadhan [Link]
Azrul Rochmad Rifa’i [Link]
Ulfa Novianda [Link]
Fathiya Rohali [Link]

FAKULTAS REKAYASA SISTEM

PROGRAM STUDI INFORMATIKA

SUMBAWA MEI 2023


KATA PENGANTAR

Puji syukur kami panjatkan kepada Allah SWT yang Maha Pengasih dan Maha
Penyayang atas nikmat kesehatan, kesempatan serta hikmat dan anugrah-Nya kami dapat
menyelesaikan Modul Pembelajaran ini dengan judul “MACHINE LEARNING“.
Dalam Modul ini Kami menyadari bahwa pada penulisannya masih terdapat banyak
kekurangan karena keterbatasan ilmu pengetahuan serta kemampuan yang ada dalam diri
kami masing-masing. Pada kesempatan ini kami ingin berterimakasih yang sebesar-besarnya
kepada dosen pembimbing kami yaitu Bapak Eri Sasmita, [Link].,[Link] yang telah
memberikan bimbingan, nasehat serta saran sehingga Modul ”MACHINE LEARNING” ini
dapat kami selesaikan.
Semoga Allah SWT selalu memberikan rahmat yang melimpah dan anugrah-Nya
kepada Bapak pembimbing yang telah membantu kami dalam menyusun modul ini. Kami
berharap semoga modul ini dapat bermanfaat bagi semua pihak yang membutuhkannya.

Sumbawa Besar, 24 Mei 2023

Penulis

i
Modul Machine Learning
DAFTAR ISI

MODUL 1 ................................................................................................................................. 1

A. Pengantar Machine Learning .......................................................................................... 1

B. Taksonomi Teknik Learning ........................................................................................... 1

C. Perkembangan Dan Masa Depan Machine Learning...................................................... 4

D. Risiko Dan Keuntungan Machine Learning ................................................................... 6

MODUL 2 Penerapan Algoritma K-Means Clustering Pada Arduino .............................. 8

MODUL Penerapan Algoritma Convlutional Neural Network (CNN) Pada Arduino ... 13

MODUL Penerapan Algoritma K-Nearest Neighbor (KNN) Pada Arduino ................... 16

ii
Modul Machine Learning
MODUL 1
A. Pengantar Machine Learning
Machine Learning atau dikenal dengan pembelajaran mesin adalah ilmu
computer yang bisa bekerja tanpa diprogram secara eksplisit. Banyak peneliti berpikir
bagaimana cara untuk membuat kemajuan AI terhadap tingkat manusia. Machine
Learning ini merupakan kecerdasan buatan yang mempelajari bagaimana membuat
data. Machine learning ini biasa disingkat dengan ML, ini dibutuhkan untuk
menerapkan teknik yang cepat dan kuat menemukan masalah baru.
Secara definisi, machine learning merupakan ilmu atau studi yang
mempelajari tentang algoritma dan model statistic yang digunakan oleh sistem
computer untuk melakukan task tertentu tanpa instruksi eksplisit. Machine learning
bergantung pada pola dan kesimpulan, untuk mendapatkan pola dan kesimpulan
tersebut, algoritma machine learning menghasilkan model matematika yang didasari
dari data sampel yang sering disebut dengan ‘training data’.
Machine learning juga dapat didefinisikan sebagai ilmu yang mempelajari
bagaimana membuat sebuah program yang dapat menghasilkan pengetahuan baru dari
pengetahuan yang sudah ada (disebut experience, atau data) di luar pengetahuan yang
“diprogram” secara langsung pada program. Istilah lebih umumnya adalah bagaimana
membuat computer yang dapat belajar dari lingkungan sekitar sehingga memiliki
“pengetahuan” yang berkembang.
Pemakaian teknik ini berkaitan dengan pembelajaran mesin dan AI. Mesin ini
membuktikan kepada algoritma atau program yang berjalan dikomputer. Oleh karena
itu, jika kita ingin belajar machine learning, pastikan terus berinteraksi dengan data.
Semua pengetahuan machine learning passti akan melibatkan data.
B. Taksonomi Teknik Learning
Taksonomi adalah sistem klasifikasi atau pengelompokan yang digunakan
untuk mengorganisir dan menyusun informasi ke dalam hierarki yang terstruktur.
Taksonomi teknik learning adalah taksonomi yang digunakan untuk
mengklasifikasikan dan mengelompokkan berbagai teknik pembelajaran (learning
techniques) yang digunakan dalam konteks pembelajaran mesin (machine learning).
Berikut adalah materi lengkap tentang taksonomi teknik learning:

1
Modul Machine Learning
1. Supervised Learning (Pembelajaran Terpandu)
 Regresi (Regression): Teknik untuk memprediksi nilai kontinu berdasarkan
data latihan.
 Klasifikasi (Classification): Teknik untuk memprediksi kelas atau label
berdasarkan data latihan yang diberikan.
 Naive Bayes: Metode statistik yang menggunakan teorema Bayes untuk
klasifikasi probabilitas.
 Decision Tree (Pohon Keputusan): Struktur pohon yang menggambarkan
keputusan dan konsekuensi berdasarkan fitur-fitur data.
 Random Forest: Penggabungan banyak pohon keputusan yang digunakan
untuk klasifikasi atau regresi.
 Support Vector Machines (SVM): Metode pembelajaran yang digunakan
untuk klasifikasi atau regresi dengan mencari hyperplane terbaik yang
memisahkan kelas data.

2. Unsupervised Learning (Pembelajaran Tanpa Pengawasan)


 Clustering: Teknik untuk mengelompokkan data berdasarkan kemiripan atau
pola-pola tertentu.
a) K-means: Algoritma yang mengelompokkan data ke dalam K
kelompok berdasarkan jarak antara titik data.
b) Hierarchical Clustering (Pengelompokan Hirarkis): Metode yang
membangun hirarki kelompok yang berjenjang.
 Dimensi Reduction (Reduksi Dimensi): Teknik untuk mengurangi jumlah fitur
atau dimensi dalam data.
a) Principal Component Analysis (PCA): Metode statistik yang mengubah
ruang fitur menjadi ruang dimensi yang lebih rendah.
b) Singular Value Decomposition (SVD): Metode aljabar linier untuk
memperoleh representasi terbaik dalam dimensi lebih rendah.
 Association Rules (Aturan Asosiasi): Teknik untuk menemukan hubungan dan
pola asosiasi antara item dalam dataset.

2
Modul Machine Learning
3. Reinforcement Learning (Pembelajaran Penguatan)
 Markov Decision Process (MDP): Framework matematis yang digunakan
untuk model pembelajaran penguatan.
 Q-Learning: Algoritma yang digunakan untuk mempelajari kebijakan optimal
dalam MDP.
 Deep Q-Network (DQN): Jaringan saraf tiruan yang digunakan dalam
pembelajaran penguatan.

4. Semi-Supervised Learning (Pembelajaran Semi Terpandu)


 Teknik pembelajaran yang menggunakan kombinasi data latihan yang berlabel
dan tidak berlabel.
 Teknik ini memanfaatkan informasi yang terdapat pada data tidak berlabel
untuk meningkatkan kinerja model.

5. Transfer Learning (Pembelajaran Transfer)


 Teknik yang menggunakan pengetahuan atau pengalaman dari satu tugas ke
tugas lain yang terkait.
 Model yang telah dilatih pada tugas terkait dapat digunakan sebagai awal yang
baik untuk tugas baru.

6. Deep Learning (Pembelajaran Dalam)


 Neural Networks (Jaringan Saraf): Struktur yang terinspirasi oleh jaringan
saraf manusia untuk memproses informasi.
 Convolutional Neural Networks (CNN): Jaringan saraf yang dirancang khusus
untuk pengolahan data grid seperti gambar atau citra.
 Recurrent Neural Networks (RNN): Jaringan saraf yang dirancang untuk
memproses urutan data seperti teks atau waktu.
 Generative Adversarial Networks (GAN): Jaringan saraf yang terdiri dari
model generatif dan model diskriminatif yang saling bersaing.
 Deep Reinforcement Learning: Kombinasi antara pembelajaran penguatan dan
deep learning.
Itu adalah beberapa contoh teknik pembelajaran yang termasuk dalam taksonomi

3
Modul Machine Learning
teknik learning. Setiap teknik memiliki karakteristik dan aplikasi yang berbeda
dalam konteks pembelajaran mesin. Penting untuk memahami taksonomi ini agar
dapat memilih teknik yang sesuai dengan permasalahan yang dihadapi dan
mencapai hasil yang diinginkan dalam pembelajaran mesin.

C. Perkembangan Dan Masa Depan Machine Learning


Sebelumnya, kita sudah mengetahui bahwa sebuah IA dapat dikatakan cerdas
jika ia dapat meningkatkan performanya dengan belajar. Lebih tepatnya, model AI di
dalam IA adalah bagian yang belajar dan menyimpan knowledge di dalamnya. ML
adalah bidang ilmu yang mempelajari cara membuat model AI dapat belajar.
Umumnya, model AI ini disebut sebagai model ML, yaitu model algoritma komputasi
yang mampu menyimpan serta mengubah knowledge yang ia miliki melalui proses
pembelajaran dari data. Model ML adalah salah satu jenis model AI yang paling
banyak digunakan di era 4.0, baik untuk data berupa tabel, teks, suara, dan
sebagainya.
Machine learning telah mengalami perkembangan yang pesat dalam beberapa
tahun terakhir dan diperkirakan akan terus berkembang di masa depan. Berikut adalah
beberapa perkembangan dan tren yang mungkin akan mempengaruhi machine
learning di masa mendatang:

1. Deep Learning: Deep learning adalah cabang dari machine learning yang
menggunakan neural networks yang dalam untuk mempelajari pola dan fitur
yang kompleks. Deep learning telah menghasilkan kemajuan yang signifikan
dalam berbagai bidang, seperti pengenalan wajah, pengenalan suara, dan
bahasa alami. Di masa depan, diharapkan akan ada pengembangan lebih lanjut
dalam arsitektur dan algoritma deep learning yang memungkinkan
pembelajaran yang lebih efisien dan akurat.

2. Pembelajaran Tanpa Pengawasan (Unsupervised Learning): Metode


pembelajaran tanpa pengawasan memungkinkan sistem untuk mempelajari
pola dan struktur dalam data tanpa adanya label atau pengawasan manusia.
Teknik-teknik seperti k-means clustering, autoencoders, dan generative
adversarial networks (GANs) telah membuka pintu bagi pengembangan model

4
Modul Machine Learning
yang dapat menemukan informasi tersembunyi dalam data. Di masa depan,
kita dapat melihat perkembangan lebih lanjut dalam metode pembelajaran
tanpa pengawasan untuk memahami data yang lebih kompleks dan
menghasilkan pemodelan yang lebih baik.

3. Interpretabilitas dan Keamanan: Salah satu tantangan dalam machine learning


saat ini adalah interpretasi dan keamanan model yang kompleks. Banyak
model machine learning, seperti neural networks, sulit untuk diinterpretasikan
dan menjelaskan alasan di balik keputusan mereka. Di masa depan, akan ada
peningkatan dalam pengembangan metode dan alat yang memungkinkan
interpretasi yang lebih baik dari model yang kompleks. Selain itu, keamanan
dan privasi data juga akan menjadi fokus yang lebih besar untuk melindungi
model dan data pelatihan dari serangan dan penyalahgunaan.

4. Federated Learning: Federated learning adalah pendekatan di mana model


machine learning dikembangkan di sejumlah perangkat yang terdistribusi
secara geografis, dan pembaruan model terjadi secara terdistribusi. Pendekatan
ini memungkinkan pembaruan model tanpa mengungkapkan data pengguna
secara langsung, menjaga privasi data. Federated learning dapat berguna
dalam skenario di mana data sensitif harus dipertahankan di perangkat lokal,
seperti dalam aplikasi kesehatan atau keuangan. Di masa depan, federated
learning diperkirakan akan semakin populer dan menjadi bagian integral dari
sistem machine learning yang lebih luas.

5. Percepatan Perangkat Keras (Hardware Acceleration): Untuk mengatasi


tuntutan komputasi yang tinggi dari model machine learning yang semakin
besar dan kompleks, diperlukan perangkat keras yang dapat mempercepat
proses pembelajaran dan inferensi. Perkembangan dalam teknologi seperti unit
pemrosesan grafis (GPU), tensor processing units (TPU), dan field-
programmable gate arrays (FPGAs) telah membawa kecepatan dan efisiensi
yang lebih tinggi dalam menjalankan model machine learning. Di masa depan,
kita dapat melihat perkembangan lebih lanjut dalam perangkat keras khusus
yang dioptimalkan untuk tugas-tugas machine learning, serta integrasi yang

5
Modul Machine Learning
lebih erat antara perangkat keras dan perangkat lunak.

Perkembangan dan masa depan machine learning dipengaruhi oleh inovasi dan
penelitian yang terus berlanjut. Dengan adanya kemajuan teknologi, peningkatan
dalam pemahaman kita tentang metode pembelajaran mesin, dan peningkatan
ketersediaan data, kita dapat mengharapkan perkembangan yang lebih lanjut dalam
bidang ini di masa depan.

D. Risiko Dan Keuntungan Machine Learning


Machine learning memiliki berbagai resiko dan keuntungan yang perlu
dipertimbangkan. Berikut ini adalah beberapa resiko dan keuntungan umum yang
terkait dengan penggunaan machine learning:

Resiko Machine Learning:


1. Ketidaktepatan: Jika model machine learning tidak dilatih dengan baik atau
menggunakan data yang tidak representatif, maka hasil prediksinya mungkin
tidak akurat. Kesalahan prediksi ini bisa memiliki konsekuensi serius terutama
jika digunakan dalam pengambilan keputusan penting seperti di bidang
kesehatan atau keuangan.

2. Bias dan diskriminasi: Model machine learning cenderung mencerminkan bias


dan diskriminasi yang ada dalam data pelatihannya. Jika data pelatihan
mengandung bias tertentu terhadap kelompok tertentu, maka model tersebut
dapat mengambil keputusan yang tidak adil atau diskriminatif.

3. Ketergantungan pada data: Kinerja model machine learning sangat tergantung


pada data yang digunakan untuk pelatihan. Jika data tersebut tidak mencakup
semua kasus yang relevan atau tidak cukup representatif, maka model tersebut
mungkin tidak dapat menghasilkan prediksi yang baik saat dihadapkan pada
situasi baru atau data yang tidak pernah dilihat sebelumnya.

4. Kerentanan terhadap serangan: Model machine learning dapat rentan terhadap


serangan seperti manipulasi data atau serangan peretasan. Jika seorang

6
Modul Machine Learning
penyerang berhasil memanipulasi data yang digunakan untuk pelatihan, model
tersebut dapat menghasilkan prediksi yang salah atau dapat disalahgunakan.

Keuntungan Machine Learning:


1. Kemampuan prediktif: Machine learning dapat menghasilkan prediksi yang
akurat dan berharga berdasarkan analisis data yang kompleks. Hal ini
memungkinkan penggunaan machine learning dalam berbagai bidang seperti
kesehatan, keuangan, pemasaran, dan lainnya.

2. Pengotomatisan tugas: Dengan machine learning, beberapa tugas yang


biasanya membutuhkan waktu dan usaha manusia dapat diotomatisasi.
Misalnya, pengenalan pola, pengelompokan data, atau pengambilan keputusan
berdasarkan pola-pola yang tersembunyi dalam data.

3. Skalabilitas: Model machine learning dapat diaplikasikan pada volume data


yang sangat besar dan dapat memprosesnya dengan cepat. Ini memungkinkan
analisis data yang lebih efisien dan dapat mengungkapkan pola yang tidak
dapat ditemukan dengan metode tradisional.

4. Pembelajaran dari data yang dinamis: Machine learning dapat digunakan


untuk memperbarui model secara otomatis saat ada data baru yang tersedia.
Dengan demikian, model dapat terus belajar dari data yang dinamis dan
meningkatkan kinerjanya seiring waktu.

5. Pengambilan keputusan yang lebih baik: Dengan analisis data yang mendalam
dan kemampuan prediksi yang akurat, machine learning dapat membantu
manusia dalam pengambilan keputusan yang lebih baik dan berdasarkan bukti.

Namun, penting untuk diingat bahwa penggunaan machine learning harus


dilakukan dengan hati-hati dan bertanggung jawab, dengan memperhatikan resiko
yang terkait dan memastikan integritas, keamanan, dan etika penggunaannya.

7
Modul Machine Learning
MODUL 2
Penerapan Algoritma K-Means Clustering Pada Arduino

K-Means clustering adalah algoritma unsupervised learning yang dipakai


untuk mengelompokkan dataset yang belum dilabel ke dalam kluster yang berbeda.
Simbol K pada K-means clustering menandakan jumlah kluster yang digunakan.

Kluster mengacu pada kumpulan titik data yang dikumpulkan bersama karena
kesamaan tertentu. Jika K = 2, maka akan ada 2 kluster, dan jika K = 3 maka terdapat
3 kluster, begitu seterusnya.
Dengan demikian K-means clustering dapat didefinisikan sebagai algoritma
iteratif yang membagi kumpulan data (dataset) yang tidak berlabel menjadi k kluster
yang berbeda sedemikian rupa sehingga setiap kumpulan data hanya dimiliki oleh
satu kelompok yang memiliki properti serupa.
Penerapan algoritma K-Means Clustering pada Arduino memungkinkan untuk
melakukan analisis pengelompokan data secara real-time menggunakan
mikrokontroler Arduino. K-Means Clustering adalah algoritma yang populer dalam
dunia analisis data dan machine learning untuk mengelompokkan data menjadi
beberapa kelompok berdasarkan kesamaan fitur atau atribut.

Berikut adalah langkah-langkah umum untuk menerapkan algoritma K-Means


Clustering pada Arduino:
1. Persiapkan perangkat keras: akan membutuhkan Arduino board, sensor atau

8
Modul Machine Learning
perangkat yang dapat menghasilkan data, seperti sensor suhu atau sensor jarak.
Pastikan Arduino terhubung dengan komputer melalui kabel USB.
2. Instalasi perangkat lunak Arduino: Unduh dan instal perangkat lunak Arduino
IDE dari situs resmi Arduino ([Link] Pastikan
memilih versi yang sesuai dengan sistem operasi.
3. Buat program Arduino: Buka Arduino IDE dan buat program yang akan
membaca data dari sensor dan menerapkan algoritma K-Means Clustering.
Perlu menggunakan bahasa pemrograman C++ yang didukung oleh Arduino
IDE.
Berikut adalah contoh sederhana program Arduino yang menggunakan
algoritma K-Means Clustering untuk mengelompokkan data suhu:

#include <Wire.h>

#include <Adafruit_MLX90614.h>

#include <SoftwareSerial.h>

#include <TinyMLShield.h>

#include <TINYGPT.h>

#include <TinyTrainable.h>

#include <Adafruit_Sensor.h>

#include <Adafruit_BME280.h>

#include <Wire.h>

#include <TinyMLShield.h>

#include <TINYGPT.h>

#include <TinyTrainable.h>

#include <Adafruit_Sensor.h>

#include <Adafruit_BME280.h>

#include <Wire.h>

9
Modul Machine Learning
Adafruit_BME280 bme;

#define NUM_CLUSTERS 3

float centroids[NUM_CLUSTERS] = {25.0, 30.0, 35.0};

void setup() {

[Link](9600);

[Link]();

[Link](0x76);

void loop() {

float temperature = [Link]();

int cluster = findCluster(temperature);

[Link]("Temperature: ");

[Link](temperature);

[Link](" Cluster: ");

[Link](cluster);

delay(1000);

int findCluster(float data) {

float minDistance = abs(data - centroids[0]);

int cluster = 0;

10
Modul Machine Learning
for (int i = 1; i < NUM_CLUSTERS; i++) {

float distance = abs(data - centroids[i]);

if (distance < minDistance) {

minDistance = distance;

cluster = i;

return cluster;

4. Unggah program ke Arduino: Sambungkan Arduino Anda ke komputer


menggunakan kabel USB. Pilih board dan port yang sesuai pada Arduino IDE.
Kemudian, unggah program yang telah Anda buat ke Arduino dengan
mengklik tombol "Upload".
5. Uji coba: Setelah program diunggah, Arduino akan membaca data dari sensor
suhu secara periodik dan mengelompokkan data tersebut ke dalam salah satu
cluster yang telah ditentukan. Anda dapat memantau hasil keluaran melalui
Serial Monitor pada Arduino IDE.

Perlu diingat bahwa Arduino memiliki keterbatasan sumber daya, termasuk


memori dan kecepatan pemrosesan. Oleh karena itu, Anda perlu memperhatikan skala
data dan kompleksitas algoritma yang digunakan agar dapat berjalan dengan baik
pada perangkat Arduino.

Penerapan algoritma K-Means Clustering pada Arduino memungkinkan Anda


untuk melakukan analisis pengelompokan data secara real-time dengan sumber daya
terbatas. Namun, perlu diingat bahwa Arduino lebih cocok untuk tugas-tugas
pemrosesan sederhana. Jika Anda memerlukan analisis data yang lebih kompleks atau
kinerja yang lebih tinggi, lebih disarankan untuk menggunakan komputer atau

11
Modul Machine Learning
platform yang lebih kuat secara komputasional.

12
Modul Machine Learning
MODUL 3
Penerapan Algoritma Convlutional Neural Network (CNN) Pada Arduino
Convolutional Neural Networks, yang dikenal sebagai CNN, adalah kategori
Neural Networks yang menggunakan multilayer variasi perceptron yang dirancang
untuk pra-pemrosesan minimal. Convolutional Neural Network digunkaan untuk
mengklasifikasikan data yang terlabel dengan menggunakan metode supervised
learning, yang mana cara kerja dari supervised learning adalah terdapat data yang
dilatih dan terdapat variabel yang ditargetkan sehingga tujuan dari metode ini adalah
mengelompokan suatu data ke data yang sudah ada.
Algoritma ini dirancang khusus untuk memproses data piksel dan citra visual.
Algoritma Convolutional Neural Network memiliki neuron yang didesain untuk
bekerja layaknya lobus frontal, khususnya area visual cortex pada otak manusia dan
[Link] cortex yaitu area yang bertanggung jawab untuk memproses informasi
dalam bentuk rangsangan visual. Hal ini yang membuat CNN cukup efektif digunakan
dalam pemrosesan gambar dibanding algoritma neural network sejenis. Kata
convolution pada CNN yaitu sebuah operasi matematika pada dua buah fungsi yang
kemudian menghasilkan fungsi ketiga. Fungsi ini menggabungkan 2 buah himpunan
informasi dan menunjukkan bagaimana bentuk satu fungsi dimodifikasi oleh fungsi
lainnya.
CNN menggunakan convolution sebagai pengganti perkalian matriks umum.
Operasi ini digunakan paling tidak pada satu lapisannya. Neural network yang umum
biasanya mengubah input dengan meletakkannya melalui rangkaian hidden layer.
Setiap layer terdiri dari sekumpulan neuron, dimana setiap layer terhubung secara
penuh dengan semua neuron pada layer sebelumnya. Terakhir, lapisan yang sudah
terhubung sepenuhnya (output layer) digunakan untuk mewakili prediksi.
Tidak seperti neural network biasa, lapisan pada algoritma CNN memiliki
neuron yang diatur dalam 3 dimensi: width, height, dan depth. Dimensi depth
mengacu pada dimensi ketiga dari fungsi aktivasi, bukan kedalaman neural network
atau jumlah total layer dalam jaringan. Neuron-neuron dalam satu layer tidak
terhubung ke semua neuron di layer berikutnya tetapi hanya ke sebagian kecil saja.
Terakhir, hasil akhir akan direduksi menjadi satu vektor skor probabilitas, yang diatur
sepanjang dimensi depth.
Penerapan algoritma Convolutional Neural Network (CNN) pada Arduino

13
Modul Machine Learning
menjadi tantangan karena keterbatasan sumber daya perangkat keras Arduino yang
relatif terbatas, terutama dalam hal daya komputasi dan memori.
Namun, meskipun Arduino adalah platform yang terbatas dalam hal daya
pemrosesan dan memori dibandingkan dengan komputer yang lebih kuat, seperti PC
atau server, Anda masih dapat mengimplementasikan algoritma Convolutional Neural
Network (CNN) pada Arduino untuk tugas pemrosesan citra yang sederhana.
Namun, perlu diingat bahwa implementasi CNN pada Arduino akan
memerlukan beberapa kompromi. Anda mungkin harus membatasi kompleksitas
jaringan, mengurangi ukuran dan resolusi citra yang diolah, dan menggunakan teknik
optimasi untuk menjaga agar pemrosesan tetap efisien.
Berikut adalah langkah-langkah umum yang diperlukan untuk
mengimplementasikan CNN pada Arduino:
1. Persiapan Dataset: Anda perlu menyiapkan dataset citra yang akan digunakan
untuk melatih dan menguji jaringan CNN. Pastikan citra-citra tersebut sesuai
dengan keterbatasan sumber daya Arduino, seperti ukuran dan resolusi yang
lebih kecil.
2. Perancangan Model CNN: Anda perlu merancang arsitektur CNN yang sesuai
dengan tugas yang akan dilakukan. Gunakan layer konvolusi, pooling, dan
fully connected layer sesuai dengan kebutuhan. Pastikan juga bahwa jumlah
parameter model tidak terlalu besar untuk kapasitas memori Arduino.
3. Pelatihan Model: Gunakan dataset yang telah Anda siapkan untuk melatih
model CNN. Proses ini akan memerlukan perangkat komputasi yang lebih
kuat, seperti PC atau server. Anda dapat menggunakan library atau framework
deep learning yang mendukung pelatihan model pada komputer dan
menyimpan parameter yang telah dilatih.
4. Konversi Model ke Format Arduino: Setelah melatih model CNN, Anda perlu
mengonversi parameter model ke format yang dapat dipahami oleh Arduino.
Anda dapat menggunakan alat seperti TensorFlow Lite untuk mengonversi
model menjadi format yang lebih efisien dan cocok untuk mikrokontroler
seperti Arduino.
5. Implementasi pada Arduino: Transfer model yang telah dikonversi ke Arduino
dan implementasikan kode yang memungkinkan mikrokontroler untuk
memuat model, melakukan inferensi pada citra, dan menghasilkan output yang

14
Modul Machine Learning
diinginkan.
Perlu diingat bahwa performa CNN pada Arduino akan terbatas dibandingkan
dengan perangkat komputasi yang lebih kuat. Oleh karena itu, perlu dilakukan
optimasi lebih lanjut, seperti mengurangi kompleksitas model, menggunakan teknik
kompresi model, atau menggunakan strategi pemrosesan citra yang lebih efisien untuk
mencapai hasil yang memadai.
Selain itu, pastikan Anda memiliki pengetahuan yang memadai tentang
pemrograman Arduino dan implementasi CNN sebelum mencoba
menggabungkannya. Implementasi ini bisa menjadi tugas yang rumit dan
membutuhkan pemahaman yang baik tentang kedua domain tersebut.

15
Modul Machine Learning
MODUL 4
Penerapan Algoritma K-Nearest Neighbor (KNN) Pada Arduino
Algoritma K-Nearest Neighbor (KNN) adalah salah satu metode yang populer
dalam pengenalan pola dan pembelajaran mesin yang termasuk dalam kategori
algoritma penggolongan (classification). KNN digunakan untuk memprediksi label
atau kelas dari suatu data berdasarkan data latihan yang memiliki label atau kelas
yang sudah diketahui.
Pada Arduino, implementasi algoritma KNN dapat dilakukan dengan
mengikuti langkah-langkah berikut:
1. Persiapan Data Latih:
Siapkan data latih yang terdiri dari contoh-contoh dengan label yang diketahui. Setiap
contoh harus direpresentasikan sebagai vektor fitur numerik. Catat label atau kelas
yang sesuai dengan setiap contoh.
2. Hitung Jarak:
Implementasikan fungsi untuk menghitung jarak antara dua vektor fitur. Ada
beberapa metode yang dapat digunakan, seperti Euclidean distance atau Manhattan
distance. Jarak antara vektor fitur baru dengan setiap contoh data latih perlu dihitung.
3. Tentukan Tetangga Terdekat:
Urutkan contoh-contoh data latih berdasarkan jarak dari yang terdekat hingga yang
terjauh. Pilih k contoh terdekat sebagai tetangga terdekat.
4. Lakukan Voting:
Hitung frekuensi setiap kelas dari tetangga terdekat. Kelas dengan frekuensi tertinggi
akan dipilih sebagai hasil klasifikasi.
5. Kelasifikasi:
Gunakan hasil voting untuk mengklasifikasikan vektor fitur baru ke dalam salah satu
kelas.
Implementasi algoritma KNN pada Arduino memerlukan kemampuan
pemrosesan yang cukup, terutama dalam menghitung jarak dan melakukan sorting.
Oleh karena itu, pada beberapa model Arduino dengan sumber daya terbatas,
implementasi algoritma ini mungkin tidak praktis.
Namun, jika memiliki Arduino yang lebih canggih atau ingin menggunakan
Arduino dengan modul eksternal seperti sensor jarak atau sensor suhu, dapat
mengimplementasikan algoritma KNN dengan menggunakan bahasa pemrograman

16
Modul Machine Learning
Arduino dan memanfaatkan fungsi dan perangkat keras yang ada untuk memproses
data dan melakukan klasifikasi.
Pastikan untuk memahami batasan dan kemampuan Arduino yang Anda
gunakan, serta mempertimbangkan kompleksitas algoritma KNN sebelum
mengimplementasikannya pada perangkat keras Arduino.

17
Modul Machine Learning

Common questions

Powered by AI

Deep reinforcement learning combines the hierarchical learning capabilities of deep learning with the decision-making prowess of reinforcement learning . Key challenges include the high computational costs and complexity involved in training models, as well as ensuring stability and convergence in various environments. Additionally, there is the challenge of ensuring safety and ethical considerations in autonomous decision-making processes . The benefits include the ability to learn complex, sequential tasks and adapt to dynamic environments, which is valuable in fields like robotics and autonomous systems. Future development may focus on improved algorithms that enhance learning efficiency and generalization, along with more energy-efficient hardware to support complex computations . Continued research into ethical frameworks will also be crucial to align deep reinforcement learning applications with societal values and safety standards .

Machine learning models, particularly complex ones like deep neural networks, often lack interpretability, making it difficult to understand how specific decisions are made . This opacity can lead to ethical and practical issues, such as justifying decisions in critical applications like healthcare or criminal justice. Another significant risk is security; models can be vulnerable to attacks such as data poisoning or adversarial examples, which can manipulate them into making incorrect predictions . Future improvements may include developing better methods for model interpretability, such as explainable AI techniques, and enhancing security protocols to protect against data manipulation and model exploitation. Additionally, integrating ethical considerations and transparency mechanisms into the development process will be crucial for building trust and reliability in machine learning systems .

The evolution of hardware significantly impacts the future developments in machine learning by enabling more efficient and scalable processing of data-intensive tasks. Advances such as the development of GPUs, TPUs, and FPGAs provide higher speed and efficiency, allowing large and complex machine learning models to be run more effectively . This hardware evolution supports the growth of deep learning and federated learning, which demand substantial computational resources . As machine learning models become increasingly complex, optimized hardware will be crucial in maintaining performance and supporting real-time learning applications like those on distributed devices .

Federated learning addresses data privacy concerns by ensuring that data remains localized on individual devices and only model updates, rather than raw data, are shared with centralized servers . This approach maintains users' data privacy while enabling collaborative learning across distributed networks. Potential applications in sensitive environments include healthcare, where patient data must remain confidential, and finance, where transaction data cannot be freely transferred . By leveraging federated learning, institutions can develop robust models without compromising sensitive data, which is critical for maintaining compliance with data protection regulations and enhancing user trust .

Potential advancements in unsupervised learning techniques involve enhancing algorithms to better detect and model complex patterns without relying on labeled data. Techniques like generative adversarial networks (GANs) and autoencoders have already begun opening new pathways for modeling intricate data distributions by generating realistic samples or compressing data while retaining crucial information . Future advancements might focus on improving these methods' scalability and interpretability, allowing for the discovery of hidden structures in increasingly complex datasets such as high-dimensional data or unstructured text and images . Enhanced integration of unsupervised methods with semi-supervised or reinforcement learning could also enhance pattern detection where partial labels or sequential data context are available .

Several factors can influence the predictive accuracy of machine learning models, including data quality, feature selection, algorithm choice, and model tuning. High-quality, representative datasets are foundational for accurate predictions, as they ensure the model learns correct patterns . Feature selection and engineering further impact performance by focusing the model on relevant data attributes. Algorithm choice determines the model's capability to learn complex patterns, with some algorithms better suited to specific tasks than others . Finally, parameter tuning, involving adjustments of algorithms' hyperparameters, can significantly enhance model performance . To optimize models, employing cross-validation techniques, regularization, and utilizing ensemble methods can help address issues like overfitting and improve generalization across diverse datasets .

Hardware acceleration technologies, such as GPUs, TPUs, and FPGAs, play a crucial role in executing machine learning models, especially in edge computing scenarios where processing power and energy efficiency are limited . These technologies enable faster computation and more efficient handling of large data volumes, crucial for real-time processing on edge devices. In scenarios like autonomous vehicles or IoT applications, where rapid decision-making is necessary, hardware accelerators facilitate the deployment of complex models by significantly reducing latency . They also enable the operation of deep learning models in environments without direct access to high-performance computing infrastructure. Continued advancements in these technologies are likely to expand the scope and performance of machine learning applications in edge contexts .

Machine learning models can perpetuate biases present in training data, leading to unfair or discriminatory outcomes. This is particularly concerning in decision-making contexts like hiring, law enforcement, or credit scoring, where biased data can disproportionately affect marginalized groups . To mitigate these risks, implementing mechanisms to audit and debias datasets is crucial. Techniques such as fairness-aware algorithms, diverse training data collection, and constant monitoring of model outcomes against biased trends are steps that can be taken . Furthermore, promoting transparency and accountability through explainable AI and ethical considerations in model development can help ensure machine learning applications work toward equitable and just outcomes .

The primary categories under the taxonomy of machine learning techniques include Supervised Learning, Unsupervised Learning, Reinforcement Learning, Semi-Supervised Learning, Transfer Learning, and Deep Learning. Supervised Learning uses labeled data to predict outcomes, utilizing techniques like Regression and Classification . Unsupervised Learning does not use labeled data and focuses on finding patterns or structures, using techniques such as Clustering and Dimensionality Reduction . Reinforcement Learning involves learning policies through rewards and punishments in a dynamic environment . Semi-Supervised Learning combines labeled and unlabeled data to improve learning accuracy . Transfer Learning involves applying knowledge from one task to improve learning in a related task . Deep Learning utilizes neural networks with multiple layers to handle complex patterns and features .

Implementing convolutional neural networks (CNNs) on limited resource platforms like Arduino highlights several trade-offs related to computational capacity, model complexity, and data processing capabilities. Due to Arduino's restrictions on memory and processing power, deploying CNNs necessitates compromises such as simplifying network architecture, reducing model parameters, and lowering image resolution . These constraints require careful optimization and often result in prioritizing simpler tasks over complex ones . While this implementation demonstrates the feasibility of deploying machine learning models on edge devices, it also underscores the importance of balancing model accuracy with resource limitations, pointing to the need for ongoing development of more efficient algorithms and hardware even in resource-constrained environments .

MODUL 
“MACHINE LEARNING” 
 
 
 
UNIVERSITAS TEKNOLOGI SUMBAWA 
 
 
 
Disusun Oleh Kelompok 2 : 
Mar’i Yustiardin 
20.01.
i 
Modul Machine Learning 
KATA PENGANTAR 
 
Puji syukur kami panjatkan kepada Allah SWT yang Maha Pengasih dan Maha 
Pen
ii 
Modul Machine Learning 
 
DAFTAR ISI 
 
MODUL 1 .....................................................................
1 
Modul Machine Learning 
MODUL 1 
A. Pengantar Machine Learning 
Machine Learning atau dikenal dengan pembelajaran mes
2 
Modul Machine Learning 
1. Supervised Learning (Pembelajaran Terpandu) 
 Regresi (Regression): Teknik untuk mempredi
3 
Modul Machine Learning 
3. Reinforcement Learning (Pembelajaran Penguatan) 
 Markov Decision Process (MDP): Framewor
4 
Modul Machine Learning 
teknik learning. Setiap teknik memiliki karakteristik dan aplikasi yang berbeda 
dalam kontek
5 
Modul Machine Learning 
yang dapat menemukan informasi tersembunyi dalam data. Di masa depan, 
kita dapat melihat per
6 
Modul Machine Learning 
lebih erat antara perangkat keras dan perangkat lunak. 
 
Perkembangan dan masa depan machine
7 
Modul Machine Learning 
penyerang berhasil memanipulasi data yang digunakan untuk pelatihan, model 
tersebut dapat me

You might also like