Back to IF3170 Inteligensi Artifisial

Topic: 2. Partitioning Clustering (K-Means)

Questions/Cues

  • Konsep Dasar Partitioning

  • Algoritma K-Means (Detail)

  • Fungsi Objektif (SSE)

  • Studi Kasus 1: Data Kategorikal (Sesuai Slide)

  • Studi Kasus 2: Data Numerik (Standar)

  • Penentuan Nilai K (Elbow)

  • Kelemahan & Solusi

  • Kompleksitas Waktu

Reference Points

  • Slide 21-23 (Algoritma & Konsep)

  • Slide 24 (Flowchart)

  • Slide 26-29 (Contoh Kasus Kategorikal)

  • Slide 32-34 (Elbow Method)

  • Slide 35 (Kompleksitas)

1. Konsep Dasar Partitioning Method

Metode partitioning adalah pendekatan clustering yang memecah himpunan data yang berisi objek menjadi sejumlah partisi (cluster) secara langsung.

Karakteristik Utama:

  • Eksklusif: Setiap objek data harus masuk ke dalam tepat satu cluster (kecuali pada Fuzzy Clustering). Tidak ada tumpang tindih antar kelompok.

  • Syarat: Setiap cluster harus berisi setidaknya satu objek.

  • Iterative Relocation: Algoritma ini tidak “sekali jadi”. Ia bekerja dengan cara memindah-mindahkan objek dari satu cluster ke cluster lain secara berulang-ulang (iteratif) untuk memperbaiki kualitas pengelompokan hingga optimal.

2. Algoritma K-Means

K-Means adalah algoritma centroid-based, artinya setiap cluster direpresentasikan oleh sebuah titik pusat yang disebut Centroid.

Logika Dasar:

Algoritma berusaha meminimalkan variasi intra-cluster. Secara matematis, ia meminimalkan fungsi objektif Sum of Squared Errors (SSE):

Di mana adalah titik data dan adalah centroid cluster . Semakin kecil nilai , semakin “rapat” dan baik clusternya.

Langkah-langkah Detail:

  1. Inisialisasi (Initialization):

    • Tentukan jumlah cluster .

    • Pilih titik data secara acak (atau gunakan metode K-Means++) sebagai centroid awal. Posisi awal ini sangat krusial karena menentukan hasil akhir.

  2. Penugasan (Assignment):

    • Ambil setiap titik data dalam dataset.

    • Hitung jaraknya ke semua centroid yang ada (biasanya menggunakan Euclidean Distance untuk data numerik).

    • Masukkan titik tersebut ke anggota cluster dengan centroid terdekat (jarak minimum).

  3. Pembaruan (Update):

    • Setelah semua data ditugaskan, hitung ulang posisi centroid.

    • Posisi centroid baru adalah rata-rata (arithmetic mean) dari semua koordinat titik data yang ada di dalam cluster tersebut. Inilah mengapa disebut “K-Means”.

  4. Iterasi / Berhenti:

    • Ulangi langkah 2 dan 3.

    • Berhenti jika salah satu kondisi terpenuhi:

      • Konvergen: Centroid tidak berpindah posisi lagi (atau perpindahannya sangat kecil di bawah threshold).

      • Assignment Tetap: Tidak ada objek yang berpindah cluster.

      • Max Iteration: Mencapai batas maksimum iterasi (misal 100 kali).

3. Studi Kasus 1: Implementasi Data Kategorikal (Sesuai Slide 26-29)

Catatan: Contoh di slide menggunakan data kategorikal/biner. Pada kasus ini, “Jarak” dihitung berdasarkan perbedaan atribut (Hamming Distance) dan “Mean” diganti dengan Mode (Nilai Mayoritas). Ini teknisnya adalah varian K-Modes, tapi prinsip alurnya sama.

Dataset: 6 Orang (A-F) dengan 5 Atribut Biner (Ya/Tidak).

Parameter: .

Langkah 0: Inisialisasi

Kita memilih 3 data pertama sebagai Centroid Awal (Seeds):

  • C1: A (Tidak, Ya, Ya, Tidak, Tidak)

  • C2: B (Tidak, Tidak, Ya, Tidak, Ya)

  • C3: C (Ya, Ya, Tidak, Ya, Tidak)

Langkah 1: Iterasi Pertama (Penugasan) Hitung jarak setiap data ke C1, C2, C3. Jarak = Jumlah atribut yang beda. Contoh hitung jarak D ke C1: D: (Tdk, Tdk, Tdk, Ya, Ya) vs C1: (Tdk, Ya, Ya, Tdk, Tdk). Beda di: Atribut 2, 3, 4, 5. Total Beda = 4.

DataAtribut Data (Pengalaman, Prog, B.Ing, Warna, Nikah)Dist to C1 (A)Dist to C2 (B)Dist to C3 (C)Cluster Terdekat
ATidak, Ya, Ya, Tidak, Tidak0231
BTidak, Tidak, Ya, Tidak, Ya2052
CYa, Ya, Tidak, Ya, Tidak3503
DTidak, Tidak, Tidak, Ya, Ya4232
EYa, Tidak, Ya, Ya, Ya4232
FTidak, Ya, Tidak, Ya, Tidak2413

Hasil Pengelompokan Iterasi 1:

  • Cluster 1: {A}

  • Cluster 2: {B, D, E}

  • Cluster 3: {C, F}

Langkah 2: Update Centroid Hitung “pusat” baru dengan mencari nilai mayoritas (majority voting) di setiap kolom atribut untuk masing-masing cluster.

  • Centroid Baru C1 (dari data A saja):

    • Tetap sama: (Tidak, Ya, Ya, Tidak, Tidak)
  • Centroid Baru C2 (dari data B, D, E):

    • Pengalaman: {Tdk, Tdk, Ya} Mayoritas: Tidak

    • Prog: {Tdk, Tdk, Tdk} Mayoritas: Tidak

    • B.Ing: {Ya, Tdk, Ya} Mayoritas: Ya

    • Buta Warna: {Tdk, Ya, Ya} Mayoritas: Ya

    • Menikah: {Ya, Ya, Ya} Mayoritas: Ya

    • New C2: (Tidak, Tidak, Ya, Ya, Ya)

  • Centroid Baru C3 (dari data C, F):

    • Lakukan hal yang sama. Jika seri (1 Ya, 1 Tidak), biasanya pilih acak atau pertahankan nilai lama.

    • Misal hasilnya: (Ya, Ya, Tidak, Ya, Tidak)

Langkah 3: Iterasi Selanjutnya Gunakan New C1, New C2, New C3 untuk menghitung ulang jarak seluruh data (A-F) dan lakukan penugasan ulang. Ulangi terus hingga anggota cluster tidak berubah.

4. Studi Kasus 2: Data Numerik 2D (Standar K-Means)

Kasus ini untuk memperjelas penggunaan “Mean” secara matematis.

Data: A(1,1), B(2,1), C(4,3), D(5,4).

K=2, Inisialisasi Centroid: , .

Iterasi 1:

  1. Hitung Jarak (Euclidean):

    • A(1,1): Jarak ke , ke . Masuk Cluster 1.

    • B(2,1): Jarak ke , ke . Masuk Cluster 2.

    • C(4,3):

      • ke :
      • ke : . Masuk Cluster 2.
    • D(5,4):

      • ke :
      • ke : . Masuk Cluster 2.
    • Hasil: Cluster 1 = {A}, Cluster 2 = {B, C, D}.

  2. Update Centroid:

    • New : Rata-rata A(1,1) (1, 1).
    • New : Rata-rata B(2,1), C(4,3), D(5,4).
      • New = (3.67, 2.67).

  3. Lanjut ke Iterasi 2 dengan centroid baru tersebut.

5. Penentuan Nilai K (The Elbow Method)

Salah satu tantangan K-Means adalah kita harus “menebak” jumlah cluster () di awal. Metode Siku (Elbow Method):

  1. Jalankan K-Means dengan , hitung total SSE (sum of squared errors) atau WCSS.

  2. Jalankan lagi dengan , hitung SSE.

  3. Lakukan hingga (atau batas wajar).

  4. Buat grafik garis: Sumbu X = , Sumbu Y = SSE.

  5. Pilih nilai di mana penurunan SSE mulai melandai secara drastis (membentuk siku).

Logika: Menambah jumlah cluster pasti menurunkan error. Tapi jika penambahan cluster baru hanya mengurangi error sedikit, berarti cluster tersebut tidak signifikan (hanya memecah cluster yang sudah padat).

6. Analisis Kelemahan & Solusi

KelemahanPenjelasanSolusi/Mitigasi
Sensitif InisialisasiPosisi awal centroid yang acak bisa menyebabkan hasil akhir terjebak di local optimum (solusi jelek).Gunakan K-Means++ (algoritma inisialisasi cerdas yang menyebar centroid awal) atau jalankan K-Means berulang kali dan ambil SSE terkecil.
Sensitif OutlierKarena menggunakan Mean (rata-rata), satu data ekstrem bisa menarik centroid menjauh dari kerumunan data asli.Gunakan K-Medoids (PAM) yang menggunakan titik data asli (median) sebagai pusat, bukan rata-rata hitung.
Bentuk ClusterK-Means mengasumsikan cluster berbentuk bola/sferis. Gagal pada cluster berbentuk bulan sabit atau cincin.Gunakan DBSCAN (Density-based) atau Spectral Clustering.
Tipe DataHanya untuk numerik (Euclidean distance).Gunakan K-Modes untuk data kategorikal atau Gower Distance untuk data campuran.

Summary

K-Means adalah algoritma partisi iteratif yang sangat populer karena kesederhanaan dan kecepatannya (). Algoritma ini bekerja dengan meminimalkan jarak kuadrat antara data dan pusat clusternya (SSE). Prosesnya terdiri dari empat tahap utama: Inisialisasi Penugasan (Assignment) Pembaruan (Update Mean) Iterasi hingga Konvergen. Meskipun efisien, K-Means memiliki kelemahan fundamental yaitu sensitivitas terhadap posisi awal centroid dan keberadaan outlier. Untuk hasil optimal, metode ini sering dipadukan dengan Elbow Method untuk mencari terbaik dan teknik inisialisasi K-Means++.