You are on page 1of 33

Phương thức phân hoạch

k-Medoids
1.
Phân cụm
Khái niệm, các phương thức

2
Bài toán phân cụm
Imagine that you are the Director of Customer Relationships at AllElectronics,
and you have five managers working for you. You would like to organize all the
company’s customers into five groups so that each group can be assigned to a
different manager. Strategically, you would like that the customers in each group
are as similar as possible. Moreover, two given customers having very different
business patterns should not be placed in the same group. Your intention behind
this business strategy is to develop customer relationship campaigns that
specifically target each group, based on common features shared by the
customers per group. What kind of data mining techniques can help you to
accomplish this task
Unlike in classification, the class label (or group ID) of each customer is
unknown. You need to discover these groupings. Given a large number of
customers and many attributes describing customer profiles, it can be very
costly or even infeasible to have a human study the data and manually come up
with a way to partition the customers into strategic groups. You need a
clustering tool to help.
3
Khái niệm phân cụm

▣ Phân cụm là quá trình nhóm 1 bộ dữ liệu đối tượng


thành các nhóm hoặc cụm để các đối tượng trong 1
nhóm có độ tương đồng cao, nhưng rất bất tương
đồng với đối tượng ở nhóm/cụm khác.

4
Các phương thức cơ bản

Phương thức Tính chất cơ bản

-
- Dựa vào khoảng cách
Phân hoạch - Có thể sử dụng Mean hoặc Medoid,.. để biểu diễn
trọng tâm cụm
- Hiệu quả đối với bộ dữ liệu nhỏ đến trung bình

Hierarchical 30
Density-based 5
Grid-based

5
2.
Phân hoạch
Khái niệm, thuật toán, các phương thức

6
Khái niệm phân hoạch

▣ Phiên bản đơn giản và quan trọng nhất của phân cụm
là phân hoạch
▣ Phân hoạch là sắp xếp các đối tượng của 1 bộ vào các
nhóm hoặc cụm nhất định
▣ Cụm được hình thành để tối ưu hóa 1 tiêu chí phân
hoạch, để đối tượng trong 1 cụm tương đồng với nhau
và bất tương đồng với các đối tượng trong cụm khác
theo các thuộc tính đã chọn

7
Thuật toán phân hoạch

▣ Một thuật toán phân hoạch có đầu vào là tập dữ liệu D


có n đối tượng và số k cụm cần phân hoạch.
▣ Thuật toán sẽ sắp xếp các đối tượng vào k nhóm (k<n),
mỗi nhóm tượng trưng cho 1 cụm.

8
Phương thức phân hoạch

▣ 2 phương thức phân hoạch nổi bật và hay được sử


dụng nhiều nhất là k-Means và k-Medoids

9
3.
k-Medoids
Bản chất của k-Medoids so với k-Means

10
Bản chất của k-Medoids

Tên k-Medoids:
▣ k : số k cụm cần được phân hoạch thành
▣ Medoid : đối tượng được chọn làm đại diện của 1 cụm
→ k-Medoids : Phương thức phân hoạch dựa trên việc
chọn đối tượng đại diện cho mỗi cụm trong k cụm

11
Bản chất của k-Medoids

▣ Là một kỹ thuật phân hoạch dựa trên đối tượng đại


diện (medoid)
▣ Là k-Means được biến đổi để loại bỏ sự nhạy cảm với
ngoại lai và nhiễu.
▣ Có độ phức tạp cao hơn k-Means.
▣ Thực hiện dựa trên nguyên tắc tối thiểu hóa tổng
khoảng cách giữa từng đối tượng p và đối tượng đại
diện của cụm chứa p.

12
Bản chất của k-Medoids

▣  

13
Ý tưởng cơ bản k-Medoids

▣ Chọn ngẫu nhiên k đối tượng vào k cụm và là medoid


của cụm đó.
▣ Lặp lại quá trình:
◼ Phân bổ các đối tượng còn lại vào cụm mà có
medoid gần với nó nhất.
◼ Thay thế 1 đối tượng bất kỳ làm medoid của cụm
nếu chất lượng của cụm được cải thiện (sử dụng hàm
lượng giá tính khoảng cách giữa đối tượng và medoid
cụm chứa nó để lượng giá chất lượng cụm).
◼ Lặp lại đến khi không có gì thay đổi.
14
Thuật toán k-Medoids

▣ Input: k - số cụm
D – Tập dữ liệu chứa n đối tượng (p)
▣ Output: Tập k cụm đã được phân hoạch
▣ Phương thức:
(1) Chọn k đối tượng trong D làm tập medoid khởi đầu.
(2) Lặp lại
(3) Phân bổ các đối tượng còn lại vào cụm có medoid gần nó nhất.
(4) Chọn 1 đối tượng ngẫu nhiên không phải medoid orandom.
(5) Tính S khi đổi oj (medoid của cụm j) với orandom
(6) Nếu S > 0 thì hoán đổi oj với orandom
→ Tạo ra tập medoid mới
(7) Kết thúc khi không có gì thay đổi.

15
Cách đánh giá hoán đổi

Có:
▣ oj : Medoid hiện cần thay thế
▣ orandom : Medoid mới thay thế cho oj
▣ p : Đối tượng hiện tại (không phải Medoid) có
thể được di chuyển sang cụm khác
▣ oi : Medoid gần với p nhất
PAM tính c cho tất cả đối tượng p làm căn cứ cho việc
hoán đổi oj và orandom. Có 4 trường hợp:

16
Cách đánh giá hoán đổi

Trường hợp 1:
▣ p hiện thuộc cụm có medoid oj  
▣ p gần với oi hơn orandom
▣ oi có độ gần với p
đứng thứ 2 trong các medoid
→ Thay thế oj thành orandom
→ p được phân bổ sang oi + : Medoids
: Đối tượng
c = d(p , oi) – d(p , oj)

: Trước khi hoán đổi
c không âm ---- : Sau khi hoán đổi

17
Cách đánh giá hoán đổi

Trường hợp 2:
▣ p hiện thuộc cụm có medoid oj  
▣ p gần với orandom hơn oj
▣ Nếu thay thế oj thành orandom, p được
phân bổ sang orandom
c = d(p , orandom) – d(p , oj) 
+ : Medoids
c có thể âm hoặc dương ● : Đối tượng
: Trước khi hoán đổi
---- : Sau khi hoán đổi
18
Cách đánh giá hoán đổi

Trường hợp 3:
▣ p hiện thuộc cụm có medoid oi  
▣ p gần với oi hơn orandom
▣ Nếu thay thế oj thành orandom,
p sẽ vẫn ở lại oi
+ : Medoids
c=0 ● : Đối tượng
: Trước khi hoán đổi
---- : Sau khi hoán đổi

19
Cách đánh giá hoán đổi

Trường hợp 4:
▣ p hiện thuộc cụm có medoid oi  
▣ p gần với orandom hơn oi
▣ Nếu thay thế oj thành orandom
→ p được phân bổ sang orandom
c = d(p , orandom) – d(p , oi) + : Medoids
: Đối tượng
c luôn âm

: Trước khi hoán đổi
---- : Sau khi hoán đổi

20
Cách đánh giá hoán đổi

▣  

21
Ví dụ k-Medoids

22
k-Medoids

Các kỹ thuật sử dụng phương thức k-Medoids:


▣ Partitioning Around Medoids (PAM)
▣ Clustering Large Applications (CLARA) và Clustering
Large Applications based upon randomized Search
(CLARAN)

23
2.
Partitioning Around Medoids
(PAM)
Mô tả, tính chất thuật toán

24
Độ phức tạp của PAM

▣  

25
2.
Clustering Large Applications
(CLARA)
Tư tưởng, tính chất, thuật toán

26
Tư tưởng của CLARA

▣ Sử dụng một mẫu ngẫu nhiên của tập dữ liệu thay vì


xét toàn bộ tập dữ liệu .
▣ Trích mẫu ngẫu nhiên cho tập dữ liệu có n phần tử, áp
dụng thuật toán PAM cho mẫu này và tìm ra các các
đại diện medoid cho mẫu được trích ra.

27
Tính chất của CLARA

▣  

28
Tính chất của CLARA

▣ Để tiến tới một xấp xỉ tốt hơn, CLARA đưa ra nhiều


cách lấy mẫu và thực hiện phân cụm cho mỗi trường
hợp và tiến hành chọn kết quả phân cụm tốt nhất khi
thực hiện phân cụm trên các mẫu này.
▣ Để cho chính xác, chất lượng của các cụm được đánh
giá thông qua khoảng cách trung bình của toàn bộ
các đối tượng trong tập dữ liệu ban đầu.
▣ Kết quả thực nghiệm chỉ ra rằng, 5 mẫu dữ liệu có kích
thước 40 + 2k cho các kết quả tốt.

29
Thuật toán CLARA[5]

▣ Input: k - số cụm.
D - bộ dữ liệu chứa n đối tượng.
▣ Output: Bộ k cụm đã được phân vùng.

30
Thuật toán CLARA[5]

Phương thức:
(1) Lấy 5 mẫu có kích thước 40 + 2k
(2) Lặp lại
(3) Áp dụng PAM cho 1 mẫu để tìm bộ k medoid đại diện cho các cụm.
(4) Đối với mỗi đối tượng trong D, xác định medoid gần nhất trong k
medoid vừa tìm được.
(5) Tính khoảng cách trung bình M cho phân hoạch các đối tượng ở
bước trước.
Nếu M < Mmin thì Mmin = M, tập k medoid xác định ở bước này
là tốt nhất hiện tại.
(6) Kết thúc khi duyệt hết 5 mẫu.

31
CLARANS

▣ Đầu tiên, CLARANS lấy ngẫu nhiên k đối tượng làm


medoid cho k cụm.
▣ Sau đó lấy ngẫu nhiên một medoid trong bộ vừa chọn
và cố gắng thay thế nó với một đối tượng ngẫu nhiên
trong (n-k) đối tượng còn lại.
▣ Nếu không có giải pháp nào tốt hơn sau một số cố
gắng lựa chọn ngẫu nhiên xác định, thuật toán dừng
và cho kết quả phân cụm tối ưu cục bộ.

32
CLARA VS CLARANS

▣  

33

You might also like