Tải bản đầy đủ (.docx) (38 trang)

Khai phá dữ liệu Phân cụm dựa trên mật độ

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.25 MB, 38 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




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 ĐỘ........................5
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.

Độ phức tạp.......................................................................................................................9


2.

OPTICS: Ordering Points to Identify the Clustering Structure............................................9

3.

DENCLUE: Clustering Based on Density Distribution Functions.....................................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

4.

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


c. Phép đo khoảng cách.......................................................................................................17
d. Một số ảnh hưởng đến thuật tốn K-means....................................................................17
5.

So sánh................................................................................................................................18

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


Mơ tả dữ liệu.......................................................................................................................21
a. Mall Customer Segmentation Data.................................................................................21
b. Country Data...................................................................................................................22
c. Facebook Live sellers in Thailand..................................................................................23

3.

Á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à ln đượ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
tốn học và các giải thuật hiệu quả là chìa khố 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
Ngồ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 độ

1


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.

Ngồ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.

2


CHƯƠNG I: TỔNG QUAN VỀ BÀI TỐ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 ng̀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 toá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 toán học máy thường sử dụng các tính toán số
thực/số nguyên 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 tố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 toá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
toá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 k cụm:
Với mỗi điểm dữ liệu i đặt:
-

a (i) là khoảng cách trung bình từ i tới tất cả các điểm dữ liệu trong cùng cụm với i.
3


-

b (i) là khoảng cách trung bình ngắn nhất từ i tới bất kì cụm nào khơng chứa i.

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

b ( i )−a(i)
[ 1]
max ⁡{a ( i ) , b(i)}

s(i) nằm trong đoạn [−1,1]. s(i) càng gần 1 thì điểm dữ liệu i càng phù hợp với cụm mà nó

được phân vào. s ( i )=0 thì khơng thể xác định được i 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ó. s(i) càng gần -1 thì chứng tỏ i 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:

DB=

n
σ i +σ j
1
Max i ≠ j
[2]

n i=1
d (c i , c j )

(

)

Trong đó:
-

n là số cụm
c là trọng tâm của cụm x
σ x là trung bình khoảng cách của tất cả các phần tử trong cụm x tới trọng tâm c x
d(c i , c j) là khoảng cách giữa 2 trọng tâm của cụm i và j.


Giá trị DB 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à:

N eps ( P )= {Q ∈ D :d ( P ,Q ) ≤ ε }
Trong đó D 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 P :Q∈ N eps ( P )
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:

|N eps ( Q )|≥ 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 {Pi }ni=1 ⊂ D mà nếu như bất kì
một điểm Pi nào cũng đều có thể tiếp cận trực tiếp mật độ (định nghĩa 2) bởi Pi−1 theo
tham số epsilon và MinPts thì khi đó ta nói điểm P=P n có khả năng kết nối mật độ tới
điểm Q=P1 .
Từ định nghĩa 3 ta suy ra hai điểm Pivà P jbất kì thuộc chuỗi {Pi }ni=1 thoả mãn icó khả năng kết nối mật độ tới Pi. 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 {Pi }ni=1 đều được phân về 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 tố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 quá 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.

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

7


Đố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 x i∈ D do // Find the core points
3.

Compute N ε ( x i)

4.

id( x i) ← ∅ // cluster id for xi

5.

if N ε ( x i) ≥ minpts then Core ← Core ∪{ x i}

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

k←k+1

9.

id( x i) ← k // assign x i to cluster id k


10.

DENSITYCONNECTED ( x i,k)

11. C ← {C i }ki=1, where Ci ← {x ∈ D | id(x) = i}
12. Noise ← {x ∈ D | id(x) = ∅}
13. Border ← D \{Core ∪ Noise}
14. return C, Core, Border, Noise
DENSITYCONNECTED (x, k):
15. foreach y ∈ N ε (x) do
8


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 ≥ D+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 tố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.
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 toá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
trúc chỉ mục không gian trong thời gian O(nlogn). Khi số chiều lớn, cần O( n2) để tính
toán vùng lân cận cho mỗi điểm. Khi N ∈ (x) đã được tính toán, thuật toá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
thể của DBSCAN là O(n2) 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 tố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
9


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ố tồ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.

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.

10


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.

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
-


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.
11


-

-

3.

Í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 quá 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 toá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 độ.

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 x ¿đượ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 f . 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 x. Ý tưởng là tính toá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:
n
x−x i
^f ( x )= 1 ∑ K
d
h
nh i=1

( )
12



Độ dốc tại điểm x 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:
∇ f^ ( x )=

n
x−x i
∂ ^
1

f ( x )= d ∑
K
[ 3]
∂x
h
nh i=1 ∂ x

( )

Gaussian kernel:
K ( z )=

1
d

exp

(2 π )2


−z T z
[4]
2

{ }

Gaussian kernel gradient:

K ( z )=
∂x

(

1

(2 π )

Đặt z=

d
2

−z T z

∂z
exp
.−z .
=K ( z ) .−z .
[5]
2

∂x
∂x

{ })

x−x i
:
h

x −xi
x−x i x−x i 1

K
=K
.
.
[6 ]
∂x
h
h
h
h

( ) ( )( )( )
∂ x−x
1
Theo dõi thấy
= . Thay thế vào công thức [3] ta có độ dốc tại điểm x có dạng:
(
)

∂x
h
h
x−x
1
∇ f^ ( x )=
K(
. ( x −x ) [7 ]

h )
nh
i

n

d +2

i

i

i=1

Sử dụng phương pháp tăng dần độ dốc để tính x ¿, tức là bắt đầu từ x, chúng ra cập nhật nó
ở mỗi bước t thơng qua quy tắc cập nhật.
x t +1=x t +δ . ∇ f^ ( x t ) [8 ]

Hình 8: Vector gradient ∇ f^ (x ) (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).


13

x i−x


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:
∇ f^ ( x )=0
n
x−x i
1
K
. ( xi −x ) =0[9]

d +2
h
nh i=1

( )
x−x
x−x
x .∑ K (
=∑ K (
x [10]
)
h
h )
x−x
∑ K ( h )x

x=
[11 ]
x −x
∑K( h )
n

n

i

i=1

i

i

i=1

n

i

i

i=1
n

i

i =1


Điểm x 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:
n

x−xi
xi
h
i=1
x t +1= n
[12]
x−x i
∑K h
i=1

∑K

( )
( )

Trong đó t biểu thị lần lần lặp hiện tại và x t +1 là giá trị được cập nhật cho vector hiện tại x t .
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 x i ∈ D trên điểm hiện tại x t . 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 toán leo đời.
c. Tìm điểm trung tâm
Một cụm C ⊆ D được gọi là cụm đã được xác định là trung tâm nếu tất cả các điểm x ∈ C
là mật độ thu hút bởi một điểm thu hút mật độ duy nhất x ¿, sao cho ^f ( x ¿ ) ≥ ξ , trong đó ξ là
ngưỡng mật độ tối thiểu người dùng tự định nghĩa:
¿
n

^f ( x ¿ )= 1 ∑ K x −x i ≥ξ [13]
h
nhd i=1

(

)

d. Cụm dựa trên mật độ
Một cụm có hình tùy ý C ⊆ D đượ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 độ x 1 , x 2 , … , x m. Do đó
-

¿
Mỗi điểm x ∈ C bị thu hút bởi một số điểm thu hút x i .
¿
Mỗi điểm thu hút mật độ trên ngưỡng ξ. Tức là ^f ( xi ) ≥ξ .
¿
¿
Bất kì 2 điểm thu hút mật độ x i và x j có thể truy cập được, nghĩa là, tồn tại một
¿
¿
đường dẫn từ x i đến x j , sao cho tất cả các điểm y trên đường dẫn ^f ( x ¿ ) ≥ ξ .

14



e.

Thuật toán DENCLUE
Mã giả của thuật toán DENCLUE:
DENCLUE(D , h , ξ , ε):
1 A ←θ
2 foreach x ∈ D do:
3

x ¿ ← FindAttractor (x , D , h , ε )

4

if ^f ( x ¿ ) ≥ ξ then:

5

A ← A ∪ {x¿ }

6

R ( x ¿ ) ← R ( x ¿ ) ∪ {x }

7 C ← {maximal C ⊆ A∨∀ xi , x j ∈C , x i ∧x j are density reachable }
¿

¿

¿


¿

8 foreach C ∈ C do:
9

foreach x ¿ ∈C do:
C ← C ∪ R ( x¿ )

10
11 return C

FindAttractor( x , D ,h , ε)
12 t ← 0
13 x t ← x
14 repeat
n

x −x
x
(
h )
=
x −x
∑K( h )

∑K

15

x t +1


t

i

t

i=1
n

t

i

i =1

16

t ← t+1

17 until

||x t −x t−1||≤ ε

18 return x t
Bước đầu tiên là tính toán density attractor x ¿cho mỗi điểm dữ liệu x trong tập dữ liệu
(dòng 3). Nếu mật độ tại x ¿ trên ngưỡng mật độ tối thiểu ξ, thì attractor được thêm vào tập
hợp các attractor A. Điểm dữ liệu x cũng được thêm vào tập hợp R ( x ¿ ) các điểm bị vào bởi
x ¿(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 C ⊆ A, sao cho

bất kì cặp attractor nào trong C đề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 x ¿ ∈C, chúng ta có thể thêm cụm tất cả các điểm của tập R ( x ¿ )
bị hút bởi x ¿, dẫn đến tập hợp các cụm cuối cùng là C.
15



×