Você está na página 1de 57

Data Mining:

Advanced Cluster
Analysis
Chapter 11
By : Nurhayati, Rifky Novrian K

Review: Basic Cluster Analysis


Methods(Chap. 10)

Cluster Analysis: Konsep Dasar


Mengelompokkan data supaya kemiripan objek lebih
tinggi di dalam cluster dan lebih rendah di seberang
cluster
Partitioning Methods
K-means dan k-medoids algorithms dan
penyempurnaannya
Hierarchical Methods
Agglomerative dan divisive method, Birch, Cameleon
Density-Based Methods
DBScan, Optics dan DenCLu
Grid-Based Methods
STING dan CLIQUE (subspace clustering)
Evaluasi pada Clustering
Menilai kecenderungan clustering, menentukan # pada
clusters, dan mengukur kualitas clustering

Outline of Advanced Clustering


Analysis

Probability Model-Based Clustering

Setiap objek kemungkinan bisa mengambil probabilitas untuk


termasuk dalam cluster

Clustering High-Dimensional Data

Curse of dimensionality: Sulit mengukur jarak di high-D space

Clustering Graphs and Network Data

Pengukuran kesamaan dan metode clustering untuk grafik dan


jaringan

Clustering with Constraints

Analisa cluster dibawah berbagai macam bentuk


pembatas/paksaan, misalnya yang muncul dari latar belakang
pengetahuan atau distribusi spatial objek
3

Bab 11. Cluster Analysis: Advanced


Methods

Probability Model-Based Clustering

Clustering High-Dimensional Data

Clustering Graphs and Network Data

Clustering with Constraints

Summary

Fuzzy Set and Fuzzy Cluster

Metode Clustering yang sudah dibahas sejauh ini


Setiap objek data ditugaskan ditetapkan pada satu cluster
Beberapa aplikasi mungkin perlu fuzzy atau soft cluster assignment
Contoh : sebuah e-game bisa termasuk dalam kategori hiburan
dan software
Metode: fuzzy clusters dan probabilistic model-based clusters
Fuzzy cluster: Himpunan FuzzyS: FS : X [0, 1] (nilai antara 0 dan 1)

Contoh: kepopuleran kamera didefinisikan sebagai fuzzy mapping

Maka, A(0.05), B(1), C(0.86), D(0.27)


5

Fuzzy Clustering

Contoh: Misalkan fitur cluster

C1 :digital camera dan lens

C2: computer

Fuzzy clustering

k fuzzy clusters C1, ,Ck ,direpresentasikan sbg partition matrix M = [wij]

P1: utk setiap objek oi and cluster Cj, 0 wij 1 (fuzzy set)

P2: utk setiap objek oi,

, partisipasi yang setara didalam clustering

P3: for each cluster Cj ,


memastikan tidak ada cluster yang
kosong
Jadikan c1, , ck sebagai center dari k cluster

Untuk objek oi, sum of the squared error (SSE), p adalah parameter:

Untuk cluster Ci, SSE:

Ukur seberapa bagus clustering cocok dgn data:


6

Probabilistic Model-Based Clustering

Analisa cluster berfungsi untuk menemukan kategori tersembunyi.

Kategori tersembunyi (yaitu probabilistic cluster) adalah distribusi melalui


ruang data, yang bisa direpresentasikan secara matematis
menggunakan probability density function (or distribution function)

Ex. 2 kategori penjualan kamera

consumer line vs. professional line

density functions f1, f2 untuk C1, C2

Diperoleh dari probabilistic clustering

Mixture model mengasumsikan bahwa satu set objek yang diamati adalah
campuran contoh dari beberapa probabilistic clusters, dan secara konsep tiap
objek yang diamati dihasilkan secara independen

Out task: Diambil kesimpulan satu set dari k probabilistic clusters yang
sebagian besar cenderung menghasilkan D menggunakan data generation
process di atas
7

Model-Based Clustering

Set C dari k probabilistic clusters C1, ,Ck dgn probability fungsi kepadatan
f1, , fk, masing-masing, dan probabilitasnya 1, , k.

Probability sebuah objek o dihasilkan oleh cluster Cj adl

Probability o dihasilkan oleh set dari cluster C adalah

Sejak objek diasumsikan dihasilkan secara independen,


untuk data set D = {o1, , on}, kita punya,

Tugas: Temukan set C dari k probabilistic clusters s.t. P(D|C) dimaksimalkan


Bagaimanapun, memaksimalkan P(D|C) sering tak mudah ditangani karena
fungsi kepadatan probabilitas cluster dapat berbentuk rumit dan tak teratur.
Untuk membuatnya layak dikomputasi/dihitung (sebagai kompromi), diambil
fungsi kepadatan probabilitas menjadi beberapa distribusi parameter
8

Univariate Gaussian Mixture


Model

O = {o1, , on} (n objek observasi), = {1, , k} (parameter dari


distribusi k), dan Pj(oi| j) adalah probabilitas yang oi hasilkan dari
distribusi j-th menggunakan parameter j, kita punya

Univariate Gaussian mixture model


Asumsikan fungsi kepadatan probabilitas pada setiap cluster
mengikuti distribusi Gaussian 1-d. Dimisalkan ada k cluster.
Fungsi kepadatan probabilitas setiap cluster dipusatkan pada
j
dengan standar deviasi j, j, = (j, j), kita punya

The EM (Expectation Maximization)


Algorithm

K-means algorithm mempunyai dua langkah dalam setiap iterasi:

Expectation Step (E-step): Dilihat dari aliran dari pusat cluster, setiap
objek ditetaplam kepada cluster yang pusatnya paling dekat dengan
objek: Sebuah objek yang diharapkan termasuk dari kluster terdekat

Maximization Step (M-step): Dilihat dari tugas pada cluster, untuk


setiap cluster, algoritma menyesuaikan pusat sehingga jumlah jarak
dari objek yang ditugaskan pada cluster ini dan pusat baru bisa
diminimalkan
The (EM) algorithm: Sebuah kerangka untuk mendekati kemungkinan
maksimum atau perkiraan posteriori maksimum pada parameter di model
statistikal.
E-step menugaskan objek pada cluster menurut aliran pada fuzzy
clustering atau parameter pada probabilistic cluster
M-step mencari clustering baru atau parameter yang memaksimalkan
jumlah dari squared error (SSE) atau kemungkinan yang diharapkan

10

Fuzzy Clustering Using the EM


Algorithm

Mula-mula, misal c1 = a dan c2 = b


1st E-step: tentukan o kpd c1,w. wt =

1st M-step: hitung ulang centroid sesuai dengan matriks partisi, minimalkan
sum of squared error (SSE)

Secara iterasi hitung ini sampai pusat cluster converge atau


perubahannya kecilnya mencukupi

Univariate Gaussian Mixture


Model

O = {o1, , on} (n objek observasi), = {1, , k} (parameter dari


distribusi k), dan Pj(oi| j) adalah probabilitas yang oi hasilkan dari
distribusi j-th menggunakan parameter j, kita punya

Univariate Gaussian mixture model


Asumsikan fungsi kepadatan probabilitas setiap cluster mengikuti
distribusi Gaussian 1-d. Dimisalkan ada k-cluster
Fungsi kepadatan probabilitas pada setiap cluster dipusatkan pada
j dengan deviasi standar j, j, = (j, j), kita punya

12

Computing Mixture Models with


EM

Diberikan objek n O = {o1, , on}, kita ingin menambang sebuah set pada
parameter = {1, , k} s.t.,P(O|) dimaksimalkan, dimana j = (j, j) adalah
titik tengah dan standar deviasi dari j-th univariat distribusi Gaussian
Kita awalnya menetapkan nilai acak pada parameter j, kemudian secara iterasi
melakukan E- dan M-step sampai converge atau terdapat perubahan kecil
Pada E-step, untuk setiap objek oi, hitung probabilitas yang oi termasuk
kedalam setiap distribusi

Pada M-step, sesuaikan the parameter j = (j, j) sehingga


kemungkinan yang diperkirakan P(O|) menjadi maksimal

13

Advantages and Disadvantages of Mixture


Models

Kekuatan

Model campuran lebih umum daripada partisi dan fuzzy clustering

Cluster bisa ditandai menurut jumlah kecil dari parameter

Hasilnya mungkin memenuhi asumsi statistik dari model generatif

Kelemahan

Berkumpul pada local optimal (kelemahan: dijalankan berulang


kali dengan inisialisasi acak)

Mahalnya komputasi/penghitungan jika jumlah distribusinya besar,


atau set data yg berisi sangat sedikit poin data yang bisa diamati

Butuh set data yang besar

Sulit memperkirakan jumlah pada cluster

14

Chapter 11. Cluster Analysis: Advanced


Methods

Probability Model-Based Clustering

Clustering High-Dimensional Data

Clustering Graphs and Network Data

Clustering with Constraints

Summary

15

Clustering High-Dimensional Data

Clustering high-dimensional data (Seberapa tinggikah high-D pada clustering?)

Banyak aplikasi : text documents, DNA micro-array data

Tantangan utama:
Banyak dimensi tidak relevan dapat menutupi cluster
Pengukuran jarak menjadi tidak berartikarena jarak equi
Cluster mungkin hanya ada di subspace
Metode

Subspace-clustering: mencari cluster yang ada di subspace ruang data


yang memiliki dimensi tinggi
CLIQUE, ProClus, dam bi-clustering approaches

Dimensionality reduction approaches: membangun dimensi ruang yang


jauh lebih rendah dan mencari cluster disana (mungkin membangun
dimensi baru dengan menggabungkan beberapa dimensi dalam data asli)
Dimensionality reduction methods dan spectral clustering

16

Traditional Distance Measures May


Not Be Effective on High-D Data

Pengukuran jarak tradisional bisa didominasi oleh noise di banyak


dimensi
Contoh : Manakah pasangan kustomer yang lebih mirip?

Dengan Euclidean distance, kita mendapat,


Kendati Ada dan Cathy terlihat lebih mirip
Clustering seharusnya tidak hanya mempertimbangkan dimensi tetapi
juga atribut (fitur)
Transformasi fitur: efektif jika kebanyakan dimensi relevan(PCA &
SVD berguna ketika fitur sangat berkaitan/berlebihan)
Seleksi fitur: berguna untuk menemukan subspace dimana data
mempunyai cluster yang baik

17

The Curse of Dimensionality


(grafik diadaptasi dari Parsons et al. KDD Explorations
2004)

Data di dalam satu dimensi biasanya


dikemas secara keseluruhan

Menambahkan dimensi meregangkan


titik melintasi dimensi itu, membuatnya
berjauhan

Menambahkan lebih banyak dimensi


akan membuat titik berjauhandata
dimensi tinggi menjadi sangat jarang

Pengukuran jarang menjadi tidak


berguna dikarenakan equi-distance
18

Why Subspace Clustering?


(diadaptasi dari Parsons et al. SIGKDD Explorations
2004)

Clusters hanya eksis di beberapa may subspace

Subspace-clustering: menemukan cluster di semua


subspaces

19

Subspace Clustering Methods

Subspace search methods: mencari bermacam macam


subspaces untuk menemukan cluster

Bottom-up Approaches

Top-down Approaches

Correlation-based clustering methods

E.g., PCA based approaches

Bi-clustering methods

Optimization-based methods

Enumeration methods

Subspace Clustering Method (I):


Subspace Search Methods

Mencari bermacam macam subspace untuk menemukan cluster

Bottom-up approaches

Dimulai dari low-D subspaces dan mencari higher-D subspaces


hanya ketika kemungkinan terdapat cluster di subspace tersebut

Berbagai teknik pemangkasan untuk mengurangi jumlah dari higherD subspace yang harus dicari

Ex. CLIQUE (Agrawal et al. 1998)

Top-down approaches

Dimulai dari space yang penuh dan mencari subspace yang lebih
kecil secara rekursif

Efektif hanya jika asumsi lokal dipegang: batasan bahwa subspace


dari sebuah cluster dapat ditentukan oleh lingkungan lokal

Ex. PROCLUS (Aggarwal et al. 1999): a k-medoid-like method


21

Subspace Clustering Method (II):


Correlation-Based Methods

Subspace search method: kesamaan berdasarkan jarak


atau kepadatan

Correlation-based method: berdasarkan pada model korelasi


lanjutan

Contoh pendekatan PCA-based:

Terapkan PCA (Principal Component Analysis) untuk


memperoleh satu set baru yang tidak berhubungan

Lalu tambang cluster di space baru atau subspacenya

Space transformasi yang lain:

Hough transform

Fractal dimensions
22

Subspace Clustering Method (III):


Bi-Clustering Methods
Bi-clustering: Cluster objek dan atribut secara serentak
(memperlakukan objek dan atribut secara simetris)
Empat syarat:
Hanya satu set kecil objek yang berpartisipasi dalam
sebuah cluster
Sebuah cluster hanya melibatkan sejumlah kecil
atribut
Sebuah objek dapat berpartisipasi dalam beberapa
kelompok, atau tidak berpartisipasi dalam cluster
sama sekali

Cth. 1. Gene expression atau microarray


data: sebuah matrik sampel gen/kondisi
Setiap elemen di dalam matrix,
bilangan real, mencatat tingkat
ekspresi gen dibawah kondisi tertentu
Cth. 2. mengcluster konsumen dan
produk

23

Types of Bi-clusters

Buat A = {a1, ..., an} adalah set gen, B = {b1, , bn} adalah set kondisi

Bi-cluster: sebuah submatrick dimana gen dan kondisi mengikuti beberapa


pola yang konsisten
4 tipe dari bi-clusters (kasus ideal)
Bi-clusters dengan nilai konstan:
Untuk setiap i di I dan j di J, e = c
ij

Bi-clusters dengan nilai konstan pada baris:


e = c +
ij
i
Juga, dapat menjadi nilai konstan pada kolom
Bi-clusters dengan nilai koheren (aka. pattern-based clusters)
e = c + +
ij
i
j

Bi-clusters dengan evolusi koheren pada baris


e (e
ij
i1j1 ei1j2)(ei2j1 ei2j2) 0

yaitu, hanya tertarik pada naik- atau turun- perubahan diatur melintasi
gen atau kondisi tanpa membatasi pada nilai-nilai yang tepat
24

Bi-Clustering Methods

Data dari dunia nyata noisy: cobalah untuk menemukan perkiraan biclusters
Metode: Optimization-based methods vs. enumeration methods
Optimization-based methods
Cobalah untuk menemukan sebuah submatrik pada waktu yang
mencapai signifikansi terbaik sebagai bi-cluster
dikarenakan biaya di dalam penghitungan, greedy search
digunakan untuk mencari local optimal bi-clusters
Cth. -Cluster Algorithm (Cheng and Church, ISMB2000)
Enumeration methods
Gunakan ambang batas toleransi untuk menentukan tingkat noise
yang diperbolehkan dalam bi-cluster untuk ditambang
Kemudian cobalah untuk menghitung semua submatriks sebagai
bi-cluster yang memenuhi persyaratan
Cth. -pCluster Algorithm (H. Wang et al. SIGMOD2002, MaPle:
Pei et al., ICDM2003)

25

Bi-Clustering for Micro-Array Data Analysis

Gambar sebelah kiri: Data mentah Micro-array menampilkan 3


gen dan nilai-nilainya dalam multi-D space : Sulit untuk
menemukan pola mereka

Dua gambar sebelah kanan: Beberapa subset dari dimensi


membentuk pola shift dan scaling yang bagus

tidak ada definisi global mengenai kesamaan/pengukuran jarak

Clusters mungkin tidak eksklusif

Sebuah objek bisa muncul di beberapa cluster

26

Bi-Clustering (I): -Bi-Cluster

Untuk submatriks I x J, titik tengan dari baris i-th:

Titik tengah dari kolom j-th:

Titik tengah dari semua element pada


submatriks adalah

Kualitas dari submatriks sebagai bi-cluster bisa diukur dengan nilai mean
squared residue

submatriks I x J adalah -bi-cluster jika H(I x J) dimana 0 adalah ambang


batas. ketika = 0, I x J adalah bi-cluster yang sempurna dengan nilai koheren.
Dengan menetapkan > 0, user bisa menentukan toleransi rata-rata noise per
elemen terhadap bi-cluster yang sempurna

residue(eij) = eij eiJ eIj + eIJ


27

Bi-Clustering (I): The -Cluster Algorithm

Maximal -bi-cluster adalah -bi-cluster I x J dimana tidak ada -bi-cluster I x J yang


eksis yang mengandung I x J
Penghitungan yang mahal: Gunakan greedy search heuristik untuk mendapatkan cluster
lokal yang optimal
Dua fase penghitungan: deletion phase dan additional phase
Deletion phase: Mulai dari seluruh matriks, secara iteratif hapus baris dan kolom
sementara mean squared resideu dari matriks berakhir

Pada setiap iterasi, setiap baris/kolom, hitung mean squared residue:

Hapus baris atau kolom dari mean squared residue yang paling besar
Addition phase:

Perluaslah secara iteratif -bi-cluster I x J yang diperoleh dalam tahap penghapusan


selama persyaratan -bi-cluster dipelihara/dipertahankan

Pertimbangkan semua baris/kolom yang tidak terlibat dalam aliran bi-cluster I x J


dengan menghitung mean squared residuenya

Kolom/baris dari mean squared residue yang terkecil ditambahkan kedalam aliran bi-cluster
Hanya ditemukan satu -bi-cluster, yang perlu dijalankan beberapa kali: mengganti
elemen dalam output bi-cluster dengan nomor acak

28

Bi-Clustering (II): -pCluster

Cacah semua bi-clusters (-pClusters) [H. Wang, et al., Clustering by pattern


similarity in large data sets. SIGMOD02]

Sejak submatriks I x J adalah bi-cluster dengan nilai koheren (sempurna) iff ei1j1 ei2j1
= ei1j2 ei2j2. Untuk setiap submatriks 2 x 2 dari I x J, tentukan p-score

Submatrix I x J adalah -pCluster (pattern-based cluster) jika p-score dari setiap


submatriks 2 x 2 dari I x J adalah paling banyak , dimana 0 adalah ambang
batas menetapkan toleransi user dari noise terhadap bi-cluster sempurna

p-score mengontrol noise pada setiap elemen di bi-cluster, sementara mean squared
residue menangkap noise sedang
Monotonicity: Jika I x J adalah -pClusters, setiap x x y (x,y 2) submatriks dari I x
J adalah juga -pClusters.
-pCluster maksimal jika tidak ada baris atau colom yang bisa ditambahkan lagi
kedalam cluster dan menahan -pCluster: kita hanya perlu untuk menghitung semua
-pClusters maksimal

29

MaPle: Efficient Enumeration of pClusters

Pei et al., MaPle: Efficient enumerating all maximal -pClusters.


ICDM'03
Kerangka: Sama seperti pola pertumbuhan pada frequent pattern
mining (berdasarkan pada downward closure property)
Untuk setiap kombinasi kondisi J, temukan subset maksimal
subset pada gen I seperti I x J adalah -pClusters

If I x J is not a submatrix of another -pClusters

then I x J is a maximal -pCluster.


Algoritma sangat mirip dengan mining frequent closed itemsets
Keuntungan tambahan dari -pClusters:

Karena rata-rata dari -cluster, mungkin mengandung outlier


tapi masih dalam -threshold
Menghitung bi-clusters untuk pola skala, ambil logaritma pada

d xa / d ya
d xb / d yb

Akan mengarah pada bentuk p-score


30

Dimensionality-Reduction Methods

Dimensionality reduction: Dalam beberapa situasi,


lebih efektif untuk membangun space baru daripada
menggunakan beberapa subspace dari data asli

Cth. Pada cluster poin di gambar sebelah kanan, setiap subspace dari yang
asli, X dan Y, tidak bisa membantu, disebabkan ketiga cluster akan
diproyeksikan ke daerah yang tumpang tindih di sumbu X dan Y
Buat dimensi baru dibagian yang putus-putus, tiga cluster menjadi jelas
ketika poin diproyeksikan ke dalam dimensi baru
Dimensionality reduction methods
Seleksi dan ekstraksi fitur: Tapi kemungkinan tidak fokus pada
penemuan struktur cluster
Spectral clustering: menggabungkan fitur ekstraksi dan clustering (yaitu
menggunakan spectrum dari matriks yang sama untuk melakukan
pengurangan dimensi untuk clustering dalam dimensi yang lebih sedikit)
Normalized Cuts (Shi and Malik, CVPR97 or PAMI2000)
The Ng-Jordan-Weiss algorithm (NIPS01)

31

Spectral Clustering:
The Ng-Jordan-Weiss (NJW) Algorithm

Buat set objek o1, , on, dan jarak antara setiap pasangan objek, dist(oi, oj),
temukan nomor k yang diinginkan pada clusters
Hitung matriks persamaan W, dimana adalah parameter skala yang
mengontrol seberapa cepat persamaan Wij menurun seiring dist(oi, oj)
meningkat. Pada NJW, atur Wij = 0
Dapatkan matriks A = f(W). NJW menetapkan matriks D menjadi matriks
diagonal s.t. Dii adalah jumlah baris i-th dari W, yaitu,
Lalu, A diatur menjadi
Spectral clustering method menemukan k leading eigenvectors dari A

A vector v adalah eigenvector dari matriks A jika Av = v, dimana


adalah yang menghubungkan eigen-value
Menggunakan k leading eigenvectors, proyeksikan data asli ke dalam space
baru yang didefinisikan olej k leading eigenvectors, dan jalankan algoritma
clustering, seperti k-means, untuk menemukan k clusters
Tetapkan poin data asli untuk cluster sesuai dengan bagaimana poin yang
berubah ditugaskan di dalam cluster yang didapat
32

Spectral Clustering: Illustration and


Comments

Spectral clustering: Efektif dalam tugas seperti image processing


Scalability challenge: menghitung eigenvector pada matriks yang besar
berbiaya mahal
Bisa digabungkan dengan metode clustering lain, seperti bi-clustering

33

Chapter 11. Cluster Analysis: Advanced


Methods

Probability Model-Based Clustering

Clustering High-Dimensional Data

Clustering Graphs and Network Data

Clustering with Constraints

Summary

34

Clustering Graphs and Network Data

Aplikasi
Bi-partite graphs, misalnya, kustomer dan produk,
author dan conference
Web search engines, misalnya, click through graphs
dan Web graphs
Social networks, friendship/coauthor graphs
Similarity measures/pengukuran kesamaan
Geodesic distances
Distance based on random walk (SimRank)
Graph clustering methods
Minimum cuts: FastModularity (Clauset, Newman &
Moore, 2004)
Density-based clustering: SCAN (Xu et al., KDD2007)
35

Similarity Measure (I): Geodesic


Distance

Geodesic distance (A, B): panjang (i.e., # of edges) dari jalur terpendek
antara A dan B (jika tidak terhubung, definisikan sebagai tak terbatas)
Eccentricity of v, eccen(v): Jarak geodesic terbesar antara v dan setiap
vertex (simpul) lainnya u V {v}.
Misal, eccen(a) = eccen(b) = 2; eccen(c) = eccen(d) = eccen(e) = 3
Radius of graph G: Eksentrisitas minimum semua simpul, yaitu, jarak
antara most central point dan farthest border
r = min
vV eccen(v)
Misal, radius (g) = 2
Diameter of graph G: Eksentrisitas maksimum pada semua simpul, yaitu,
jarak terbesar antara setiap pasangan simpul didalam G
d = max
vV eccen(v)

Misal, diameter (g) = 3


peripheral vertex adalah simpul yang mencapai diameter.
Misal, Simpul c, d, dan e adalah simpul peripheral

36

SimRank: Similarity Based on Random


Walk and Structural Context

SimRank: kesamaan konteks-struktural, yaitu, berdasarkan pada


kesamaan tetangganya

In a directed graph G = (V,E),

individual in-neighborhood of v: I(v) = {u | (u, v) E}

individual out-neighborhood of v: O(v) = {w | (v, w) E}

Kesamaan dalam SimRank:

Inisialisasi:

Lalu kita dapat menghitung si+1 dari si berdasarkan dari definisi

Kesamaan berdasarkan pada random walk: dalam komponen yang


kuat terhubung
P[t] is the probability of the

Expected distance:

Expected meeting distance:

Expected meeting probability:

tour

37

Graph Clustering: Sparsest Cut

G = (V,E). Cut set dari potongan adalah set


dari tepi {(u, v) E | u S, v T } dan S
dan T berada di dua partisi
ukuran dari potongan: # dari tepi pada cut
set
Min-cut (e.g., C1) bukan partisi yang baik
Pengukur yang baik: Sparsity:
Sebuah potongan dikatakan sparsest jika sparsitynya tidak lebih besar dari
potongan lainnya
Cth. Cut C2 = ({a, b, c, d, e, f, l}, {g, h, i, j, k}) adalah potongan sparset
Untuk cluster k , modularity (modularitas) pada clustering yang menilai kualitas
li: # edges between vertices in the i-th cluster
pd clustering:
di: the sum of the degrees of the vertices in the i-th
cluster

Modularitas dari grafik klustering adalah perbedaan antara fraksi semua tepi
yang jatuh kedalam kluster individu dan fraksi yang akan melakukannya jika
simpul grafik terhubung secara acak
Clustering grafik optimal memaksimalkan modularitas

38

Graph Clustering: Challenges of Finding Good


Cuts

Biaya penghitungan yang tinggi


Banyak grafik pemotong masalah mahal dalam penghitungan
Sparsest pemotong masalah adalah NP-hard
Perlu menukar antara efisiensi/skalabilitas dan kualitas
Sophisticated graphs
Mungkin mencakup berat dan/atau siklus.
High dimensionality
Sebuah grafik dapat memiliki banyak simpul. Dalam matriks
persamaan, simpul direpresentasikan sebagai vektor (baris dalam
matriks) yang dimensinya adalah jumlah simpul dalam grafik
Sparsity
Grafik yang besar seringkali sparse (jarang/tipis), yang berarti setiap
sudut rata-rata hanya menghubungkan sejumlah kecil simpul lain
Matriks persamaan dari grafik sparse yang besar bisa juga menjadi
sparse
39

Two Approaches for Graph Clustering

Dua pendekatan untuk clustering data grafik

Gunakan generic clustering methods untuk data berdimensi tinggi

Didesain khusus untuk grafik clustering

Menggunakan metode clustering untuk data berdimensi tinggi

Ekstrak matrik kesamaan dari grafik menggunakan pengukur kesamaan

Sebuah metode clustering yang umum kemudian dapat diterapkan pada


matriks kesamaan untuk menemukan cluster

Cth. Spectral clustering: perkiraan solusi pemotongan grafik yang optimal

Metode spesifik untuk grafik

Cari grafik untuk menemukan komponen yang terhubung dengan baik


sebagai cluster

Cth. SCAN (Structural Clustering Algorithm for Networks)

X. Xu, N. Yuruk, Z. Feng, and T. A. J. Schweiger, SCAN: A Structural


Clustering Algorithm for Networks, KDD'07
40

SCAN: Density-Based Clustering


of Networks

Seberapa banyak clusternya?

Seberapakah ukuran
seharusnya?

Apakah partisi terbaiknya?

Haruskah beberapa poin


dipisah?

An Example Network

Aplikasi: Hanya dengan menggunakan informasi sederhana yang


mengaitkan dengan siapa, bisakah diindentifikasi cluster individual dengan
kepentingan umum atau hubungan khusus (keluarga, geng, sel teroris?)
41

A Social Network Model

Geng, pusat dan orang luar

Individu dalam kelompok sosial yang ketat, atau geng, tahu banyak
tentang orang yang sama, terlepas dari ukuran kelompok

Individu yang menjadi pusat tahu banyak orang dalam kelompok


yang berbeda tetapi tidak termasuk dalam kelompok manapun.
Politisi, misalnya menjembatani beberapa kelompok.

Individu yang outlier berada di pinggiran masyarakat. Pertapa,


misalnya, tahu beberapa orang dan tidak termasuk dalam kelompok
apapun

Lingkungan sebuah Vertex

Mendefinisikan () sebagai lingkungan


langsung dari vertex (yaitu kumpulan
orang yang individu tahu)

42

Structure Similarity

Fitur yang diinginkan cenderung ditangkap oleh suatu


ukuran yang kita sebut Structural Similarity

| (v) ( w) |
(v, w)
| (v) || ( w) |

Structural similarity (kesamaan structural) besar untuk


anggota geng (clique) dan kecil untuk hubs dan outliers

43

Structural Connectivity [1]

-Neighborhood:

Core:

Direct structure reachable:

N (v) {w (v) | (v, w) }

CORE , (v) | N (v) |


DirRECH , (v, w) CORE , (v) w N (v)

Structure reachable: penutupan transitif pada struktur


langsung yang terjangkau

Structure connected:
CONNECT , (v, w) u V : RECH , (u, v) RECH , (u, w)

[1] M. Ester, H. P. Kriegel, J. Sander, & X. Xu (KDD'96) A Density-Based


Algorithm for Discovering Clusters in Large Spatial Databases
44

Structure-Connected Clusters

Structure-connected cluster C

Connectivity:

Maximality:

v, w C : CONNECT , (v, w)

v, w V : v C REACH , (v, w) w C

Hubs:

Bukan milik kluster manapun

Jembatan bagi banyak kluster

Outliers:

Bukan milik kluster manapun

Berhubungan dengan lebih sedikit


cluster
outlier

hub

45

Running Time

Running time = O(|E|)


For sparse networks = O(|V|)

[2] A. Clauset, M. E. J. Newman, & C. Moore, Phys. Rev. E 70, 066111 (2004).
46

Chapter 11. Cluster Analysis: Advanced


Methods

Probability Model-Based Clustering

Clustering High-Dimensional Data

Clustering Graphs and Network Data

Clustering with Constraints

Summary

47

Why Constraint-Based Cluster


Analysis?

Membutuhkan umpan balik dari user: user tahu dengan baik aplikasi
mereka
Lebih sedikit parameter tetapi kendalanya lebih diinginkan, misalnya,
masalah alokasi ATM & cluster yang diinginkan

48

Categorization of Constraints

Contoh constraints (kendala): menentukan bagaimana sepasang atau satu


set contoh harus dikelompokkan dalam analisis cluster

Must-link vs. cannot link constraints

Constraints bisa didefinisikan menggunakan variabel, misal,

Misalnya menentukan min # dari objek dalam cluster, max diameter


cluster, bentuk cluster (misal cembung), # pada cluster (misal k)

Constraints pada pengukuran kesamaan: menetapkan persyaratan bahwa


perhitungan kesamaan harus dipatuhi

cannot-link(x, y) if dist(x, y) > d

Constraints pada clusters: menetapkan persyaratan pada cluster

must-link(x, y): x dan y harus dikelompokkan ke dalam satu cluster

Misal berkendara di jalan, hambatan (misal sungai, danau)

Isu : Hard vs. soft constraints; constraints yang bertentangan atau


berlebihan
49

Constraint-Based Clustering Methods (I):


Handling Hard Constraints

Menangani constraints yang sulit: Harus mematuhi constraint pada


tugas cluster
Contoh: COP-k-means algorithm
Menghasilkan super-instances untuk must-link constraints
Menghitung penutupan transitif dari must-link constraints
Untuk mewakili subset tersebut, ganti semua benda yang ada
di subset dengan mean (titik tengah)

Super-instance juga membawa beban, yang merupakan jumlah


objek yang diwakilinya
Lakukan modifikasi k-means clustering untuk mematuhi cannot-link
constraints

Modifikasi proses center-assignment di k-means untuk


ditugaskan di center terdekat yang layak (nearest feasible
center assignment)

sebuah objek ditugaskan ke center terdekat sehingga tugas


mematuhi semua cannot-link constraints
50

Constraint-Based Clustering Methods (II):


Handling Soft Constraints

Dianggap sebagai masalah optimasi: ketika clustering menyalahi soft


constraint, penalti dikenakan pada clustering
Tujuan keseluruhan: mengoptimalkan kualitas clustering dan meminimalkan
penalti pada pelanggaran constraint (constraint violation)
Cth. CVQE (Constrained Vector Quantization Error) algorithm: Melakukan kmeans clustering sementara memaksakan penalti pada pelanggaran
constraint
Fungsi objektif: menjumlahkan jarak yang digunakan dalam k-means,
disesuaikan dengan penalti pelanggaran constraint
Penalti pada pelanggaran must-link
Jika objek x dan y harus dihubungkan (must-be-linked) tetapi mereka
ditugaskan pada center yang berbeda, c1 dan c2, dist(c1, c2)
ditambahkan kepada fungsi objektif sebagai penalti
Penalti pada pelanggaran cannot-link
Jika objek x dan y tidak bisa dihubungkan (cannot-be-linked) tetapi
mereka ditugaskan pada center c yang umum, dist(c, c), antara c
dan c ditambahkan pada fungsi objektif sebagai penalti, dimana c
adalah cluster terdekat pada c yang dapat menampung x atau y
51

Speeding Up Constrained Clustering

Membutuhkan biaya untuk menghitung beberapa


clustering yang dibatasi (constrained)
Cth. Clustering dengan objek berkendala: Tung,
Hou, dan Han. Spatial clustering dengan adanya
hambatan, ICDE'01
K-medoids lebih disukai karena k-means
mungkin menemukan ATM center di tengah
danau
Visibilitas grafik dan jalur terpendek
Triangulasi dan micro-clustering
Dua jenis indeks bergabung (jalur terpendek)
layak melakukan pra-perhitungan/pre-komputasi
VV index: indeks untuk setiap pasangan
vertices berkendala
MV index: indeks untuk setiap pasangan dari
micro-cluster dan indeks berkendala
(obstacle indices)

52

An Example: Clustering With Obstacle


Objects

Tidak mengambil obstacle


(hambatan) kedalam akun

Mengambil obstacle
(hambatan) kedalam akun

53

User-Guided Clustering: A Special Kind of


Constraints
person

name

course

course-id

group

office

semester

name

position

instructor

area

Advise
professor

name

student

area

degree

User hint

Target of
clustering

Course

Professor

Group

Open-course

Work-In

Publish

Publication

author

title

title

year
conf

Register
student

Student

course

name
office

semester

position

unit
grade

X. Yin, J. Han, P. S. Yu, Cross-Relational Clustering with User's Guidance,


KDD'05
User biasanya mempunyai goal saat clustering, contoh, mengcluster murid
berdasarkan daerah pencarian
User menentukan clustering goalnya pada CrossClus

54

Chapter 11. Cluster Analysis: Advanced


Methods

Probability Model-Based Clustering

Clustering High-Dimensional Data

Clustering Graphs and Network Data

Clustering with Constraints

Summary

55

Summary

Probability Model-Based Clustering


Fuzzy clustering
Probability-model-based clustering
The EM algorithm
Clustering High-Dimensional Data
Subspace clustering: bi-clustering methods
Dimensionality reduction: Spectral clustering
Clustering Graphs dan Network Data
Graph clustering: min-cut vs. sparsest cut
High-dimensional clustering methods
Graph-specific clustering methods, e.g., SCAN
Clustering dengan Constraints
Constraints pada objek instant, misal, Must link vs. Cannot Link
Constraint-based clustering algorithms
56

Terima Kasih

57

Você também pode gostar