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

Tài liệu Đồ án tốt nghiệp Thuật toán Phân cụm dữ liệu nửa giám sát doc

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 (2.22 MB, 62 trang )













Đồ án tốt nghiệp

Thuật toán Phân cụm dữ
liệu nửa giám sát




















.
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

1









MỤC ĐÍCH CỦA ĐỀ TÀI
Công việc đọc và tìm hiểu đề tài nhằm những muc đích sau đây:
• Tìm hiểu qua về khai phá dữ liệu (Data mining).
• Tìm hiểu qua về một số thuật toán phân cụm dữ liệu không giám sát
• Trên lền tảng lý thuyết về khai phá dữ liệu và một số thuật toán phân
cụm không giám sát tiến tới đi sâu vào tìm hiểu, phân tích, đánh giá một
số thuật toán của phương pháp phân cụm dữ liệu nửa giám sát.( Thuậ
t
toán Seeded-Kmeans và Constrained-Kmeans)
• Xây dựng một chương trình demo, mô phỏng hoạt động của phương
pháp phân cụm dữ liệu nửa giám sát.

















Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

2









GIỚI THIỆU
Trong vài thập niên gần đây, cùng với sự thay đổi và phát triển không ngừng
của ngành công nghệ thông tin nói chung và trong các ngành công nghệ phần cứng,
phân mềm, truyền thông và hệ thống các dữ liệu phục vụ trong các lĩnh vực kinh tế -

xã hội nói riêng. Thì việc thu thập thông tin cũng như nhu cầu lưu trữ thông tin càng
ngày càng lớn. Bên cạnh đó việc tin học hoá một cách ồ ạt và nhanh chóng các hoạt
động sản xuất, kinh doanh cũng như nhiều lĩnh v
ực hoạt động khác đã tạo ra cho
chúng ta một lượng dữ liệu lưu trữ khổng lồ. Hàng triệu Cơ sở dữ liệu đã được sử
dụng trong các hoạt động sản xuất, kinh doanh, quản lí , trong đó có nhiều Cơ sở dữ
liệu cực lớn cỡ Gigabyte, thậm chí là Terabyte. Sự bùng nổ này đã dẫn tới một yêu cầu
cấp thiết là cần có những kĩ
thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu
khổng lồ kia thành các tri thức có ích. Từ đó, các kĩ thuật Khai phá dữ liệu đã trở thành
một lĩnh vực thời sự của nền Công nghệ thông tin thế giới hiện nay. Một vấn đề được
đặt ra là phải làm sao trích chọn được những thông tin có ý nghĩa từ tập dữ liệu lớn để
từ đó có thể giải quyết được các yêu cầu của thực tế như trợ giúp ra quyết định, dự
đoán,… và Khai phá dữ liệu (Data mining) đã ra đời nhằm giải quyết các yêu cầu đó.
Khai phá dữ liệu được định nghĩa là: quá trình trích xuất các thông tin có giá trị tiềm
ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các Cơ sở dữ liệu, kho dữ liệu…
Hiện nay, ngoài thuật ng
ữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác
có ý nghĩa tương tự như: khai phá tri thức từ Cơ sở dữ liệu (knowlegde mining from
databases), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệu/mẫu
(data/pattern analysis), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data
dredging). Nhiều người coi khai phá dữ liệu và một thuật ngữ thông dụng khác là
khám phá tri thức trong Cơ sở dữ liệu(Knowlegde Discovery in Databases – KDD) là
như nhau. Tuy nhiên trên thực tế, khai phá d
ữ liệu chỉ là một bước thiết yếu trong quá
trình Khám phá tri thức trong Cơ sở dữ liệu.
Ngay từ những ngày đầu khi xuất hiện, Data mining đã trở thành một trong
những xu hướng nghiên cứu phổ biến trong lĩnh vực học máy tính và công nghệ tri
thức. Nhiều thành tựu nghiên cứu của Data mining đã được áp dụng trong thực tế.
Data mining có nhiều hướng quan trọng và một trong các hướng đó là phân cụm dữ

liệ
u (Data Clustering ). Phân cụm dữ liệu là quá trính tìm kiếm để phân ra các cụm dữ
liệu, các mẫu dữ liệu từ tập Cơ sở dữ liệu lớn. Phân cụm dữ liệu là một phương pháp
học không giám sát.
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

3
Trong những năm trở lại đây, do phương pháp phân cụm dữ liệu không giám sát còn
nhiều nhược điểm vì vậy dựa trên học không giám sát và học có giám sát đã ra đời
một phương pháp phân cụm dữ liệu mới đó là phương pháp phân cụm dữ liệu nửa
giám sát. Phương pháp phân cụm nửa giám sát không phải là một phương pháp phân
cụm hoàn thiện nhưng nó đã phần nào khắc phục được những hạn chế và phát huy
ưu
điểm của phương pháp phân cụm không giám sát.





MỤC LỤC
LỜI CẢM ƠN Error! Bookmark not defined.
MỤC ĐÍCH CỦA ĐỀ TÀI 1
GIỚI THIỆU 2
Chương 1 : TỔNG QUAN VỀ DATA MINING 5
1.1 Giới thiệu về khám phá tri thức 5
1.2 Khai phá dữ liệu và các khái niệm liên quan 6
1.2.1 Khái niệm khai phá dữ liệu 7
1.2.2 Các kỹ thuật tiếp cận trong khai phá cữ liệu 7
Chương 2 : PHÂN CỤM DỮ LIỆU VÀ CÁC TIẾP CẬN 8
2.1 Khái quát về phân cụm dữ liệu 8

2.2 Các kiểu dữ liệu và độ đo tương tự 9
2.3 Những kỹ thuật tiếp cận trong phân cụm dữ liệu 12
2.3.1 Phân cụm phân hoạch 12
2.3.2 Phân cụm dữ liệu phân cấp 13
2.3.3 Phân cụm dữ liệu dựa trên mật độ 13
2.3.4 Phân cụm dữ liệu dựa trên lưới 14
2.3.5 Phân cụm dữ liệu dựa trên mô hình 15
2.3.6 Phân cụm dữ liệu có ràng buộc 16
2.4 Một số ứng dụng của phân cụm dữ liệu 17
Chương 3 : PHÂN CỤM DỮ LIỆU KHÔNG GIÁM SÁT 18
3.1 Phương pháp phân hoạch 18
3.1.1 Thuật toán K-Means 19
3.1.2 Thuật toán K-Medoids 20
3.2 Phương pháp phân cấp 20
3.2.1 Thuật toán CURE 21
3.2.2 Thuật toán BIRCH 23
3.3 Thuật toán k-tâm: 24
3.3.1 Cơ sở toán học của thuật toán k-tâm 24
3.3.2 Các đối tượng có kiểu hỗn hợp 25
3.3.3 Độ đo tương tự 25
3.3.4 Công thức tính khoảng cách giữa hai đối tượng 25
3.3.5 Thuật toán K-Tâm 26
Chương 4 : PHÂN CỤM DỮ LIỆU NỬA GIÁM SÁT 28
4.1 Thuật toán COP-KMeans 29
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

4
4.2 Phân cụm nửa giám sát dựa trên tập tập dữ liệu được dán nhãn 30
4.2.1 Thuật toán Seeded-KMeans 30
4.2.2 Thuật toán Constrained-KMeans 31

4.3 Thuật toán K-Means phân cấp 33
Chương 5 : GIỚI THIỆU VỀ NGÔN NGỮ VB 6.0 36
5.1 Cấu trúc một đề án (Project) 37
5.2 Một số các điều khiển 37
5.3 Mô hình truy cập cơ sở dữ liệu bằng ADO 38
5.4 Trình thiết kế môi trường dữ liệu ( Data Environment ) 40
5.5 Các phương thức của Recordset trong Command 41
Chương 6 : BÀI TOÁN ỨNG DỤNG 42
6.1 Bài toán 44
6.2 Các thông tin về các loại bảo hiểm nhân thọ 45
6.3 Cài đặt thuật toán Phân cụm nửa giám sát vời dữ liệu hốn hợp 47
6.4 Các hàm thủ tục chính khi thực hiện thuật toán 48
6.4.1 Hàm khởi tạo tâm từ Tập giống 48
6.4.2 Các hàm tính khoảng cách 49
6.4.3 thuật toán Constrained-Kmeans 50
6.5 Giao diện chương trình 55
KẾT LUẬN 60
Tài liệu tham khảo 61
























Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

5






Chương 1 :
TỔNG QUAN VỀ DATA MINING
1.1 Giới thiệu về khám phá tri thức
Trong vài chục năm gần đây cùng với sự phát triển mạnh mẽ của kỹ thuật công
nghệ cũng như nhu cầu lưu trữ thông tin dẫn đến trữ lượng dữ liệu được lưu trữ không
ngừng tăng theo. Những cơ sở dữ liệu rất lớn ra đời, có những cơ sở dữ liệu lên đến cỡ
Gigabyte và thậm chí cả Terabyte. Nếu bạn có trong tay mộ
t kho cơ sở dữ liệu cũng có
nghĩa bạn có trong tay một kho tri thức.Nhưng vấn đề đặt ra là làm thế nào bạn có thể
trích lọc được những thông tin, tri thức từ một kho dữ liệu với rất nhiều thông tin về

các lĩnh vực khác nhau. Để giải quyết vấn đề đó thì kỹ thuật khám phá tri thức trong
cơ sở dữ liệu (Knowledge Discovery in Databases- KDD) đã ra đời.Khám phá tri thức
trong cơ
sở dữ liệu (KDD) là lĩnh vực liên quan đến các ngành như: xác suất thống kê,
học máy, trực quan hóa dữ liệu, tính toán song song,…Trong đó quá trình KDD có thể
chia thành các bước thực hiện như sau [1]:
Bước 1:
Trích chọn dữ liệu: Ở bước này các dữ liệu liên quan trực tiếp đến
nhiệm vụ của quá trình KDD sẽ được thu thập từ các nguồn dữ liệu ban đầu.
Bước 2:
Tiền xử lý dữ liệu: có nhiệm vụ làm sạch, loại bỏ nhiễu, rút gọn và rời
rạc hóa dữ liệu.
Bước 3
: Biến đổi dữ liệu: nhằm chuẩn hóa và làm mịn dữ liệu để chuyển dữ
liệu về dạng thuận lợi nhất phục vụ cho việc khai phá.
Bước 4:
Data mining: dùng các kỹ thuật phân tích để khai thác dữ liệu, trích
chọn các mẫu thông tin cần thiết,… Công đoạn này được xem là mất thời gian
nhất và cũng là quan trọng nhất trong quá trình KDD.
Bước 5:
Đánh giá và biểu diễn tri thức: Các thông tin và mối liên hệ giữa
chúng vừa khám phá trong công đoạn trước được biểu diễn dưới các dạng trực
quan đồng thời được đánh giá theo những tiêu chí nhất định.

Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

6

















1.2 Khai phá dữ liệu và các khái niệm liên quan
Data mning là một công đoạn trong quá trình khám phá tri thức trong cơ sở dữ
liệu. Và Data mining cũng là một khâu quan trọng nhất trong quá trình khám phá tri
thức trong cơ sở dữ liệu. Nhiệm vụ của Data mining là khai thác thông tin, tri thức có
tính tiềm ẩn và hữu ích trong tập Cơ sở dữ liệu lớn nhằm cung cấp thông tin cần thiết
cho các lĩnh vực sản xuất, khinh doanh, và nghiên cứu,… Các kết quả nghiên cứu cùng
với những ứng dụng thành công củ
a việc khai phá tri thức cho thấy Data mining là một
lĩnh vực đầy tiềm năng và bền vững. Data mining đã giả được bài toàn khó đó là làm
thế nào để có thể trích lọc được các thông tin, tri thức hữu ích từ một tập Cơ sở dữ liệu
lớn. và khẳng định sự ưu việt của mình so với các công cụ phân tích dữu liệu truyền
thông. Hiện nay, Data mining đã được ứng dụng ngày càng rộng dãi trong nhiều l
ĩnh
vực như: Thương mại, Tài chính, Điều trị y học, Viễn thông, Tin – Sinh,…
Khi đọc đến đây bạn có thể nhầm lẫn rằng hai khái niệm Data mining và khám
phá tri thức trong cơ sở dữ liệu (KDD) là như nhau. Nhưng thực ra KDD là mục tiêu
của Data mining. Và Data mining là một bước quan trọng và mang tính quyết định của

quá trình KDD.
Dữ liệu thô
Trích chọn
dữ liệu
Tiền xử lý
dữ liệu
Biến đổi dữ
liệu
Data mining
Đánh giá và
biểu diễn
Tri thức
D
ữ liệu
Dữ liệu
tiền xử l
ý
M
ẫu
Hình 1: Quá trình khám phá tri thức trong CSDL
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

7
1.2.1 Khái niệm khai phá dữ liệu
Do sự phát triển mạnh mẽ của Data mining về phạm vi các lĩnh vực ứng dụng
trong thực tế và các phương pháp tìm kiếm lên có rất nhiều khài niệm khác nhau về
Data mining. Ở đây em xin nêu ra một định nghĩa gắn gọn và dễ hiểu về Data mining
như sau [1]:
Data mining là một quá trình tìm kiếm, chắt lọc các chi thức mới, tiềm ẩn, hữu
dụng trong tập dữ liệu l

ớn.
1.2.2 Các kỹ thuật tiếp cận trong khai phá cữ liệu
Các kỹ thuật áp dụng trong Data mining phần lớn được kế thừa từ các lĩnh vực
như: Cơ sở dữ liệu (Database), Học máy (Machine learning), Trí tuệ nhân tạo, Xác
suất thống kê,… vì vậy ta có hai hướng tiếp cận sau đây:
Theo quan điểm của học máy, các kỹ thuật trong Data mining gồm:
• Học có giám sát (Supervised learning): Là quá trình gán nhãn lớp cho
các đối tượng trong tậ
p dữ liệu dựa trên một bộ các đối tượng huấn
luyện và các thông tin về nhãn lớp đã biết.
• Học không giám sát (Unsupervised learning): Là quá trình phân chia
một tập dữ liệu thành các lớp hay cụm (cluster) dữ liệu tương tự nhau
mà chưa biết trước các thông tin về nhãn lớp.
• Học nửa giám sát (Semi-Supervised learning): Là quá trình chia một
tập dữ liệu thành các lớp con dựa trên một số thông tin bổ trợ cho
trước.
Theo các l
ớp bài toán cần giải quyết, các kỹ thuật trong Data mining gồm:
• Phân lớp và dự đoán (Classification and Prediction): đưa một đối
tượng vào một trong các lớp đã biết trước. Phân lớp và dự đoán còn
được gọi là học có giám sát.
• Luật kết hợp (Association rules): Là dạng luật biểu diễn tri thức ở dạng
khá đơn giản. Một luật kết hợp được mô tả như sau:
Nế
u a thì b với xác suất p
• Phân tích chuỗi theo thời gian: giống như khai phá luật kết hợp nhưng
có thêm tính thứ tự và thời gian
• Phân cụm (Clustering): Nhóm các đối tượng thành từng cụm dữ liệu.
Đây là phương pháp học không giám sát.
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát


8
• Mô tả khái niệm: Mô tả, tổng hợp và tóm tắt khái niệm, ví dụ như tóm
tắt văn bản.



Chương 2 : PHÂN CỤM DỮ LIỆU VÀ CÁC TIẾP CẬN
2.1 Khái quát về phân cụm dữ liệu
Phân cụm dữ liệu là một kỹ thuật phát triển mạnh mẽ trong nhiều năm trở lại
đây do các ứng dụng và lợi ích to lớn của nó trong các lĩnh vực trong thực tế. Ở một
mức cơ bản nhất người ta định nghĩa phân cụm dữ liệu như sau [1]:
Phân cụm dữ liệu là một kỹ thuật trong Data mining nhằm tìm kiếm, phát hiện
các cụm, các mẫu dữ li
ệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn để từ
đó cung cấp thông tin, tri thức cho việc ra quyết định.
Do đó, phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành
các cụm dữ liệu sao cho các đối tượng trong một cụm thì “tương tự” nhau và các đối
tượng trong các cụm khác nhau thì “phi tương tự” với nhau. Số cụm dữ liệu được xác
định bằ
ng kinh nghiệm hoặc bằng một số phương pháp phân cụm.
Sau khi xác định các đặc tính của dữ liệu, người ta đi tìm cách thích hợp để xác
định "khoảng cách" giữa các đối tượng, hay là phép đo tương tự dữ liệu. Đây chính là
các hàm để đo sự giống nhau giữa các cặp đối tượng dữ liệu, thông thường các hàm
này hoặc là để tính độ tương tự (Similar) hoặc là tính độ phi tương tự (Dissimilar)
gi
ữa các đối tượng dữ liệu. Giá trị của hàm tính độ đo tương tự càng lớn thì sự giống
nhau giữa đối tượng càng lớn và ngược lại, còn hàm tính độ phi tương tự tỉ lệ nghịch
với hàm tính độ tương tự.
Trong quá trình phân cụm dữ liệu thì vấn đề trở ngại lớn nhất đó là nhiễu

(noise). Nhiễu xuất hiện do trong quá trình thu thấp thông tin, dữ liệu thiếu chính xác
ho
ặc không đầy đủ. Vì vậy chúng ta cần phải khử nhiễu trong quá trình tiến hành phân
cụm dữ liệu.
Các bước của một bài toán phân cụm dữ liệu gồm:
• Xây dựng hàm tính độ tương tự
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

9
• Xây dựng các tiêu chuẩn phân cụm
• Xây dựng mô hình cho cấu trúc dữ liệu
• Xây dựng thuật toán phân cụm và xác lập các điều kiện khởi tạo
• Xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm
2.2 Các kiểu dữ liệu và độ đo tương tự
Sau đây là các kiểu của dữ liệu, và ứng với mỗi kiểu dữ liệu thì có một hàm tính
độ đo tương tự để xác định khoảng cách giữa 2 phân tử của cùng một kiểu dữ liệu. Tất
cả các độ đo đều được xác định trong không gian metric. Bất kỳ một metric nào cũng
là một độ đo nhưng ngược lại thì không đúng. Độ đo ở đây có thể
là tương tự hoặc phi
tương tự. Một tập dữ liệu X là không gian metric nếu:
• với mỗi cặp x,y thuộc X đều xác định được một số thực d(x,y) theo một
quy tắc nào đó và được gọi là khoảng cách của x,y.
• Quy tắc đó phải thoả mãn các tính chất sau:
a) d(x,y) > 0 nếu x ≠ y
b) d(x,y) = 0 nếu x = y
c) d(x,y) = d(y,x)
d) d(x,y) <= d(x,z) + d(z,y)
Sau đây là các kiểu thuộc tính dữ liệ
u phổ biến :
• Kiểu thuộc tính nhị phân:

Thuộc tính nhị phân chỉ có hai giá trị là 0 va 1. Trong đó 0 có nghĩa
là sai và 1 có nghĩa là đúng






y:1 y:0
x: 1
α γ
α+γ
x: 0
δ θ
δ+θ

α+δ γ+θ

Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

10
Ví du: thuộc tính hút thuốc của bệnh lao phổi, 0 sẽ ứng vơi bệnh nhân không
hút thuốc, 1 sẽ ứng với bệnh nhân có hút thuốc.
Nếu ta đặt ξ = α+γ+δ+θ. Với x, y là đối tượng có tất cả thuộc tính đều ở
dạng nhị phân.Trong đó α,γ,δ,θ được hiểu như sau:
α là tổng số các thuộc tính có giá trị là 1 trong cả hai đối tượng x, y
γ là tổng số các thuộc tính có giá trị 1 trong x và 0 trong y
δ là tổng số các thuộc tính có giá trị 0 trong x và 1 trong y
θ là tổng số các thuộc tính có giá trị là 0 trong cả hai đối tượng x, y
Khi đó độ tương tự được cho như sau:

1. Hệ số đối sánh đơn giản:
(, )dxy
α
θ
ξ
+
= , Ở đây x và y có vai
trò như nhau, tức là chúng đối xứng và cùng trọng số.
2. Hệ số Jacard:
(, )dxy
α
α
γδ
=
+
+
, công thức này được áp
dụng trong trường hợp mà trọng số của các thuộc tính có giá
trị 1 lớn hơn rất nhiều các thuộc tính có giá trị 0, như vậy các
thuộc tính nhị phân ở đây không đối xứng.
• Kiểu thuộc tính khoảng (Interval)
Dùng để đo các giá trị theo xấp xỉ tuyến tính, với thuộc tính khoảng
ta có thể xác định một thuộc tính đướng trước hoặc đứng sau một thuộc
tính khác với khoảng là bao nhiêu. Nếu x
i
> y
i
thì ta nói x cách y một
khoảng là x
i

-y
i
ứng với thuộc tính thứ i.
Độ đo phi tương tự của x và y được tính bằng các metric khoảng
cách sau
1. Khoảng cách Minkowski:
1/ *
1
(, ) ( ) ,
n
q
q
ii
i
dxy x y q N
=
=− ∈


2. Khoảng cách Euclide:
2
1/2
1
(, ) ( )
n
ii
i
dxy x y
=
=−


, nó là trường
hợp của khoảng cách Minkowski với q = 2.
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

11
3. Khoảng cách Mahattan
1
(, ) ( )
n
ii
i
dxy x y
=
=−

, nó là trường hợp
của khoảng cách Minkowski với q = 1.
• Kiểu thuộc tính định danh (Nominal)
Đây là dạng tổng quat hoá của thuộc tính nhị phân, trong đó miền
giá trị là rời rạc không phân biệt thứ tự. Nếu x và y là hai thuộc tính định
danh thì ta có thể xác định x = y hoặc x
≠ y

Ví dụ: thuộc tính nơi sinh, quê quán của một sinh viên trong cơ sở dữ liệu
sinh viên.
Độ đo phi tương tự giữa hai đối tượ
ng x và y được xác định qua công
thức sau:
(, )

p
m
dxy
p

=
, trong đó m là số thuộc tính đối sánh tương ứng trùng nhau
và p là tổng số các thuộc tính.
• Kiểu thuộc tính thứ tự (Ordinal)
Là thuộc tính định danh có tính thứ tự, nhưng chúng không được
định lượng. Nếu x và y là hai thuộc tính có thứ tự thì ta có thể xác định x
= y hoặc x
≠ y ho
ặc x > y hoặc x < y.
Ví dụ : thuộc tính xếp hạng kết quả thi đấu của một cuộc đua ôtô.
Độ đo phi tương tự đượ
c tính thông qua các bước sau:
1. Gọi f là một thuộc tính, giá trị của f ứng với đối tượng thứ i là x
if
.
Giả sử f có M
f
trạng thái có thứ tự: 1,2,…,M
f
. Ta thay thế mỗi x
if
bởi
giá trị tương ứng r
if



[1,M
f
].
2. Vì mỗi thuộc tính f có thứ tự có số lượng các trạng thái khác nhau
nên ta cần làm cho r
if
thuộc khoảng [0.0,1.0] để mỗi thuộc tính đều
có cùng trọng số. Do đó r
if
được thay thế bởi
if
if
1
z
1
f
r
M

=


3. Cuối cùng ta sử dụng công thức tính độ phi tương tự của thuộc tính
khoảng với z
if
đại diện cho giá trị thuộc tính f của đối tượng thứ i
• Kiểu thuộc tính tỷ lệ (Ratio)
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát


12
Đây là thuộc tính khoảng nhưng được xác định một cách tương đối
so với điểm mốc
Ví dụ : thuộc tính chiều cao của một người, lấy điểm mốc là mặt đất chỗ
người đó đang đứng, và chiều cao của điểm mốc là 0.
Có nhiều cách để tính độ tương tự giữa các thuộc tính tỉ lệ. Một
trong số đó là việ
c sử dụng công thức tính logarit để chuyển mỗi thuộc
tính tỉ lệ x
i
về dạng thuộc tính khoảng ψ
i
= log(x
i
).
2.3 Những kỹ thuật tiếp cận trong phân cụm dữ liệu
Các kỹ thuật áp dụng để giải quyết vấn đề phân cụm dữ liệu đều hướng tới hai
mục tiêu chung : Chất lượng của các cụm khám phá được và tốc độ thực hiện của thuật
toán. Hiện nay, các kỹ phân cụm dữ liệu có thể phân loại theo các cách tiếp cận chính
sau :
2.3.1 Phân cụm phân hoạch
Phương pháp phân cụm phân hoạch nhằm phân một tập dữ liệu có n phần tử

cho trước thành k nhóm dữ liệu sao cho : mỗi phần tử dữ liệu chỉ thuộc về một nhóm
dữ liệu và mỗi nhóm dữ liệu có tối thiểu ít nhất một phần tử dữ liệu. Các thuật toán
phân hoạch dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn
đề PCDL, do nó phải tìm kiếm tất cả các cách phân hoạch có thể được. Chính vì vậ
y,
trên thực tế người ta thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách
sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của các cụm cũng như để hướng

dẫn cho quá trình tìm kiếm phân hoạch dữ liệu. Với chiến lược này, thông thường
người ta bắt đầu khởi tạo một phân hoạch ban đầu cho tập dữ liệu theo phép ngẫu
nhiên hoặc theo heuristic, và liên tục tinh chỉnh nó cho đến khi thu được một phân
hoạch mong muốn, thoả mãn ràng buộc cho trước. Các thuật toán phân cụm phân
hoạch cố gắng cải tiến tiêu chuẩn phân cụm, bằng cách tính các giá trị đo độ tương tự
giữa các đối tượng dữ liệu và sắp xếp các giá trị này, sau đó thuật toán lựa chọn một
giá trị trong dãy sắp xếp sao cho hàm tiêu chuẩn đạt giá trị tối thiểu. Như v
ậy, ý tưởng
chính của thuật toán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến lược ăn tham
(Greedy) để tìm kiếm nghiệm. Một số thuật toán phân cụm phân hoạch điển hình như
k-means, PAM, CLARA, CLARANS,…sẽ được trình bày chi tiết ở chương sau.
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

13
2.3.2 Phân cụm dữ liệu phân cấp
Phân cụm phân cấp sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng
hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy. Cây phân cụm có thể
được xây dựng theo hai phương pháp tổng quát : phương pháp trên xuống (Top down)
và phương pháp dưới lên (Bottum up).
• Phương pháp “dưới lên” (Bottom up) : Phương pháp này bắt đầu với
mỗi đối tượng được khởi tạo t
ương ứng với các cụm riêng biệt, sau đó tiến hành nhóm
các đối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm của hai
nhóm), quá trình này được thực hiện cho đến khi tất cả các nhóm được hòa nhập vào
một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều kiện kết thúc
thỏa mãn. Như vậy, cách tiếp cận này sử dụng chiến lược ăn tham trong quá trình phân
cụm.
• Phương pháp “trên xuống” (Top Down) : Bắt đầu với trạng thái là tất
cả các đối tượng được xếp trong cùng một cụm. Mỗi vòng lặp thành công, một cụm
được tách thành các cụm nhỏ hơn theo giá trị của một phép đo độ tương tự nào đó cho

đến khi mỗi đối tượng là một cụm, hoặc cho đến khi điều kiện dừng thỏa mãn. Cách
tiếp cận này sử dụ
ng chiến lược chia để trị trong quá trình phân cụm.
Một số thuật toán phân cụm phân cấp điển hình như CURE, BIRCH, …sẽ được
trình bày chi tiết ở trong chương sau.
Thực tế áp dụng, có nhiều trường hợp người ta kết hợp cả hai phương pháp
phân cụm phân hoạch và phương phân cụm phân cấp, nghĩa là kết quả thu được của
phương pháp phân cấp có thể cải tiến thông quan bước phân cụm phân hoạch. Phân
c
ụm phân hoạch và phân cụm phân cấp là hai phương pháp PCDL cổ điển, hiện nay đã
có nhiều thuật toán cải tiến dựa trên hai phương pháp này đã được áp dụng phổ biến
trong Data Mining.
2.3.3 Phân cụm dữ liệu dựa trên mật độ
Phương pháp này nhóm các đối tượng theo hàm mật độ xác định. Mật độ được
định nghĩa như là số các đối tượng lân cận của một đối tượng dữ liệ
u theo một ngưỡng
nào đó. Trong cách tiếp cận này, khi một cụm dữ liệu đã xác định thì nó tiếp tục được
phát triển thêm các đối tượng dữ liệu mới miễn là số các đối tượng lân cận của các đối
tượng này phải lớn hơn một ngưỡng đã được xác định trước. Phương pháp phân cụm
dựa vào mật độ của các đối tượng để xác định các cụm d
ữ liệu có thể phát hiện ra các
cụm dữ liệu với hình thù bất kỳ. Tuy vậy, việc xác định các tham số mật độ của thuật
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

14
toán rất khó khăn, trong khi các tham số này lại có tác động rất lớn đến kết quả phân
cụm dữ liệu. Hình 5 dưới đây là một minh hoạ về các cụm dữ liệu với các hình thù
khác nhau dựa trên mật độ được khám phá từ 3 CSDL khác nhau.







Hình 2 : Một số hình dạng cụm dữ
liệu khám phá được bởi kỹ thuật PCDL dựa
trên mật độ

Một số thuật toán PCDL dựa trên mật độ điển hình như DBSCAN, OPTICS,
DENCLUE, …sẽ được trình bày chi tiết trong chương tiếp theo.
2.3.4 Phân cụm dữ liệu dựa trên lưới
Kỹ thuật phân cụm dựa trên mật độ không thích hợp với dữ liệu nhiều chiều, để
giải quyết cho đòi hỏi này, người ta đã dử
dụng phương pháp phân cụm dựa trên lưới.
Đây là phương pháp dựa trên cấu trúc dữ liệu lưới để PCDL, phương pháp này chủ
yếu tập trung áp dụng cho lớp dữ liệu không gian. Thí dụ như dữ liệu được biểu diễn
dưới dạng cấu trúc hình học của đối tượng trong không gian cùng với các quan hệ, các
thuộc tính, các hoạt động của chúng. Mục tiêu của phương pháp này là lượng hoá tập
dữ li
ệu thành các ô (Cell), các cell này tạo thành cấu trúc dữ liệu lưới, sau đó các thao
tác PCDL làm việc với các đối tượng trong từng Cell này. Cách tiếp cận dựa trên lưới
này không di chuyển các đối tượng trong các cell mà xây dựng nhiều mức phân cấp
của nhóm các đối tượng trong một cell. Trong ngữ cảnh này, phương pháp này gần
giống với phương pháp phân cụm phân cấp nhưng chỉ có điều chúng không trộn các
Cell. Do vậy các cụm không dựa trên độ đo khoảng cách (hay còn gọ
i là độ đo tương
tự đối với các dữ liệu không gian) mà nó được quyết định bởi một tham số xác định
trước. Ưu điểm của phương pháp PCDL dựa trên lưới là thời gian xử lý nhanh và độc
lập với số đối tượng dữ liệu trong tập dữ liệu ban đầu, thay vào đó là chúng phụ thuộc
CSDL 1 CSDL 2 CSDL 3

Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

15
vào số cell trong mỗi chiều của không gian lưới. Một thí dụ về cấu trúc dữ liệu lưới
chứa các cell trong không gian như hình 6 sau :




. . . . . . . . . .
. . . . . . . . . .
1st level (top level) could
have only one cell.
A cell of (i-1)th level
corresponds to 4 cells of
ith level.
1st layer
(i-1)th layer
ith layer
.
.
.
.


Hình 3 : Mô hình cấu trúc dữ liệu lưới

Một số thuật toán PCDL dựa trên cấu trúc lưới điển hình như : STING, WAVECluster,
CLIQUE,…
2.3.5 Phân cụm dữ liệu dựa trên mô hình

Phương pháp này cố gắng khám phá các phép xấp xỉ tốt của các tham số mô
hình sao cho khớp với dữ liệu một cách tốt nhất. Chúng có thể sử dụng chiến lược
phân cụm phân hoạch hoặc chiến lược phân cụm phân cấp, dựa trên cấ
u trúc hoặc mô
hình mà chúng giả định về tập dữ liệu và cách mà chúng tinh chỉnh các mô hình này
để nhận dạng ra các phân hoạch.
Phương pháp PCDL dựa trên mô hình cố gắng khớp giữa dữ liệu với mô hình toán
học, nó dựa trên giả định rằng dữ liệu được tạo ra bằng hỗn hợp phân phối xác suất cơ
bản. Các thuật toán phân cụm dựa trên mô hình có hai tiếp cận chính : Mô hình thống
kê và Mạng Nơ ron. Phương pháp này gầ
n giống với phương pháp dựa trên mật độ,
bởi vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mô hình đã được xác định
trước đó, nhưng đôi khi nó không bắt đầu với một số cụm cố định và không sử dụng
cùng một khái niệm mật độ cho các cụm.
Mức 1 (mức cao nhất ) có thể
chỉ chứa một Cell
Cell mức i-1 có thể tương ứng
với 4 cell của mức i
Tầng 1
.
.
.
.
.

Tầng i-1

Tầng i
Đồ á
n


2.3.6
nhiều
toán
n
giới t
h
gian
h
dùng
Thực
PCD
L
p
hươ
n
nghiê
n
chỉ á
p
cho d

lý.
dữ li

chỉ r
a
xử lý
thuật
các

m
của t

với t

xác đ

Tóm
l
thế n
h
tính.
V
Data
M
b
ày t
ó
cho c
á
n
tốt nghiệ
p
Phân cụ
m
Sự phát
t
công cụ ti

n

ày cung c

h
ực cần ph
h
iệu quả h
ơ
khả năng
k
tế, các ph
ư
L
. Đến nay
n
g pháp tiế
p
Ph
n
cứu này
s
p
dụng cho
c
Ph

liệu hạn
g
Ph

u có thể t

h
a
lược đồ p
h
các dữ liệ
u
toán FCM
(
Ph
m
ạng nơ ro
n

ng vào tư
ơ

t cả các n
ơ

nh vị trí c

l
ại, các kỹ
h
ưng hầu
h
V
ì vậy, vi

M

ining tro
n
ó
m lược về
á
c phương
p
p
Đại học h

m
dữ liệu c
ó
t
riển của p
h

n lợi cho
v

p rất ít các
ải được th
o
ơ
n, các ngh
i
k
ết hợp các
ư
ơng pháp

, đã có m

p
cận trong
ân cụm th

s
ử dụng cá
c
c
ác dữ liệu
ân cụm kh
á
g
mục, chú
n
ân cụm m

h
uộc vào n
h
h
ân cụm th
í
u
thực khô
n
(
Fuzzy c-
m

ân cụm m

n
. Mạng K
o
ơ
ng ứng v

ơ
ron của t


a nơ ron r
a
thuật PCD
L
h
ết chúng c
h

c PCDL t
r
ê
n
g giai đo

các yêu c

p
háp phân

c

chính qu
y
ó
ràng buộ
c
h
ân cụm d

v
iệc phân
t
h thức cho
o
ả mãn tro
n
i
ên cứu bổ
r
àng buộc
t
trên đã v
à

t số nhánh
PCDL đã
t

ng kê : D


c
độ đo tươ
n
có thuộc tí
á
i niệm :
C
n
g phân cụ
m

: Sử dụn
g
h
iều cụm d

í
ch hợp vớ
i
n
g chắc ch

m
eans) .

ng Kohon
e
o
hnen có tầ

n

i mỗi thuộ

ng ra. Mỗ
i
a
tương ứn
g
L
t
r
ình bà
y
h
ỉ nhằm á
p
ê
n tập dữ
l

n hiện na
y

u cơ bản
l
c
ụm PCD
L
y

T
h
c


liệu khô
n
t
ích thông
t
người dùn
g
n
g quá trìn
h
sung cần đ
ư
trong thuật
à
đang đư

nghiên cứ
u
t
rình bày ở

a t
r
ên các
n

g tự để ph
nh số.
C
ác kỹ thu

m
các đối t
ư
g
kỹ thuật
m

liệu khá
c
i
tất cả hoạ
t

n. Thuật t
o
e
n : loại p
h
n
g nơ ron
v
c tính của
b
i
liên kết đ

ư
g
.
y
ở trên đã
p
dụng cho
l
iệu có kiể
u
y
. Phần nội
l
àm tiêu ch
L
.
h
uật toán P
h
n
g gian t
r
ê
t
in địa lý, t
u
g
để xác đị
n
h

PCDL. Đ

ư
ợc thực h
i
toán phân

c phát triể
n
u
được ph
á
t
r
ên như s
a
khái niệm
p
ân hoạch c
á

t phân cụ
m
ư
ợng theo c
m
ờ để PCD
L
c
nhau. Cá

c
t
động đời
s
o
án phân c

h
ân cụm n
à
v
ào và các
t
b
ản ghi, m
ư
ợc gắn li

được sử d

tập dữ liệ
u
u
hỗn hợp
l
dung tiếp
t
í
cho việc
l

h
ân cụm d

n CSDL l

u
y nhiên h

n
h các
r
àn
g

phân cụ
m
i
ện để cun
g
cụm.
n
và áp d

á
t triển t
r
ê
n
a
u :

p
hân tích t
h
á
c đối tượn
m
được ph
á
ác khái niệ
m
L
, trong đ
ó
c
thuật toá
n
s
ống hàng
n

m mờ qu
a
à
y
d
ựa trê
n
t
ầng nơ ro
n

ỗi một nơ
r

n với một

ng rộng
r
ã
u
với cùng
l
à một vấn
t
heo của l
u
l
ựa chọn, đ

liệu nửa
g

n đã cun
g

u hết các
t
g
buộc tron
g
m

dữ liệu k
h
g
cấp cho n

ng nhiều t
n
cơ sở củ
a
h
ống
k
ê, n
h
g, nhưng c
h
á
t triển áp
d
m
mà chú
n
ó
một đối t
ư
n
thuộc loạ
i
n
gày, chún

g
a
n trọng n
h
n
khái niệ
m
n
ra. Mỗi n
ơ
r
on vào kế
t
trọng số
n
ã
i trong th

một kiểu t
h
đề đặt ra t
u
ận văn sẽ
t
ánh giá kế
t
g
iám sát
g
cấp

t
huật
g
thế
h
ông
gười
rong
a
các
h
ánh
h
úng
d
ụng
n
g xử
ư
ợng
i
này
g
chỉ
h
ất là
m
của
ơ
ron

t
nối
n
hằm

c tế,
h
uộc
rong
tr
ình
t
quả
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

17
2.4 Một số ứng dụng của phân cụm dữ liệu
Phân cụm dữ liệu được ứng dụng vào rất nhiều lĩnh vực như thương mại, sinh
học, phân tích dữ liệu không gian, lập quy hoạch đô thị, nghiên cứu trái đất, địa lý,
Web,…
Trong thương mại, phân cụm có thể giúp các thương gia tìm kiếm ra các nhóm
khách hàng quan trọng cũng như phân loại khách hàng thành từng nhóm khách hàng
để từ đó có chiến lược kinh doanh hợp lý.
Trong sinh học, phân cụm được dùng để xác định các loài sinh vật cũng như

khám phá ra các kiểu gene quý hiếm.
Trong phân tích dữ liệu không gian: Do sự đồ sộ của dữ liệu không gian như
các hình ảnh vệ tinh hoặc hệ thống thông tin địa lý ,… làm cho người dùng khó khăn
trong phân tích và xử lý chúng. Phân cụm có thể giúp chúng ta tự động nhận dạng và
chiết xuất các đặc tính trong cơ sở dữ liệu không gian.

Trong lập quy hoạch đô thị, phân cụm giúp cho việc nhận dạng cá nhóm nhà
theo kiến trúc và vị trí địa lý để lập quy hoạ
ch đô thị hợp lý.
Trong nghiên cứu trái đất, phân cụm hỗ trợ việc theo dõi các biến động của trái đất
như núi lửa, động đất,… để đưa ra cảnh báo cho chúng ta.












Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

18




Chương 3 : PHÂN CỤM DỮ LIỆU KHÔNG GIÁM SÁT
Do sự phát triển không ngừng của phương pháp phân cụm dữ liệu lên hiện nay
có rất nhiều phương pháp phân cụm dữ liệu khác nhau. Các thuật toán phân cụm dữ
liệu được chia thành các nhóm sau đây :
• Phương pháp phân hoạch (pratition),
• Phương pháp phân cấp (hierarchical),

• Phương pháp dựa trên mật độ (density-based),
• Phương pháp dựa trên lưới (grid-based)
• Phương pháp dựa trên mô hình (model-based).
Trong phạm vi tìm hiểu của đề tài này, em xin trình bày hai phương pháp phân
cụm phân hoạ
ch và phân cụm phân cấp, làm cơ sở để trình bày một số phương pháp
phân cụm nửa giám sát.
3.1 Phương pháp phân hoạch
Trong phân cụm phân hoạch, bài toán đặt ra như sau:cho
{}
1
N
i
i
Xx
=
=
là tập N
đối tượng dữ liệu ta muốn phân cụm, trong đó
d
i
x


. Thuật toán phân cụm có nhiệm
vụ chia nhỏ tập dữ liệu thành K phân hoạch ( K là giá trị cho trước) mà mỗi phân
hoạch đại diện cho một cụm. Các cụm được hình thành trên cơ sở làm tối ưu giá trị
hàm mục tiêu (thường là hàm đo độ tương tự) để sao cho các đối tượng trong một cụm
là tương tự nhau trong khi các đối tượng trong các cụm khác nhau thì phi tương tự
nhau.

Có rất nhiều thuật toán phân cụm phân hoạch nh
ư : K-Means, K-Medoids,
PAM (Partition Around Medoids), CLARA (Clustering Large Applications),
CLARANS (Clustering Large Applications based on RAndomized Search), CLASA
(Clustering Large Applications based on Simulated Annealing).Ở đây em xin trình bày
về hai thuật toán K-Means và K-Medoids. Trong K-Means mỗi cụm được đại diện bởi
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

19
giá trị tâm (mean) của các đối tượng trong cụm đó. Trong K-Medoids mỗi cụm được
đại diện bởi một trong các đối tượng gần tâm cụm nhất.
3.1.1 Thuật toán K-Means
K-Means lặp lại nhiều lần quá trình bố trí lại vị trí của đối tượng dữ liệu để
phân hoạch một tập dữ liệu thành K cụm và cực tiểu địa phương giá trị bình phương
trung bình khoảng cách giữa các các đối tượng t
ới tâm cụm của nó. Cụ thể hơn, với tập
dữ liệu
{}
1
N
i
i
Xx
=
=
,
d
i
x ∈ℜ
thuật toán K-Means tạo ra K phân hoạch

{}
1
K
h
h
X
=
của
X

sao cho nếu
{}
1
K
h
h
μ
=
đại diện cho K tâm thì hàm mục tiêu sau:
2
1
|| || (1)
ih
K
kmeans i h
xX
h
Ex
μ


=
=−
∑∑
được cực tiểu địa phương.
















Đánh giá thuật toán K-Means
Ưu điểm:
K-Means [1] là có độ phức tạp tính toán nhỏ O(NKt).
Nhược điểm:
Thuật toán: K-Means.

Input: - Tập các đối tượng dữ liệu
{
}
1

, , ,
d
Ni
Xx xx
=
∈ℜ

- Số lượng cụm: K
Output: K phân hoạch tách rời:
{}
1
K
h
h
X
=
của
X
sao cho hàm
mục tiêu được tối ưu.
Các bước:
1. Khởi tạo các cụm: các tâm ban đầu
{
}
(0)
1
K
h
h
μ

=
được chọn
ngẫu nhiên
2. Lặp cho tới khi hội tụ
Gán cụm: Gán mỗi đối tượng dữ liệu x vào cụm h
*
(tức là tập
{
}
*
(1)
1
K
t
h
h
X
+
=
) với h
*
= argmin
() 2
|| ||
t
h
x
μ



Ước lượng tâm:
(1)
(1)
(1)
1
||
t
h
t
h
t
xX
h
x
X
μ
+
+
+




t

t+1
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

20
K-Means không có khả năng tìm ra các cụm không lồi hoặc các cụm có hình

dạng phức tạp. K-Means không khắc phục được nhiễu và giá trị K được xác
định bởi người dùng.
3.1.2 Thuật toán K-Medoids
Thuật toán K-Medoids có khả năng khắc phục được nhiễu bằng cách chọn đối
tượng ở gần tâm cụm nhất làm đại diện cho cụm đó (medoid). Thuật toán K-Medoids
được thực hiện qua các bước sau:
1. Chọn K đối tượng bấ
t kỳ trong N đối tượng ban đầu làm các medoid
ban đầu
2. Lặp cho tới khi hội tụ
a) Gán mỗi đối tượng còn lại vào cụm có medoid gần nhất với nó
b) Thay thế medoid hiện tại bằng một đối tượng không phải là
medoid sao cho chất lượng phân cụm được cải thiện (Chất lượng
được đánh giá sử dụng hàm chi phí, hàm tính độ phi tương tự
giữa một đối tượng và medoid c
ủa cụm chứa đối tượng đó).
K-Medoids tỏ ra hiệu quả hơn K-Means trong trường hợp dữ liệu có nhiễu
hoặc đối tượng ngoại lai (Outlier) . Nhưng so với K-Means thì K-Medoids có độ phức
tạp tính toán lớn hơn. Cả hai thuật toán trên đề có nhược điểm chung là số lượng cụm
K được cung cấp bởi người dùng.
3.2 Phương pháp phân cấp
Trong phân cụm phân cấp, tập dữ liệu được tổ chức thành một cây mà mỗi
đỉnh của nó là một cụm. Phân cụm phân cấp được chia thành hai phương pháp là : top-
down và bottom-up.
• Phương pháp bottom-up: Phương pháp này được thiết kế theo chiến lược
từ dưới lên (bottom-up). Phương pháp này bắt đầu với mỗi đối tượng
được khởi tạo tương ứng với các cụm riêng biệt, sau đó ghép những cụm
này thành các cụm lớn h
ơn cho tới khi tất cả đối tượng đều nằm trong
một cụm duy nhất hoặc cho tối khi gặp điều kiện dừng.

• Phương pháp top-down: Phương pháp này được thiết kế theo chiến lược
trên xuống (top-down), nó thực hiện ngược lại so với phương pháp
bottom-up, tức là chia nhỏ cụm lớn thành các cụm nhỏ hơn cho tới khi
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

21
mỗi đối tượng được chứa trong một cụm riêng lẻ hoặc gặp điều kiện
dừng như: đạt đến số lượng các cụm cho phép, hoặc khoảng cách giữa
hai cụm gần nhất đã lớn hơn khoảng cách ngưỡng.

















Sau đây em xin trình bày hai thuật toán điển hình của phương pháp phân cụm
phân cấp đó là: CURE (Clustering Using REpresentatives), BIRCH (Balanced
Interative Reducing and Clustering Hierarchies)
3.2.1 Thuật toán CURE

CURE là thuật toán s
ử dụng chiến lược bottom-up của phương pháp phân cụm
phân cấp. Khác với hai thuật toán phân cụm phân hoách ở trên thuật toán CURE sử
dụng nhiều đối tượng để biểu diễn cho một cụm thay vì sử dụng các trọng tâm hay đối
tượng tâm. Các đối tượng đại diện của một cụm ban đầu được chọn rải rác đều ở các vị
trí khác nhau, sau đó chúng được di chuyển bằng cách co lại theo một tỉ
lệ nhất định
bottom-up
ste
p
0 ste
p
1 ste
p
3ste
p
2 ste
p
4
ste
p
4 ste
p
3 ste
p
1ste
p
2 ste
p
0

Top-down
a
b
c
d
e
ab
de
cde
abcde
Hình 4: Phân cụm phân cấp Top-down và Bottom-up
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

22
nào đó. Khi hai cụm có cặp đối tượng đại diện gần nhất sẽ được trộn lại thành một
cụm.
Các bước thực hiện của thuật toán CURE:
1. Chọn một mẫu ngẫu nhiên S từ tập dữ liệu ban đầu
2. Phân hoạch mẫu S này thành các nhóm dữ li
ệu có kích thước bằng
nhau
3. Tiến hành phân cụm riêng rẽ cho mỗi nhóm
4. Loại bỏ các đối tượng ngoại lai bằng việc lấy mẫu ngẫu nhiên. Nếu một
cụm tăng trưởng quá chậm thì loại bỏ nó.
5. Phân cụm cho các cụm riêng biệt: Các đối tượng đại diện được di
chuyển về phía tâm của cụm mới hình thành. Các đối tượng này sẽ mô
tả hình dạng cụm
đó.
6. Đánh dấu dữ liệu với các nhãn cụm tương ứng.
Hình ảnh dưới đây là thí dụ về các dạng và kích thước cụm dữ liệu được khám

phá bởi CURE :

Hình 5 : Các cụm dữ liệu được khám phá bởi CURE
Đánh giá thuật toán CURE
Ưu điểm:
Bằng cách sử dụng trên một đại diện cho một cụm, CURE có khả năng khám
phá được các cụm có hình thù và kích thước bất kỳ trong tậ
p dữ liệu lớn. Việc
co các đối tượng đại diện có tác dụng làm giảm tác động của các đối tượng
ngoại lai. Do đó CURE có thể xử lý tốt các đối tượng ngoại lai. Tốc độ thực
hiện của CURE nhanh O(N).
Nhược điểm:
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

23
CURE là dễ bị ảnh hưởng bởi các tham số cho bởi người dùng như cỡ mẫu, số
cụm mong muốn.
3.2.2 Thuật toán BIRCH
BIRCH là thuật toán phân cụm phân cấp sử dụng chiến lược Top-down. Tư
tưởng của BIRCH là không lưu toàn bộ đối tượng dữ liệu của các cụm trong bộ nhớ
mà chỉ lưu các tham số thống kê. Đối với mỗi cụm dữ liệu, BIRCH chỉ lưu bộ
ba (N,
LS, SS), trong đó N là số đối tượng trong cụm, LS là tổng các giá trị thuộc tính của
các đối tượng trong cụm, và SS là tổng bình phương của các giá trị thuộc tính của các
đối tượng trong cụm. Bộ ba này được gọi là đặc trưng cụm (Cluster Feature- CF). Khi
đó các cụm trong tập dữ liệu ban đầu sẽ được cho dưới dạng một cây CF. Người ta đã
chứng minh được rằng các đại lượng thống kê như độ đ
o có thể xác định từ cây CF.
Hình 4 sau đây mô tả cấu trúc cây CF.










Cây CF là một cây cân bằng nhằm lưu các đặc trưng của cụm. Một cây CF
chứa các nút cha và lá, nút cha chứa các nút con, nút lá không có con. Nút cha lưu giữ
tổng các đặc trưng cụm của các nút con của nó. Cây CF có hai đặc trưng cơ bản sau:
• Yếu tố nhánh (Branching Factor- B) nhằm xác định số lượng nút con
tối đa trong một nút cha.
• Ngưỡng (Threshold- T) nhằm xác định khoảng cách t
ối đa giữa bất kỳ
một cặp đối tượng trong nút lá của cây CF, khoảng cách này chính là
đường kính của các cụm con được lưu lại ở nút lá.
Thuật toán BIRCH được thực hiện qua hai giai đoạn sau:
CF
1
CF
2
………. CF
k
CF
11
CF
12
………. CF
1k

G
ốc
……….
Lớp đầu
.
.
.
.

Hình 6: Cấu trúc cây CF
Đồ án tốt nghiệp Đại học hệ chính quy Thuật toán Phân cụm dữ liệu nửa giám sát

24
1. BIRCH duyệt tất cả các đối tượng trong tập dữ liệu và xây dựng một
cây CF ban đầu. Ở giai đoạn này các đối tượng lần lượt được chèn vào
nút lá gần nhất của cây CF (nút lá của cây đóng vai trò cụm con), sau
khi chèn xong thì mọi nút trên cây CF được cập nhật thông tin. Nếu
đường kính của cụm con sau khi chèn lớn hơn ngưỡng T thì nút được
tách. Quá trình này được lặp đi lặp lại cho đến khi tất cả các đối tượng
đều được chèn vào cây CF.
2. BIRCH chọn một thuật toán phân cụm bất kỳ (như thuật toán phân
hoạch) để thực hiện phân cụm cho tất các các nút lá.
Đánh giá thuật toán BIRCH.
Ưu điểm:
Nhờ sử dụng cây CF, BIRCH có tốc độ phân cụm nhanh O(N) (vì
BIRCH chỉ duyệt toàn bộ dữ liệu một lần). BIRCH áp dụng được đối với tập
dữ liệu lớn, đặc biệt nó phù hợp với các tậ
p dữ liệu gia tăng theo thời gian.
Nhược điểm:
Chất lượng cụm được khám phá bởi BIRCH là không tốt. Ngoài ra tham

số ngưỡng T ảnh hưởng lớn đến kích thước và tính tự nhiên của cụm.

3.3 Thuật toán k-tâm:
Thuật toán k-tâm mở rộng thuật toán k –means để làm việc với tập dữ liệu hỗn
hợp gồm: thuộc tính số, thuộc tính định danh và thuộc tính có thứ tự[7].
3.3.1 Cơ sở toán học của thuật toán k-tâm
Trong đối tượng dữ liệu hỗn hợp, miền giá trị của các thuộc tính Aj có thể là
tập số thực, định danh hay là tập có thứ tự. Giả sử ta có tập dữ liệu h
ỗn hợp X có n đối
tượng, mỗi đối tượng có m thuộc tính. Các kiểu thuộc tính có thể là: thuộc tính số,
thuộc tính định danh, thuộc tính có thứ tự.

×