stdsquare²
🎓 Kelas
stdsquare / materi / slides / pertemuan-06
Tema
Japan
Arcade
Dark Retro
Font
‹ Daftar slide Pertemuan 6: Teknik Unsupervised Learning: K-means, Hierarchical Clustering, Expectation Maximization
PROGRAM STUDI BISNIS DIGITAL · FEB UNDIP

Pembelajaran Dalam dan Pembelajaran Mesin

Pertemuan 6: Teknik Unsupervised Learning — K-means, Hierarchical Clustering, Expectation Maximization

Mengelompokkan data tanpa label: tiga algoritma inti untuk menemukan struktur tersembunyi.

6RPS minggu 6 · 2×50 menit
Bagian 1 dari 3
K-Means Clustering
Algoritma clustering paling populer: cepat, sederhana, dan jadi pijakan untuk memahami teknik lain.

Dari Taksonomi ke Praktik: Mengapa Unsupervised?

Pertemuan lalu Anda belajar tiga jenis pembelajaran mesin. Hari ini kita mendalami cabang unsupervised learning lewat teknik clustering (pengelompokan).

Recap Singkat
  • Supervised: ada label jawaban (mis. "churn"/"tidak churn").
  • Unsupervised: TIDAK ada label — algoritma mencari pola sendiri.
  • Semi-supervised: sebagian data berlabel, sebagian tidak.
Tujuan Pembelajaran Hari Ini
  • Menjalankan algoritma K-means langkah demi langkah.
  • Membangun & membaca dendrogram Hierarchical Clustering.
  • Memahami logika Expectation Maximization (EM).
  • Memilih teknik yang tepat untuk kasus bisnis digital.

Apa Itu Clustering?

Clustering mengelompokkan objek data sehingga objek dalam kelompok yang sama lebih mirip satu sama lain dibanding objek di kelompok lain — tanpa label yang diberikan sebelumnya.

Segmentasi Pelanggan
Tokopedia/Shopee mengelompokkan pengguna jadi "hemat", "impulsif", "loyal" berdasarkan histori transaksi.
Deteksi Anomali
BBCA/bank mengelompokkan transaksi normal vs. transaksi yang menyimpang jauh (potensi fraud).
Kompresi & Rekomendasi
GoTo mengelompokkan produk mirip untuk rekomendasi "produk serupa" di halaman toko.

Algoritma K-Means: 4 Langkah Berulang

1. Tentukan Kpilih jumlah klaster2. Inisialisasicentroid acak3. Assigntitik ke centroid terdekat4. Updatecentroid = rata-rataulangi 3–4 sampai centroid tidak berubah (konvergen)
jarak(x, centroid) = √((x₁-c₁)² + (x₂-c₂)² + ...)

Hitung dari Nol #1: Iterasi K-Means

Data nilai transaksi 4 toko UMKM (juta rupiah/bulan): 2, 4, 10, 12. Target K=2.

LangkahPerhitunganNilai
Inisialisasi centroidPilih 2 titik acak dari data sebagai centroid awalC1 = 2 · C2 = 12
Assign titik 4|4-2| = 2 vs |4-12| = 8 → lebih dekat C14 → Klaster 1
Assign titik 10|10-2| = 8 vs |10-12| = 2 → lebih dekat C210 → Klaster 2
Update centroid 1rata-rata {2, 4} = (2+4) ÷ 2C1 baru = 3
Update centroid 2rata-rata {10, 12} = (10+12) ÷ 2C2 baru = 11
Cek iterasi ke-2Assignment tiap titik ke C1=3/C2=11 tidak berubahKonvergen
Hasil Akhir
C1=3 · C2=11
Segmen kecil (2,4 juta) vs. Segmen besar (10,12 juta)

Coba Sendiri: Jalankan Iterasi K-Means

Geser posisi titik data atau centroid awal, jalankan iterasi assign-update langkah demi langkah, amati kapan algoritma konvergen.

Memilih Jumlah Klaster: Metode Elbow

K terlalu kecil → klaster terlalu kasar. K terlalu besar → overfitting (tiap titik jadi klasternya sendiri). Solusinya: plot WCSS (jumlah kuadrat jarak dalam klaster) terhadap K, cari titik "siku".

WCSSJumlah Klaster (K)K=1K=2K=3 (siku)K=4K=5K=6
Titik "siku" (elbow) = penurunan WCSS mulai melandai. Di titik itu, menambah K lagi hanya memberi perbaikan kecil.

Coba Sendiri: Uji Metode Elbow untuk Memilih K

Ubah jumlah klaster K, amati bagaimana kurva WCSS berubah dan di titik K mana bentuk "siku" itu muncul.

Kelemahan K-Means yang Wajib Diwaspadai

Sensitif Inisialisasi

Centroid awal acak bisa membuat hasil klaster berbeda tiap dijalankan. Solusi: jalankan berkali-kali (K-means++).

Sensitif Outlier

Satu transaksi ekstrem (mis. Rp 500 juta di antara transaksi Rp 1–5 juta) menarik centroid menjauh dari mayoritas data.

Asumsi Bentuk Bulat

K-means asumsikan klaster berbentuk bulat (spherical) berukuran mirip — gagal untuk klaster memanjang/tak beraturan.

K juga harus ditentukan MANUAL di awal — algoritma tidak bisa menentukan jumlah klaster optimalnya sendiri.
Bagian 2 dari 3
Hierarchical Clustering
Membangun struktur pohon klaster tanpa perlu menentukan K di awal.

Hierarchical Clustering: Pendekatan Agglomerative

Dimulai dari setiap titik sebagai klaster sendiri, lalu digabung bertahap (bottom-up) berdasarkan kedekatan, sampai semua jadi satu klaster besar.

ABCDgabung A+Bgabung C+Dgabung {AB}+{CD} → 1 klaster
Keunggulan: tidak perlu menentukan K di awal — potong dendrogram di tinggi berapa pun sesuai kebutuhan bisnis.

Coba Sendiri: Bangun Dendrogram Sendiri

Gabungkan titik data satu per satu secara bottom-up, amati bagaimana dendrogram terbentuk dan di ketinggian mana Anda akan memotongnya.

Linkage: Cara Mengukur Jarak Antar-Klaster

MetodeDefinisi JarakKarakteristik
Single LinkageJarak MINIMUM antar titik dua klasterBisa hasilkan klaster memanjang ("chaining")
Complete LinkageJarak MAKSIMUM antar titik dua klasterKlaster lebih kompak & seimbang
Average LinkageRata-rata jarak SEMUA pasangan titikKompromi antara single & complete
Ward's MethodMinimalkan kenaikan variansi dalam klasterPaling umum dipakai; hasil rapi & seimbang
Pemilihan linkage memengaruhi bentuk dendrogram — single linkage rawan "chaining effect" (klaster memanjang tak wajar).

Hitung dari Nol #2: Merge Hierarchical Clustering

4 toko dengan nilai transaksi (juta rupiah): A=2, B=4, C=10, D=13. Linkage = single (jarak minimum).

LangkahPerhitunganNilai
Matriks jarak awal|A-B|=2, |A-C|=8, |A-D|=11, |B-C|=6, |B-D|=9, |C-D|=3Jarak minimum = 2 (A-B)
Gabung pasangan terdekatA & B digabung → klaster {AB}Tinggi dendrogram = 2
Update jarak (single linkage)min(AC,BC)=min(8,6)=6 · min(AD,BD)=min(11,9)=9Jarak {AB}-C=6 · {AB}-D=9
Gabung pasangan terdekat berikutnyaC & D digabung (jarak asli 3, lebih kecil dari 6)Tinggi dendrogram = 3
Update jarak antar klaster tersisamin({AB}-C, {AB}-D) = min(6, 9)Jarak {AB}-{CD} = 6
Gabung klaster terakhir{AB} & {CD} digabung menjadi 1 klasterTinggi dendrogram = 6
Urutan Tinggi Dendrogram
2 → 3 → 6
Potong di tinggi <3 → 4 klaster; potong di tinggi 4–5 → 2 klaster {AB},{CD}
Bagian 3 dari 3
Expectation Maximization
Clustering "lunak" (soft clustering) berbasis probabilitas — satu titik bisa punya keanggotaan ganda.

Expectation Maximization & Gaussian Mixture Model

EM mengasumsikan data berasal dari campuran beberapa distribusi Gaussian (normal) yang tumpang tindih — disebut Gaussian Mixture Model (GMM).

Klaster 1 (μ₁)Klaster 2 (μ₂)zona tumpang tindih — probabilitas terbagi
Setiap klaster punya distribusi normal sendiri (rata-rata μ & sebaran σ). Titik di zona tumpang tindih punya probabilitas ke DUA klaster sekaligus.
Cocok untuk data yang bentuknya elips/lonjong — tidak seperti K-means yang asumsikan bentuk bulat.

Coba Sendiri: Eksplorasi Soft Clustering GMM

Ubah parameter rata-rata dan sebaran tiap distribusi Gaussian, amati bagaimana probabilitas keanggotaan titik di zona tumpang tindih berubah.

Dua Langkah Berulang EM: E-Step dan M-Step

E-Step (Expectation)

Dengan parameter distribusi (μ, σ) yang ADA sekarang, hitung probabilitas tiap titik menjadi anggota tiap klaster. Contoh: pelanggan X punya peluang 70% klaster A, 30% klaster B.

M-Step (Maximization)

Gunakan probabilitas dari E-step untuk MEMPERBARUI parameter (μ, σ) tiap klaster secara berbobot, agar distribusi makin cocok dengan data.

Kedua langkah diulang bergantian — mirip K-means (assign ↔ update), tapi versi "lunak" berbasis probabilitas, bukan keputusan tegas.

Perbandingan K-Means, Hierarchical, dan EM

AspekK-MeansHierarchicalEM (GMM)
Tipe keanggotaanTegas (hard)Tegas (hard)Probabilistik (soft)
Tentukan K di awal?Ya, wajibTidak, bisa dipotong belakanganYa, wajib
Bentuk klasterBulat (spherical)FleksibelElips (Gaussian)
Kompleksitas komputasiRendah — cepatTinggi untuk data besarSedang–tinggi
Sensitif outlier?Sangat sensitifSensitif (tergantung linkage)Lebih tahan (probabilistik)

Studi Kasus: Segmentasi Pelanggan E-Commerce

Sebuah UMKM fesyen di Shopee ingin mensegmentasi 5.000 pelanggannya berdasarkan frekuensi belanja dan nilai transaksi rata-rata.

Langkah Analisis
  • Eksplorasi awal: jalankan Hierarchical Clustering pada sampel kecil untuk melihat struktur (dendrogram).
  • Tentukan K dari hasil dendrogram + elbow method.
  • Jalankan K-means pada 5.000 data penuh (lebih cepat untuk data besar).
  • Jika batas segmen tidak tegas (banyak pelanggan "di tengah"), pertimbangkan EM/GMM.
Hasil Segmentasi
3 Segmen
"Hemat & Jarang" (40%), "Menengah & Rutin" (45%), "Royal & Sering" (15%) — jadi dasar strategi promo tertarget.

Latihan Kelas: Praktik Manual

Soal: Sebuah gerai memiliki 5 transaksi harian (dalam ratus ribu rupiah): 5, 6, 20, 22, 23. Anda diminta melakukan K-means dengan K=2, centroid awal C1=5 dan C2=23.
Instruksi
  • Hitung jarak tiap titik ke C1 dan C2, tentukan assignment.
  • Update kedua centroid dengan rata-rata anggotanya.
  • Ulangi sampai konvergen — catat berapa iterasi dibutuhkan.
  • Diskusikan dengan teman sebangku, bandingkan hasil.
Pertanyaan Diskusi
  • Apakah hasil akhirnya masuk akal secara bisnis?
  • Bagaimana jika linkage Hierarchical dipakai — hasilnya sama atau beda?
  • Kapan sebaiknya memakai EM dibanding K-means untuk kasus ini?

Rangkuman: Peta Cepat Unsupervised Learning

TeknikInti Cara KerjaKapan Dipakai
K-MeansAssign ↔ update centroid sampai konvergenData besar, klaster relatif bulat, butuh cepat
HierarchicalGabung bertahap (agglomerative) bentuk dendrogramData kecil–menengah, K belum jelas, butuh eksplorasi struktur
EM / GMME-step (hitung peluang) ↔ M-step (update parameter)Batas klaster tidak tegas, bentuk data elips
Ketiganya adalah unsupervised learning: tidak butuh label, semua "belajar" dari struktur kemiripan data itu sendiri.

Penutup: Persiapan Pertemuan 7

Minggu Depan

Kita beralih ke Supervised Learning: Regression, SVM (Support Vector Machine), dan Neural Network — teknik yang BUTUH data berlabel.

Tugas Sebelum Pertemuan 7
Kerjakan Latihan
Selesaikan soal K-means slide 18 secara individu (tulis tangan langkah iterasinya), kumpulkan via LMS sebelum kuliah berikutnya.