Machine Learning dari Nol: Supervised vs Unsupervised Learning (dan Cara Tahu Model Beneran "Belajar")

by Muhammad Ariel Shakaramiro
Setiap kali orang dengar "Machine Learning," bayangannya sering langsung lompat ke robot atau AI yang "mikir sendiri." Padahal intinya jauh lebih sederhana: komputer belajar pola dari data, tanpa kita tulis semua aturannya satu-satu secara manual.
Post ini adalah catatan belajar saya soal dua pendekatan dasar dalam Machine Learning — Supervised dan Unsupervised Learning — plus cara mengukur apakah model yang kita latih itu beneran bagus atau cuma menghafal. Part 2 dari seri ini akan masuk ke praktik langsung: bikin classifier beneran pakai dataset Iris.
Daftar Isi
Apa itu Machine Learning?
Machine Learning (ML) adalah cabang dari Artificial Intelligence yang memungkinkan komputer belajar secara otomatis dari data — tanpa perlu diprogram secara eksplisit untuk setiap kasus.
Dengan ML, sistem bisa:
Mengenali pola dari data historis
Membuat prediksi terhadap data baru
Mengambil keputusan berdasarkan pengalaman, bukan aturan hardcode
Contoh yang paling gampang ditemuin sehari-hari: rekomendasi produk di e-commerce, deteksi wajah di kamera HP, diagnosis medis berbantuan AI, sampai prediksi cuaca.
Alur Besar Proses ML
Hampir semua proyek ML — sesederhana apa pun — mengikuti alur yang sama:
Data Collection & Preparation → Model Training → Model Evaluation → Prediction / Deployment
Data Collection & Preparation — kumpulin dan bersihin data biar siap dipakai
Model Training — latih algoritma supaya paham hubungan antar fitur
Model Evaluation — ukur performa model pakai metrik tertentu
Prediction / Deployment — pakai model ke data baru buat hasilkan prediksi nyata
4 Kategori ML
Berdasarkan cara belajarnya, ML dibagi jadi 4 kategori besar:
| Kategori | Cara Belajar |
|---|---|
| Supervised Learning | Belajar dari data yang sudah berlabel |
| Semi-Supervised Learning | Gabungan data berlabel + tidak berlabel |
| Unsupervised Learning | Belajar dari data tanpa label sama sekali |
| Reinforcement Learning | Belajar dari pengalaman lewat reward & penalty |
Fokus catatan ini ada di dua yang paling sering ditemuin di awal belajar ML: Supervised dan Unsupervised Learning.
🤔 Coba Tebak Dulu: kalau data kamu nggak punya "jawaban" sama sekali, itu masuk kategori yang mana?
Jawabannya Unsupervised Learning. Kalau nggak ada label/target output yang diketahui, model harus cari pola sendiri dari struktur data — bukan dari "jawaban benar" yang dikasih ke dia.
Supervised Learning
Konsep: model dilatih pakai data yang sudah punya label. Tiap data input punya output yang diketahui, jadi algoritma bisa belajar hubungan antara input dan output tersebut untuk menghasilkan prediksi akurat pada data baru.
Analogi: mirip proses belajar manusia di bawah bimbingan guru (supervisor) — guru kasih contoh soal beserta jawabannya, murid belajar polanya.
Ciri-ciri:
Data training punya label atau target
Model belajar dengan cara membandingkan prediksi terhadap label asli (error-based learning)
2 Jenis Masalah Utama:
| Jenis | Definisi | Contoh |
|---|---|---|
| Klasifikasi | Memprediksi kategori diskrit | Spam / not spam |
| Regresi | Memprediksi nilai kontinu | Harga rumah, suhu |
Alur kerja:
Labelled Data → Algorithms (dilatih dengan Training Data + Desired Output, di bawah Supervisor Intervention) → Process → Output
Contoh algoritma:
Classification: Support Vector Machines, Discriminant Analysis, Naive Bayes, Nearest Neighbor
Regression: Linear Regression/GLM, SVR/GPR, Ensemble Methods, Decision Trees, Neural Networks
Unsupervised Learning
Konsep: dipakai untuk menganalisis dan menemukan pola tersembunyi dari data yang tidak punya label. Algoritma secara otomatis mengelompokkan data berdasarkan kemiripan atau struktur tertentu — tanpa bantuan manusia buat kasih tahu "ini kelompok apa."
Analogi: mirip orang yang coba memahami sesuatu tanpa petunjuk langsung — cuma dengan mengamati dan mencari pola dari informasi yang ada.
Ciri-ciri:
Data training tidak punya label atau target output
Model berusaha mencari hubungan, kesamaan, atau pola tersembunyi
2 Jenis Masalah Utama:
| Jenis | Definisi | Contoh |
|---|---|---|
| Clustering | Pengelompokan data berdasarkan kemiripan | Segmentasi pelanggan |
| Dimensional Reduction | Menyederhanakan fitur tanpa kehilangan info penting | PCA |
Alur kerja:
Raw Data → Interpretation → Algorithms → Process → Output
Contoh algoritma clustering: K-Means, K-Medoids, Fuzzy C-Means, Hierarchical, Gaussian Mixture, Neural Networks, Hidden Markov Model
Tabel Perbandingan Strategis
| Aspek | Supervised Learning | Unsupervised Learning |
|---|---|---|
| Definisi | Belajar dari data BERLABEL, memetakan input ke output yang diketahui | Belajar dari data TANPA LABEL, mencari pola/struktur tersembunyi |
| Tujuan | Memprediksi hasil untuk data baru berdasarkan contoh yang sudah dipelajari | Mengeksplorasi data untuk menemukan pengelompokan/relasi yang inheren |
| Aplikasi | Spam filtering, klasifikasi gambar, prediksi harga | Segmentasi customer, deteksi anomali, sistem rekomendasi |
| Data | Data berlabel (input + output) | Data tanpa label (hanya input) |
| Output | Model prediktif (classifier atau regressor) | Model deskriptif (cluster, rules, atau embeddings) |
| Tantangan Utama | Biaya labeling tinggi | Interpretability & validasi tanpa ground truth |
| Risiko Utama | Overfitting — model menghafal data training | Pola valid secara matematis tapi bisa tidak relevan untuk bisnis |
Model Evaluation
Punya model aja nggak cukup — kita harus tahu seberapa bagus model itu, dan lebih penting lagi: apakah dia cuma bagus di data training, atau beneran bisa diandalkan di data baru.
Evaluasi dilakukan dengan membandingkan hasil prediksi model dengan ground truth (data sebenarnya).
Confusion Matrix
Confusion Matrix membandingkan hasil prediksi model dengan realita, menghasilkan 4 kemungkinan:
| Prediksi: Yes | Prediksi: No | |
|---|---|---|
| Realita: Yes | True Positive (TP) | False Negative (FN) |
| Realita: No | False Positive (FP) | True Negative (TN) |
Contoh kasus deteksi kebakaran hutan:
TP — realita ada api, diprediksi ada api ✅
TN — realita tidak ada api, diprediksi tidak ada api ✅
FP — realita tidak ada api, tapi diprediksi ada api ❌ (Type I Error)
FN — realita ada api, tapi diprediksi tidak ada api ❌ (Type II Error, biasanya paling berbahaya)
Accuracy, Precision, Recall
Accuracy — persentase prediksi yang benar dari semua pengamatan:
Akurasi = (TP + TN) / (TP + FP + TN + FN)
Precision — dari semua yang diprediksi positif, berapa persen yang beneran positif:
Presisi = TP / (TP + FP)
Recall — dari semua yang beneran positif, berapa persen yang berhasil ditangkap model:
Recall = TP / (TP + FN)
Cara gampang bedain: Presisi fokus ke "seberapa tepat aku pas bilang positif" (menghindari FP). Recall fokus ke "seberapa lengkap aku nangkep semua yang beneran positif" (menghindari FN).
🤔 Coba Tebak Dulu: buat deteksi penyakit kanker, mana yang harus lebih diprioritaskan — Precision atau Recall?
Recall. False Negative (pasien sakit tapi diprediksi sehat) jauh lebih berbahaya daripada False Positive (pasien sehat tapi diprediksi sakit, lalu dicek ulang). Lebih baik "curiga berlebihan" daripada melewatkan kasus nyata.
Model Selection
Beberapa model dicoba di input data yang sama, lalu masing-masing dievaluasi pakai metrik yang relevan (Model 1 → Metrics 1, Model 2 → Metrics 2, dst). Hasil evaluasi ini jadi dasar milih model terbaik yang akan dipakai.
Studi Kasus Nyata
Supervised — Klasifikasi:
Fraud Detection perbankan: data transaksi historis yang sudah dilabeli "fraud"/"bukan fraud" dipakai buat prediksi transaksi baru. Dampak: mencegah kerugian finansial secara real-time.
Content Moderation: klasifikasi konten upload user sebagai "layak tayang" vs "melanggar kebijakan," berdasarkan data yang sudah dilabeli moderator. Dampak: jaga kualitas platform tanpa cek manual satu-satu.
Supervised — Regresi:
- Prediksi harga properti: berdasarkan luas tanah, lokasi, jumlah kamar, usia bangunan → output angka kontinu (harga). Dampak: bantu penjual/pembeli menentukan harga wajar.
Unsupervised — Clustering:
Segmentasi pelanggan: tanpa label "tipe A/B/C" dari awal, model mengelompokkan pelanggan jadi segmen ("pembeli hemat," "pelanggan loyal bernilai tinggi") berdasarkan pola belanja. Dampak: campaign lebih tepat sasaran.
Deteksi anomali cybersecurity: memantau pola login/traffic tanpa label "normal/serangan" eksplisit — pola yang menyimpang jauh dianggap potensi ancaman. Dampak: cegah kebocoran data lebih cepat.
Precision vs Recall dalam bisnis nyata:
Fraud kartu kredit butuh keseimbangan (biasanya pakai F1-Score) — Precision rendah = banyak nasabah baik komplain karena transaksinya diblokir; Recall rendah = banyak fraud lolos.
Sistem rekomendasi produk — beberapa model (collaborative filtering, content-based, hybrid) dicoba, dievaluasi pakai metrik seperti precision@k, lalu yang terbaik di-deploy.
Cheat Sheet Menghafal
📋 Klik untuk lihat cara cepat menghafal
Supervised = ADA GURU → ada label, ada supervisor, tujuannya memprediksi
Unsupervised = TANPA GURU → tanpa label, cari pola sendiri, tujuannya eksplorasi
Klasifikasi = kategori (diskrit) | Regresi = angka (kontinu)
Clustering = kelompok mirip | Dimensional Reduction = sederhanakan fitur
Kata kunci "label" adalah pembeda utama antara Supervised dan Unsupervised
Confusion Matrix: True/False = benar/salah prediksi, Positive/Negative = apa yang diprediksi
Presisi = "dari yang aku bilang positif, berapa yang beneran positif?"
Recall = "dari yang beneran positif, berapa yang berhasil aku tangkap?"
Checklist Sebelum Lanjut ke Praktik
[ ] Paham bedanya data berlabel vs tanpa label
[ ] Bisa bedain kapan pakai klasifikasi vs regresi
[ ] Bisa bedain kapan pakai clustering vs dimensional reduction
[ ] Ngerti kenapa Recall lebih penting dari Precision di kasus medis, dan kenapa keduanya penting di kasus fraud
[ ] Paham istilah TP/TN/FP/FN di confusion matrix
Ringkasan
Supervised Learning belajar dari contoh yang sudah ada jawabannya — cocok kalau tujuan kita memang untuk memprediksi. Unsupervised Learning belajar tanpa jawaban sama sekali — cocok kalau tujuan kita untuk eksplorasi dan menemukan struktur yang belum kita tahu sebelumnya.
Tapi teori doang belum cukup buat ngerti ML. Seri ini berlanjut ke Part 2 (praktik klasifikasi Iris — Logistic Regression vs Decision Tree) dan Part 3 (praktik clustering tanpa label dengan KMeans, plus eksperimen lanjutan), lengkap dengan source code-nya.
Bagian dari catatan belajar AI Engineering saya. Part 2: praktik klasifikasi Iris. Part 3: praktik unsupervised learning — source code lengkap ada di GitHub.






