Tải bản đầy đủ (.pdf) (39 trang)

Nhom1 64cs1 khaiphadulieu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.6 MB, 39 trang )

TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
-----o0o-----

Bài Tập Lớn: Khai Phá Dữ Liệu

Phân cụm dựa trên mật độ
Giảng viên hướng dẫn: Phạm Hồng Phong

Sinh viên thực hiện: Lớp 64CS1- Nhóm 1
Nguyễn Thị Lan Anh

10264

Vũ Duy Đan

44764

Đào Việt Cường

28264

Phạm Huy Hưng

94464

Trần Duy Khánh

1655864



Hà Nội, ngày 01/12/2022

1


Mục Lục
Mục Lục

1

Mở đầu

1

CHƯƠNG I: TỔNG QUAN VỀ BÀI TOÁN PHÂN CỤM

1

Tổng quan

1

a. Học có giám sát

1

b. Học khơng có giám sát

1


c. Học bán giám sát

2

d. Học tăng cường

2

Các bài tốn học khơng giám sát

2

Bài tốn phân cụm

3

Độ đo, cách đánh giá của bài tốn phân cụm

3

a. Độ đo bóng (Silhouette)

3

b. Độ đo Davies-Bouldin

4

CHƯƠNG II: BÀI TOÁN PHÂN CỤM DỰA TRÊN MẬT ĐỘ
1.


Thuật toán DBSCAN

5

a. Ý tưởng

5

b. Các định nghĩa thuật toán sử dụng

6

c. Phân loại dạng điểm trong DBSCAN

6

c. Các bước trong thuật toán DBSCAN

7

d. Mã giả

8

e. Xác định tham số

8

f.


9

Độ phức tạp

2.

OPTICS: Ordering Points to Identify the Clustering Structure

3.

DENCLUE: Clustering Based on Density Distribution Functions

4.

5

9
11

a. Giới thiệu thuật toán DENCLUE

11

b. Điểm thu hút mật độ và độ dốc

12

c. Tìm điểm trung tâm


14

d. Cụm dựa trên mật độ

14

e. Thuật toán DENCLUE

14

Thuật toán K-means

16

a. Điều kiện hội tụ (điều kiện dừng thuật toán)

16

b. Xác định điểm trung tâm của cluster

16
1


5.

c. Phép đo khoảng cách

17


d. Một số ảnh hưởng đến thuật tốn K-means

17

So sánh

18

CHƯƠNG III: THỰC NGHIỆM & ĐÁNH GIÁ
2.

3.

Mơ tả dữ liệu

21
21

a. Mall Customer Segmentation Data

21

b. Country Data

22

c. Facebook Live sellers in Thailand

23


Áp dụng mơ hình vào từng bộ dữ liệu

24

a. Mall Customer Segmentation Data

24

b. 2 bộ dữ liệu cịn lại

27

KẾT LUẬN

31

Danh mục hình ảnh

32

Danh mục các bảng

32

Tài liệu tham khảo

33

2



Mở đầu
Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong
nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng nghĩa với
lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một tích luỹ nhiều lên.
Họ lưu trữ các dữ liệu này vì cho rằng trong nó ẩn chứa những giá trị nhất định nào
đó. Tuy nhiên, theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng
từ 5% đến 10%) là luôn được phân tích, số còn lại họ không biết sẽ phải làm gì hoặc
có thể làm gì với chúng nhưng họ vẫn tiếp tục thu thập rất tốn kém với ý nghĩ lo sợ
rằng sẽ có cái gì đó quan trọng đã bị bỏ qua sau này có lúc cần đến nó. Mặt khác,
trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin với tốc độ
nhanh để trợ giúp việc ra quyết định và ngày càng có nhiều câu hỏi mang tính chất
định tính cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có. Với những
lý do như vậy, các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày
càng không đáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới
đó là Kỹ thuật phát hiện tri thức và khai phá dữ liệu (KDD - Knowledge Discovery
and Data Mining).
Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng
trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này
tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng
dụng. Bước quan trọng nhất của quá trình này là Khai phá dữ liệu (Data Mining DM), giúp người sử dụng thu được những tri thức hữu ích từ những CSDL hoặc các
nguồn dữ liệu khổng lồ khác. Rất nhiều doanh nghiệp và tổ chức trên thế giới đã ứng
dụng kĩ thuật khai phá dữ liệu vào hoạt động sản xuất kinh doanh của mình và đã thu
được những lợi ích to lớn. Nhưng để làm được điều đó, sự phát triển của các mô hình
toán học và các giải thuật hiệu quả là chìa khoá quan trọng. Vì vậy, trong báo cáo
này, chúng tôi sẽ đề cập tới kỹ huật thường dùng trong Khai phá dữ liệu, đó là Phân
cụm (Clustering hay Cluster Analyse).
Bố cục báo cáo
Ngoài các phần Mở đầu, Mục lục, Danh mục hình, Danh mục bảng, Kết luận, Tài liệu
tham khảo, báo cáo được chia làm 3 phần:

Chương I: Tởng quan về bài tốn phân cụm
Phần này giới thiệu một cách tổng quát về học máy (Machine Learning) nói chung và
khai phá dữ liệu nói riêng. Đặc biệt nhấn mạnh về kỹ thuật chính được nghiên cứu
trong báo cáo đó là Kỹ thuật phân cụm và độ đo, cách đánh giá của bài toán.
Chương II: Bài toán phân cụm dựa trên mật độ
Trong phần này, kỹ thuật phân cụm dựa trên mật độ được giới thiệu một cách chi tiết.
Có nhiều thuật toán phân cụm dựa trên mật độ như DBSCAN, OPTICS, DENCLUE.
Ngoài ra còn so sánh sự giống và khách nhau giữa các thuật toán.
Chương III: Thực nghiệm và đánh giá
Phần này trình bày một số kết quả đã đạt được khi tiến hành áp dụng các giải thuật
khai phá dữ liệu để khai thác thông tin dữ liệu mẫu.
1


CHƯƠNG I: TỔNG QUAN VỀ BÀI TOÁN PHÂN CỤM
Tổng quan
Học máy (Machine Learning) là một ngành khoa học nghiên cứu các thuật tốn cho phép
máy tính có thể học được các khái niệm (concept).
Phân loại: Có hai loại phương pháp học máy chính
-

Phương pháp quy nạp: Máy học/phân biệt các khái niệm dựa trên dữ liệu đã thu
thập được trước đó. Phương pháp này cho phép tận dụng được nguồn dữ liệu rất
nhiều và sẵn có.
Phương pháp suy diễn: Máy học/phân biệt các khái niệm dựa vào các luật.
Phương pháp này cho phép tận dụng được các kiến thức chuyên ngành để hỗ trợ
máy tính.

Hiện nay, các thuật tốn đều cố gắng tận dụng được ưu điểm của hai phương pháp này.
Các ngành khoa học liên quan:

-

Lý thuyết thống kê: các kết quả trong xác suất thống kê là tiền đề cho rất nhiều
phương pháp học máy. Đặc biệt, lý thuyết thống kê cho phép ước lượng sai số của các
phương pháp học máy.
Các phương pháp tính: các thuật tốn học máy thường sử dụng các tính tốn số
thực/số ngun trên dữ liệu rất lớn. Trong đó, các bài tốn như: tối ưu có/khơng ràng
buộc, giải phương trình tuyến tính v.v… được sử dụng rất phổ biến.
Khoa học máy tính: là cơ sở để thiết kế các thuật toán, đồng thời đánh giá thời gian
chạy, bộ nhớ của các thuật tốn học máy.

Các nhóm giải thuật học máy:
a. Học có giám sát
Các nhà khoa học dữ liệu cung cấp cho thuật toán dữ liệu đào tạo được gắn nhãn và xác định
để đánh giá mối tương quan. Dữ liệu mẫu chỉ định cả đầu vào và kết quả của thuật tốn. Ví
dụ: Hình ảnh những chữ số viết tay được chú thích để chỉ ra số tương ứng với hình ảnh đó.
Một hệ thống học có giám sát có thể nhận ra các cụm điểm ảnh và hình dạng liên quan tới
mỗi số, nếu được cung cấp đủ ví dụ. Cuối cùng, hệ thống sẽ nhận ra các chữ số viết tay, có
thể phân biệt giữa số 9 và 4 hoặc 6 và 8 một cách đáng tin cậy.
Ưu điểm của học có giám sát là tính đơn giản và thiết kế dễ dàng. Cách học này rất hữu ích
khi dự đốn một số lượng kết quả có giới hạn, phân loại dữ liệu hoặc kết hợp các kết quả thu
được từ 2 thuật toán máy học khác. Tuy nhiên, việc gắn nhãn hàng triệu tập dữ liệu khơng có
nhãn lại là thách thức
b. Học khơng có giám sát
Thuật tốn học khơng có giám sát được đào tạo dựa trên dữ liệu khơng gắn nhãn. Các thuật
tốn này qt dữ liệu mới, cố gắng thiết lập kết nối có ý nghĩa giữa dữ liệu đầu vào và kết
quả định sẵn. Chúng có thể phát hiện khn mẫu và phân loại dữ liệu. Ví dụ: thuật tốn
khơng có giám sát có thể nhóm các bài viết từ nhiều trang tin tức khác nhau theo các mục
phổ biến như thể thao, hình sự, v.v. Chúng có thể dùng phương thức xử lý ngôn ngữ tự nhiên
để thấu hiểu ý nghĩa và cảm xúc trong bài viết.

1


Học khơng có giám sát rất hữu ích trong việc phát hiện khuôn mẫu và sự bất thường, cũng
như tự động nhóm dữ liệu theo các hạng mục. Vì dữ liệu đào tạo không cần gắn nhãn nên
việc thiết lập học khơng giám sát rất dễ dàng. Các thuật tốn này cũng có thể được sử dụng
để làm sạch và xử lý dữ liệu nhằm tự động dựng mơ hình chuyên sâu hơn. Giới hạn của
phương pháp này là thuật tốn khơng thể đưa ra dự đốn chính xác. Thêm vào đó, phương
pháp này khơng thể tự tách biệt một số loại kết quả dữ liệu cụ thể.
c. Học bán giám sát
Đúng như tên gọi của mình, phương pháp này kết hợp cả học có giám sát lẫn khơng có giám
sát. Kỹ thuật này dựa vào một lượng nhỏ dữ liệu được gắn nhãn và một lượng lớn dữ liệu
không gắn nhãn để đào tạo các hệ thống. Đầu tiên, dữ liệu được gắn nhãn được sử dụng để
đào tạo một phần thuật tốn máy học. Sau đó, thuật tốn đã được đào tạo một phần sẽ tự
mình gắn nhãn cho dữ liệu chưa được gắn nhãn. Quá trình này được gọi là giả gắn nhãn. Mơ
hình sau đó được đào tạo lại bằng hỗn hợp dữ liệu kết quả mà khơng được lập trình cụ thể.
Ưu điểm của phương pháp này là bạn không cần một lượng lớn dữ liệu được gắn nhãn.
Phương pháp này rất hữu ích khi làm việc với loại dữ liệu như các tài liệu dài và tốn quá
nhiều thời gian để có người đọc và gắn nhãn.
d. Học tăng cường
Học tăng cường là phương pháp có giá trị thưởng được gắn với các bước khác nhau mà thuật
toán phải trải qua. Mục tiêu của mơ hình là tích lũy nhiều điểm thưởng hết mức có thể và
cuối cùng sẽ đạt được mục tiêu cuối. Hầu hết các ứng dụng thực tiễn của học tăng cường
trong thập niên vừa qua nằm trong lĩnh vực trò chơi điện tử. Các thuật toán học tăng cường
tiên tiến đã đạt được những kết quả ấn tượng trong các trị chơi cổ điển và hiện đại, thường
có kết quả vượt xa đối thủ con người của chúng.
Mặc dù phương pháp này hoạt động tốt nhất trong môi trường dữ liệu khơng chắc chắn và
phức tạp, nó hiếm khi được triển khai trong bối cảnh kinh doanh. Phương pháp này không
hiệu quả trong các tác vụ được xác định rõ và thiên kiến của nhà phát triển có thể ảnh hưởng
tới kết quả. Vì nhà khoa học dữ liệu là người thiết kế phần thưởng, họ có thể tác động tới kết

quả.

Các bài tốn học khơng giám sát
Các bài tốn Unsupervised learning được tiếp tục chia nhỏ thành hai loại:
-

-

Clustering (phân nhóm): Một bài tốn phân nhóm tồn bộ dữ liệu X thành các nhóm
nhỏ dựa trên sự liên quan giữa các dữ liệu trong mỗi nhóm. Ví dụ: phân nhóm khách
hàng dựa trên hành vi mua hàng. Điều này cũng giống như việc ta đưa cho một đứa
trẻ rất nhiều mảnh ghép với các hình thù và màu sắc khác nhau, ví dụ tam giác,
vng, trịn với màu xanh và đỏ, sau đó yêu cầu trẻ phân chúng thành từng nhóm.
Mặc dù khơng cho trẻ biết mảnh nào tương ứng với hình nào hoặc màu nào, nhiều
khả năng chúng vẫn có thể phân loại các mảnh ghép theo màu hoặc hình dạng.
Association: Là bài tốn khi chúng ta muốn khám phá ra một quy luật dựa trên nhiều
dữ liệu cho trước. Ví dụ: những khách hàng nam mua quần áo thường có xu hướng
mua thêm đồng hồ hoặc thắt lưng dựa vào đó tạo ra một hệ thống gợi ý khách hàng
(Recommendation System), thúc đẩy nhu cầu mua sắm.

2


Bài toán phân cụm
Clustering là kỹ thuật phổ biến nhất trong học tập không giám sát, nơi dữ liệu được nhóm dựa
trên sự giống nhau của các điểm dữ liệu. Clustering có nhiều ứng dụng trong đời thực, nơi nó
có thể được sử dụng trong nhiều tình huống khác nhau.
Nguyên tắc cơ bản của phân cụm là việc gán một tập hợp các quan sát nhất định thành các
nhóm con hoặc cụm sao cho các quan sát hiện diện trong cùng một cụm có mức độ giống
nhau. Đó là việc thực hiện khả năng nhận thức của con người để phân biệt các đối tượng dựa

trên bản chất của chúng.
Đây là một phương pháp học khơng giám sát vì khơng có nhãn bên ngồi gắn vào đối tượng.
Máy phải tự học các đặc trưng và mẫu mà không cần bất kỳ ánh xạ đầu vào-đầu ra nào. Thuật
tốn có thể trích xuất các suy luận từ bản chất của các đối tượng dữ liệu và sau đó tạo các lớp
riêng biệt để nhóm chúng một cách thích hợp.
Trong Machine learning Clustering, thuật tốn chia tập hợp thành các nhóm khác nhau sao
cho mỗi điểm dữ liệu tương tự với các điểm dữ liệu trong cùng một nhóm và khác với các
điểm dữ liệu trong các nhóm khác. Trên cơ sở sự giống nhau và khơng giống nhau, sau đó
phân nhóm thích hợp cho đối tượng.
Các loại thuật tốn phân cụm:
-

Partitioning Based Clustering (Phân cụm dựa trên phân vùng)
Hierarchical Clustering (Phân cụm thứ bậc)
Model-Based Clustering (Phân cụm dựa trên mơ hình)
Density-Based Clustering (Phân cụm dựa trên mật độ)
Fuzzy Clustering (Phân cụm mờ)

Độ đo, cách đánh giá của bài toán phân cụm
Các độ đo chất lượng phân cụm được phân thành 3 loại là:
-

-

-

Đánh giá trong ( internal evaluation): Kết quả phân cụm được đánh giá dựa trên
chính dữ liệu được phân cụm bằng cách sử dụng các đại lượng đánh giá sự gắn kết
cụm như mật độ ( density), khoảng cách giữa các phần tử bên trong cụm hay khoảng
cách giữa các cụm với nhau, ... Hướng tiếp cận của loại này dựa trên tiêu chí: các thuật

tốn phân cụm tốt là các thuật toán tạo ra các cụm mà các phần tử bên trong mỗi cụm
có độ tương tự với nhau lớn và độ tương tự với các phần tử bên ngoài nhỏ.
Đánh giá ngoài ( external evaluation ): Kết quả phân cụm được đánh giá dựa tập dữ
liệu chuẩn(mẫu) đã được phân từ trước đó. Hướng tiếp cận của loại này đánh giá mức
độ tương đồng giữa việc phân cụm bởi thuật toán với tập dữ liệu chuẩn.
Đánh giá quan hệ ( relative evalution ): Đánh giá việc phân cụm bằng cách so sánh
nó với các kết quả phân cụm khác được sinh ra bởi cùng thuật toán nhưng với các giá
trị tham số khác nhau.

a. Độ đo bóng (Silhouette)
Giả sử bộ dữ liệu được chia thành 𝑘 cụm:
Với mỗi điểm dữ liệu 𝑖 đặt:
-

𝑎(𝑖) là khoảng cách trung bình từ 𝑖 tới tất cả các điểm dữ liệu trong cùng cụm với 𝑖.
𝑏(𝑖) là khoảng cách trung bình ngắn nhất từ 𝑖 tới bất kì cụm nào khơng chứa 𝑖.
3


Cụm tương ứng với 𝑏(𝑖) này được gọi là cụm hàng xóm của 𝑖.
Khi đó:
𝑠(𝑖 ) =

𝑏(𝑖)−𝑎(𝑖)
𝑚𝑎𝑥⁡{𝑎(𝑖),𝑏(𝑖)}

[1]

𝑠(𝑖) nằm trong đoạn [− 1, 1]. 𝑠(𝑖) càng gần 1 thì điểm dữ liệu 𝑖 càng phù hợp với cụm mà nó
được phân vào. 𝑠(𝑖) = 0 thì khơng thể xác định được 𝑖 nên thuộc về cụm nào giữa cụm hiện

tại và cụm hàng xóm của nó. 𝑠(𝑖) càng gần -1 thì chứng tỏ 𝑖 bị phân sai cụm, nó nên thuộc về
cụm hàng xóm chứ khơng phải cụm hiện tại.
b.

Độ đo Davies-Bouldin
Độ đo Davies-Bouldin được tính theo cơng thức:
𝐷𝐵 =

1
𝑛

𝑛

(

∑ 𝑀𝑎𝑥𝑖≠𝑗

𝑖=1

σ𝑖+σ𝑗
𝑑(𝑐𝑖,𝑐𝑗)

)

[2]

Trong đó:
-

𝑛 là số cụm

c là trọng tâm của cụm 𝑥
σ𝑥 là trung bình khoảng cách của tất cả các phần tử trong cụm 𝑥 tới trọng tâm 𝑐𝑥

-

𝑑(𝑐𝑖, 𝑐𝑗) là khoảng cách giữa 2 trọng tâm của cụm 𝑖 và 𝑗.

Giá trị 𝐷𝐵 càng nhỏ thì chất lượng phân cụm càng tốt.

4


CHƯƠNG II: BÀI TOÁN PHÂN CỤM DỰA TRÊN MẬT ĐỘ
1. Thuật toán DBSCAN
a.

Ý tưởng

DBSCAN (Density-based spatial clustering of applications with noise) [1] [2] là một
thuật toán cơ sở để phân nhóm dựa trên mật độ. Nó có thể phát hiện ra các cụm có hình dạng
và kích thước khác nhau từ một lượng lớn dữ liệu chứa nhiễu.
Các cụm là các vùng dày đặc trong không gian dữ liệu, được phân tách bởi các vùng có
mật độ điểm thấp hơn. Thuật toán DBSCAN dựa trên khái niệm "cụm" và "nhiễu". Ý tưởng
chính là đối với mỗi điểm của một cụm, vùng lân cận của bán kính nhất định phải chứa ít
nhất một số điểm tối thiểu.

Hình 1: Các cụm dữ liệu có hình cầu hoặc lồi

Phương pháp phân vùng (K-MEANS, phân cụm PAM) và công việc phân cụm phân cấp
để tìm các cụm hình cầu hoặc cụm lồi. Nói cách khác, chúng chỉ phù hợp cho các cụm

nhỏ gọn và được phân tách tốt. Hơn nữa, chúng cũng bị ảnh hưởng nghiêm trọng bởi sự
hiện diện của các điểm nhiễu và các ngoại lệ trong dữ liệu.
Dữ liệu thực tế có các điểm bất thường như:
-

Các cụm có thể có hình dạng tùy ý.
Dữ liệu có thể chứa nhiễu.

5


Hình 2: Các cụm dữ liệu có hình dạng tùy ý

Hình trên cho thấy một tập dữ liệu chứa các cụm không liên quan và chứa các ngoại
lệ/nhiễu. Với dữ liệu như vậy, thuật tốn K-means gặp khó khăn trong việc xác định các
cụm này với các hình dạng tùy ý.
b.

Các định nghĩa thuật toán sử dụng

● Định nghĩa 1
Epsilon lân cận (Eps-neighborhood) của một điểm dữ liệu P được định nghĩa là tập hợp tất
cả các điểm dữ liệu nằm trong phạm vi bán kính epsilon (kí hiệu ε ) xung quanh điểm P. Kí
hiệu tập hợp những điểm này là:
𝑁𝑒𝑝𝑠(𝑃)  =  {𝑄 ∈ 𝐷 :  𝑑(𝑃,  𝑄) ≤ ε}
Trong đó 𝐷  là tập hợp tất cả các điểm dữ liệu của tập huấn luyện.
● Định nghĩa 2
Khả năng tiếp cận trực tiếp mật độ (directly density-reachable) đề cập tới việc một điểm có
thể tiếp cận trực tiếp tới một điểm dữ liệu khác. Cụ thể là một điểm Q được coi là có thể
tiếp cận trực tiếp bởi điểm P tương ứng với tham số epsilon và MinPts nếu như nó thoả

mãn hai điều kiện:
Q nằm trong vùng lân cận epsilon của 𝑃: 𝑄 ∈ 𝑁𝑒𝑝𝑠(𝑃)
Số lượng các điểm dữ liệu nằm trong vùng lân cận epsilon tối thiểu là MinPts:

|𝑁𝑒𝑝𝑠(𝑄)|≥𝑀𝑖𝑛𝑃𝑡𝑠
Như vậy một điểm dữ liệu có thể tiếp cận được trực tiếp tới một điểm khác không chỉ dựa
vào khoảng cách giữa chúng mà còn phụ thuộc vào mật độ các điểm dữ liệu trong vùng
epsilon lân cậ phải tối thiểu bằng MinPts. Khi đó vùng lân cận được coi là có mật độ cao
và sẽ được phân vào các cụm. Trái lại thì vùng lân cận sẽ có mật độ thấp. Trong trường
hợp mật độ thấp thì điểm dữ liệu ở trung tâm được coi là không kết nối trực tiếp tới những
điểm khác trong vùng lân cận và những điểm này có thể rơi vào biên của cụm hoặc là một
điểm dữ liệu nhiễu không thuộc về cụm nào.
● Định nghĩa 3
6


Khả năng tiếp cận mật độ (density-reachable) liên quan đến cách hình thành một chuỗi liên
𝑛

kết điểm trong cụm. Cụ thể là trong một tập hợp chuỗi điểm {𝑃𝑖}

⊂𝐷 mà nếu như bất kì

𝑖=1

một điểm 𝑃𝑖 nào cũng đều có thể tiếp cận trực tiếp mật độ (định nghĩa 2) bởi 𝑃𝑖−1 theo
tham số epsilon và MinPts thì khi đó ta nói điểm 𝑃 = 𝑃𝑛 có khả năng kết nối mật độ tới
điểm 𝑄 = 𝑃1.
𝑛


Từ định nghĩa 3 ta suy ra hai điểm 𝑃𝑖và 𝑃𝑗 bất kì thuộc chuỗi {𝑃𝑖}

 thoả mãn i
𝑖=1

đều có khả năng kết nối mật độ tới 𝑃𝑖. Hai điểm bất kì có khả năng kết nối mật độ với nhau
𝑛

thì sẽ thuộc cùng một cụm. Từ đó suy ra các điểm trong chuỗi {𝑃𝑖}

 đều được phân về

𝑖=1

cùng cụm. Khả năng tiếp cận mật độ thể hiện sự mở rộng phạm vi của một cụm dữ liệu dựa
trên liên kết theo chuỗi. Xuất phát từ một điểm dữ liệu ta có thể tìm được các điểm có khả
năng kết nối mật độ tới nó theo lan truyền chuỗi để xác định cụm.
c. Phân loại dạng điểm trong DBSCAN
Trong thuật toán DBSCAN sử dụng hai tham số chính đó là:
● epsilon (kí hiệu ε):Là giá trị khoảng cách được sử dụng để xác định vùng lân cận
epsilon của bất kỳ điểm dữ liệu nào. Tức là nếu khoảng cách giữa hai điểm thấp hơn
hoặc bằng ε thì chúng được coi là hàng xóm. Nếu giá trị ‘ε’được chọn q nhỏ thì
phần lớn dữ liệu sẽ được coi là ngoại lệ. Nếu nó được chọn rất lớn thì các cụm sẽ hợp
nhất và phần lớn các điểm dữ liệu sẽ ở cùng một cụm.
● MinPts: Là số lượng điểm dữ liệu trong bán kính ‘ε’. Số lượng MinPts khơng bao
gồm điểm ở tâm.
Hai tham số trên giúp kết nối chuỗi dữ liệu vào chung một cụm và giúp xác định ba loại
điểm:
● Điểm lõi (core point): Là một điểm có ít nhất MinPts điểm trong vùng lân cận

epsilon của chính nó.
● Điểm biên (border point): Là một điểm có ít nhất một điểm lõi nằm ở vùng lân
cận epsilon nhưng mật độ không đủ MinPts điểm.
● Điểm nhiễu hoặc ngoại lệ (noise or outlier): Là điểm không phải là điểm lõi hay
điểm biên.

7


Hình 3: Ví dụ về 3 loại điểm trong DBSCAN

Đối với một cặp điểm (P,Q) bất kì sẽ có ba khả năng:
● Cả P và Q đều có khả năng kết nối mật độ được với nhau. Khi đó P , Q đều thuộc
về chung một cụm.
● P có khả năng kết nối mật độ được với Q nhưng Q khơng kết nối mật độ được với
P . Khi đó P sẽ là điểm lõi của cụm còn Q là một điểm biên.
● P và Q đều không kết nối mật độ được với nhau. Trường hợp này P và Q sẽ rơi
vào những cụm khác nhau hoặc một trong hai điểm là điểm nhiễu.
c. Các bước trong thuật toán DBSCAN
Thuật toán sẽ thực hiện lan truyền để mở rộng dần phạm vi của cụm cho tới khi chạm tới
những điểm biên thì thuật tốn sẽ chuyển sang một cụm mới và lặp lại tiếp quá trình trên.
Quy trình cụ thể của thuật toán:
Bước 1: Thuật toán lựa chọn một điểm dữ liệu bất kì. Sau đó tiến hành xác định các điểm
lõi và điểm biên thông qua vùng lân cận epsilon bằng cách lan truyền theo liên kết chuỗi
các điểm thuộc cùng một cụm.
Bước 2: Cụm hoàn toàn được xác định khi không thể mở rộng được thêm. Khi đó lặp lại
đệ qui tồn bộ q trình với điểm khởi tạo trong số các điểm dữ liệu còn lại để xác định
một cụm mới.
d. Mã giả
DBSCAN (D, ε, minpts):

1. Core ← ∅
2. foreach 𝑥𝑖∈ D do // Find the core points
3.

Compute 𝑁ε (𝑥𝑖)

4.

id(𝑥𝑖) ← ∅ // cluster id for xi

5.

if 𝑁ε (𝑥𝑖) ≥ minpts then Core ← Core ∪{𝑥𝑖}
8


6. k ← 0 // cluster id
7. foreach 𝑥𝑖 ∈ Core, such that id(𝑥𝑖) = ∅ do
8.

k←k+1

9.

id(𝑥𝑖) ← k // assign 𝑥𝑖 to cluster id k

10.

DENSITYCONNECTED (𝑥𝑖,k)
𝑘


11. C ← {𝐶𝑖}

, where Ci ← {x ∈ D | id(x) = i}

𝑖=1

12. Noise ← {x ∈ D | id(x) = ∅}
13. Border ← D \{Core ∪ Noise}
14. return C, Core, Border, Noise
DENSITYCONNECTED (x, k):
15. foreach y ∈ 𝑁ε (x) do

e.

16.

id(y) ← k // assign y to cluster id k

17.

if y ∈ Core then DENSITYCONNECTED (y,k)

Xác định tham số
Xác định tham số là một bước quan trọng và ảnh hưởng trực tiếp tới kết quả của các thuật
toán. Đối với thuật DBSCAN cũng khơng ngoại lệ. Cần phải xác định chính xác tham số
cho thuật toán DBSCAN một cách phù hợp với từng bộ dữ liệu cụ thể, tuỳ theo đặc điểm
và tính chất của phân phối của bộ dữ liệu. Hai tham số cần lựa chọn trong DBSCAN đó
chính là minPts và epsilon:
minPts: Theo quy tắc chung, minPts tối thiểu có thể được tính theo số chiều D trong tập

dữ liệu đó là minPts ≥ 𝐷 + 1 . Một giá trị minPts = 1 khơng có ý nghĩa, vì khi đó mọi
điểm bản thân nó đều là một cụm. Với minPts ≤2, kết quả sẽ giống như phân cụm phân
cấp (hierarchical clustering) với single linkage với biểu đồ dendrogram được cắt ở độ cao
y = epsilon. Do đó, phải được chọn ít nhất là 3. Tuy nhiên, các giá trị lớn hơn thường tốt
hơn cho các tập dữ liệu có nhiễu và kết quả phân cụm thường hợp lý hơn. Theo quy tắc
chung thì thường chọn minPts = 2 x dim. Trong trường hợp dữ liệu có nhiễu hoặc có
nhiều quan sát lặp lại thì cần lựa chọn giá trị minPts lớn hơn nữa tương ứng với những bộ
dữ liệu lớn.
epsilon: Giá trị ε có thể được chọn bằng cách vẽ một biểu đồ k-distance. Đây là biểu đồ
thể hiện giá trị khoảng cách trong thuật toán k-Means clustering đến k = minPts - 1 điểm
lân cận gần nhất. Ứng với mỗi điểm chúng ta chỉ lựa chọn ra khoảng cách lớn nhất trong
k khoảng cách. Những khoảng cách này trên đồ thị được sắp xếp theo thứ tự giảm dần.
Các giá trị tốt của ε là vị trí mà biểu đồ này cho thấy xuất hiện một điểm khuỷ tay (elbow
point): Nếu ε được chọn quá nhỏ, một phần lớn dữ liệu sẽ không được phân cụm và được
xem là nhiễu; trong khi đối với giá trị ε quá cao, các cụm sẽ hợp nhất và phần lớn các
điểm sẽ nằm trong cùng một cụm. Nói chung, các giá trị nhỏ của ε được ưu tiên hơn và
theo quy tắc chung, chỉ một phần nhỏ các điểm nên nằm trong vùng lân cận epsilon.
9


Hàm khoảng cách: Việc lựa chọn hàm khoảng cách có mối liên hệ chặt chẽ với lựa chọn
và tạo ra ảnh hưởng lớn tới kết quả. Điểm quan trọng trước tiên đó là chúng ta cần xác
định một thước đo hợp lý về độ khác biệt (disimilarity) cho tập dữ liệu trước khi có thể
chọn tham số . Khoảng cách được sử dụng phổ biến nhất là euclidean distance.
f. Độ phức tạp
Chi phí chính trong DBSCAN là để tính tốn vùng lân cận ε cho mỗi điểm. Nếu số chiều
không quá lớn, điều này có thể được thực hiện một cách hiệu quả bằng cách sử dụng cấu
2

trúc chỉ mục không gian trong thời gian O(nlogn). Khi số chiều lớn, cần O(𝑛 ) để tính

tốn vùng lân cận cho mỗi điểm. Khi 𝑁∈ (x) đã được tính tốn, thuật tốn chỉ cần một lần
duyệt qua tất cả các điểm để tìm mật độ các cụm được kết nối. Do đó, độ phức tạp tổng
2

thể của DBSCAN là O(𝑛 ) trong trường hợp xấu nhất.

2.

OPTICS: Ordering Points to Identify the Clustering Structure
Mặc dù giải thuật phân cụm dựa trên mật độ DBSCAN có thể tìm ra cụm các đối tượng
với việc lựa chọn các tham số đầu vào như ε và MinPts, người dùng vẫn chịu trách nhiệm
lựa chọn các giá trị tham số tốt để tìm ra các cụm chính xác. Trên thực tế, đây là bài toán
có sự kết hợp của nhiều giải thuật phân cụm khác. Các thiết lập tham số như vậy thường
khá khó để xác định, đặc biệt trong thế giới thực, các tập dữ liệu số chiều cao. Hầu hết
các giải thuật rất nhạy với các giá trị tham số: các thiết lập có sự khác biệt nhỏ có thể dẫn
tới các phân chia dữ liệu rất khác nhau. Hơn nữa, các tập dữ liệu thực số chiều cao
thường có phân bố rất lệch, thậm chí ở đó không tồn tại một thiết lập tham số toàn cục
cho đầu vào, kết quả của một giải thuật phân cụm có thể mô tả bản chất cấu trúc phân
cụm một cách chính xác.
Để khắc phục khó khăn này, một phương pháp sắp xếp cụm gọi là OPTICS (Ordering
Points To Identify the Clustering Structure) được phát triển bởi (Ankerst, Breunig,
Kriegel và Sander 1999). Nó tính một sắp xếp phân cụm tăng dần cho phép phân tích
cụm tự động và tương tác. Sắp xếp phân cụm này chứa đựng thông tin tương đương với
phân cụm dựa trên mật độ phù hợp với một phạm vi rộng các thiết lập tham số.
Bằng cách khảo sát giải thuật phân cụm dựa trên mật độ, DBSCAN có thể dễ dàng thấy
rằng đối với một giá trị hằng số MinPts, các cụm dựa trên mật độ đối với mật độ cao hơn
(tức là một giá trị ε thấp hơn) được chứa hoàn toàn trong các tập mật độ liên kết đối với
một mật độ thấp hơn. Bởi vậy, để đưa ra các cụm dựa trên mật độ với một tập các tham
số khoảng cách, giải thuật cần lựa chọn các đối tượng để xử lý theo một trật tự cụ thể để
đối tượng là mật độ tiến đối với giá trị ε thấp nhất được kết thúc trước tiên.

Dựa trên ý tưởng này, hai giá trị cần được lưu trữ đối với mỗi đới tượng: khoảng cách
nòng cớt (core-distance) và khoảng cách có thể tiếp cận (reachability- distance).
Khoảng cách nòng cốt của một đối tượng p là khoảng cách nhỏ nhất ε' giữa p và một đối
tượng trong ε – lân cận của nó để p sẽ là một đối tượng nòng cốt đối với ε' nếu như lân
cận này được chứa trong ε – lân cận của p. Nếu không thì khoảng cách nòng cốt là không
xác định.

10


Hình 4: Core-distance

Khoảng cách có thể tiếp cận của một đối tượng p đối với một đối tượng o khác là khoảng
cách nhỏ nhất để p là mật độ trực tiếp tiến từ o nếu o là một đối tượng nòng cốt. Nếu o
không phải là một đối tượng nòng cốt, ngay cả tại khoảng cách phát sinh ε, khoảng cách
có thể tiếp cận của một đới tượng p đới với o là không xác định.

Hình 5: Reachability-distance

Giải thuật OPTICS tạo lập trật tự của một cơ sở dữ liệu, thêm vào đó là lưu trữ khoảng
cách nòng cốt và một khoảng cách có thể tiếp cận phù hợp với mỗi đối tượng. Thông tin
như vậy là đủ cho sự rút trích của tất cả các phân cụm dựa trên mật độ đối với bất kỳ một
khoảng cách ε' nhỏ hơn khoảng cách phát sinh ε từ trật tự này.
Sắp xếp cụm của một tập dữ liệu có thể được trình bày và hiểu bằng đồ thị. Ví dụ, hình 6
là một biểu đồ tiến cho một tập dữ liệu hai chiều đơn giản, nó biểu diễn một cái nhìn tổng
quát về dữ liệu được cấu trúc và phân cụm như thế nào. Các phương pháp cũng được phát
triển để quan sát các cấu trúc phân cụm cho dữ liệu số chiều cao.

11



Hình 6: Sắp xếp cụm trong OPTICS

Thuật toán DBSCAN và OPTICS tương tự với nhau về cấu trúc và có cùng độ phức tạp:
O(nLogn) (n là kích thước của tập dữ liệu).
So sánh thuật tốn OPTICS với DBSCAN
-

-

-

3.

Chi phí bộ nhớ : Kỹ thuật phân cụm OPTICS yêu cầu nhiều bộ nhớ hơn vì nó duy
trì hàng đợi ưu tiên (Min Heap) để xác định điểm dữ liệu tiếp theo gần nhất với
điểm hiện đang được xử lý theo Khoảng cách có thể tiếp cận. Nó cũng địi hỏi nhiều
sức mạnh tính tốn hơn vì các truy vấn hàng xóm gần nhất phức tạp hơn các truy
vấn bán kính trong DBSCAN.
Ít tham số hơn : Kỹ thuật phân cụm OPTICS không cần duy trì tham số epsilon và
chỉ được cung cấp trong mã giả ở trên để giảm thời gian thực hiện. Điều này dẫn
đến việc giảm q trình phân tích điều chỉnh tham số.
Kỹ thuật này không tách dữ liệu đã cho thành các cụm. Nó chỉ tạo ra một biểu đồ
khoảng cách Khả năng tiếp cận và tùy thuộc vào sự giải thích của lập trình viên để
phân cụm các điểm cho phù hợp.

DENCLUE: Clustering Based on Density Distribution Functions

a. Giới thiệu thuật toán DENCLUE
DENCLUE (DENsity -based CLUstEring - phân cụm dựa trên mật độ) (Hinneburg và

Keim 1998) là phương pháp phân cụm dựa trên một tập các hàm phân bố mật độ.
Phương pháp được dựa trên ý tưởng sau:
-

-

(1) Tác động của mỗi điểm dữ liệu có thể được làm mơ hình chính thức sử dụng
một hàm tốn học gọi là hàm tác động, hàm tác động được xem như là một hàm mô
tả tác động của một điểm dữ liệu trong phạm vi lân cận của nó;
(2) Tồn bộ mật độ của khơng gian dữ liệu có thể được làm mơ hình theo phép phân
tích tổng các hàm tác động của tất cả các điểm dữ liệu;
(3) Các cụm sau đó có thể được xác định chính xác bằng cách nhận biết các thu hút
mật độ, tại đó các thu hut mật độ cực đại cục bộ của toàn bộ hàm mật độ.
12


Hình 7: Hàm mật độ và attactor mật độ

b.

Điểm thu hút mật độ và độ dốc
*

Một điểm 𝑥 được gọi là một điểm thu hút mật độ nếu nó là cực đại cục bộ của hàm mật độ
xác suất 𝑓. Một điểm thu hút mật độ được tìm thấy bằng cách tăng dần độ dốc tại một số
điểm 𝑥. Ý tưởng là tính tốn độ dốc mật độ, hướng tăng mật độ và di chuyển theo hướng
của độ dốc theo các bước nhỏ, cho đến khi chúng ta đạt đến cực đại cục bộ.
Hàm ước tính mật độ đa biến:
^


𝑓(𝑥) =

𝑛

1

( )
𝑥−𝑥𝑖

∑ 𝐾

𝑑

𝑛ℎ 𝑖=1



Độ dốc tại điểm 𝑥 có thể được tính tốn là đạo hàm của ước tính mật độ xác suất đa biến
trong biểu thức như sau:
^

∇𝑓(𝑥) =

𝑛
∂ ^
1

𝑓
(
𝑥

)
=

𝑑
∂𝑥
𝑛ℎ 𝑖=1 ∂𝑥

𝐾

( ) [3]
𝑥−𝑥𝑖


Gaussian kernel:
𝐾(𝑧) =

1
(2π)

𝑑
2

{

𝑇

exp 𝑒𝑥𝑝 −

𝑧 𝑧
2


} [4]

Gaussian kernel gradient:

∂𝑥

Đặt 𝑧 =

𝐾(𝑧) =

𝑥−𝑥𝑖


(

1
(2π)

{

exp 𝑒𝑥𝑝 −

𝑇

𝑧 𝑧
2

} ). − 𝑧.



∂𝑥

= 𝐾(𝑧). − 𝑧.

∂𝑧
∂𝑥

[5]

:

∂𝑥

Theo dõi thấy

𝑑
2


∂𝑥

( )=
𝑥−𝑥𝑖


( ) = 𝐾( ). ( ). (

𝐾


𝑥−𝑥𝑖

𝑥−𝑥𝑖

𝑥−𝑥𝑖







1


1


) [6]

. Thay thế vào công thức [3] ta có độ dốc tại điểm x có dạng:
13


^

𝑛

1


∇𝑓(𝑥) =

( ). (𝑥 − 𝑥 ) [7]
𝑥−𝑥𝑖

∑ 𝐾

𝑑+2

𝑛ℎ

𝑖=1



𝑖

*

Sử dụng phương pháp tăng dần độ dốc để tính 𝑥 , tức là bắt đầu từ 𝑥, chúng ra cập nhật nó
ở mỗi bước t thơng qua quy tắc cập nhật.
^

( )

𝑥𝑡+1 = 𝑥𝑡 + δ. ∇𝑓 𝑥𝑡 [8]

^

Hình 8: Vector gradient ∇𝑓(𝑥) (hiển thị bằng màu đen dày) thu được dưới dạng tổng của các vector khác nhau 𝑥𝑖 − 𝑥

(hiển thị màu xám).

Trong đó δ > 0 là độ lớn bước đi. Mỗi điểm trung gian thu được sau khi di chuyển nhỏ
theo hướng của vector gradient. Tuy nhiên, cách tiếp cận có độ dốc có thể chậm để hội tụ.
Thay vào đó, có thể trực tiếp tối ưu hóa hướng di chuyển bằng cách đặt gradient về vector
0:
^

∇𝑓(𝑥) = 0
𝑛

( ). (𝑥 − 𝑥) = 0 [9]
𝑥. ∑ 𝐾(
) = ∑ 𝐾( )𝑥 [10]
1

𝑑+2

𝑛ℎ

∑ 𝐾

𝑥−𝑥𝑖

𝑖=1

𝑛

𝑖=1




𝑖

𝑛

𝑥−𝑥𝑖




𝑖=1

𝑛

( )𝑥
∑ 𝐾(
)

𝑖

𝑥−𝑥𝑖

∑𝐾

𝑥=

𝑥−𝑥𝑖




𝑖=1
𝑛

𝑖

[11]

𝑥−𝑥𝑖


𝑖=1

Điểm 𝑥 xuất hiện ở cả hai vế của công thức [11]; Tuy nhiên, nó có thể được sử dụng để có
được quy tắc cập nhật lặp sau:
𝑛

( )𝑥
∑ 𝐾(
)

∑𝐾

𝑥𝑡+1 =

𝑥−𝑥𝑖

𝑖=1
𝑛




𝑥−𝑥𝑖

𝑖=1

14



𝑖

[12]


Trong đó 𝑡 biểu thị lần lần lặp hiện tại và 𝑥𝑡+1 là giá trị được cập nhật cho vector hiện tại 𝑥𝑡
. Quy tắc cập nhật trực tiếp này về cơ bản là trung bình có trọng số ảnh hưởng (được tính
tốn thơng qua hàm K) của mỗi điểm 𝑥𝑖∈𝐷 trên điểm hiện tại 𝑥𝑡. Quy tắc cập nhật trực tiếp
dẫn đến sự hội tụ nhanh hơn nhiều của thuật tốn leo đồi.
c. Tìm điểm trung tâm
Một cụm 𝐶⊆𝐷 được gọi là cụm đã được xác định là trung tâm nếu tất cả các điểm 𝑥∈𝐶 là
^

*

( *)

mật độ thu hút bởi một điểm thu hút mật độ duy nhất 𝑥 , sao cho 𝑓 𝑥 ≥ξ, trong đó ξ là
ngưỡng mật độ tối thiểu người dùng tự định nghĩa:
^


*

( )

𝑓 𝑥 =

𝑛

1

( )
*

∑ 𝐾

𝑑

𝑛ℎ 𝑖=1

𝑥 −𝑥𝑖


≥ξ [13]

d. Cụm dựa trên mật độ
Một cụm có hình tùy ý 𝐶⊆𝐷 được gọi là cụm dựa trên mật độ nếu tồn tại một tập hợp thu
*

*


*

hút mật độ 𝑥1, 𝑥2, …, 𝑥𝑚. Do đó
*

-

Mỗi điểm 𝑥∈𝐶 bị thu hút bởi một số điểm thu hút 𝑥𝑖 .

-

Mỗi điểm thu hút mật độ trên ngưỡng ξ. Tức là 𝑓 𝑥𝑖 ≥ξ.

-

Bất kì 2 điểm thu hút mật độ 𝑥𝑖 và 𝑥𝑗 có thể truy cập được, nghĩa là, tồn tại một

()

^

*

*

*

*


^

*

( *)

đường dẫn từ 𝑥𝑖 đến 𝑥𝑗 , sao cho tất cả các điểm y trên đường dẫn 𝑓 𝑥 ≥ξ.
e.

Thuật toán DENCLUE
Mã giả của thuật toán DENCLUE:
DENCLUE(𝐷, ℎ, ξ, ε):
1 𝐴←θ
2 foreach 𝑥 ∈𝐷 do:
*

3

𝑥 ← 𝐹𝑖𝑛𝑑𝐴𝑡𝑡𝑟𝑎𝑐𝑡𝑜𝑟(𝑥, 𝐷, ℎ, ε)

4

if 𝑓 𝑥 ≥ξ then:

^

( *)

{ *}
*

*
𝑅(𝑥 )←𝑅(𝑥 )∪{𝑥}

5

𝐴← 𝐴∪ 𝑥

6

{

*

*

*

*

7 𝐶 ← 𝑚𝑎𝑥𝑖𝑚𝑎𝑙 𝐶 ⊆𝐴| ∀𝑥𝑖 , 𝑥𝑗 ∈𝐶, 𝑥𝑖 𝑎𝑛𝑑 𝑥𝑗 𝑎𝑟𝑒 𝑑𝑒𝑛𝑠𝑖𝑡𝑦 𝑟𝑒𝑎𝑐ℎ𝑎𝑏𝑙𝑒
8 foreach 𝐶∈𝐶 do:
9
10

*

foreach 𝑥 ∈ 𝐶 do:

( *)


𝐶 ←𝐶∪𝑅 𝑥

15

}


11 return 𝐶
𝐹𝑖𝑛𝑑𝐴𝑡𝑡𝑟𝑎𝑐𝑡𝑜𝑟(𝑥, 𝐷, ℎ, ε)
12 𝑡←0
13 𝑥𝑡←𝑥
14 repeat
𝑛

( )𝑥
∑ 𝐾(
)

∑𝐾

15

𝑥𝑡+1 =

𝑖=1
𝑛

𝑖=1

16


𝑥𝑡−𝑥𝑖


𝑡

𝑥𝑡−𝑥𝑖


𝑡←𝑡 + 1

17 until

||𝑥𝑡 − 𝑥𝑡−1||≤ε

18 return 𝑥𝑡
*

Bước đầu tiên là tính tốn density attractor 𝑥 cho mỗi điểm dữ liệu 𝑥 trong tập dữ liệu
*

(dòng 3). Nếu mật độ tại 𝑥 trên ngưỡng mật độ tối thiểu ξ, thì attractor được thêm vào tập

( *)

hợp các attractor 𝐴. Điểm dữ liệu 𝑥 cũng được thêm vào tập hợp 𝑅 𝑥 các điểm bị vào bởi
*

𝑥 (dòng 4-6).
Bước thứ 2, Denclue tìm thấy tất cả các tập con cực đại của tập attractors 𝐶 ⊆𝐴, sao cho

bất kì cặp attractor nào trong 𝐶 đều có khả năng tiếp cận nhau (dịng 7). Các tập attractors
con cực đại này có thể tiếp cận với nhau tạo thành gốc cho từng cụm dựa trên mật độ. Cuối
*

( *)

cùng, với mỗi điểm attractor 𝑥 ∈𝐶, chúng ta có thể thêm cụm tất cả các điểm của tập 𝑅 𝑥
*

bị hút bởi 𝑥 , dẫn đến tập hợp các cụm cuối cùng là 𝐶.
Phương pháp FindAttractor thực hiện quy trình leo đồi bằng cách sử dụng quy tắc cập nhật
trực tiếp, dẫn đến sự hội tụ nhanh. Để tiếp tục tăng tốc độ tính tốn hơn nữa, có thể tính
tốn các giá trị kernel cho riêng các hàng xóm gần nhất của 𝑥𝑡. Tức là, chúng ta có thể
đánh chỉ mục các điểm trong tập dữ liệu D bằng cấu trúc chỉ số khơng gian, để chúng ta có
thể nhanh chóng tính tốn tất cả các hàng xóm gần nhất của 𝑥𝑡 trong một số bán kính 𝑟.
Đối với Gaussian kernel, chúng ta có thể đặt 𝑟 = ℎ. 𝑧, trong đó ℎ là tham số ảnh hưởng
đóng vai trị của độ lệch chuẩn và 𝑧 chỉ định số lượng độ lệch chuẩn. Đặt 𝐵𝑑 𝑥𝑡, 𝑟 biểu thị

(

)

tập hợp tất cả các điểm trong D nằm trong một quả cầu d chiều, bán kính r tập trung tại 𝑥𝑡.
Quy tắc cập nhật dựa trên hàng xóm gần nhất sau đó có thể dựa trên công thức:

( )𝑥
( )
∑ 𝐾(
)
( )




𝑥𝑡+1 =

𝐾

𝑥𝑖∈𝐵𝑑 𝑥𝑡,𝑟

𝑥𝑡−𝑥𝑖


𝑥𝑡−𝑥𝑖

𝑥𝑖∈𝐵𝑑 𝑥𝑡,𝑟

𝑖

[14]



Trong đó, 𝑡 biểu thị lần lặp lại hiện tại và 𝑥𝑡+1 là giá trị được cập nhật cho vecto hiện tại 𝑥𝑡.
Quy tắc cập nhật trực tiếp này về cơ bản là trùng bình có trọng số của ảnh hưởng (được
16


tính thơng qua hàm kernel k) của mỗi điểm 𝑥𝑡∈𝐷 trên điểm hiện tại 𝑥𝑡. Quy tắc cập nhật
trực tiếp dẫn đến sự hội tụ nhanh hơn nhiều của phương pháp leo đồi
Nó có thể được sử dụng ở dịng 15 trong thuật tốn. Khi kích thước dữ liệu khơng lớn, điều

này có thể dẫn đến tăng tốc độ tính tốn đáng kể. Tuy nhiên, hiệu quả giảm dần nhanh
chóng với số lượng kích thước ngày càng tăng.
Độ phức tạp của DENCLUE bị chi phối bởi chi phí của quá trình tìm điểm thu hút mật độ.
Đối với mỗi điểm 𝑥∈𝐷, việc tìm điểm thu hút mật độ mất 𝑂(𝑛𝑡) thời gian, trong đó t là số
lần lặp leo đồi tối đa. Điều này là do mỗi lần lặp mất 𝑂(𝑛) thời gian để tính tổng của hàm
ảnh hưởng trên tất cả các điểm 𝑥𝑖∈𝐷. Do đó, tổng chi phí để tính các điểm thu hút mật độ
2

là 𝑂(𝑛 𝑡). Giả sử rằng đối với các giá trị hợp lý của ε và ξ, chỉ có một vài điểm thu hút mật
độ, nghĩa là |𝐴| = 𝑚≪𝑛. Chi phí tìm kiếm các tập hợp con thu hút tối đa có thể truy cập là
2

𝑂(𝑚 ) và các cụm cuối cùng có thể thu được trong thời gian 𝑂(𝑛)

4.

Thuật tốn K-means
Thuật toán phân cụm K-means được giới thiệu năm 1957 bởi Lloyd K-means và là phương
pháp phổ biến nhất cho việc phân cụm, dựa trên việc phân vùng dữ liệu
Biểu diễn dữ liệu: 𝐷 = {𝑥1, 𝑥2, …, 𝑥𝑟}, với 𝑥𝑖 là vector n nhiều trong không gian
Euclidean. K-means phân cụm D thành K cụm dữ liệu:
Mỗi cụm dữ liệu có một điểm trung tâm gọi là centroid
K là một hằng số cho trước

-

Các bước trong thuật toán K-means:
-

Đầu vào: Cho tập dữ liệu D, với K là số cụm, phép đo khoảng cách giữa 2 điểm dữ

liệu là d(x,y)
Khởi tạo: Khởi tạo K điểm dữ liệu trong D làm các điểm trung tâm (centroid)
Lặp lại các bước sau cho đến khi hội tụ:
o Bước 1: Với mỗi điểm dữ liệu, gán điểm dữ liệu đó vào cluster có khoảng cách
đến điểm trung tâm của cluster là nhỏ nhất.
o Bước 2: Với mỗi cluster, xác định lại điểm trung tâm của tất cả các điểm dữ
liệu được gán vào cluster đó.

-

a. Điều kiện hội tụ (điều kiện dừng thuật toán)
Ta sẽ xác định điều kiện dừng thuật toán theo một số cách như sau:
-

Tại 1 vịng lặp: có ít các điểm dữ liệu được gán sang cluster khác
Điểm trung tâm (centroid) không thay đổi nhiều hoặc
Giá trị hàm mất mát không thay đổi nhiều:
𝑘

(

)2 [15]

𝐸𝑟𝑟𝑜𝑟 = ∑ ∑ 𝑑 𝑥, 𝑚𝑖
𝑖=1 𝑥ϵ𝐶𝑖

Trong đó 𝐶𝑖 là cluster thứ i, 𝑚𝑖 là điểm trung tâm của cluster 𝐶𝑖 tương ứng.

17



Nhìn chung về điều kiện hội tụ có thể thấy mối liên hệ giữa các điều kiện là gần tương
đồng như nhau. Khi có ít điểm dữ liệu được gán sang cluster khác có thể khiến điểm
trung tâm khơng thay đổi nhiều và từ đó hàm mất mát cũng sẽ ít bị ảnh hưởng. Vậy nên
chúng ta có thể sử dụng 1 trong 3 cách trên để xác định điều kiện dừng của thuật toán.
b. Xác định điểm trung tâm của cluster
Để xác định điểm trung tâm của cluster ta sử dụng cơng thức như sau:
𝑚𝑖 =

1
|𝐶𝑖|

∑ 𝑥 [16]
𝑥ϵ𝐶𝑖

Trong đó 𝐶𝑖 là cluster thứ i, 𝑚𝑖 là điểm trung tâm của cluster 𝐶𝑖 tương ứng.
c. Phép đo khoảng cách
Trong K-means để đánh giá mức độ giống nhau hay khoảng cách giữa 2 điểm dữ liệu ta
có thể sử dụng các phép đo khoảng cách khác nhau. Ngoài khoảng cách Euclidean, tuỳ
thuộc vào từng bài tốn có thể sử dụng phương pháp đo khác (cosine, manhattan…)

(

) ||

||

𝑑 𝑥, 𝑚𝑖 = 𝑥 − 𝑚𝑖 =

2


2

2

(𝑥1 − 𝑚𝑖1) + (𝑥2 − 𝑚𝑖2) + … + (𝑥𝑛 − 𝑚𝑖𝑛) [17]

Mọi phương pháp tính khoảng cách giữa 2 vector đều có thể được sử dụng. Mỗi cách tính
khoảng cách thể hiện cách nhìn nhận về dữ liệu
-

Có vơ số cách tính khoảng cách
Cách tính khoảng cách nào là tốt? Câu trả lời phụ thuộc vào từng bài tốn để đưa
ra cách tính khoảng cách phù hợp.

d. Một số ảnh hưởng đến thuật toán K-means
Ảnh hưởng của outlier: Hiểu đơn giản thì Outliers là một hoặc nhiều cá thể khác hẳn đối
với các thành viên còn lại của nhóm. Sự khác biệt này có thể dựa trên nhiều tiêu chí khác
nhau như giá trị hay thuộc tính. Ví dụ về outlier có thể như là nhiễu trong các cảm biến
hay lỗi trong quá trình nhập liệu của người dùng ảnh hưởng đến chất lượng của dữ liệu.
K-means nhạy cảm với các điểm outlier, ví dụ: Các điểm dữ liệu outlier ảnh hưởng lớn
đến kết quả của việc phân cụm:

Hình 9: Ví dụ các điểm outlier

18


Khắc phục outlier:
o


Outlier removal: Có thể loại bỏ các điểm dữ liệu xa đáng kể so với điểm trung tâm
(centroid) của các cluster so với các điểm dữ liệu khác. Việc loại bỏ có thể được
thực hiện trước hoặc trong khi phân cụm.
o Random sampling: Thay vì phân cụm tồn bộ tập dữ liệu, chúng ta sẽ lấy ngẫu
nhiên tập con S từ tập dữ liệu huấn luyện. S được sử dụng để phân cụm, tập S lúc
này sẽ có ít các điểm outlier hơn tập dữ liệu gốc. Sau khi phân cụm xong, tập dữ
liệu còn lại sẽ được gán vào các cụm đã học được
Ảnh hưởng của việc khởi tạo trung tâm: chất lượng của K-means phụ thuộc vào việc khởi
tạo các điểm centroid

Hình 10: Ảnh hưởng của việc khởi tạo centroid

Giải pháp 1: Lặp lại nhiều lần thuật toán K-means:
- Mỗi lần chạy lại thuật toán K-means sẽ khởi tạo các điểm centroid khác nhau
- Sau quá trình học, tiến hành gộp các kết quả từ các lần chạy thành kết quả cuối
cùng
Giải pháp 2: Thuật toán K-means++ : Để tìm ra cụm tốt nhất, chúng ta có thể lần lượt khởi
tại các điểm trung tâm từ tập D tuần tự như sau:
- Lấy ngẫu nhiên điểm centroid đầu tiên 𝑚1

5.

-

Lấy điểm centroid tiếp theo là điểm xa nhất so với 𝑚1

-

Lấy điểm centroid thứ i (𝑚𝑖) là điểm xa nhất so với {𝑚1, …, 𝑚𝑖−1}


-

Bằng cách này K-means sẽ hội tụ về gần kết quả tối ưu

So sánh
Bảng 1: So sánh giữa K-means với DBSCAN

Thuật toán K-means
Đặc
điểm

Các cụm được hình thành có dạng
hình cầu hoặc lồi ít nhiều và phải có
cùng kích thước đặc điểm
19

Thuật tốn DBSCAN
Các cụm hình thành có hình dạng tùy ý
và có thể khơng có cùng kích thước các
đặc điểm


Phân cụm bằng k-means phụ thuộc
khá nhiều vào số lượng cụm được chỉ
định

Không cần chỉ định số lượng cụm từ
trước


K-means xử lý hiệu quả đối với các
bộ dữ liệu lớn

DBSCAN xử lý không hiệu quả đối với
các bộ dữ liệu nhiều chiều

K-means không hoạt động tốt với bộ
dữ liệu chứa nhiều ngoại lệ và nhiễu

DBSCAN xử lý hiệu quả các ngoại lệ
và bộ dữ liệu chứa nhiễu

Thuật toán gây ra các vấn đề vì các
điểm dị thường sẽ được gán cho cùng
một cụm như các điểm dữ liệu “bình
thường”

Xác định các vùng có mật độ cao được
tách ra với nhau bởi các vùng có mật độ
thấp

Mật độ khác nhau của các điểm dữ
liệu khơng ảnh hưởng đến thuật tốn

DBSCAN khơng hoạt động tốt cho các
bộ dữ liệu thưa thớt hoặc cho các điểm
dữ liệu với mật độ khác nhau.

Yêu cầu 1 tham số: Số lượng cụm (K)


Yêu cầu 2 tham số: epsilon và MinPts
-

Tham
số

-

Epsilon: Là giá trị khoảng cách
được sử dụng để xác định vùng lân
cận epsilon của bất kỳ điểm dữ liệu
nào.
MinPts: Là số lượng tối thiểu điểm
dữ liệu trong bán kính ‘ε’. Số
lượng MinPts khơng bao gồm điểm
ở tâm.
2

𝑂(𝑘. 𝑛. 𝑙)

𝑂(𝑛 )

Với:
Độ
phức
tạp

- k là số cụm
- n là số điểm dữ liệu
- l là số lần lặp


Bảng 2: So sánh giữa K-mean với OPTICS và DENCLUE

Thuật toán OPTICS

Đặc
điểm

Thuật toán DENCLUE

Thuật toán này là mở rộng của thuật
toán DBSCAN.

Các cụm hình thành có hình dạng tùy ý
và có thể khơng có cùng kích thước các
đặc điểm

Thuật tốn khơng phân cụm các điểm
dữ liệu mà tính tốn và sắp xếp trên

Không cần chỉ định số lượng cụm từ
trước nhưng phụ thuộc vào tham số ε

20


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×