Back to IF3170 Inteligensi Artifisial

Topic: 3. Density Based Clustering (DBSCAN)

Questions/Cues

  • Filosofi Density-Based

  • Parameter DBSCAN (, MinPts)

  • Klasifikasi Titik (Core, Border, Noise)

  • Konsep Reachability

  • Studi Kasus (Perhitungan Manual)

  • Algoritma DBSCAN (Flow)

  • Kelebihan & Kekurangan

  • Kompleksitas Algoritma

Reference Points

  • Slide 36-39 (Konsep Dasar)

  • Slide 40-42 (Klasifikasi Titik)

  • Slide 43 (Algoritma)

  • Slide 45-47 (Studi Kasus & Matriks)

1. Konsep Dasar Density-Based Clustering

Metode density-based mendekati masalah clustering dengan cara pandang yang berbeda total dari metode partisi (seperti K-Means).

Analogi Pulau:

Bayangkan data sebagai titik-titik lokasi orang di sebuah peta.

  • Cluster adalah wilayah perkotaan yang padat penduduk.

  • Noise adalah orang yang tinggal sendirian di hutan atau gurun (wilayah jarang).

  • Jika Anda bisa berjalan dari satu rumah ke rumah lain tanpa pernah keluar dari “zona padat”, maka rumah-rumah itu berada di kota (cluster) yang sama.

Implikasi Penting:

  1. Bentuk Fleksibel: Cluster bisa berbentuk apa saja (ular melingkar, huruf U, cincin), tidak harus bulat sferis.

  2. Robust terhadap Outlier: Titik-titik di wilayah sepi otomatis dibuang sebagai noise, sehingga tidak merusak posisi pusat cluster (tidak seperti K-Means yang rata-ratanya bisa tertarik outlier).

2. Parameter Utama DBSCAN

Algoritma ini hanya membutuhkan dua parameter input untuk mendefinisikan apa itu “padat”:

  1. Epsilon (): Jarak Pandang

    • Radius lingkaran maksimum di sekitar sebuah titik untuk mencari tetangga.

    • Semakin besar , semakin banyak titik yang dianggap bertetangga, cluster akan membesar dan menyatu.

  2. MinPts (Minimum Points): Ambang Kepadatan

    • Jumlah minimum titik (termasuk titik itu sendiri) yang harus ada dalam radius agar wilayah tersebut dianggap “Core” (padat).

    • Semakin besar MinPts, semakin ketat syarat kepadatan, semakin banyak data yang mungkin dianggap noise.

3. Klasifikasi Status Titik (Point Classification)

Berdasarkan dua parameter di atas, setiap titik dalam dataset akan diberi label:

Tipe TitikSimbol VisualDefinisi TeknisPeran
Core Point (Inti)🟢 (Hijau)Punya tetangga MinPts dalam radius .Jantung cluster. Bisa “menularkan” keanggotaan cluster ke segala arah.
Border Point (Batas)🔵 (Biru)Punya tetangga MinPts, TAPI salah satu tetangganya adalah Core Point.Pinggiran cluster. Menjadi anggota cluster tapi tidak bisa memperluas cluster lebih jauh.
Noise / Outlier🔴 (Merah)Bukan Core dan bukan Border. Tidak punya tetangga Core.Data sampah. Dibuang/diabaikan.
Gambar 1Gambar 2

4. Studi Kasus: Implementasi Langkah-demi-Langkah (Slide 45)

Skenario: Kita memiliki 8 titik data ( s.d ). Matriks di bawah ini menunjukkan Jarak Kuadrat () antar titik.

Parameter:

  • Artinya jarak kuadrat maksimum .

  • (Sesuai slide 45, jika Epsilon=2, MinPoints=2).

Data Masukan (Matriks Jarak Kuadrat):

Nilai di sel adalah . Kita mencari nilai .

TitikA1A2A3A4A5A6A7A8
A102572135052655
A2250371825171020
A37237025245341
A413182501317522
A55025213024525
A65217417202929
A7651053524529058
A85204122529580

Langkah 1: Identifikasi Tetangga & Status Titik

Cek setiap baris. Hitung berapa banyak sel yang nilainya (termasuk dirinya sendiri yang bernilai 0).

TitikTetangga (Jarak)Jumlah (N)Status (N≥2?)Keterangan
A1{A1}1NOISEKurang dari MinPts.
A2{A2}1NOISEKurang dari MinPts.
A3{A3, A5, A6}3COREJumlah . Pusat kepadatan.
A4{A4, A8}2COREJumlah .
A5{A5, A3, A6}3COREJumlah .
A6{A6, A3, A5}3COREJumlah .
A7{A7}1NOISEKurang dari MinPts.
A8{A8, A4}2COREJumlah .

Langkah 2: Pembentukan Cluster (Ekspansi)

Kita iterasi titik Core untuk membentuk “pulau”.

  • Mulai dari A3 (Core):

    • Buat Cluster 1. Anggota awal: {A3}.

    • Cek tetangga A3: {A5, A6}. Masukkan ke antrian.

    • Proses A5: A5 adalah Core? Ya. Ambil tetangganya ({A3, A6}). Semua sudah di antrian. Masukkan A5 ke Cluster 1.

    • Proses A6: A6 adalah Core? Ya. Ambil tetangganya ({A3, A5}). Semua sudah di antrian. Masukkan A6 ke Cluster 1.

    • Antrian habis.

    • Hasil Cluster 1: {A3, A5, A6}.

  • Lanjut ke Core berikutnya yang belum dikunjungi (misal A4):

    • Buat Cluster 2. Anggota awal: {A4}.
    • Cek tetangga A4: {A8}. Masukkan ke antrian.
    • Proses A8: A8 adalah Core? Ya. Ambil tetangganya ({A4}). Sudah di Cluster 2. Masukkan A8 ke Cluster 2.
    • Antrian habis.
    • Hasil Cluster 2: {A4, A8}.
  • Sisa Titik (A1, A2, A7):

    • Status awal Noise. Cek apakah mereka tetangga dari Core?

    • A1 tetangga siapa? Cuma A1. Tetap Noise.

    • A2 tetangga siapa? Cuma A2. Tetap Noise.

    • A7 tetangga siapa? Cuma A7. Tetap Noise.

Kesimpulan Akhir Studi Kasus:

  • Cluster 1: {A3, A5, A6}

  • Cluster 2: {A4, A8}

  • Outlier: {A1, A2, A7}

5. Konsep Reachability (Konektivitas)

Bagaimana DBSCAN tahu A terhubung ke B?

  1. Directly Density-Reachable: A tetangga langsung B, dan B adalah Core Point. (Arah: B A).

  2. Density-Reachable: A terhubung ke B lewat rantai Core Points. (B C D A).

  3. Density-Connected: A dan B mungkin bukan Core, tapi keduanya bisa dijangkau dari satu Core Point O yang sama. (A O B). Ini mendefinisikan satu cluster utuh.

6. Analisis Kelebihan & Kekurangan

Kelebihan DBSCANKekurangan DBSCAN
Bentuk Arbitrer: Bisa mendeteksi cluster bentuk cincin, spiral, ular, dll.Sensitif Parameter: Sangat sulit menentukan dan MinPts yang tepat tanpa pengetahuan domain.
Otomatis Deteksi Outlier: Noise dipisahkan, tidak merusak rata-rata cluster.Variasi Densitas: Gagal jika data memiliki cluster dengan kepadatan yang jauh berbeda (misal satu sangat padat, satu agak renggang).
Tanpa Input K: Tidak perlu menebak jumlah cluster () di awal.Curse of Dimensionality: Perhitungan jarak menjadi kurang bermakna pada dimensi sangat tinggi.

Summary

DBSCAN adalah algoritma clustering yang mendefinisikan cluster sebagai wilayah dengan kepadatan titik data yang tinggi. Menggunakan parameter Epsilon (jarak) dan MinPts (kepadatan), algoritma ini mengklasifikasikan titik menjadi Core (pusat), Border (pinggir), dan Noise (sampah). Dalam studi kasus manual, DBSCAN terbukti mampu mengelompokkan data yang saling berdekatan ({A3, A5, A6} dan {A4, A8}) secara alami dan mengisolasi titik-titik yang jauh ({A1, A2, A7}) sebagai noise, sesuatu yang sulit dilakukan K-Means tanpa merusak posisi centroid. Keunggulan utamanya adalah fleksibilitas bentuk cluster dan ketahanan terhadap outlier.