Tải bản đầy đủ (.doc) (48 trang)

PHÂN CỤM DỮ LIỆU TRONG DATAMING.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 (762.57 KB, 48 trang )

48
Phân cụm dữ liệu trong Dataming
MỤC LỤC
Chương 1: PHÂN CỤM DỮ LIỆU
1. Khai phá dữ liệu và phân cụm dữ liệu
1.1 Khai phá dữ liệu
1.1.1 Giới thiệu chung
1.1.2 Khai phá dữ liệu là gì
1.2 Quá trình khai phá tri thức trong cơ sơ dữ liệu
1.3 Các dạng dữ liệu có thể khai phá được
1.3.1 Phân cụm dữ liệu
1.3.2 Các đặc trưng cơ bản để phân cụm
2. Các phương pháp phân cụm dữ liệu
2.1 Phương pháp dựa trên phân hoạch
2.1.1 Phương pháp gom cụm k-means
2.1.2 Thuật toán PAM
2.1.3 Thuật toán CLARA
2.1.4 Thuật toán CLARANS
2.1.5 Nhận xét chung về các thuật toán phân hoạch
2.2 Phương pháp dựa trên phân cấp
2.2.1 Thuật toán BIRCH
2.2.2 Thuật toán CURE
2.3 Phương pháp dựa trên mật độ
2.3.1 Thuật toán DBSCAN
2.3.2 Thuật toán OPTICS
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
3. Một số thuật toán phân cụm dữ liệu đặc thù
3.1 Thuật toán STING
3.2 Thuật toán CRIQUE


3.3 Thuật toán EM
4. Phân cụm dữ liệu nhờ mạng nơ-ron
Chương 2: MẠNG NƠ-RON NHÂN TẠO
1. Mang nơ-ron sinh học
1.1 Khái niệm
1.2 Mô hình
2. Mạng nơ-ron nhân tạo
2.1 Khái niệm
2.2 Đặc điểm
2.3 Cấu trúc mạng nơ-ron nhân tạo
2.3.1 Nút
2.3.2 Phân loại cấu trúc mạng nơ-ron
2.3.3 Các hàm hoạt động
2.4 Kiến trúc mạng nơ-ron
2.5 Một số ứng dụng của mạng nơ-ron
2.5.1 Mạng nơ-ron trong phân lớp
2.5.2 Mạng nơ-ron trong nhận dạng
2.5.3 Mạng nơ-ron trong dự báo
2.5.4 Mạng nơ-ron và tối ưu
2.6 Tiến trình học
Chương 3: SOM VÀ THUẬT TOÁN HUẤN LUYỆN MẠNG NÀY
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
Lời mở đầu
Ngày nay, cùng với sự phát triển mạnh mẽ của công nghệ phần cứng và truyền
thông, các hệ thống dữ liệu phục vụ cho các lĩnh vực kinh tế - xã hội cũng không ngừng
tăng lên, lượng dữ liệu được tạo ra ngày càng lớn. Sự phong phú về dữ liệu, thông tin
cùng với khả năng kịp thời khai thác chúng đã mang đến những năng suất và chất
lượng mới cho công tác quản lý, hoạt động kinh doanh,…Nhưng rồi các yêu cầu về

thông tin trong các lĩnh vực hoạt động đó, đặc biệt trong lĩnh vực ra làm quyết định,
ngày càng đòi hỏi cao hơn, người quyết định không những cần dữ liệu mà còn cần có
thêm nhiều hiểu biết, nhiều tri thức để hỗ trợ cho việc ra quyết định của mình. Cho đến
những năm 90 của thế kỷ trước, nhu cầu khám phá tri thức mới thực sự bùng nổ, theo
đó, hàng loạt các lĩnh vực nghiên cứu về tổ chức các kho dữ liệu và kho thông tin, các
hệ trợ giúp quyết định, các thuật toán nhận dạng mẫu và phân lớp mẫu, …và đặc biệt là
khai phá dữ liệu (Data Mining) ra đời.
Từ khi ra đời, khai phá dữ liệu đã trở thành một trong những hướng nghiên cứu
phổ biến trong lĩnh vực khoa học máy tính và công nghệ tri thức. Nhiều kết quả nghiên
cứu, ứng dụng của khai phá dữ liệu trong các lĩnh vực khoa học, kinh tế, xã hội. Khai
phá dữ liệu bao hàm nhiều hướng nghiên cứu quan trọng, một trong số đó 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 và phát hiện ra các
cụm hoặc các mẫu dữ liệu tự nhiên trong cơ sở dữ liệu lớn. Các kỹ thuật chính được áp
dụng trong phân cụm dữ liệu phần lớn được kế thừa từ lĩnh vực thống liệu cho việc giải
quyết các vấn đề trong các lĩnh vực như tài chính, thông tin địa lý, sinh học, nhận dạng
ảnh,… Trong thời gian gần đây, trong lĩnh vực phân cụm dữ liệu, người ta tập trung
chủ yếu vào nghiên cứu, phân tích các mô hình dữ liệu phức tạp như dữ liệu văn bản,
Web, hình ảnh,…và đặc biệt là mô hình dữ liệu hỗn hợp để áp dụng chúng trong phân
cụm dữ liệu.
Chương 1: PHÂN CỤM DỮ LIỆU
1. Khai phá dữ liệu và phân cụm dữ liệu
1.1. Khai phá dữ liệu
1.1.1 Giới thiệu chung
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
Những năm 60 của thế kỉ trước, người ta bắt đầu sử dụng các công cụ tin học để
tổ chức và khai thác các cơ sở dữ liệu. Cùng với sự phát triển vượt bậc của các công
nghệ điện tử và truyền thông, khả năng thu thập, lưu trữ và xử lí dữ liệu cho các hệ
thống tin học không ngừng được nâng cao, theo đó lượng thông tin được lưu trữ trên

các thiết bị nhớ không ngừng được tăng lên. Thống kê sơ bộ cho thấy, lượng thông tin
trên các hệ thống tin học cứ sau 20 tháng lại tăng lên gấp đôi. Cuối thập kỉ 80 của thế kỉ
XX, sự phát triển rộng khắp của các cơ sở dữ liệu ở mọi quy mô đã tạo sự bùng nổ
thông tin trên toàn cầu. Vào thời gian này, người ta bắt đầu đề cập đến khái niệm phân
tích dữ liệu tác nghiệp để cung cấp thông tin với yêu cầu chất lượng ngày càng cao cho
người làm quyết định trong các tổ chức tài chính, thương mại, khoa học,…
Đúng như John Naisbett đã cảnh báo “Chúng ta chìm ngập trong dữ liệu mà vẫn
đói tri thức”. Lượng dữ liệu khổng lồ này thực sự là nguồn tài nguyên có nhiều giá trị
bởi thông tin là yếu tố then chốt trong mọi hoạt đọng quản lý, kinh doanh, phát triển
sản xuất và dịch vụ,…nó giúp những người điều hành và quản ly có nhiều hiểu biết về
môi trường và tiến trình hoạt động của tổ chức mình trước khi ra quyết định để tác
động đến quá trình hoạt động nhằm đạt được cá mục tiêu một cách hiệu quả và bền
vững.
Khai phá dữ liệu (Data mining), là một lĩnh vực mới xuất hiện, nhằm tự động
khai thác những thông tin, những tri thức có tính tiềm ẩn, hữu ích từ những cơ sơ dữ
liệu lớn cho các đơn vị, tổ chức, doanh nghiệp,…từ đó làm thức đẩy khả năng sản xuất,
kinh doanh, cạnh tranh cho các đơn vị, tổ chức này. Các kết quả khoa học cùng những
ứng dụng thành công trong khám phá tri thức, cho thấy khai phá dữ liệu là một lĩnh vực
phát triển bền vững, mang lại nhiều lợi ích và có nhiều triển vọng, động thời có ưu thế
hơn hẳn so với các công cụ phân tích dữ liệu truyền thống. Hiện nay, khai phá dữ liệu
đã ứng dụng ngày càng rộng rãi trong các 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,…
1.1.2 Khai phá dữ liệu là gì?
Khai phá dữ liệu là một hướng nghiên cứu mới ra đời hơn một thập niên trở lại
đây, các kĩ thuật chính được áp dụng trong lĩnh vực này phần lớn được thừa kế từ lĩnh
vực cơ sơ dữ liệu, máy học, trí tuệ nhân tạo, lý thuyết thông tin, xác suất thống kê, và
tính toán hiệu năng cao. Do sự phát triển nhanh của khai phá dữ liệu về phạm vi ứng
dụng và các phương pháp tìm kiếm tri thức, nên đã có nhiều quan điểm khác nhau về
khai phá dữ liệu. Tuy nhiên ở mức độ trừu tượng nhất định chúng ta định nghĩa khai
phá dữ liệu như sau:

Định nghĩa: Khai phá dữ liệu là một quá trình tìm kiếm, phát hiện các tri thức
mới, tiềm ẩn, hữu dụng trong cơ sơ dữ liệu lớn.
Khai phá tri thức trong cơ sơ dữ liệu (Knowledge Discovery in Database - KDD)
là mục tiêu chính của khai phá dữ liệu, do vậy hai khái niệm khai phá dữ liệu và KDD
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
được các nhà khoa học trên hai lĩnh vực xem là tương đương nhau. Thế nhưng nếu
phân chia một cách chi tiết thì khai phá dữ liệu là một bước chính trong quá trình KDD.
1.2Quá trình khai phá tri thức trong cơ sơ dữ liệu
Khai 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ư: thống kê, học máy, cơ sơ dữ liệu, thuật toán, trực quan hóa dữ liệu, tính toán song
song và hiệu năng cao,..
Quá trình KDD có thể phân chia thành các giai đoạn sau:
 Trích chọn dữ liệu: là bước trích chọn những tập dữ liệu cần được khai phá từ các
tập dữ liệu lớn (database, data warehouse, data repositories) ban đầu theo một số
tiêu chí nhất định.
 Tiền xử lí dữ liệu: là bước làm sạch dữ liệu (xử lí dữ liệu không đầy đủ, dữ liệu
nhiễu, dữ liệu không nhất quán, …) rút gọn dữ liệu, sử dụng hàm nhóm và tính
tổng, các phương pháp nén dữ liệu, sử dụng histograms, lấy mẫu,…, rời rạc hóa dữ
liệu (rời rạc hóa vào histograms, dựa vào entropy, dựa vào phân khoảng,…). Sau
bước này dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được rời rạc hóa.
 Biến đổi dữ liệu: đây là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu về dạng
thuận lợi nhất nhằm phục vụ cho các kĩ thuật khai phá ở bước sau.
 Khai phá dữ liệu: đây là bước áp dụng các kĩ thuật phân tích (phần nhiều là các kĩ
thuật của học máy) nhằm để khai thác dữ liệu, trích chọn những mẫu thông tin,
những mối liên hệ đặc biệt trong dữ liệu. Đây được xem là bước quan trọng và tốn
nhiều thời gian nhất của toàn quá trình khai phá tri thức.
 Đánh giá và biểu diễn tri thức: những mẫu thông tin và mối liên hệ trong dữ liệu đã
được khai phá ở bước trên được chuyển dạng và biểu diễn ở một dạng gần gũi với

người sử dụng như đồ thị, cây, bảng biểu, luật,…Đồng thời bước này cũng đánh giá
những tri thức khai phá được theo những tiêu chí nhất định.
Các giai đoạn trong KDD được thể hiện trực quan trong hình 1.1 dưới đây:
Hình 1-1. Các bước thực hiện trong quá trình khai phá tri thức
1.2Các kĩ thuật áp dụng trong khai phá dữ liệu.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Dữ liệu thô
trích chọn dữ
liệu
Dữ
liệu
Tiền xử lý dữ
liệu
Dữ liệu
Tiền xử lý
Biến đổi dữ
liệu
Khai phá dữ
liệu
Các mẫu
Đánh giá và
giải thích
Biểu diễn tri
thức
Tri thức
48
Phân cụm dữ liệu trong Dataming
Khai phá tri thức trong cơ sơ dữ liệu là một lĩnh vực liên ngành, bao gồm: tổ
chức dữ liệu, học máy, trí tuệ nhân tạo và các khoa học khác.
Nếu theo quan điểm của học máy (Machine Learning), thì các kĩ thuật trong khai

phá dữ liệu bao gồm:
• Học có giám sát (Surpervised learning): là một quá trình gán nhãn cho các
phần tử trong cơ sơ dữ liệu dựa trên một tập các ví dụ huấn luyện và các thông tin có
nhãn lớp đã biết.
• Học không có 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ác cụm (clustering) dữ liệu tương tự nhau mà chưa được
biết trước các thông tin về lớp hay tập các ví dụ huấn luyện.
• Học nửa giám sát (semi-Surpervised learning): là quá trình phân chia một
tập dữ liệu thành các lớp dựa trên một tập nhỏ các mẫu ví dụ huấn luyện và một số các
thông tin về một số nhãn đã biết trước.
Nếu căn cứ vào lớp các bài toán cần giải quyết, thì khai phá dữ liệu bao gồm các
kĩ thuật áp dụng sau:
• Phân lớp và dự đoán (classification and prediction): xếp một đối tượng vào
một trong những lớp đã biết trước. Ví dụ, phân lớp các dữ liệu bệnh nhân trong hồ sơ
bệnh án. Hướng tiếp cận này sử dụng một số kĩ thuật của học máy như cây quyết đinh
(decision tree), mạng nơ-ron nhân tạo,… Phân lớp và dự báo còn được gọi là học có
giám sát.
• Luật kết hợp (asssociation rules): là dạng luật biểu diễn tri thức ở dạng khá
đơn giản. Ví dụ, “60% nữ giới vào siêu thị mua phấn thì có 80% trong số họ sẽ mua
thêm son”. Luật kết hợp được ứng dụng nhiều trong kinh doanh, y học, tin sinh, tài
chính và thị trường chứng khoán,…
• Phân tích chuỗi theo thời gian (sequential temporal patterns): tương tự như
khai phá luật kết hợp nhưng có thêm tính tương tự và tính thời gian. Hướng tiếp cận
này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có
tính dự báo cao.
• Phân cụm (Clustering/ segmentation): xếp các đối tượng theo từng cụm dữ
liệu tự nhiên. Phân cụm còn được gọi là học không có giám sát.
• Mô tả khái niệm (concept desription and summarization): thiên về mô tả tổng
hợp và tóm tắt khái niệm. Ví dụ, tóm tắt văn bản.
1.3Các dạng dữ liệu có thể khai phá được

Do khai phá dữ liệu được ứng dụng rộng rãi nên nó có thể làm việc với rất nhiều
kiểu dữ liệu khác nhau. Một số dạng dữ liệu điển hình: cơ sơ dữ liệu quan hệ, cơ sơ dữ
liệu đa chiều (multidimensional structures, data warehouse), cơ sơ dữ liệu dạng giao
dịch, cơ sơ dữ liệu đa phương tiện, dữ liệu text và web,…
1.3.1 Phân cụm dữ liệu
a. Mục đích của phân cụm dữ liệu.
Phân loại là một trong những hành vi nguyên thủy nhất của con người nhằm
nắm giữ lượng thông tin khổng lồ họ nhận được hằng ngày. Vì sự xử lý mọi thông tin
như một thực thể đơn lẻ là không thể. Phân cụm dữ liệu nhằm mục đích chính là khai
phá cấu trúc của mẫu dữ liệu để thành lập các nhóm dữ liệu từ tập dữ liệu lớn, theo đó
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHNSSSS
48
Phân cụm dữ liệu trong Dataming
cho phép người ta đi xâu vào phân tích và nghiên cứu cho từng cụm dữ liệu này nhằm
khai phá và tìm kiếm các thông tin tiềm ẩn, hữu ích phục vụ cho ra quyết định.
Trong thời đại bùng nổ của công nghệ thông tin hiện nay, mạng máy tính đóng
vai trò ngày càng quan trọng hơn trong hoạt động của tổ chức, doanh nghiệp cũng như
các cơ quan nhà nước. Thậm chí ở một số đơn vị chẳng hạn như công ty hàng không
hoặc các ngân hàng lớn, mạng máy tính có thể ví như hệ thần kinh điều khiển các hoạt
động của toàn doanh nghiệp. Sự ngừng hoạt động của mạng máy tính trong những cơ
quan này cps thể làm tê liệt các hoạt động chính của đơn vị, và thiệt hại khó có thể
lường trước được.
Chúng ta đều biết máy chủ là trái tim của mạng máy tính, nếu máy chủ mạng
hỏng, các hoạt động của hệ thống sẽ bị ngưng trệ. Điều đáng tiếc là dù các hãng sản
xuất đã cố gắng làm mọi cách để nâng cao chất lượng của các thiết bị, nhưng những
hỏng hóc đối với các thiết bị mạng nói chung là các maý chủ nói riêng là điều không
thể tránh khỏi. Do vậy vấn đề đặt ra là cần có một giải pháp đảm bảo cho hệ thống vẫn
hoạt động tốt ngay cả khi có sự cố xảy ra đối với máy chủ mạng, và công nghệ
clustering (bó) là câu trả lời cho vấn đề này.
Một vài ví dụ về ý nghĩa thực tiễn của phân cụm như sau:

- Khám phá ra các vị trí địa lý thuận lợi cho việc xây dựng các kho hàng phục vụ
mua hàng của một công ty thương mại.
- Xác định các cụm ảnh như ảnh của các loại động vật như chim, thú,…trong tập
cơ sơ dữ liệu ảnh về động vật nhằm phục vụ cho việc tìm kiếm ảnh.
- Xác định các nhóm người bệnh nhằm cung cấp thông tin cho việc phân phối
các thuốc điều trị trong y tế
- Xác định các nhóm khách hàng trong cơ sơ dữ liệu ngân hàng có vốn các đầu
tư vào bất động sản cao…
Như vậy phân cụm dữ liệu là một phương pháp xử lí thông tin quan trọng và
phổ biến, nó nhằm khám phá mối liên hệ giữa các mẫu dữ liệu bằng cách tổ chức chúng
thành các cụm tương tự. Thuật ngữ phân cụm được hiểu là phân cụm dữ liệu.
Clustering là một kiến trúc nhằm đảm bảo nâng cao khả năng sẵn sàng cho các
hệ thống mạng máy tình. Clustering cho phép sử dụng nhiều máy chủ kết hợp với nhau
tạo thành một cụm (cluster) có khả năng chịu đựng hay chấp nhận sai sót (fault-
tolerant) nhằm nâng cao tính sẵn sàng của hệ thống mạng. Cluster là một hệ thống bao
gồm nhiều máy chủ được nối với nhau theo dạng song song hay phân tán và được sử
dụng như một tài nguyên thống nhất. Nếu một máy chủ ngừng hoạt động do bị sự cố
hoặc để nâng cấp, hoặc bảo trì thì toàn bộ công việc mà máy chủ này đảm nhiệm sẽ
được tự động chuyển sang cho máy chủ khác (trong cùng một cụm) mà không làm cho
hoạt động của hệ thống bị ngắt hay gián đoạn. Quá trình này gọi là “fail- over” và việc
phục hồi tài nguyên của một máy chủ trong hệ thống (cluster) được gọi là “fail- back”.
Việc thiết kế và lắp đặt các cluster cần thỏa mãn các yêu cầu sau:
• Yêu cầu tính sẵn sàng cao (availability). Các tài nguyên mạng phải luôn sẵn
sàng trong khả năng cao nhất để cung cấp và phục các người dùng cuối và giảm thiếu
sự ngưng hoạt động hệ thống ngoài ý muốn.
• Yêu cầu về độ tin cậy cao (reliability): độ tin cậy cao của cluster được hiểu
là khả năng giảm thiểu tần số xảy ra các sự cố, và nâng cao khả năng chịu đựng sai sót
của hệ thống.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHNSSSS
48

Phân cụm dữ liệu trong Dataming
• Yêu cầu về khả năng mở rộng được (scalability). Hệ thống phải có khả năng
dễ dàng cho việc nâng cấp, mở rộng trong tương lai. Việc nâng cấp mở rộng bao hàm
cả việc thêm các thiết bị, máy tính vào hệ thống để nâng cao chất lượng dịch vụ, cũng
như việc thêm số lượng người dùng, thêm ứng dụng, dịch vụ và thêm các tài nguyên
mạng khác.
Ba yêu cầu trên được gọi tắt là RAS (Reliability- Availability- Scalability),
những hệ thống đáp ứng được ba yêu cầu trên được gọi là hệ thống RAS (cần phân biệt
với Remote Access Service là dịch vụ truy cập từ xa).
Cũng cần chú ý rằng hiệu quả hoạt động của hệ thông Clustering phụ thuộc vào
sự tương thích giữa các ứng dụng và dịch vụ, giữa phần cứng và phần mềm. Ngoài ra kĩ
thuật Clustering không thể chống lại các sự cố do virus, sai sót của phần mềm hay các
sai sót của người sử dụng. Để chống lại các sự cố này cần xây dựng một cơ sơ dữ liệu
được bảo vệ chắc chắn cũng như có các kế hoạch khôi phục, back up dữ liệu.
1.3.2 Các đặc trưng cơ bản để phân cụm
• Chọn lựa đặc trưng: các đặc trưng phải được lựa chọn một cách hợp lí
để có thể “mã hóa ” nhiều nhất thông tin liên quan đến công việc quan tâm. Mục tiêu
chính là giảm thiểu sự dư thừa thông tin giữa các đặc trưng. Các đặc trưng cần được xử
lí trước khi dùng trong các bước sau.
• Chọn độ đo gần gũi: đây là một độ đo chỉ ra mức độ tương tự hay
không tương tự giữa hai vector đặc trưng. Phải đảm bảo rằng tất cả các vector đặc
trưng góp phần như nhau trong việc tính toán độ đo gần gũi và không có đặc trưng nào
át đặc trưng nào. Điều này được đảm nhận bởi quá trình tiền xử lí.
• Tiêu chuẩn phân cụm: Điều này phụ thuộc vào sự giải thích của
chuyên gia cho thuật ngữ “dễ nhận thấy” dựa vào loại của các cụm được chuyên gia
cho rằng đang ẩn dấu dưới tập dữ liệu.
• Thuật toán phân loại: cần lựa chọn một sơ đồ thuật toán riêng biệt
nhằm làm sáng tỏ cấu trúc của tập dữ liệu.
• Công nhận kết quả: khi đã có kết quả phân loại thì ta phải kiểm tra
tính đúng đắn của nó. Điều này thường được thực hiện bởi việc dùng các kiểm định

phù hợp.
• Giải thích kết quả: trong nhiều trường hợp, chuyên gia trong lĩnh vực
ứng dụng phải kết hợp kết quả phân loại với bằng chứng thực nghiệm và phân tích để
đưa ra các kết luận đúng đắn. Trong một số trường hợp nên có cả bước khuynh hướng
phân cụm; trong bước này có các kiểm định khác nhau để chỉ ra một tập dữ liệu có hay
không một cấu trúc phân cụm. Ví dụ như một tập dữ liệu của ta có thể hoàn toàn ngẫu
nhiên vì vậy mọi cố gắng phâm cụm đều vô nghĩa.
Các lựa chọn khac nhau của các đặc trưng, độ đo gần gũi, tiêu chuẩn phân cụm
có thể dẫn tới các kết qủa khác phân cụm khác nhau. Do đó, việc lựa chọn một cách
hợp lí nhất hoàn toàn dựa vào kiến thức và kinh nghiệm của các chuyên gia. Vì vậy tính
chủ quan (của chuyên gia) là một thực tế mà ta phải chấp nhận.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Data
* ** ** *
* * ** * *
** * * ** *
* ** * ** * **
* ****
Data for
process
Algorithm
results
Final Clusters
Knowledge
Lựa chọn đặc
trưng
Lựa chọn thuật
toán phân cụm
Công nhận kết
quả

Giải thích
kết quả
48
Phân cụm dữ liệu trong Dataming
Hình 1-2. Các bước trong quá trình phân cụm
2. Các phương pháp phân cụm dữ liệu
2.1 Các phương pháp dựa trên phân hoạch
Phương pháp phân hoạch: tạo một phân hoạch của cơ sơ dữ liệu D chứa n đối
tượng thành tập gồm k cụm sao cho:
• Mỗi cụm chứa ít nhất là một đối tượng
• Mỗi đối tượng thuộc về đúng một cụm
Cho k, tìm một phân hoạch có k cụm nhằm tối ưu tiêu chuẩn phân cụm được
chọn.
Tiêu chuẩn suy đoán chất lượng phân hoạch
Tối ưu toàn cụn: liệt kê theo hướng vét cạn tất cả các phân hoạch.
Các phương pháp:
o Phương pháp k-means (MacQueen’ 67): mỗi cụm được đại
diện bằng tâm của cụm (centroid).
o k- medoids (Kuafman & Roosseew’87): mỗi cụm được đại
diện bằng một trong các đối tượng của cụm (medoids)
2.1.1 Phương pháp gom cụn k- means
Trọng tâm của một cụm là một véc tơ, trong đó giá trị của mỗi phần tử của nó là
trung bình cộng của các thành phần tương ứng của các đối tượng vectơ dữ liệu trong
cụm đang xét. Tham số đầu vào của thuật toán là số cụm k, và tham số đầu ra của thuật
toán là các trọng tâm của các cụm dữ liệu. Độ đo khoảng cách D giữa các đối tượng dữ
liệu thường được sử dụng dụng là khoảng cách Euclide, bởi vì đây là mô hình khoảng
cách dễ để lấy đạo hàm và xác định các cực trị tối thiểu. Hàm tiêu chuẩn và độ đo
khoảng cách có thể được xác định cụ thể hơn tuỳ vào ứng dụng hoặc các quan điểm của
người dùng. Thuật toán k-means bao gồm các bước cơ bản:
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN

48
Phân cụm dữ liệu trong Dataming
Đầu vào của thuật tóan: số k cụm k và cơ sơ dữ liệu
Thuật toán gồm 4 bước:
1. Phân hoạch đối tượng thành k tập con/ cụm khác rỗng.
2. Tính các điểm hạt giống làm centroid (trung bình của các đối tượng của
cụm) cho từng cụm trong cụm hiện hành.
3. Gán từng đối tượng vào cụm có centroid gần nhất.
4. Quay về bước 2 chấm dứt khi không còn phép gán mới.
BEGIN
1. Write (“Nhập số đối tượng dữ liệu”);readln(n);
2. Nhập n đối tượng dữ liệu;
3. Write (“Nhập số cụm dữ liệu”);readln(k);
4. MSE = + ∞;
5. For i = 1 to k do m
i
= x
i+(i-1)*[n/k]
; //Khởi tạo k trọng tâm
6. Do{
7. OldMSE = MSE;
8. MSE' = 0;
9. For j = 1 to k do
10. {m'
j
=0; n'
j
= 0;}
11. Endfor;
12. For i = 1 to n do

12. For j = 1 to k do
Tính toán khoảng cách Euclide
14. bình phương : D
2
(x
i
, m
j
);
15. Endfor
16. Tìm trọng tâm gần nhất m
h
tới X
i
.
17. m'
h
=m'
h
+ X
i
; n'
h
= n'
h
+ 1;
18. MSE' = MSE' + D
2
(x
i

, m
h
);
19. Endfor
20. n
j
= max (n'
j
, 1); m
j
=m'
j
/ n
j
;
21. Endfor
22. MSE = MSE';
23} while (MSE < OldMSE)
END;
Thuật tóan k-means chi tiết
Các khái niệm biến và hàm sử dụng trong thuật toán k-means trên:
 MSE (Mean Squared Error) được gọi là sai số bình phương trung bình hay còn
gọi là hàm tiêu chuẩn, MSE dùng để lưa giá trị của hàm tiêu chuẩn và được cập nhật
qua mỗi lần lặp. Thuật toán dừng ngay khi giá trị MSE tăng lên so với giá trị MSE cũ
của vòng lặp trước đó.
 D
2
(x
i,
m

j
): là khoảng cách Euclide từ đối tượng thứ i tới trọng tâm thứ j:
 OldMSE, m’
j
, n

j
: là các biến tạm lưu giá trị cho các trạng thái trung gian cho các
biến tương ứng: giá trị hàm tiêu chuẩn, giá trị của vectơ tổng của các đối tượng trong
cụm thứ j, số các đối tượng của cụm thứ j;
Thuật toán k-means tuần tự trên được chứng minh là hội tụ và có độ phức tạp
tính toán là : O(
T
flop
nkd
τ
)3(
). Trong đó: n là đối tượng dữ liệu, k là số cụm dữ liệu, d
là số chiều,
τ
là số vòng lặp,
T
flop
là thời gian để thực hiện một phép tính cơ sở như
phép nhân, chia,…Như vậy, do k-means phân tích cụm đơn giản nên có thể áp dụng đối
với tập dữ liệu lớn. Tuy nhiên nhược điểm của k-means là chỉ áp dụng với dữ liệu có
thuộc tính số và khám phá ra các cụm có hình dạng cầu, k-means còn rất nhạy cảm với
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming

nhiễu và các phần tử ngoại lai trong dữ liệu. Hình dưới diễn tả mô phỏng về một số
hình dạng cụm dữ liệu khám phá được bởi k-means:
Thí dụ về một số hình dạng dữ liệu được khám phá ra bởi k-means
Hơn nữa, chất lượng phân cụm dữ liệ của thuật toán k-means phụ thuộc nhiều
vào các tham số đầu vào như: số cụm k và k trọng tâm khởi tạo ban đầu. Trong trường
hợp, các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì
kết quả phân cụm k-means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch
so với các cụm trong thực tế. Trên thực tê người ta chưa có một giải pháp tối ưu nào đẻ
chọn các tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các
giá trị đầu vào k khác nhau rồi sau đo chinh giải pháp tốt nhất.
Đến nay, đã có rất nhiều thuật toán kế thừa tư tưởng của thuật toán k-means áp
dụng trong datamining để giải quyết với tập dữ liệu có kích thước tất lớn được áp dụng
hiệu quả và phổ biến như thuật toán k-modes, PAM, CLARA, CLARANS, k-
prototypes,…
Thuật toán khác cũng gồm 4 bước:
1. Chọn bất kì k đối tượng làm các tâm ban đầu (centroids)
2. Gán hoặc gán lại từng đối tượng vào cụm với khoảng cách gần nhất.
3. Cập nhật centroids
4. Quay về bước 2, dừng khi không còn phép gán mới
b) Ví dụ phương pháp gom cụm k- means
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
0
1
2
3
4
5
6
7
8

9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
48
Phân cụm dữ liệu trong Dataming
c) Điểm mạnh của phương pháp gom cụm k - means
• Khả năng mở rộng (scalable) tương đối: trong khi xử lí các tập dữ liệu
lớn.
• Hiệu suất tương đối: O(tkn), với n là số đối tượng, k là số cụm, t là số lần
lặp. Thông thường k, t < < n.
Thường kết thúc ở điểm tối ưu cục bộ; có thể tìm được tối ưu toàn cục dùng các
kĩ thuật như thuật toán di truyền
d) Điểm yếu của phương pháp gom cụm k – means
• Có thể áp dụng khi biết được trị trung bình của các đối tượng
• Cần chỉ định trức k, số các cụm
• Không thể xử lí được dữ liệu chuỗi và outlier
• Không phù hợp để khám phá các cụm với dạng không lồi hay cụm có
kích thước khác nhau

e) Các biến đổi của phương pháp gom cụm k means
• Vài biến thể của phương pháp k- means khác nhau ở:
- Chọn k centroids ban đầu.
- Tính toán sự bất tương tự
- Các chiến lược tính centroids cụm
• Xử lí dữ liệu phân nhóm: k- modes (cách thức)
- Thay trị trung bình của cluster bằng modes
- Dùng các độ đo bất tương tự mới cho các đối tượng phân nhóm
- Dùng các phương pháp dựa trên tần số để cập nhật modes của đối
tượng
Một sự kết hợp giữa dữ liệu phân lớp và dữ liệu số: phương pháp k- prototype
f) Phương pháp gom cụm k-medoids
• Đầu vào của thuật toán: số cụm k và cơ sơ dữ liệu có n đối tượng
• Thuật toán gồm 4 bước:
1. Chọn bất kì k đối tượng nào làm medoids ban đầu (các đối tượng đại
diện)
2. Gán từng đối tượng còn lại vào cụm có medoid gần nhất
3. Chọn nonmedoid và thay một trong các medoids bằng nó nếu nó cải
thiện chât lượng cụm
4. Quay về bước 2, dừng khi không còn phép gán mới.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
0
1
2
3
4
5
6
7
8

9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
48
Phân cụm dữ liệu trong Dataming
2.1.2 Thuật toán PAM
PAM (Partitioning Around Medois) là thuật toán mở rộng của thuật toán k-
means, nhằm có khả năng xử lý hiệu quả đối với dữ liệu nhiễu hoặc các phần tử ngoại
lai, đây là thuật toán phân cụm dữ liệu được đề xuất bởi Kaufman và Rousseeuw. Thay
vì sử dụng các trọng tâm như k-means, PAM sử dụng các đối tượng medoid để biểu
diễn cho các cụm dữ liệu, một đối tượng medoid là đối tượng đặt tại vị trí trung tâm
nhất bên trong của mỗi cụm. Vì vậy, các đối tượng medoid ít bị ảnh hưởng bởi các đối
tượng ở rất xa trung tâm, trong khi đó các trọng tâm của thuật toán k-means lại rất bị
tác động bởi những điểm ở xa trung tâm này. Ban đầu, PAM khởi tạo k đối tượng
medoid và phân phối các đối tượng còn lại vào các cụm với các đối tượng medoid đại
diện tương ứng sao cho chúng tương tự với đối tượng medoid trong cụm nhất.
Thí dụ : Nếu O
j

là đối tượng không phải là medoid và O
m
là một đối tượng
medoid, khi đó ta nói O
j
thuộc về cụm có đối tượng medoid là O
m
làm đại diện nếu :
d(O
j
, O
m
) = min
Oe
),(
OO
ej
d
. Trong đó :
),(
OO
ej
d
là độ phi tương tự giữa O
j
và O
e
, min
Oe
là giá trị nhỏ nhất của độ phi tương tự giữa O

j
và tất cả các đối tượng medoid
của các cụm dữ liệu. Chất lượng của mỗi cụm được khám phá được đánh giá thông qua
độ phi tương tự trung bình giữa một đối tượng và đối tượng medoid tương ứng với
cụm của nó, nghĩa là chất lượng phân cụm được đánh giá thông qua chất lượng của tất
cả các đối tượng medoid. Độ phi tương tự ở đây thông thường được xác định bằng độ
đo khoảng cách, thuật toán PAM ở đây được áp dụng cho dữ liệu không gian.
Để xác định các medoid, PAM bắt đầu bằng cách lựa chọn k đối tượng medoid
bất kỳ. Sau mỗi bước thực hiện, PAM cố gằng hoán chuyển giữa đối tượng medoid O
m
và một đối tượng O
p
không phải là medoid, miễn là sự hoán chuyển này nhằm cải tiến
chất lượng của phân cụm, quá trình này kết thúc khi chất lượng phân cụm không thay
đổi. Chất lượng phân cụm được đánh giá thông qua hàm tiêu chuẩn, chất lượng phân
cụm tốt nhất khi hàm tiêu chuẩn đạt giá trị tối thiểu.
Chúng ta xét ví dụ đơn giản sau : Cho hai đối tượng medoid A và B. Đối với tất cả
các đối tượng Y thuộc cụm với đối tượng medoid đại diện A, chúng ta tìm medoid
của cụm gần nhất để thay thể. Có hai trường hợp có thể xẩy ra, hoặc Y được chuyển tới
cụm dữ liệu có đại diện là B hoặc được chuyển tới cụm dữ liệu có đại diện là M. Tiếp
đến, chúng ta xét lần lượt cho tất cả các đối tượng trong cụm có đại diện là A. Tương
tự như vậy, đối với tất các các đối tượng trong cụm có đối tượng đại diện là B, chúng ta
có thể di chuyển chúng tới cụm có đại diện là M hoặc là chúng ở lại B. Thí dụ này có
thể biểu diễn như hình dưới đây :
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
A
Y
B
M
Case 1

Case 2
A
M
Z
B
Case 3
Case 4
48
Phân cụm dữ liệu trong Dataming
Thí dụ về khả năng thay thế của các đối tượng trung tâm medoid
Sau đây là một số khái niệm biến được sử dụng cho thuật toán PAM :
O
m
: Là đối tượng medoid hiện thời cần được thay thế
O
p
: là đối tượng medoid mới thay thế cho O
m
;
O
j
: Là đối tượng dữ liệu (không phải là medoid) có thể được di chuyển sang
cụm khác.
O
j,2
: Là đối tượng medoid hiện thời gần đối tượng O
j
nhất mà không phải
là các đối tượng A và M như trong ví dụ trên.
Bốn trường hợp như mô tả trong thí dụ trên, PAM tính giá trị C

jmp
cho tất cả các đối
tượng O
j
. C
jmp
ở đây nhằm để làm căn cứ cho việc hoán chuyển giữa O
m
và O
p
. Các
cách tính. Trong mỗi trường hợp C
jmp
được tính với 4 cách khác nhau như sau :
Trường hợp 1: Giả sử O
j
hiện thời thuộc về cụm có đại diện là O
m
và O
j
tương tự với O
j, 2
hơn O
p
(d(O
j
, O
p
)


d(O
j
, O
j,2
)). Trong khi đó, O
j,2
là đối tượng
medoid tương tự xếp thứ 2 tới O
j
trong số các medoid. Trong trường hợp này,
chúng ta thay thế O
m
bởi đối tượng medoid mới O
p
và O
j
sẽ thuộc về cụm có đối
tượng đại diện là O
j,2
. Vì vậy, giá trị hoán chuyển C
jmp
được xác định như sau :
C
jmp
= d(O
j
, O
j,2
) – d(O
j

, O
m
). (1)
Giá trị C
jmp
là không âm.
Trường hợp 2 : O
j
hiện thời thuộc về cụm có đại diện là O
m ,
nhưng O
j
ít
tương tự với O
j,2
so với O
p
(Nghĩa là, d(O
j
, O
p
)<d(O
j
, O
j,2
)) . Nếu O
m
, được thay
thế bởi O
p

thì O
j
sẽ thuộc về cụm có đại diện là O
p
. Vì vậy, giá trị C
jmp
được xác
định như sau : C
jmp
= (O
j
, O
p
) - d(O
j
, O
m
) (2). C
jmp
ở đây có thể là âm hoặc
dương.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
Trường hợp 3 : Giả sử O
j
hiện thời không thuộc về cụm có đối tượng đại
diện là O
m
mà thuộc về cụm có đại diện là O

j,2
. Mặt khác, giả sử O
j
tương tự với
O
j,2
hơn so với O
p
, khi đó, nếu O
m
được thay thế bởi O
p
thì O
j
vẫn sẽ ở lại trong
cụm có đại diện là O
j,2
. Do đó : C
jmp
= 0 (3).
Trường hợp 4 : O
j
hiện thời thuộc về cụm có đại diện là O
j,2
nhưng O
j
ít
tương tự tới O
j,2
hơn


so với O
p.
Vì vậy, nếu chúng ta thay thế O
m
bởi O
p
thì O
j
sẽ
chuyển từ cụm O
j,2
sang cụm O
p
. Do đó, giá trị hoán chuyển C
jmp
được xác định
là : C
jmp
= (O
j
, O
p
) - d(O
j
, O
j,2
) (4). C
jmp
ở đây luôn âm.

Kết hợp cả bốn trường hợp trên, tổng giá trị hoán chuyển O
m
bằng O
p
được
xác định như sau : TC
mp
=

j
jmp
C
(5).
Sử dụng các khái niệm trên, thuật toán PAM có các bước thực hiện như hình sau:
Input : Tập dữ liệu có n phần tử, số cụm k
Out Put : k cụm dữ liệu sao cho chất lượng phân hoạch là tốt nhất.
BEGIN
Bước 1 : Chọn k đối tượng medoid bất kỳ;
Bước 2 : Tính TC
mp
cho tất cả các cặp đối tượng O
m
, O
p.
Trong đó O
m
là đối tượng medoid và O
p
là đối tượng không phải là modoid.
Bước 3 : Chọn cặp đối tượng O

m
và O
p
. Tính min
Om,
min
Op
, TC
mp
.
Nếu TC
mp
là âm, thay thế O
m
bởi O
p
và quay lại bước 2. Nếu TC
mp
dương, chuyển sang bước 4.
Bước 4 : Với mỗi đối tượng không phải là medoid, xác định đối tượng medoid tương tự với nó
nhất đồng thời gán nhãn cụm cho chúng.
END
Các bước thực hiện của thuật toán PAM
Trong bước 2 và 3, có PAM phải duyệt tất cả k(n-k) cặp O
m
, O
p
. Với mỗi vặp,
việc tính toán TC
mp

yêu cầu kiểm tra n-k đối tượng. Vì vậy, độ phức tạp tính toán của
PAM là O(Ik (n-k)
2
), trong đó I là số vòng lặp. Như vậy, thuật toán PAM kém hiệu quả
về thời gian tính toán khi giá trị của k và n là lớn[10][16].
2.1.3 Thuật toán CLARA
CLARA (Clustering LARge Application) được Kaufman đề xuất năm 1990,
thuật toán này nhằm khắc phục nhiệc điểm của thuật toán PAM trong trường hợp giá trị
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
của k và n là lớn. CLARA tiến hành trích mẫu cho tập dữ liệu có n phần tử, nó áp dụng
thuật toán PAM cho mẫu này và tìm ra các đối tượng trọng tâm medoid cho mẫu trích
từ dữ liệu này. Người ta thấy rằng, nếu mẫu dữ liệu được trích theo cách ngẫu nhiên,
thì các medoid của nó xấp xỉ với các medoid của toàn bộ tập dữ liệu ban đầu Để tiến tới
một xấp xỉ tốt hơn, CLARA đưa ra nhiều cách lấy mẫu và thực hiện phân cụm cho mỗi
trường hợp và tiến hành chọn kết qủa phân cụm tốt nhất khi thực hiện phân cụm trên
các mẫu này. Để cho chính xác, chất lượng của các cụm được đánh giá thông độ phi
tương tự trung bình của toàn bộ các đối tượng dữ liệu trong tập đối tượng ban đầu. Kết
quả thực nghiệm chỉ ra rằng, 5 mẫu dữ liệu có kích thước 40+20k cho các kết quả tốt.
Các bước thực hiện của thuật toán CLARA như sau:
CLARA (5);
BEGIN
1. For i = 1 to 5 do
2. Lấy một mẫu có 40 + 2k đối tượng dữ liệu ngẫu nhiên từ tập dữ liệu và áp dụng thuật toán PAM
cho mẫu dữ liệu này nhằm để tìm các đối tượng medoid đại diện cho các cụm.
3. Đối với mỗi đối tượng O
j
trong tập dữ liệu ban đầu, xác định đối tượng medoid tương tự nhất trong
số k đối tượng medoid.

4. Tính độ phi tương tự trung bình cho phân hoạch các đối tượng dành ở bước trước, nếu giá trị này
bé hơn giá trị tối thiểu hiện thời thì sử dụng giá trị này thay cho giá trị tối thiếu ở trạng thái trước, như
vậy, tập k đối tượng medoid xác định ở bước này là tốt nhất cho đến thời điểm này.
5. Quay về bước 1.
END;
Các bước thực hiện thuật toán CLARA
Độ phức tạp tính toán của nó là O(k(40+k)
2
+ k(n-k)), và CLARA có thể thực hiện đối
với tập dữ liệu lớn. Chú ý đối với kỹ thuật tạo mẫu trong PCDL : kết quả phân cụm có
thể không phụ thuộc vào tập dữ liệu khởi tạo nhưng nó chỉ đạt tối ưu cục bộ. Thí dụ
như : Nếu các đối tượng medoid của dữ liệu khởi tạo không nằm trong mẫu, khi đó kết
quả thu được không đảm bảo là tốt nhất được.
2.1.4 Thuật toán CLARANS
Thuật toán CLARANS được Ng & Han đề xuất năm 1994, nhằm để cải tiến cho
chất lượng cũng như mở rộng áp dụng cho tập dữ liệu lớn. CLARANS cũng sử dụng
các đối tượng trung tâm medoids làm đại diện cho các cụm dữ liệu.
Như đã biết, PAM là thuật toán phân hoạch có kiểu k-medoids. Nó bắt đầu khởi
tạo k tâm đại diện medoid và liên tục thay thế mỗi tâm bởi một đối tượng khác trong
cụm cho đến khi là tổng khoảng cách của các đối tượng đến tâm cụm không giảm.
CLARANS là thuật toán phân cụm dữ liệu kết hợp thuật toán PAM với chiến lược tìm
kiếm kinh nghiệm mới. Ý tưởng cơ bản của CLARANS là không xem xét tất cả các
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
khả năng có thể thay thế các đối tượng tâm medoids bởi một đối tượng khác, nó ngay
lập tức thay thế các đối tượng tâm này nếu việc thay thế này có tác động tốt đến chất
lượng phân cụm chứ không cần xác định cách thay thế tối ưu nhất. Một phân hoạch
cụm phát hiện được sau khi thay thế đối tượng trung tâm được gọi là láng giềng
(Neighbor) của phân hoạch cụm trước đó. Số các láng giềng được hạn chế bởi tham số

do ngừơi dùng đưa vào là Maxneighbor, quá trình lựa chọn các láng giềng này là hoàn
toàn ngẫu nhiên. Tham số Numlocal cho phép người dùng xác định số vòng lặp tối ưu
cục bộ được tìm kiếm. Không phải tất cả các láng giềng được duyệt mà chỉ có
Maxneighbor số láng giềng được duyệt.
Một số khái niệm sử dụng trong thuật toán CLARANS được định nghĩa như
sau :
Giả sử O là một tập có n đối tượng và M ⊆ Ο là tập các đối tượng tâm medoid, NM = Ο - M
là tập các đối tượng không phải tâm. Các đối tượng dữ liệu sử dụng trong thụât toán
CLARANS là các khối đa diện. Mối đối tượng được diễn tả bằng một tập các cạch, mỗi cạnh
được xác định bằng 2 điểm. Giả sử P ⊆ R
3
là một tập tất cả các điểm. Nói chung, các đối
tượng ở đây là các đối tượng dữ liệu không gian và chúng ta định nghĩa tâm của một đối tượng
chính là trung bình cộng toán học của tất cả các đỉnh hay còn gọi là trọng tâm:
Center : O
→
P
Giả sử dist là một hàm khoảng cách, khoảng cách thường được chọn ở đây là khoảng cách
Euclidean : dist: P x P→ R
0
+
Hàm khoảng cách dist có thể mở rộng cho các điểm của khối đa diện thông qua hàm tâm :
dist: O x O→ R
0
+
sao cho dist (o
i
, o
j
) = dist (center(o

i
), center(o
j
))
Mỗi đối tượng được được gán cho một tâm medoid của cụm nếu khoảng cách từ trọng tâm của
đối tượng đó tới tâm medoid của nó là nhỏ nhất. Vì vậy, chúng ta định nghĩa một tâm medoid
như sau : medoid: O→ M sao cho medoid (o) = m
i
, m
i
∈M, ∀ m
j
∈M: dist (o, m
i
)
≤ dist (o, m
j
), o

O.
Cuối cùng, chúng ta định nghĩa một cụm với tâm medoid m
i
tương ứng là một tập con các đối
tượng trong O với medoid(o) = m
i
.
Giả sử C
0
là tập tất cả các phân hoạch của O. Hàm tổng đế đánh giá chất lượng một phân
hoạch được định nghĩa như sau : total_distance: C

0
→ R
0
+
sao cho total_distance(c) = Σ Σ dist
(o, mi) với m
i
∈M, ο ∈ cluster(mi ).
Thuật toán chi tiết CLARANS như biểu diễn trong hình sau:
Input : O, k, dist, numlocal, and maxneighbor;
Output : k cụm dữ liệu;
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
CLARANS (int k, function dist, int numlocal, int maxneighbor)
BEGIN
for (i = 1; i <= numlocal; i++) {
current.create_randomly(k);
j = 1;
while (j < maxneighbor) {
current.select_randomly(old, new);
diff = current.calculate_distance_difference(old, new);
if (diff < 0) {
current.exchange(old, new);
j = 1;
}
else j++; // end if
} // end while
dist = current.calculate_total_distance();
if (dist < smallest_dist) {

best = current;
smallest_dist = dist;
} // end if
} // end for
END;
Thuật toán CLARANS
Trong đó :
Create_Randomly(k) : tạo ngẫu nhiên k cụm dữ liệu, nghĩa là thuật toán lựa chọn
ngẫu nhiên k đối tượng medoid từ n đối tượng dữ liệu.
Select_randomly(old, new) : Thay thế một đối tượng tâm cụm medoid old bởi đối
tượng khác new.
Calculate_distance_difference(old, new) : Tính toán sự khác nhau về tổng khoảng
cách giữa phân hoạch hiện thời và láng giềng của nó.
Exchange(old, new) : Hoán đối giữa đối tượng tâm cụm medoid old với đối tượng
không phải là medoid new, sau khi hoán đổi vai trò của chúng cũng được hoán đổi.
Calculate_total_distance() : Tính tổng khoảng cách cho mỗi phân hoạch.
Như vậy, quá trình hoạt động của CLARANS tương tự với quá trình hoạt động của
thuật toán CLARA. Tuy nhiên, ở giai đoạn lựa chọn các trung tâm medoid của cụm dữ
liệu, CLARANS lựa chọn một giải pháp tốt hơn bằng cách lấy ngẫu nhiên một đối
tượng của k đối tượng trung tâm medoid của cụm và cố gắng thay thế nó với một đối
tượng được chọn ngẫu nhiên trong (n-k) đối tượng còn lại, nếu không có giải pháp nào
tốt hơn sau một số cố gắng lựa chọn ngẫu nhiên xác định, thuật toán dùng và cho kết
quả phân cụm tối ưu cục bộ.
Trong trường hợp tệ nhất, CLARANS so sánh một đối tượng với tất các đối tượng
Medoid. Vì vậy, độ phức tạp tính toán của CLARANS là O(kn
2
), do vậy CLARANS
không thích hợp với tập dữ liệu lớn (khi trường hợp xấu nhất xẩy ra). CLARANS có
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48

Phân cụm dữ liệu trong Dataming
ưu điểm là không gian tìm kiếm không bị giới hạn như đối với CLARA, và trong cùng
một lượng thời gian thì chất lượng của các cụm phân được là lớn hơn so với CLARA.
2.1.5. Nhận xét chung về họ các thuật toán phân hoạch
Thuật toán k-means chỉ thích hợp để tìm kiếm các cụm dữ liệu có dạng hình cầu, không
thích hợp cho việc xác định các cụm với hình dạng bất kỳ, nhưng trong trường hợp các
cụm khá gần nhau thì một số đối tượng của một cụm có thể là nằm cuối các trong các
cụm khác. Thuật toán PAM là một cải tiến của k-means nhằm để khắc phục trong
trường hợp dữ liệu chứa nhiễu hoặc các phần tử ngoại lai. CLARA và CLARANS là
các thuật toán dựa trên hàm tiêu chuẩn của thuật toán PAM, đây là các thuật toán có
khả năng áp dụng với tập dữ liệu lớn, nhưng hiệu quả của chúng phụ thuộc vào kích
thước của các mẫu được phân. Thuật toán CLARANS hiệu quả hơn so với thuật toán
CLARA. Hạn chế chung của các thuật toán phân cụm phân hoạch là chỉ thích hợp đối
với dữ liệu số và ít chiều, và chỉ khám phá ra các cụm dạng hình cầu, thế nhưng chúng
lại áp dụng tốt với dữ liệu có các cụm phân bố độc lập và trong mỗi cụm có mật độ
phân bố cao.
2.2Các phương pháp dựa trên phân cấp
Phương pháp phân cấp: tạo phân cấp cụm chứ không phải là một phân hoạch
đơn thuần các đối tượng
Không cần dữ liệu nhập là số cụm k
Dùng ma trận làm tiêu chuẩn gom cụm
Có thể có điều kiện kết thúc (ví dụ số cụm)
• Cây các cụm: phân cấp cụm thường tạo cây các cụm hay còn được gọi là
dendrogram
o Các lá của cây biểu diễn các đối tượng riêng lẻ
o Các nút trong của cây biểu diễn các cụm
• Hai loại phương pháp tạo kiến trúc cụm:
o Gộp- agglomerative (từ dưới lên)
- Đưa từng đối tượng vào cluster riêng của nó
- Trộn ở mỗi bước hai cụm tương tự nhất cho đến khi chỉ còn một cụm

hay thỏa điều kiện kết thúc
o Phân chia – divisive (từ trên xuống)
- Bắt đầu bằng một cụm lớn chứa tất cả các đối tượng
- Phân chia cụm phân biệt nhất thành các cụm nhỏ hơn và xử lý cho
đến khi co n cụm hay thỏa điều kiện kết thúc
Hai loại phương pháp tạo kiến trúc phân cấp cụm
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN

×