08 clustering

Post on 28-Nov-2014

523 views 2 download

description

 

Transcript of 08 clustering

สอนโดย ดร.หทั�ยร�ตน เกต�มณี�ชั�ยร�ตน

ภาควิ�ชัาการจั�ดการเทัคโนโลย�การผล�ตและสารสนเทัศ

บทัทั�! 8 : การวิ�เคราะห การจั�ดกล�"ม

(Clustering Analysis)

1

What is Clustering in Data Mining?• Cluster : เป็�นกลุ่��มหรื�อคอเลุ่คชั�น (collection) ของวั�ตถุ�

– สามารืถุน�ามาจั�ดกลุ่��มก�นตามควัามเหม�อน (Similarity) – สามารืถุน�ามาจั�ดกลุ่��มก�นตามควัามแตกต�าง (Dissimilarity or Distance)

• Cluster Analysis– เป็�นกรืะบวันการืจั�ดวั�ตถุ�ต�างๆ ให!อยู่#�กลุ่��มที่%&เหมาะสม ซึ่(&งม%ค�ณสมบ�ต*ที่%&วั�ตถุ�ที่%&อยู่#�

ในกลุ่��มเด%ยู่วัก�นจัะคลุ่!ายู่ก�น แต�ม%ควัามแตกต�างจัากวั�ตถุ�ในกลุ่��มอ�&น• Clustering

– การืจั�ดกลุ่��มจัะแตกต�างจัากการืแบ�งป็รืะเภที่ข!อม#ลุ่ (Classification) โดยู่จัะแบ�งกลุ่��มข!อม#ลุ่จัากควัามคลุ่!ายู่ โดยู่ไม�ม%การืก�าหนดฉลุ่ากป็รืะเภที่ข!อม#ลุ่ไวั!ก�อนหรื�อเรืาไม�ที่รืาบจั�านวันกลุ่��มลุ่�วังหน!า เป็�นการืเรื%ยู่นรื# !แบบไม�ม%ผู้#!สอน (unsupervised classification)

2

Cluster Analysis

How many clusters?

Four Clusters Two Clusters

Six Clusters

3

What is Good Clustering?

• จั�ดกลุ่��มโดยู่พยู่ายู่ามให!ส*&งที่%&อยู่#�ในกลุ่��มเด%ยู่วัก�นม%ควัามคลุ่!ายู่คลุ่(งก�นมากที่%&ส�ด (Minimize Intra-Cluster Distances) แลุ่ะพยู่ายู่ามให!แต�ลุ่ะกลุ่��มม%ควัามแตกต�างก�นมากที่%&ส�ด (Maximize Inter-Cluster Distances)

Inter-cluster distances are maximized

Intra-cluster distances are

minimized

4

Types of Clustering

• Partitional Clustering– A division data objects into non-overlapping subsets

(clusters) such that each data object is in exactly one subset

Original Points A Partitional Clustering5

Types of Clustering

• Hierarchical clustering– A set of nested clusters organized as a hierarchical

tree

p4p1

p3

p2

p4 p1

p3

p2

p4p1 p2 p3

p4p1 p2 p3

Hierarchical Clustering#1

Hierarchical Clustering#2 Traditional Dendrogram 2

Traditional Dendrogram 1

6

Types of Clustering• Exclusive versus non-exclusive

– In non-exclusive clusterings, points may belong to multiple clusters.

– Can represent multiple classes or ‘border’ points

• Fuzzy versus non-fuzzy– In fuzzy clustering, a point belongs to every cluster with

some weight between 0 and 1– Weights must sum to 1– Probabilistic clustering has similar characteristics

• Partial versus complete– In some cases, we only want to cluster some of the data

• Heterogeneous versus homogeneous– Cluster of widely different sizes, shapes, and densities

7

Characteristics of Cluster• Well-Separated Clusters:

– A cluster is a set of points such that any point in a cluster is closer (or more similar) to every other point in the cluster than to any point not in the cluster.

3 well-separated clusters

8

Characteristics of Cluster

• Center-based– A cluster is a set of objects such that an object in a

cluster is closer (more similar) to the “center” of a cluster, than to the center of any other cluster.

– The center of a cluster is often a centroid, the average of all the points in the cluster, or a medoid, the most “representative” point of a cluster.

4 center-based clusters

9

Characteristics of Cluster• Density-based

– A cluster is a dense region of points, which is separated by low-density regions, from other regions of high density.

– Used when the clusters are irregular, and when noise and outliers are present.

6 density-based clusters

10

Characteristics of Cluster• Shared Property or Conceptual

Clusters– Finds clusters that share some common

property or represent a particular concept.

2 Overlapping Circles

11

Clustering Algorithms

• K-means clustering

• Hierarchical clustering

12

K-means Clustering• ใชั!หลุ่�กการืการืต�ดแบ�ง (Partition) แบ�งวั�ตถุ� n ต�วัในฐาน

ข!อม#ลุ่ D ออกเป็�นจั�านวัน k กลุ่��ม (สมมต*วั�าเรืาที่รืาบค�า k) • อ�ลุ่กอรื*ที่(ม k-Means จัะต�ดแบ�งวั�ตถุ�ออกเป็�น k กลุ่��ม โดยู่

การืแที่นแต�ลุ่ะกลุ่��มด!วัยู่ค�าเฉลุ่%&ยู่ของกลุ่��ม ซึ่(&งใชั!เป็�นจั�ดศู#นยู่3กลุ่างของกลุ่��มในการืวั�ดรืะยู่ะห�างของต�วัอยู่�างในกลุ่��มเด%ยู่วัก�น

13

K-means Clustering Algorithm

Algorithm: The k-Means algorithm for partitioning based on the mean value of object in the cluster.

Input: The number of cluster k and a database containing n objects.

Output: A set of k clusters that mininimizes the squared-error criterion.

14

K-means Clustering Algorithm

Method1) Randomly choose k object as the initial cluster

centers (centroid);2) Repeat3) (re)assign each object to the cluster to which the

object is the most similar, based on the mean value of the objects in the cluster;

4) Update the cluster mean calculate the mean value of the objects for each

cluster;5) Until centroid (center point) no change;

15

Example: K-Mean Clustering• Problem: Cluster the following eight points

(with (x, y) representing locations) into three clusters A1(2, 10) A2(2, 5) A3(8, 4) A4(5, 8) A5(7, 5) A6(6, 4) A7(1, 2) A8(4, 9).

0 1 2 3 4 5 6 7 8 90

2

4

6

8

10

12

16

Example: K-Mean Clustering• Randomly choose k object as the initial cluster

centers; • k =3 ; c1(2, 10), c2(5, 8) and c3(1, 2).

0 1 2 3 4 5 6 7 8 90

2

4

6

8

10

12

+

+

+

c1

c2

c3

17

Example: K-Mean Clustering

• The distance function between two points a=(x1, y1) and b=(x2, y2) is defined as:

distance(a, b) = |x2 – x1| + |y2 – y1| (2, 10) (5, 8) (1, 2)

Point Dist Mean 1 Dist Mean 2 Dist Mean 3 Cluster

A1 (2, 10)

A2 (2, 5)

A3 (8, 4)

A4 (5, 8)

A5 (7, 5)

A6 (6, 4)

A7 (1, 2)

A8 (4, 9)

18

Example: K-Mean Clustering• Step 2 Calculate distance by using the

distance functionpoint mean1x1, y1 x2, y2(2, 10) (2, 10) distance(point, mean1) = |x2 – x1| + |y2 – y1|

= |2 – 2| + |10 – 10| = 0 + 0 = 0

point mean2x1, y1 x2, y2(2, 10) (5, 8) distance(point, mean2) = |x2 – x1| + |y2 – y1|

= |5 – 2| + |8 – 10| = 3 + 2 = 5point mean3x1, y1 x2, y2(2, 10) (1, 2) distance(point, mean3) = |x2 – x1| + |y2 – y1|

= |1 – 2| + |2 – 10| = 1 + 8 = 9

19

Example: K-Mean Clustering

(2, 10) (5, 8) (1, 2)

Point Dist Mean 1 Dist Mean 2 Dist Mean 3 Cluster

A1 (2, 10) 0 5 9 1

A2 (2, 5)

A3 (8, 4)

A4 (5, 8)

A5 (7, 5)

A6 (6, 4)

A7 (1, 2)

A8 (4, 9)

20

Example: K-Mean Clustering• Calculate distance by using the distance

functionpoint mean1x1, y1 x2, y2(2, 5) (2, 10) distance(point, mean1) = |x2 – x1| + |y2 – y1|

= |2 – 2| + |10 – 5| = 0 + 5 = 5

point mean2x1, y1 x2, y2(2, 5) (5, 8) distance(point, mean2) = |x2 – x1| + |y2 – y1|

= |5 – 2| + |8 – 5| = 3 + 3 = 6

point mean3x1, y1 x2, y2(2, 5) (1, 2) distance(point, mean3) = |x2 – x1| + |y2 – y1|

= |1 – 2| + |2 – 5| = 1 + 3 = 4

21

Example: K-Mean Clustering

(2, 10) (5, 8) (1, 2)

Point Dist Mean 1 Dist Mean 2 Dist Mean 3 Cluster

A1 (2, 10) 0 5 9 1

A2 (2, 5) 5 6 4 3

A3 (8, 4)

A4 (5, 8)

A5 (7, 5)

A6 (6, 4)

A7 (1, 2)

A8 (4, 9)

22

Example: K-Mean Clustering• Iteration#1

(2, 10) (5, 8) (1, 2)

Point Dist Mean 1 Dist Mean 2 Dist Mean 3 Cluster

A1 (2, 10) 0 5 9 1

A2 (2, 5) 5 6 4 3

A3 (8, 4) 12 7 9 2

A4 (5, 8) 5 0 10 2

A5 (7, 5) 10 5 9 2

A6 (6, 4) 10 5 7 2

A7 (1, 2) 9 10 0 3

A8 (4, 9) 3 2 10 2

23

Example: K-Mean ClusteringCluster 1 Cluster 2 Cluster 3A1(2, 10) A3(8, 4) A2(2, 5)

A4(5, 8) A7(1, 2)A5(7, 5)A6(6, 4)A8(4, 9)

0 1 2 3 4 5 6 7 8 90

2

4

6

8

10

12

+

+

c1

c2

c3+

24

Example: K-Mean Clustering

• re-compute the new cluster centers (means). We do so, by taking the mean of all points in each cluster.

• For Cluster 1, we only have one point A1(2, 10), which was the old mean, so the cluster center remains the same.

• For Cluster 2, we have ( (8+5+7+6+4)/5, (4+8+5+4+9)/5 ) = (6, 6)

• For Cluster 3, we have ( (2+1)/2, (5+2)/2 ) = (1.5, 3.5)

25

Example: K-Mean Clustering

0 1 2 3 4 5 6 7 8 90

2

4

6

8

10

12

+

+

c1

c2

c3+

26

Example: K-Mean Clustering

• Iteration#2

(2, 10) (6, 6) (1.5, 3.5)

Point Dist Mean 1 Dist Mean 2 Dist Mean 3 Cluster

A1 (2, 10)

A2 (2, 5)

A3 (8, 4)

A4 (5, 8)

A5 (7, 5)

A6 (6, 4)

A7 (1, 2)

A8 (4, 9)

27

Example: K-Mean Clustering (Iteration#2)

Cluster 1? Cluster 2? Cluster 3?

0 1 2 3 4 5 6 7 8 90

2

4

6

8

10

12

re-compute the new cluster centers (means)C1 = (2+4/2, 10+9/2) = (3, 9.5)C2 = (6.5, 5.25)C3 = (1.5, 3.5)

28

Example: K-Mean ClusteringIteration#3Cluster 1? Cluster 2? Cluster 3?

0 1 2 3 4 5 6 7 8 90

2

4

6

8

10

12

re-compute the new cluster centers (means)??

29

Distance functions

• ฟั5งก3ชั�นรืะยู่ะห�างที่%&วั�ดควัามไม�คลุ่!ายู่รืะหวั�างวั�ตถุ� 2 ต�วั ซึ่(&งน*ยู่มใชั!ก�นอยู่�างแพรื�หลุ่ายู่

• Minkowski distance

• ถุ!า q=1 เรืาเรื%ยู่ก d วั�า Manhattan distance

• ถุ!า q=2 เรืาเรื%ยู่ก d วั�า Euclidean distance

q q

jpip

q

ji

q

ji xxxxxxjid )...(),( 2211

jpipjiji xxxxxxjid ...),( 2211

)...(),(22

22

2

11 jpipjiji xxxxxxjid

30

Evaluating K-means Clusters• Most common measure is Sum of

Squared Error (SSE)– For each point, the error is the

distance to the nearest cluster– To get SSE, we square these errors

and sum them.

where,– x is a data point in cluster Ci

–mi is the centroid point for cluster Ci • can show that mi corresponds to

the center (mean) of the cluster

K

i Cxi

i

xmdistSSE1

2 ),(

31

Limitations of K-Mean

• K-means ม%ข!อจั�าก�ดในการืหากลุ่��ม ด�งน%6–Size–Density–Shapes

32

Limitations of K-means: Differing Sizes• K-means ไม�สามารืถุจั�ดเป็�น 3 กลุ่��มได! เพรืาะวั�าหน(&งกลุ่��มใน

น�6นม%ขนาดใหญ่�กวั�าสองกลุ่��มที่%&เหลุ่�อมาก แลุ่ะในขณะน%6กลุ่��มที่%&ใหญ่�กวั�าถุ#กที่�าการืแตก หน(&งกลุ่��มที่%&เลุ่8กกวั�าจัะถุ#กรืวัมเข!าก�บส�วันของกลุ่��มที่%&ใหญ่�กวั�า

Original Points K-means (3 Clusters)

33

Limitations of K-means: Differing Density• K-means จัะลุ่!มเหลุ่วัในการืหากลุ่��ม 3 กลุ่��ม เพรืาะวั�า 2 กลุ่��มที่%&

เลุ่8กกวั�าจัะม%ควัามหนาแน�นมากกวั�ากลุ่��มที่%&ใหญ่�กวั�า

Original Points K-means (3 Clusters)

34

Limitations of K-means: Non-globular Shapes• K-means หากลุ่��ม 2 กลุ่��มที่%&ม%ส�วันที่%&ผู้สมก�น เพรืาะรื#ป็รื�างเด*ม

ของกลุ่��มไม�เป็�นรื#ป็ที่รืงกลุ่ม

Original Points K-means (2 Clusters)

35

Overcoming K-means Limitations

Original Points K-means Clusters

One solution is to use many clusters.

Find parts of clusters, but need to put together.

36

Overcoming K-means Limitations

Original Points K-means Clusters

Overcoming K-means Limitations

Original Points K-means Clusters

38

Hierarchical Clustering

• เป็�นการืจั�บกลุ่��มที่%&ม%ลุ่�กษณะเป็�นไป็ตามลุ่�าด�บชั�6น ส�วันใหญ่�จัะแสดงในรื#ป็แบบของกรืาฟัแผู้นภาพที่%&ม%ลุ่�กษณะคลุ่!ายู่ต!นไม! เรื%ยู่กวั�า Dendrogram

• Dendrogram แสดงให!เห8นถุ(งควัามส�มพ�นธ์3ของกลุ่��ม (cluster) ก�บกลุ่��มยู่�อยู่ๆ (subcluster) แลุ่ะลุ่�าด�บของกลุ่��ม (cluster) ที่%&ถุ#กรืวัมเป็�นกลุ่��มเด%ยู่วัก�น หรื�อถุ#กแบ�งแยู่ก

1 3 2 5 4 60

0.05

0.1

0.15

0.2

1

2

3

4

5

6

1

23 4

5

Dendrogram

39

Hierarchical Clustering

ม%วั*ธ์%การืพ�6นฐานอยู่#� 2 วั*ธ์%การื ด�งน%61. Agglomerative (รืวัมเป็�นกลุ่��มเป็�นก!อน) :

วั*ธ์%การื Agglomerative เรื*&มต!นจัากพ*จัารืณาจั�ดหรื�อต�าแหน�งที่%&อยู่#�ในบรื*เวัณส�วันเฉพาะของแต�ลุ่ะกลุ่��ม ซึ่(&งแต�ลุ่ะข�6นตอนจัะที่�าการืรืวัมกลุ่��มเข!าด!วัยู่ก�นโดยู่การืพ*จัารืณากลุ่��มค#�ที่%&ใกลุ่!ก�นมากที่%&ส�ด แนวัค*ดของวั*ธ์%การืน%6เพ�&อก�าหนดควัามใกลุ่!ชั*ดหรื�อควัามส�มพ�นธ์3ของกลุ่��มน�6นๆ รืวัมเข!าด!วัยู่ก�น

2. Divisive (แบ�งแยู่กแตกออก) : วั*ธ์%การื Divisive เรื*&มต!นเชั�นเด%ยู่วัก�บวั*ธ์%การื Agglomerative ที่�าก�บที่�6งหมดที่�กๆ

กลุ่��ม ซึ่(&งแต�ลุ่ะข�6นตอนจัะที่�าการืแบ�งแยู่กออก จันกรืะที่�&งเหลุ่�อเพ%ยู่งกลุ่��มที่%&ม%ลุ่�กษณะม%เพ%ยู่งส*&งเด%ยู่วั (singleton cluster) ในกรืณ%น%6เรืาต!องต�ดส*นใจัได!วั�ากลุ่��มไหนหรื�อ cluster ไหนที่%&ควัรืแบ�งแยู่ก แลุ่ะจัะที่�าการืแบ�งแยู่กอยู่�างไรื

40

Agglomerative Clustering Algorithm

Basic algorithm is straightforward1. Compute the proximity matrix2. Let each data point be a cluster3. Repeat4. Merge the two closest clusters5. Update the proximity matrix6. Until only a single cluster remains

41

Example:

42

Example:

43

Example:

ตาราง แสดงรืะยู่ะห�างรืะหวั�างจั�ดน�6นๆ ที่�6ง 6 จั�ด ด!วัยู่วั*ธ์%การื Euclidean distance

44

How to Define Inter-Cluster Similarity

p1

p3

p5

p4

p2

p1 p2 p3 p4 p5 . . .

.

.

.

Similarity?

Proximity Matrix

MIN MAX Group Average Ward’s Method uses squared

error

45

How to Define Inter-Cluster Similarity

MIN MAX Group Average Ward’s Method uses squared

error

p1

p3

p5

p4

p2

p1 p2 p3 p4 p5 . . .

.

.

.Proximity Matrix

46

How to Define Inter-Cluster Similarity

p1

p3

p5

p4

p2

p1 p2 p3 p4 p5 . . .

.

.

.Proximity Matrix

MIN MAX Group Average Ward’s Method uses squared error

47

How to Define Inter-Cluster Similarity

p1

p3

p5

p4

p2

p1 p2 p3 p4 p5 . . .

.

.

.Proximity Matrix

MIN MAX Group Average Ward’s Method uses squared error

48

Cluster Similarity: MIN or Single Link

• วั*ธ์%การื Single link หรื�อ MIN ของการืจั�ดกลุ่��ม Hierarchical Clustering โดยู่ควัามส�มพ�นธ์3ที่�6งสองกลุ่��มที่%&ก�าหนดน�6นม%รืะยู่ะห�างรืะหวั�างจั�ด 2 จั�ดที่%&อยู่#�ต�างกลุ่��มก�นน!อยู่ที่%&ส�ด

49

Cluster Similarity: MIN or Single Link

1

2

3

4

5

6

1

3 6 2 5 4 10

0.05

0.1

0.15

0.2

0.11

50

Cluster Similarity: MIN or Single Link

1

2

3

4

5

6

1

3 6 2 5 4 10

0.05

0.1

0.15

0.2

Dist({3,6},{2}) = min(dist(3,2), dist(6,2)) min(0.15, 0.25) = 0.15Dist({3,6}, {5}) = min(dist(3,5), dist(6,5)) =0.28Dist ({3,6}, {4}) = min(dist(3,4), dist(6,4)) = 0.15Dist({3,6}, {1}) = min(dist(3,1), dist(6,1)) = 0.22

51

Cluster Similarity: MIN or Single Link

1

2

3

4

5

6

12

3 6 2 5 4 10

0.05

0.1

0.15

0.2

Dist({3,6},{2}) = min(dist(3,2), dist(6,2)) min(0.15, 0.25) = 0.15Dist ({3,6}, {4}) = min(dist(3,4), dist(6,4)) = 0.15

Dist ({3,6},{2}), Dist ({3,6}, {4}) > dist(5,2) = 0.14

0.14

52

Cluster Similarity: MIN or Single Link

1

2

3

4

5

6

12

3

3 6 2 5 4 10

0.05

0.1

0.15

0.2

Dist({3,6},{2,5}) = min(dist(3,2), dist(6,2), dist(3,5), dist(6,5)) = min(0.15, 0.25, 0.28, 0.39)

=0.15Dist ({3,6},{1}) = min(dist(3,1), dist(6,1)) = min(0.22, 0.23) = 0.22Dist ({3,6},{4}) = min (dist(3,4), dist(6,4))

= min(0.15, 0.22) = 0.15

53

Cluster Similarity: MIN or Single Link

1

2

3

4

5

6

12

3

43 6 2 5 4 1

0

0.05

0.1

0.15

0.2

Dist({3,6,2,5}, {1}) = min(dist(3,1), dist(6,1), dist(2,1), dist(5,1)) = min(0.22, 0.23, 0.24, 0.34) = 0.22

Dist(({3,6,2,5}, {4}) = min(dist(3,4), dist(6,4), dist(2,4), dist(5,4)) = min(0.15, 0.22, 0.20, 0.29) = 0.15

Cluster Similarity: MIN or Single Link

1

2

3

4

5

6

12

3

4

5

3 6 2 5 4 10

0.05

0.1

0.15

0.2

Dist(({3,6,2,5,4}, {1}) = min(dist(3,1), dist(6,1), dist(2,1), dist(5,1), dist(4,1)) = min(0.22, 0.23, 0.24, 0.34, 0.37)

= 0.22

55

Strength of MIN

Original Points Two Clusters

• Can handle non-elliptical shapes

56

Limitations of MIN

• แ

Original Points Two Clusters

• Sensitive to noise and outliers

57

Cluster Similarity: MAX or Complete Linkage

• วั*ธ์%การื Complete link หรื�อ MAX ของการืจั�ดกลุ่��ม Hierarchical Clustering โดยู่ควัามส�มพ�นธ์3ที่�6งสองกลุ่��มที่%&ก�าหนดน�6นม%รืะยู่ะห�างรืะหวั�างจั�ด 2 จั�ดที่%&อยู่#�ต�างกลุ่��มก�นมากที่%&ส�ด

58

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

Cluster Similarity: MAX or Complete Linkage

1

2

3

4

5

6

10.11

59

Cluster Similarity: MAX or Complete Linkage

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

1

2

3

4

5

6

1

Dist({3,6},{1}) = max(dist(3,1), dist(6,1))= 0.23

Dist({3,6},{2}) = max(dist(3,2), dist(6,2))= 0.25

Dist({3,6},{4}) = max(dist(3,4), dist(6,4))= 0.22**

Dist({3,6},{5}) = max(dist(3,5), dist(6,5))= 0.3960

Cluster Similarity: MAX or Complete Linkage

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

1

2

3

4

5

6

1

2

Dist({3,6},{4}) = max(dist(3,4), dist(6,4))= 0.22 > Dist({2},{5})

0.14

61

Cluster Similarity: MAX or Complete Linkage

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

1

2

3

4

5

6

13

Dist({3,6},{1}) = max(dist(3,1), dist(6,1))= 0.23Dist({3,6},{2,5}) = max(dist(3,2), dist(3,5), dist(6,2), dist(6,5))

= 0.39Dist({3,6},{4}) = max(dist(3,4), dist(6,4))= 0.22**Dist({2,5},{4}) = max(dist(2,4), dist(5,4)) = 0.29Dist({2,5}, {1}) = max(dist(2,1), dist(5,1)) = 0.34

0.22

2

62

Cluster Similarity: MAX or Complete Linkage

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

1

2

3

4

5

6

1

2

3

4

Dist({2,5}, {1}) = max(dist(2,1), dist(5,1))= 0.34**

Dist({2,5}, {3,6,4}) = max(dist(2,3), dist(2,6), dist(2,4)),dist(5,3), dist(5,6), dist(5,4))

= max(0.15, 0.25, 0.20, 0.28, 0.39, 0.29) = 0.39

0.34

63

Cluster Similarity: MAX or Complete Linkage

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

1

2

3

4

5

6

1

3 5

2

4

Dist({2,5,1},{3,6,4}) = max(dist(2,3), dist(2,6), dist(2,4) dist(5,3), dist(5, 6), dist(5,4) dist(1,3), dist(1,6), dist(1,4))= max(0.15, 0.25, 0.20, 0.28, 0.39, 0.29, 0.22, 0.23,0.37)=0.39

0.39

64

Strength of MAX

Original Points Two Clusters

• Less susceptible to noise and outliers

65

Limitations of MAX

Original Points Two Clusters

• Tends to break large clusters

• Biased towards globular clusters

66

Cluster Similarity: Group Average

• วั*ธ์%การื Group average ของการืจั�ดกลุ่��ม Hierarchical Clustering โดยู่ควัามส�มพ�นธ์3ที่�6งสองกลุ่��มที่%&ก�าหนดน�6น ค�าเฉลุ่%&ยู่ของที่�ก ๆ ค#�ของจั�ดที่%&อยู่#�ต�างกลุ่��มก�น วั*ธ์%การืน%6เป็�นต�วักลุ่างรืะหวั�างวั*ธ์%การื Single link แลุ่ะวั*ธ์%การื compete link

67

Cluster Similarity: Group Average Linkage

1

2

3

4

5

6

1

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

2 5 1

0.11

68

Cluster Similarity: Group Average

1

2

3

4

5

6

1

Dist({3,6},{1}) = avg(dist(3,1), dist(6,1)) = (0.22+0.23)/(2*1) = 0.225

Dist ({3,6},{2}) = avg(dist(3,2), dist(6,2)) = (0.15+0.25)/(2*1) = 0.20

Dist({3,6},{4}) = avg(dist(3,4), dist(6,4)) = (0.15+0.22)/(2*1) = 0.185**

Dist({3,6}, {5}) = avg(dist(3,5), dist(6,5)) = (0.28+0.39)/(2*1) = 0.335

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

2 5 1

0.11

69

Cluster Similarity: Group Average

1

2

3

4

5

6

1

2

Dist({3,6},{4}) = avg(dist(3,4), dist(6,4)) = (0.15+0.22)/(2*1) = 0.185** > Dist({2}, {5})

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

2 5 1

0.14

70

Cluster Similarity: Group Average

1

2

3

4

5

6

1

2

33 6 4 1 2 5

0

0.05

0.1

0.15

0.2

0.25

2 5 1

Dist({3,6},{1}) = avg(dist(3,1), dist(6,1)) = (0.22+0.23)/(2*1) = 0.225

Dist ({3,6},{2}) = avg(dist(3,2), dist(6,2)) = (0.15+0.25)/(2*1) = 0.20

Dist({3,6},{4}) = avg(dist(3,4), dist(6,4)) = (0.15+0.22)/(2*1) = 0.185**

Dist({3,6}, {5}) = avg(dist(3,5), dist(6,5)) = (0.28+0.39)/(2*1) = 0.335

0.185

71

Cluster Similarity: Group Average

1

2

3

4

5

6

1

2

33 6 4 1 2 5

0

0.05

0.1

0.15

0.2

0.25

2 5 1

Dist({3,6, 4},{1}) = avg(dist(3,1), dist(6,1), dist(4,1)) = (0.22+0.23+0.37)/(3*1) = 0.273

Dist ({3,6,4},{2,5}) = avg(dist(3,2), dist(3,5), dist(6,2), dist(6,5), dist(4,2), dist(4,5))

= (0.15+0.28+0.25+0.39+0.20+0.29)/(3*2) = 0.26

4

0.26

Cluster Similarity: Group Average

1

2

3

4

5

6

1

2

5

33 6 4 1 2 5

0

0.05

0.1

0.15

0.2

0.25

2 5 1

4

Dist ({3,6,4,2,5}, {1}) = avg(dist(3,1), dist(6,1), dist(4,1), dist(2,1),dist(5,1)) = (0.22+0.23+0.37+0.24+0.34)/(5*1) = 0.28

0.28

73

Hierarchical Clustering: Group Average

• Compromise between Single and Complete Link

• Strengths– Less susceptible to noise and outliers

• Limitations– Biased towards globular clusters

74

Hierarchical Clustering: Comparison

Group Average

MIN MAX

1

2

3

4

5

61

2

5

34

1

2

3

4

5

61

2 5

3

41

2

3

4

5

6

12

3

4

5

75

Hierarchical Clustering: Comparison

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

2 5 1

Group Average

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

MAX

3 6 2 5 4 10

0.05

0.1

0.15

0.2

MIN

76

Internal Measures : Cohesion and Separation

(graph-based clusters)• A graph-based cluster approach can be evaluated by cohesion and separation measures.– Cluster cohesion is the sum of the weight of all links within

a cluster.– Cluster separation is the sum of the weights between

nodes in the cluster and nodes outside the cluster.

cohesion separation

77

Cohesion and Separation (Central-based clusters)

• A central-based cluster approach can be evaluated by cohesion and separation measures.

78

Cohesion and Separation (Central-based clustering)

• Cluster Cohesion: Measures how closely related are objects in a cluster– Cohesion is measured by the within cluster sum of

squares (SSE)

• Cluster Separation: Measure how distinct or well-separated a cluster is from other clusters– Separation is measured by the between cluster sum of

squares

»Where |Ci| is the size of cluster i

i Cx

i

i

mxWSS 2)(

i

ii mmCBSS 2)(

79

Example: Cohesion and Separation

Example: WSS + BSS = Total SSE (constant)

1 2 3 4 5m

1091

9)5.43(2)5.13(2

1)5.45()5.44()5.12()5.11(22

2222

Total

BSS

WSSK=2 clusters:

10010

0)33(4

10)35()34()32()31(2

2222

Total

BSS

WSSK=1 cluster:

1 2 3 4 5 m1 m2

m

81

HW#8

• ให!ที่�า Database Segmentation ด!วัยู่วั*ธ์%การืแบบK-means clustering โดยู่ก�าหนดให! K=3 แลุ่ะ

จั�ดศู#นยู่3กลุ่างเรื*&มต!นของที่�6งสามกลุ่��มค�อ C1 = (1,5) , C2 = (3,12) แลุ่ะ C3 = (2,13) โดยู่ม%ข!อม#ลุ่ที่%&

เข!าส#�โมเดลุ่ 10 ชั�ด (Pattern) ด�งตารืางด!านลุ่�าง ให!น�กศู(กษาค�านวัณหาค�าการืจั�ดกลุ่��มตามอ�ลุ่กอรื*ที่(ม

ของ K-means โดยู่ที่�า 2 รือบ

82

HW#8

• What is cluster?• What is Good Clustering?• How many types of clustering?• How many Characteristics of Cluster?• What is K-means Clustering?• What are limitations of K-Mean?• Please explain method of Hierarchical

Clustering?

ID X Y

A1 1 5

A2 4 9

A3 8 15

A4 6 2

A5 3 12

A6 10 7

A7 7 7

A8 11 4

A9 13 10A10 2 13

84

LAB 8

• Use weka program to construct a neural network classification from the given file.

• Weka Explorer Open file bank.arff • Cluster Choose button

SimpleKMeans Next, click on the text box to the right of the "Choose" button to get the pop-up window