Anda di halaman 1dari 48

Unsupervised Learning

Inteligensi Buatan – IF3111


Program Studi Teknik Informatika
Jurusan Teknologi Produksi dan Industri
Institut Teknologi Sumatera
2022

1
Cluster Validation
Supervised classification:
• Ground truth class labels known
• Accuracy, precision, recall Precision = 5/5 = 100%
Recall = 5/7 = 71%
Cluster analysis:
• No class labels Oranges:

Validation need to: Apples:


• Compare clustering algorithms P

• Solve the number of clusters


• Avoid finding patterns in noise Precision = 5/5 = 100%
Recall = 3/5 = 60%

2
Measuring clustering validity

Internal Index:
•Validate without external info
•With different number of
clusters ? ?
•Solve the number of clusters
External Index
•Validate against ground truth
•Compare two clusters: ?
(how similar)
?

3
Which clustering is better?

4
Which clustering is better?

5
Which clustering is better?

6
Clustering Evaluation

• Membedakan apakah struktur non-random benar-benar ada dalam data


(satu cluster).
• Membandingkan hasil analisis klaster dengan kebenaran dasar eksternal
(label kelas).
• Mengevaluasi seberapa baik hasil sesuai dengan data tanpa mengacu
pada informasi eksternal.
• Membandingkan dua hasil clustering yang berbeda untuk menentukan
mana yang lebih baik.
• Menentukan jumlah cluster.

7
Clustering Evaluation

• We need to evaluation the “goodness” of the resulting cluster?


• But “clustering lies in the eye of the beholder”?
• Mengapa perlu dilakukan evaluasi cluster?
• Untuk mengetahui adanya noise
• Untuk membandingkan antar algoritma cluster
• Untuk membandingkan “ground truth”

8
Clustering Evaluation
• Cluster validation refers to procedures that evaluate the results of
clustering in a quantitative and objective fashion. [Jain & Dubes, 1988]
• How to be “quantitative”: To employ the measures.
• How to be “objective”: To validate the measures!

INPUT: Clustering Partitions P Validity m*


DataSet(X) Algorithm Codebook C Index

Different number of clusters m

9
Aspek dalam Validation Cluster
1. Menentukan clustering tendency dari sekumpulan data, misalnya membedakan apakah
struktur non-random berada dalam data
2. Membandingkan hasil analisis cluster secara eksternal, misalnya, memberikan label kelas
secara eksternal.
3. Mengevaluasi seberapa baik hasil analisis cluster yang cocok dengan data tanpa mengacu
pada informasi eksternal.
• Gunakan hanya data
4. Membandingkan hasil dari dua set analisis cluster yang berbeda untuk menentukan mana
yang lebih baik.
5. Menentukan ‘correct’ number of clusters.

Untuk point 2, 3, dan 4, kita dapat membedakan lebih lanjut apakah kita ingin mengevaluasi
seluruh clustering atau hanya cluster individu.

10
Validitas Cluster
• Ukuran numerik yang diterapkan untuk menilai berbagai aspek validitas cluster,
diklasifikasikan ke dalam tiga jenis
• Indeks Eksternal: Digunakan untuk mengukur sejauh mana label cluster cocok dengan label
kelas yang disediakan secara eksternal.
• Misalnya, entropi, presisi, recall
• Indeks Internal: Digunakan untuk mengukur kebaikan struktur pengelompokan tanpa mengacu
pada informasi eksternal.
• Misalnya, Jumlah Kesalahan Kuadrat (SSE)
• Indeks Relatif: Digunakan untuk membandingkan dua klaster atau klaster yang berbeda.
• Seringkali indeks eksternal atau internal digunakan untuk fungsi ini, misalnya, SSE atau entropi

• Kadang-kadang ini disebut sebagai kriteria, bukan indeks


• Namun, terkadang kriteria adalah strategi umum dan indeks adalah ukuran numerik yang
mengimplementasikan kriteria.

11
Mengukur Validitas Cluster Melalui Korelasi
• Dua matriks
• Similarity atau Distance Matriks
• Satu baris dan satu kolom untuk setiap titik data
• Entri adalah kesamaan atau jarak dari pasangan titik yang terkait
• "Insiden“ Matrik
• Satu baris dan satu kolom untuk setiap titik data
• Entri adalah 1 jika pasangan poin terkait termasuk dalam cluster yang sama
• Entri adalah 0 jika pasangan poin terkait termasuk dalam cluster yang berbeda

• Hitung korelasi antara kedua matriks


• Karena matriksnya simetris, hanya korelasi antara n(n-1) / 2 entri yang perlu dihitung.

• Korelasi yang tinggi (positif untuk kesamaan, negatif untuk jarak) menunjukkan bahwa titik-titik yang
termasuk dalam cluster yang sama saling berdekatan.
• Bukan ukuran yang baik untuk beberapa cluster berbasis kepadatan atau kedekatan.

12
Mengukur Validitas Cluster Melalui Korelasi
• Korelasi matriks insiden dan kedekatan untuk pengelompokan K-means dari dua set data
berikut.

13
Matrik Similarity untuk validasi cluster
• Matriks Similarity memiliki hubungan dengan label cluster dan pemeriksa secara visual.

14
Matrik Similarity untuk validasi cluster
• Clusters in random data are not so crisp

15
Matrik Similarity untuk validasi cluster
• Clusters in random data are not so crisp

16
Matrik Similarity untuk validasi cluster
• Clusters in random data are not so crisp

17
Matrik Similarity untuk validasi cluster

DBSCAN
• Clusters in more complicated figures are not well separated
• This technique can only be used for small datasets since it requires a quadratic
computation

18
Internal indexes
• Ground truth is rarely available but unsupervised validation must be done.
• Minimizes (or maximizes) internal index:
• Variances of within cluster and between clusters
• Rate-distortion method
• F-ratio
• Davies-Bouldin index (DBI)
• Bayesian Information Criterion (BIC)
• Silhouette Coefficient
• Minimum description principle (MDL)
• Stochastic complexity (SC)

19
Internal Measure : SSE
• Indeks Internal: Digunakan untuk mengukur kebaikan struktur pengelompokan tanpa
mengacu pada informasi eksternal, ex SSE
• SSE baik untuk membandingkan dua cluster (Average SSE).
• Dapat juga digunakan untuk memperkirakan jumlah cluster

20
Internal Measures: Cohesion and Separation
• Cohesion Cluster: Mengukur seberapa dekat keterkaitan objek dalam sebuah cluster
• Separation Cluster: Mengukur seberapa berbeda atau terpisah dengan baik sebuah
cluster dari cluster lain
• Contoh: Sequared Error
• Cohesion diukur dengan jumlah kuadrat dalam cluster (Sum of Squares / SSE)

• Separation diukur dengan jumlah antar cluster kuadrat (Sum of Squares / SSE)

• Dimana ‘mi’ adalah ukuran cluster ‘i’ , ‘c’ adalah overall mean

• Interesting observation: WSS+BSS = constant

21
Internal Measures: Cohesion and Separation
• A proximity graph based approach can also be used for cohesion and separation.
• Cluster Cohesion adalah jumlah bobot semua link dalam sebuah cluster.
• Cluster separation adalah jumlah bobot antara node dalam cluster dan node di luar
cluster.

a(x): average distance


in the cluster
x x

b(x): average distances to


cohesion
others clusters, find minimal

separation 22
Internal Measures: Silhouette Coefficient
• Silhouette Coefficient menggabungkan ide-ide dari kedua cohesion dan separation,
tetapi untuk poin individu, serta clustering
• Untuk titik individu i
• Hitung a = average distance of 𝑖 to the points in its own cluster
• Hitung b = min (over clusters) of the average distance of 𝑖 to points in other clusters
• The silhouette coefficient for a point is then given by
• S= 1 – a/𝑏
• Biasanya rentang 0 dan 1.
• Semakin mendekati 1 semakin baik.
• Bisa kurang dari 0 tapi ini adalah kasus yang bermasalah

• Dapat menghitung silhouette coefficient Rata-rata untuk sebuah cluster

23
Silhouette Coefficient Example

24
Davies-Bouldin index (DBI)
• Minimize intra cluster variance
• Maximize the distance between clusters
• Cost function weighted sum of the two:

MAE j + MAE k
R j ,k =
d (c j , c k )
M
1
DBI =
M
 max R
j =1
j k
j ,k

25
Davies-Bouldin index (DBI)

26
Internal indexes

27
Internal indexes

Soft partitions

28
Internal measures – caveats

• Internal measures have the problem that the clustering


algorithm did not set out to optimize this measure, so it is will not
necessarily do well with respect to the measure.
• An internal measure can also be used as an objective function
for clustering

29
Framework for Cluster Validity
• Perlu Framework untuk menjelaskan hasil dari measure.
• Misalnya, jika measure/ukuran evaluasi kita bernilai 10, apakah itu baik, sedang, atau buruk?

• Statistik menyediakan framework untuk validitas cluster


• Semakin "non-random" hasil pengelompokan, semakin besar kemungkinan itu mewakili struktur
yang valid dalam data
• Dapat membandingkan nilai indeks yang dihasilkan dari data random atau pengelompokan
dengan hasil clustering.
• Jika nilai indeks tidak mungkin / unlikely, maka hasil cluster valid

• Untuk membandingkan hasil dari dua set analisis cluster yang berbeda, framework
kurang diperlukan.
• Namun, apakah perbedaan antara dua nilai indeks itu signifikan?

30
Statistical Framework For SSE
• Bandingkan SSE dari tiga cluster dalam data random
• Histogram SSE untuk tiga cluster dalam 500 kumpulan data random dari 100 random point
yang terdistribusi dalam rentang 0,2 – 0,8 untuk x dan y
• Nilai 0.005 sangat tidak mungkin

31
Statistical Framework for Correlation
• Correlation of incidence and proximity matrices for the K-means clustering of the
following two data sets.

32
Empirical p-value
• Jika kita memiliki pengukuran v (misalnya, nilai SSE)
• … dan kami memiliki N pengukuran pada dataset random
• … nilai p empiris adalah fraksi pengukuran dalam data random yang memiliki nilai lebih
kecil atau sama dengan nilai v (atau lebih besar atau sama jika kita ingin
memaksimalkan)
• yaitu, nilai dalam kumpulan data random setidaknya sama baiknya dengan nilai dalam data
nyata

• Kami biasanya membutuhkan p-value ≤ 0,05

33
Bayesian information criterion (BIC)
Formula for GMM
1
BIC = L( ) − m log n
2
L(θ) -- log-likelihood function of all models;
n -- size of data set;
m -- number of clusters
Under spherical Gaussian assumption, we get :

Formula of BIC in partitioning-based clustering


m
ni * d ni ni − m 1
BIC =  (ni log ni − ni log n − log(2 ) − log i − ) − m log n
i =1 2 2 2 2
d -- dimension of the data set
ni -- size of the ith cluster
∑ i -- covariance of ith cluster

34
Knee Point Detection on BIC

Original BIC = F(m) SD(m) = F(m-1) + F(m+1) – 2∙F(m)

35
Estimating the “right” number of clusters
• Typical approach: find a “knee” in an internal measure curve.

• Pertanyaan: mengapa bukan k yang meminimalkan SSE?


• Referensi ke depan: meminimalkan ukuran, tetapi dengan pengelompokan "sederhana"
• Desirable property : algoritma pengelompokan tidak memerlukan jumlah cluster yang
ditentukan (mis., DBSCAN)

36
Estimating the “right” number of clusters
• SSE curve for a more complicated data set

37
External Measures for Clustering Validity
• Asumsikan bahwa data diberi label dengan beberapa label kelas
• Misalnya, dokumen diklasifikasikan ke dalam topik, orang diklasifikasikan menurut pendapatan
mereka, politisi diklasifikasikan menurut partai politik.
• Ini disebut “ground truth"

• Dalam hal ini kami ingin cluster menjadi homogen sehubungan dengan kelas
• Setiap cluster harus berisi elemen sebagian besar satu kelas
• Setiap kelas idealnya harus ditugaskan ke satu cluster

• Ini tidak selalu masuk akal


• Clustering tidak sama dengan klasifikasi
• …tapi ini yang paling sering digunakan orang

38
Confusion Matrix

39
Measure

40
Measure

41
Measure

42
Good and Bad clustering

43
Another Clustering

44
Comparison of the indexes (K-means)

45
External Measures of Cluster Validity: Entropy and Purity

46
Final Comment on Cluster Validity

“The validation of clustering structures is the most difficult and


frustrating part of cluster analysis. Without a strong effort in this
direction, cluster analysis will remain a black art accessible only
to those true believers who have experience and great
courage.”

Algorithms for Clustering Data, Jain and Dubes

47
TERIMA KASIH
Ada pertanyaan ???

48

Anda mungkin juga menyukai