MACHINE LEARNING
DISUSUN OLEH:
KELOMPOK 3
Rismayanti 20.01.013.025
Tyreenia 20.01.013.078
DAFTAR ISI
Modul 1 4
Pengantar Machine Learning 4
Taksonomi Teknik Learning 4
Perkembangan dan Masa Depan Machine Learning 5
Resiko dan Keuntungan Machine Learning 7
Modul 2 9
Penerapan Algoritma K-Means Clustering pada Arduino 9
Berikut adalah contoh dari Penerapan Algoritma K-Means
Clustering pada Arduino 10
Modul 3 15
Penerapan Algoritma Convlutional neural network (CNN) pada
Arduino 15
Modul 4 21
Penerapan Algoritma K-nearest neighbor (KNN) pada Arduino 21
Modul 1
Pengantar Machine Learning
Machine Learning adalah bidang yang menarik di mana
komputer dapat belajar dari data dan mengambil keputusan
tanpa pemrograman eksplisit. Dalam modul ini, kita akan
memperkenalkan konsep dasar Machine Learning kepada Anda.
Kami akan menjelajahi bagaimana komputer dapat belajar
dari contoh-contoh data yang diberikan dan menggunakan
pengetahuan ini untuk membuat prediksi atau mengambil
tindakan yang cerdas. Anda akan mempelajari berbagai teknik
pembelajaran, seperti pembelajaran supervisi, di mana komputer
belajar dari contoh-contoh yang telah diberi label, dan
pembelajaran tak supervisi, di mana komputer menemukan pola
tanpa bantuan label.
Selain itu, kita akan membahas perkembangan dan masa
depan Machine Learning. Anda akan melihat bagaimana
Machine Learning telah mengubah berbagai industri, mulai dari
kesehatan hingga transportasi. Kami juga akan membahas tren
terkini dalam Machine Learning dan melihat ke depan untuk
melihat apa yang bisa diharapkan di masa mendatang.
Namun, seperti bidang teknologi lainnya, Machine Learning
juga memiliki risiko dan keuntungan. Kami akan membahas
resiko keamanan dan privasi yang terkait dengan penggunaan
Machine Learning. Anda akan memahami pentingnya etika
dalam mengimplementasikan algoritma Machine Learning. Di
sisi lain, kami juga akan menjelaskan manfaat yang luar biasa
yang dapat diperoleh dari penerapan Machine Learning, seperti
peningkatan efisiensi dan pengambilan keputusan yang lebih
baik.
Kami sangat antusias untuk berbagi pengetahuan dan
pengalaman kami dengan Anda dalam modul ini. Semoga Anda
menikmati perjalanan ini dan mendapatkan pemahaman yang
kuat tentang Machine Learning. Mari kita mulai!
Taksonomi Teknik Learning
Dalam dunia Machine Learning, terdapat berbagai teknik
pembelajaran yang digunakan untuk melatih komputer agar
dapat belajar dan mengambil keputusan secara otomatis.
Taksonomi teknik pembelajaran mengelompokkan teknik-teknik
ini berdasarkan karakteristik dan pendekatan yang mereka miliki.
Mari kita jelajahi beberapa kategori utama dalam taksonomi ini:
1. Pembelajaran Supervisi (Supervised Learning)
Teknik pembelajaran supervisi melibatkan penggunaan
data yang sudah diberi label. Dalam hal ini, setiap contoh
data dilengkapi dengan label yang mengidentifikasi kelas
atau hasil yang diinginkan. Komputer belajar untuk
memetakan input ke output berdasarkan contoh-contoh yang
telah diberi label ini. Algoritma populer dalam pembelajaran
supervisi termasuk Regresi Linier, Naive Bayes, Decision Tree,
dan Support Vector Machines (SVM).
2. Pembelajaran Tak Supervisi (Unsupervised Learning)
Pembelajaran tak supervisi tidak memanfaatkan data yang
diberi label. Tujuannya adalah menemukan pola atau struktur
tersembunyi dalam data. Algoritma clustering, seperti K-
Means Clustering dan Hierarchical Clustering, adalah contoh
pembelajaran tak supervisi yang populer. Algoritma lainnya
termasuk analisis faktor, reduksi dimensi, dan regresi tak
supervisi.
3. Pembelajaran Penguatan (Reinforcement Learning)
Pembelajaran penguatan melibatkan interaksi antara agen
pembelajaran (misalnya, komputer) dengan lingkungan.
Agar dapat memaksimalkan hadiah atau mendapatkan skor
tertinggi, agen harus belajar melalui percobaan dan
kesalahan. Algoritma Q-Learning dan Deep Q-Network (DQN)
adalah contoh pembelajaran penguatan yang populer.
4. Pembelajaran Semi-Supervisi (Semi-Supervised Learning)
Pembelajaran semi-supervisi mencoba memanfaatkan
data yang memiliki sebagian besar tidak ada label dan
sebagian kecil diberi label. Tujuannya adalah memanfaatkan
informasi yang dapat diperoleh dari data yang tidak berlabel
untuk meningkatkan kinerja algoritma pembelajaran. Teknik-
teknik seperti Label Propagation dan Self-Training
digunakan dalam pembelajaran semi-supervisi.
Setiap kategori teknik pembelajaran memiliki keunikan dan
kegunaan mereka sendiri, tergantung pada situasi dan jenis data
yang Anda hadapi. Pemahaman tentang taksonomi ini
membantu Anda memilih teknik pembelajaran yang sesuai
dengan masalah yang ingin Anda pecahkan.
Jadi, itu dia taksonomi teknik pembelajaran dalam
Machine Learning. Dalam modul ini, kita akan menjelajahi setiap
teknik dengan lebih detail dan mempelajari cara
mengimplementasikannya. Mari kita terus belajar dan jelajahi
dunia Machine Learning!
Perkembangan dan Masa Depan Machine Learning
Machine Learning telah mengalami perkembangan yang
pesat selama beberapa tahun terakhir dan terus menjadi salah
satu bidang paling menarik dan penting dalam dunia teknologi.
Ada beberapa tren dan perkembangan penting yang layak
dipertimbangkan saat melihat masa depan Machine Learning.
Mari kita jelajahi beberapa di antaranya:
1. Perkembangan Algoritma dan Model yang Lebih Canggih
Ada peningkatan yang signifikan dalam pengembangan
algoritma dan model Machine Learning yang lebih canggih.
Misalnya, model Deep Learning seperti Jaringan Saraf
Tiruan (Artificial Neural Networks) dengan arsitektur yang
dalam dan kompleks telah menghasilkan kemajuan besar
dalam bidang pengenalan citra, pengenalan suara, dan
bahasa alami. Terus munculnya algoritma dan model baru
yang lebih kuat akan memperluas kemampuan Machine
Learning dalam memecahkan masalah yang lebih kompleks
dan mendalam.
2. Integrasi dengan Teknologi Lain
Machine Learning semakin terintegrasi dengan teknologi
lain seperti Internet of Things (IoT), Big Data, Cloud
Computing, dan Robotika. Ini menciptakan peluang besar
dalam mengoptimalkan penggunaan data yang besar dan
heterogen serta menghasilkan sistem cerdas yang dapat
beradaptasi dan belajar secara real-time.
3. Penerapan di Berbagai Industri
Machine Learning memiliki potensi besar untuk
mengubah berbagai industri. Di bidang kesehatan, dapat
digunakan untuk diagnosis penyakit, penelitian obat, dan
perawatan pasien yang lebih personal. Di bidang keuangan,
Machine Learning dapat membantu dalam deteksi penipuan,
analisis risiko, dan prediksi pasar. Di bidang transportasi,
dapat digunakan untuk mengoptimalkan rute, meningkatkan
keselamatan, dan mengembangkan kendaraan otonom.
Penerapan Machine Learning juga dapat ditemukan di
bidang energi, pertanian, manufaktur, dan banyak lagi.
4. Keamanan dan Etika
Seiring dengan kemajuan Machine Learning, ada
kekhawatiran terkait keamanan dan etika. Keamanan data
dan privasi menjadi isu krusial dalam penggunaan Machine
Learning. Perlindungan data pribadi dan penggunaan yang
etis menjadi penting dalam mencegah penyalahgunaan dan
bias yang tidak disengaja dalam pengambilan keputusan
berbasis Machine Learning. Pengembangan kerangka kerja
dan kebijakan yang kuat untuk mengatasi masalah ini akan
semakin penting di masa depan.
5. Pembelajaran Otomatis
Automl (Automated Machine Learning) adalah area yang
sedang berkembang pesat di mana komputer belajar untuk
merancang dan mengoptimalkan model Machine Learning
secara otomatis. Ini memungkinkan non-ahli Machine
Learning untuk menggunakan dan menerapkan teknik
pembelajaran mesin dengan lebih mudah, meningkatkan
aksesibilitas dan adopsi teknologi.
Perkembangan dan masa depan Machine Learning sangat
menjanjikan. Terus munculnya inovasi dan aplikasi baru akan
membuka pintu untuk lebih banyak kemungkinan dan manfaat.
Penting bagi kita untuk terus mengikuti perkembangan terbaru
dan mempelajari keterampilan yang
relevan dalam Machine Learning untuk tetap berada di
garis depan di era yang semakin dikuasai oleh teknologi ini.
Dalam modul ini, kita akan terus menjelajahi
perkembangan ini dan memperdalam pemahaman kita tentang
Machine Learning. Ayo kita lanjutkan dan berpartisipasi dalam
perjalanan yang menarik ini!
Resiko dan Keuntungan Machine Learning
Machine Learning menawarkan potensi besar untuk
mengubah cara kita bekerja, berinteraksi, dan membuat
keputusan. Namun, seperti teknologi lainnya, Machine Learning
juga memiliki resiko dan keuntungan yang perlu
dipertimbangkan. Mari kita jelajahi resiko dan keuntungan utama
yang terkait dengan penggunaan Machine Learning:
Resiko Machine Learning
1. Bias dan Diskriminasi
Model Machine Learning dapat mencerminkan bias
atau diskriminasi yang ada dalam data pelatihan. Jika data
yang digunakan untuk melatih model tidak mencakup
keragaman yang mencerminkan masyarakat secara adil,
model tersebut dapat menghasilkan keputusan yang tidak
adil atau memperkuat bias yang ada.
2. Kerahasiaan dan Privasi Data
Machine Learning sering kali membutuhkan
penggunaan data yang sensitif atau pribadi. Risiko terkait
privasi dan kerahasiaan data meningkat ketika data
sensitif digunakan dalam proses pembelajaran dan ketika
model tersebut harus dipertahankan atau dibagikan
dengan pihak ketiga.
3. Kesalahan dan Ketidakakuratan
Model Machine Learning tidak selalu sempurna dan dapat
menghasilkan kesalahan atau ketidakakuratan. Jika model
digunakan untuk mengambil keputusan kritis, kesalahan ini
dapat memiliki konsekuensi yang signifikan.
Keuntungan Machine Learning
1. Automatisasi dan Efisiensi
Machine Learning dapat mengotomatisasi tugas-tugas
yang berulang dan memakan waktu, mengurangi beban kerja
manusia, dan meningkatkan efisiensi. Ini memungkinkan
manusia untuk fokus pada tugas yang membutuhkan
pemikiran kreatif dan pemecahan masalah yang kompleks.
Modul 2
Penerapan Algoritma K-Means Clustering pada Arduino
Pada modul ini, kita akan menjelajahi penerapan algoritma
K-Means Clustering pada platform Arduino. K-Means Clustering
adalah salah satu metode clustering yang populer dalam
Machine Learning. Ini memungkinkan kita untuk
mengelompokkan data ke dalam kelompok-kelompok yang
serupa berdasarkan pola dan karakteristik yang ditemukan
dalam data.
Penerapan K-Means Clustering pada Arduino membuka
peluang untuk membuat sistem cerdas yang dapat
mengelompokkan data secara real-time dengan menggunakan
sumber daya yang terbatas pada mikrokontroler Arduino.
Proses penerapan K-Means Clustering pada Arduino melibatkan
beberapa langkah penting:
1. Pengumpulan Data
Langkah pertama adalah mengumpulkan data yang akan
digunakan untuk melakukan clustering. Data ini dapat
berupa nilai sensor, pengukuran fisik, atau parameter lain
yang relevan dengan aplikasi yang ingin kita kembangkan.
2. Preprocessing Data
Setelah data terkumpul, mungkin perlu dilakukan tahap
preprocessing. Ini termasuk membersihkan data dari nilai
yang hilang atau tidak valid, serta melakukan normalisasi
atau transformasi jika diperlukan.
void K_MEANS() {
const int Jumlah_Klaster = 5;
const int Jumlah_Data = 20;
int data_intensitas[Jumlah_Data] = {1020,1140,1260,1380,61,
1022,1143,1264,1385,66, 1027,1148,1269,1390,71,
1032,1153,1274,1395,76};
int data_waktu[Jumlah_Data] = {50,70,100,40,1, 50,70,100,40,1,
50,70,100,40,1, 50,70,100,40,1};
Data_Kmeans* k = new Data_Kmeans[Jumlah_Klaster];
Data_Kmeans* Center_Centroid = new Data_Kmeans[Jumlah_Klaster];
int count_Group[Jumlah_Klaster];
vector<Data_Kmeans> datasementara;
vector<int> jarak[Jumlah_Klaster];
// Mencari centroid
for (int i = 0; i < datasementara.size(); i++) {
int min = jarak[0][i];
int min_j = 0;
for (int j = 1; j < Jumlah_Klaster; j++) {
if (min > jarak[j][i]) {
min = jarak[j][i];
min_j = j;
}
}
Center_Centroid[min_j].x += datasementara[i].x;
Center_Centroid[min_j].y += datasementara[i].y;
count_Group[min_j]++;
}
// menganti nilai K
int same_count = 0;
for (int i = 0;
Modul 3
Penerapan Algoritma Convlutional neural network (CNN) pada
Arduino
Pada modul ini, kita akan menjelajahi penerapan algoritma
Convolutional Neural Network (CNN) pada platform Arduino.
CNN adalah salah satu jenis model jaringan saraf tiruan yang
sangat efektif dalam pengolahan citra dan pengenalan pola.
Penerapan CNN pada Arduino membuka peluang untuk
membangun sistem cerdas yang dapat melakukan pengolahan
citra secara real-time dengan menggunakan sumber daya
terbatas pada mikrokontroler Arduino.
.
4. Evaluasi dan Pengujian
Setelah implementasi selesai, kita perlu mengevaluasi
kinerja CNN pada Arduino. Ini melibatkan menguji model
dengan menggunakan data uji yang belum pernah dilihat
sebelumnya dan mengukur akurasi serta kinerja lainnya.
Evaluasi ini akan memberikan wawasan tentang sejauh mana
model CNN yang diimplementasikan pada Arduino dapat
menghasilkan hasil yang diharapkan.
Penerapan CNN pada Arduino memiliki berbagai aplikasi
yang menarik. Misalnya, Anda dapat mengimplementasikan CNN
pada Arduino untuk pengenalan wajah, identifikasi objek dalam
citra, atau bahkan navigasi visual dalam robotika.
Dalam modul ini, kita akan melangkah lebih jauh dalam
implementasi langkah-langkah ini dan memberikan contoh
aplikasi yang relevan. Dengan menggabungkan kemampuan
algoritma CNN dengan potensi yang ditawarkan oleh Arduino,
kita akan mendapatkan pemahaman yang lebih baik tentang
cara memanfaatkan Machine Learning dalam pengolahan citra
pada platform mikrokontroler.
untuk mempelajari penerapan Convolutional Neural
Network (CNN) pada Arduino dan mengeksplorasi potensi yang
menarik dari kombinasi ini!
Berikut adalah contoh
Penerapan Algoritma Convolutional Neural Network Dan
Arsitektur MobileNet Pada Aplikasi Deteksi Penyakit Daun Padi
Namun, perlu diingat bahwa kemampuan komputasi
mikrokontroler Arduino terbatas dibandingkan dengan komputer atau
perangkat lain yang lebih canggih. Oleh karena itu, implementasi CNN
pada Arduino mungkin memerlukan beberapa penyesuaian dan
optimasi untuk memastikan bahwa sistem dapat berjalan dengan
lancar dan efisien.
Hasil pelatihan dan pengujian Pelatihan dan pengujian pada
Software Visual Studio Code berfungsi untuk melatih dataset dan
memperoleh modelnya serta melakukan pengujian dari hasil pelatihan
tersebut. Pada penelitian ini proses pelatihan menggunakan 100
Kesimpulan
Klasifikasi gambar jenis penyakit daun padi
menggunakan algoritma CNN dengan arsitektur
MobileNetV1 dan Feature Extraction memiliki akurasi yang
baik sekali yaitu sebesar 92% namun dengan jumlah data
cukup kecil dan penggunaan epochs yaitu 100,
mengakibatkan nilai validasi kesalahan lebih tinggi
dibandingkan nilai kesalahan pada proses pelatihan,
sehingga akan terjadi overfitting. Saran pada penelitian
selanjutnya yaitu perlu adanya optimasi agar tidak terjadi
overfitting dan aplikasi yang dibangun berbasis android
perlu dikembangkan agar dapat mendeteksi secara
realtime, sehingga pengguna aplikasi tidak perlu menekan
tombol deteksi.
Modul 4
Penerapan Algoritma K-nearest neighbor (KNN) pada Arduino
Pada modul ini, kita akan menjelajahi penerapan algoritma
K-nearest neighbor (KNN) pada platform Arduino. KNN adalah
salah satu metode klasifikasi yang sederhana namun efektif
dalam Machine Learning. Algoritma ini memanfaatkan
keterdekatannya dengan tetangga terdekat dalam ruang fitur
untuk melakukan prediksi atau klasifikasi.
Penerapan KNN pada Arduino membuka peluang untuk
membangun sistem cerdas yang dapat melakukan klasifikasi
secara real-time dengan menggunakan sumber daya terbatas
pada mikrokontroler Arduino.
Proses penerapan KNN pada Arduino melibatkan beberapa
langkah penting:
1. Pengumpulan dan Preprocessing Data
Langkah pertama adalah mengumpulkan data yang akan
digunakan untuk melatih dan menguji model KNN. Data ini dapat
berupa dataset yang memiliki atribut atau fitur yang relevan
dengan klasifikasi yang ingin kita lakukan.
Setelah itu, data perlu diproses sebelum digunakan. Hal ini
melibatkan tahap preprocessing seperti normalisasi atau
standarisasi fitur untuk memastikan skala yang konsisten, dan
mungkin juga menghapus atau mengisi nilai yang hilang.
2. Pembangunan Model KNN
Setelah data diproses, langkah berikutnya adalah
membangun model KNN. Ini melibatkan menentukan nilai K
(jumlah tetangga terdekat yang akan digunakan), dan menghitung
jarak antara titik data yang baru dengan tetangga terdekat dalam
ruang fitur. Model KNN tidak memerlukan proses pelatihan
seperti algoritma pembelajaran lainnya. Namun, kita perlu
memastikan data yang digunakan untuk membangun model
mewakili variasi dan keberagaman yang ada dalam kelas atau
kategori yang ingin kita klasifikasikan.
3. Implementasi KNN pada Arduino
Selanjutnya, kita perlu mengimplementasikan model KNN
yang telah dibangun pada Arduino. Karena keterbatasan sumber
daya pada Arduino, kita perlu mempertimbangkan kebutuhan
memori dan kemampuan komputasi. Ini melibatkan penulisan
kode yang tepat untuk menghitung jarak dan melakukan
pemilihan tetangga terdekat, serta memprediksi atau
mengklasifikasikan titik data baru berdasarkan mayoritas kelas
tetangga terdekat.
4. Evaluasi dan Pengujian
Setelah implementasi selesai, kita perlu mengevaluasi
kinerja KNN pada Arduino. Ini melibatkan menguji model dengan
menggunakan data uji yang belum pernah dilihat sebelumnya,
dan mengukur akurasi serta kinerja lainnya. Evaluasi ini akan
memberikan wawasan tentang sejauh mana model KNN yang
diimplementasikan pada Arduino dapat melakukan klasifikasi
dengan akurat.
Penerapan KNN pada Arduino memiliki berbagai aplikasi
yang menarik. Misalnya, Anda dapat mengimplementasikan KNN
pada Arduino untuk klasifikasi objek berdasarkan atributnya,
seperti mengklasifikasikan bunga berdasarkan fitur morfologi
atau mengklasifikasikan citra berdasarkan warna atau tekstur.
Dalam modul ini, kita akan melangkah lebih jauh dalam
implementasi langkah-langkah ini dan memberikan contoh
aplikasi yang relevan. Dengan menggabungkan kemampuan
algoritma KNN dengan potensi yang ditawarkan oleh Arduino,
kita akan mendapatkan pemahaman yang lebih baik tentang
cara memanfaatkan Machine Learning dalam klasifikasi pada
platform mikrokontroler.