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

Nghiên cứu một số phương pháp phân cụm mờ và ứng dụng

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.09 MB, 45 trang )

1

MỤC LỤC

ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN

DANH MỤC CÁC TỪ VIẾT TẮT ........................................................................ 4
DANH MỤC CÁC HÌNH MINH HOẠ ................................................................ 5
Chƣơng 1 - TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KPDL .................. 6

AN HỒNG SƠN

NGHIÊN CỨU MỘT SỐ PHƯƠNG PHÁP
PHÂN CỤM MỜ VÀ ỨNG DỤNG

1.1.

Giới thiệu chung về khám phá tri thức và khai phá dữ liệu ................. 6

1.2.

Quá trình khám phá tri thức ................................................................. 7

1.3.

Quá trình khai phá dữ liệu .................................................................... 8

1.4.

Các phƣơng pháp khai phá dữ liệu ....................................................... 9



1.5.

Các lĩnh vực ứng dụng thực tiễn của KPDL ........................................ 10

1.6.

Các hƣớng tiếp cận cơ bản và kỹ thuật áp dụng trong KPDL .............. 11

1.7.

Các thách thức - khó khăn trong KPTT và KPDL................................ 12

1.8.

Kết luận ................................................................................................ 12

Chƣơng 2 - PHÂN CỤM DỮ LIỆU VÀ CÁC THUẬT TOÁN TRONG PCDL . 13

CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ:
60 48 01

2.1.

Khái niệm và mục tiêu của phân cụm dữ liệu ...................................... 13

2.2.

Các ứng dụng của phân cụm dữ liệu .................................................... 15


2.3.

Các yêu cầu của phân cụm ................................................................... 16

2.4.

Những kỹ thuật tiếp cận trong phân cụm dữ liệu ................................. 18

LUẬN VĂN THẠC SĨ KHOA HỌC

HƯỚNG DẪN KHOA HỌC: PGS.TS NGÔ QUỐC TẠO
2.5.

THÁI NGUYÊN - 2008

2.4.1.

Phƣơng pháp phân cụm phân hoạch .......................................... 19

2.4.2.

Phƣơng pháp phân cụm phân cấp .............................................. 19

2.4.3.

Phƣơng pháp phân cụm dựa trên mật độ ................................... 20

2.4.4.


Phƣơng pháp phân cụm dựa trên lƣới ....................................... 21

2.4.5.

Phƣơng pháp phân cụm dựa trên mô hình ................................. 22

2.4.6.

Phƣơng pháp phân cụm có dữ liệu ràng buộc ........................... 22

Một số thuật toán cơ bản trong phân cụm dữ liệu ................................ 24
2.5.1.

Các thuật toán phân cụm phân hoạch ........................................ 24

2.5.2.

Các thuật toán phân cụm phân cấp ............................................ 26

2.5.3.

Các thuật toán phân cụm dựa trên mật độ ................................. 29

2.5.4.

Các thuật toán phân cụm dựa trên lƣới ...................................... 32

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





2

3

2.5.5.

Các thuật toán phân cụm dựa trên mô hình ............................... 35

2.5.6.

Các thuật toán phân cụm có dữ liệu ràng buộc ......................... 36

4.4.1.

Xây dựng lớp mạng Layer1 cho tối ƣu các trung tâm cụm ........ 65

Chƣơng 3 - KỸ THUẬT PHÂN CỤM DỮ LIỆU MỜ ......................................... 37

4.4.2.

Xây dựng lớp mạng Layer2 cho tối ƣu các độ thuộc ................. 68

3.1.

Tổng quan về phân cụm mờ ................................................................. 37

3.2.


Các thuật toán trong phân cụm mờ ...................................................... 38
3.2.1.

3.2.1.2. Thuật toán FCM ......................................................... 42
Thuật toán FCM(ε- Insensitive Fuzzy C-means) ..................... 46
3.2.2.1. Hàm mục tiêu ............................................................. 46
3.2.3.

4.5.

Thuật toán FCM(Fuzzy C-means) ............................................. 39
3.2.1.1. Hàm mục tiêu ............................................................. 39

3.2.2.

4.4.

4.6.

Mạng Nơron đa khớp dùng cho phân cụm ............................................63

Sự hội tụ của FBACN ........................................................................... 72
4.5.1.

Chứng minh sự hội tụ của FBACN ............................................ 72

4.5.2.

Sự hội tụ FBACN liên tục của Layer1 ....................................... 74


Giải thuật của FBACN và FBACN với việc học .................................. 75

Chƣơng 5 - CÀI ĐẶT THỬ NGHIỆM VÀ ỨNG DỤNG ..................................... 79
5.1.

Cài đặt thử nghiệm thuật toán FCM ......................................................79

5.2.

Ứng dụng thuật toán FCM-Cải tiến vào nhận dạng ảnh ....................... 82

3.2.2.2. Thuật toán FCM ........................................................ 48

KẾT LUẬN ............................................................................................................ 86

Thuật toán FCM Cải tiến ........................................................... 49

TÀI LIỆU THAM KHẢO ...................................................................................... 87

3.2.3.1. Thuật toán 1: Thuật toán lựa chọn các điểm dữ liệu
làm ứng viên cho việc chọn các trung tâm của các cụm ....... 49
3.2.3.2. Thuật toán 2: Thuật toán lƣợc bớt các ứng viên ........ 51
3.2.3.3. Thuật toán 3: Thuật toán chọn các ứng viên làm cực
tiểu hàm mục tiêu .................................................................. 51
3.2.3.4. Thuật toán 4: Gán các trung tâm có liên kết “gần
gũi” vào một cụm .................................................................. 52
3.2.3.5. Tổng kết thuật toán FCM-Cải tiến ............................. 56
Chƣơng 4 - MÔ HÌNH MẠNG NƠRON ĐA KHỚP DÙNG CHO PCM ............ 58
4.1.
4.2.


Tổng quan về mạng Nơron ................................................................... 58
Cấu trúc mạng Nơron ........................................................................... 61
4.2.1.

Hàm kích hoạt ........................................................................... 61

4.2.2.

Liên kết mạng ............................................................................ 61

Bài toán huấn luyện mạng ......................................................... 61
Mạng HOPFIELD ................................................................................ 62

4.2.3.
4.3.

4.3.1.
4.3.2.

Huấn luyện mạng ....................................................................... 62
Sử dụng mạng .............................................................................63

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





4

5

DANH MỤC CÁC TỪ VIẾT TẮT

DANH MỤC CÁC HÌNH MINH HOẠ

CNTT

Công nghệ thông tin

Hình 1.1

Quá trình Khám phá tri thức ................................................... 7

CSDL

Cơ sở dữ liệu

Hình 1.2

Quá trình Khai phá dữ liệu ...................................................... 9

CEF

Computational Energy Function


Hình 2.1

Mô tả tập dữ liệu vay nợ đƣợc phân thành 3 cụm .................114

DL

Dữ liệu

Hình 2.2

Các chiến lƣợc phân cụm phân cấp .......................................220

FBACN

Fuzzy Bi-directional Associative Clustering Network

Hình 2.3

Cấu trúc phân cấp ..................................................................221

(Mạng Nơron đa khớp phục vụ cho phân cụm mờ)

Hình 2.4

Các cách mà các cụm có thể đƣa ra ....................................... 23

FCM

Fuzzy C-Means


Hình 2.5

Các thiết lập để xác định ranh giới các cụm ban đầu ............. 24

HMT

Hàm mục tiêu

Hình 2.6

Tính toán trọng tâm của các cụm mới .................................... 25

KPDL

Khai phá dữ liệu

Hình 2.7

Khái quát thuật toán CURE ................................................... 27

KPTT

Khám phá tri thức

Hình 2.8

Các cụm dữ liệu đƣợc khám phá bởi CURE .......................... 27

LKM


Liên kết mạng

Hình 2.9

Hình dạng các cụm đƣợc khám phá bởi TT DBSCAN .......... 30

MH

Mô hình

Hình 3.1

Mô phỏng về tập dữ liệu đơn chiều ....................................... 44

NDA

Nhận dạng ảnh

Hình 3.2

Hàm thuộc với trọng tâm của cụm A trong k-means ............. 44

NN

Neural Network

Hình 3.3

Hàm thuộc với trọng tâm của cụm A trong FCM .................. 45


PCM

Phân cụm mờ

Hình 3.4

Các cụm khám phá đƣợc bởi thuật toán FCM ....................... 46

PCDL

Phân cụm dữ liệu

Hình 4.1

Mô hình mạng Nơron ............................................................. 60

TLTK

Tài liệu tham khảo

Hình 4.2

Mô hình học có giám sát ........................................................ 62

TT

Thuật toán

Hình 4.3


Mô hình FBACN .................................................................... 64

XLA

Xử lý ảnh

Hình 4.4

Mô hình Lớp Layer1 của FBACN ......................................... 65

Hình 4.5

Mô hình Lớp Layer2 của FBACN ......................................... 69

Hình 5.1

Giao diện của thuật toán FCM khi khởi động ........................ 80

Hình 5.2

Giao diện của thuật toán FCM khi làm việc .......................... 81

Hình 5.3

Giao diện của chƣơng trình khi khởi động ............................. 83

Hình 5.4

Giao diện của chƣơng trình khi chọn ảnh để phân cụm .......... 84


Hình 5.5

Giao diện của chƣơng trình khi thực hiện phân cụm ............. 85

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




6

7

Khai phá dữ liệu là một bƣớc trong quá trình khám phá tri thức, gồm

CHƢƠNG 1

TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC

các thuật toán khai thác dữ liệu chuyên dùng dƣới một số qui định về hiệu quả

VÀ KHAI PHÁ DỮ LIỆU

tính toán chấp nhận đƣợc để tìm ra các mẫu hoặc các mô hình trong dữ liệu.

1.1.

1.2.
1.3.
1.4.
1.5.
1.6.
1.7.
1.8.

Giới thiệu chung về khám phá tri thức và khai phá dữ liệu .................................... 6
Quá trình khám phá tri thức .................................................................................... 7
Quá trình khai phá dữ liệu ...................................................................................... 8
Các phƣơng pháp khai phá dữ liệu ......................................................................... 9
Các lĩnh vực ứng dụng thực tiễn của KPDL ........................................................... 10
Các hƣớng tiếp cận cơ bản và kỹ thuật áp dụng trong KPDL ................................ 11
Các thách thức - khó khăn trong KPTT và KPDL .................................................. 12
Kết luận ................................................................................................................... 12

1.1.

Giới thiệu chung về khám phá tri thức và khai phá dữ liệu

Nói cách khác, mục tiêu của Khai phá dữ liệu là tìm kiếm các mẫu hoặc mô
hình tồn tại trong CSDL nhƣng ẩn trong khối lƣợng lớn dữ liệu.
1.2.

Quá trình khám phá tri thức

Nếu cho rằng, điện tử và truyền thông chính là bản chất của khoa học
điện tử, thì dữ liệu, thông tin, và tri thức hiện đang là tiêu điểm của một lĩnh
vực mới để nghiên cứu và ứng dụng, đó là khám phá tri thức và khai phá dữ

liệu.
Thông thƣờng, chúng ta coi dữ liệu nhƣ là một chuỗi các bits, hoặc các
số và các ký hiệu hay là các “đối tƣợng” với một ý nghĩa nào đó khi đƣợc gửi
cho một chƣơng trình dƣới một dạng nhất định. Các bits thƣờng đƣợc sử dụng
để đo thông tin, và xem nó nhƣ là dữ liệu đã đƣợc loại bỏ phần tử thừa, lặp
lại, và rút gọn tới mức tối thiểu để đặc trƣng một cách cơ bản cho dữ liệu. Tri
thức đƣợc xem nhƣ là các thông tin tích hợp, bao gồm các sự kiện và mối
quan hệ giữa chúng, đã đƣợc nhận thức, khám phá, hoặc nghiên cứu. Nói cách
khác, tri thức có thể đƣợc coi là dữ liệu ở mức độ cao của sự trừu tƣợng và
tổng quát.

Hình 1.1: Quá trình KPTT
Bao gồm các bƣớc sau:
Làm sạch dữ liệu (Data Cleaning): Loại bỏ dữ liệu nhiễu và dữ liệu
không nhất quán.

Khám phá tri thức hay phát hiện tri thức trong CSDL là một quy trình
nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: Phân

Tích hợp dữ liệu (Data Intergation): Dữ liệu của nhiều nguồn có thể
đƣợc tổ hợp lại.

tích, tổng hợp, hợp thức, khả ích và có thể hiểu đƣợc.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





8

9

Lựa chọn dữ liệu (Data Selection): Lựa chọn những dữ liệu phù hợp
Thống kê tóm tắt

với nhiệm vụ phân tích trích rút từ cơ sở dữ liệu.
Chuyển đổi dữ liệu (Data Transformation): Dữ liệu đƣợc chuyển đổi
hay đƣợc hợp nhất về dạng thích hợp cho việc khai phá.
Khai phá dữ liệu (Data Mining): Đây là một tiến trình cốt yếu trong

Xác
định
nhiệm
vụ

Xác
định
DL liên
quan

Thu
thập và
tiền xử
lý DL


đó các phƣơng pháp thông minh đƣợc áp dụng nhằm trích rút ra mẫu dữ liệu.

Thuật
toán
KPD
L
DL trực tiếp

Đánh giá mẫu (Pattern Evaluation): Dựa trên một độ đo nào đó xác
định lợi ích thực sự, độ quan trọng của các mẫu biểu diễn tri thức.

Mẫu

Hình 1.2: Quá trình KPDL

Biểu diễn tri thức (Knowledge Presentation): Ở giai đoạn này các kỹ



Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết.

thuật biểu diễn và hiển thị đƣợc sử dụng để đƣa tri thức lấy ra cho ngƣời



Xác định các dữ liệu liên quan: Dùng để xây dựng giải pháp.



Thu thập và tiền xử lý dữ liệu: Thu thập các dữ liệu liên quan và


dùng.
1.3.

tiền xử lý chúng sao cho thuật toán KPDL có thể hiểu đƣợc. Đây là một quá

Quá trình khai phá dữ liệu
KPDL là một giai đoạn quan trọng trong quá trình KPTT. Về bản chất,

nó là giai đoạn duy nhất tìm ra đƣợc thông tin mới, thông tin tiềm ẩn có trong
CSDL chủ yếu phục vụ cho mô tả và dự đoán.
Mô tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của
những thuộc tính dữ liệu trong kho dữ liệu mà con ngƣời có thể hiểu đƣợc.
Dự đoán là dựa trên những dữ liệu hiện thời để dự đoán những quy luật
đƣợc phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu trên cơ sở đó
chiết xuất ra các mẫu, dự đoán đƣợc những giá trị chƣa biết hoặc những giá trị
tƣơng lai của các biến quan tâm.
Quá trình KPDL bao gồm các bƣớc chính đƣợc thể hiện nhƣ Hình 1.2
sau:

trình rất khó khăn, có thể gặp phải rất nhiều các vƣớng mắc nhƣ: dữ liệu phải
đƣợc sao ra nhiều bản (nếu đƣợc chiết xuất vào các tệp), quản lý tập các dữ
liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay
đổi), v.v..


Thuật toán khai phá dữ liệu: Lựa chọn thuật toán KPDL và thực

hiện việc PKDL để tìm đƣợc các mẫu có ý nghĩa, các mẫu này đƣợc biểu diễn
dƣới dạng luật kết hợp, cây quyết định... tƣơng ứng với ý nghĩa của nó.

1.4.

Các phƣơng pháp khai phá dữ liệu
Với hai mục đích khai phá dƣ liệu là Mô tả và Dự đoán, ngƣời ta

thƣờng sử dụng các phƣơng pháp sau cho khai phá dữ liệu:
 Luật kết hợp (association rules)
 Phân lớp (Classfication)
 Hồi qui (Regression)
 Trực quan hóa (Visualiztion)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




10

11

 Phân cụm (Clustering)

1.6.

Các hƣớng tiếp cận cơ bản và kỹ thuật áp dụng trong KPDL.
Vấn đề khai phá dữ liệu có thể đƣợc phân chia theo lớp các hƣớng tiếp


 Tổng hợp (Summarization)
 Mô hình ràng buộc (Dependency modeling)

cận chính sau:

 Biểu diễn mô hình (Model Evaluation)

- Phân lớp và dự đoán (classification &prediction): Là quá trình xếp một đối

 Phân tích sự phát triển và độ lệch (Evolution and deviation

tƣợng vào một trong những lớp đã biết trƣớc (ví dụ: phân lớp các bệnh nhân
theo dữ liệu hồ sơ bệnh án, phân lớp vùng địa lý theo dữ liệu thời tiết...). Đối

analyst)

với hƣớng tiếp cận này thƣờng sử dụng một số kỹ thuật của học máy nhƣ cây

 Phƣơng pháp tìm kiếm (Search Method)
Có nhiều phƣơng pháp khai phá dữ liệu đƣợc nghiên cứu ở trên, trong

quyết định (decision tree), mạng nơron nhân tạo (neural network),...Hay lớp

đó có ba phƣơng pháp đƣợc các nhà nghiên cứu sử dụng nhiều nhất đó là:

bài toán này còn đƣơc gọi là học có giám sát - Học có thày (supervised

Luật kết hợp, Phân lớp dữ liệu và Phân cụm dữ liệu.


learning).
- Phân cụm (clustering/segmentation): Sắp xếp các đối tƣợng theo từng cụm

Các lĩnh vực ứng dụng thực tiễn của KPDL

dữ liệu tự nhiên, tức là số lƣợng và tên cụm chƣa đƣợc biết trƣớc. Các đối

KPDL là một lĩnh vực mới phát triển nhƣng thu hút đƣợc khá nhiều nhà

tƣợng đƣợc gom cụm sao cho mức độ tƣơng tự giữa các đối tƣợng trong cùng

nghiên cứu nhờ vào những ứng dụng thực tiễn của nó. Sau đây là một số lĩnh

một cụm là lớn nhất và mức độ tƣơng tự giữa các đối tƣợng nằm trong các

vực ứng dụng thực tế điển hình của KPDL:

cụm khác nhau là nhỏ nhất. Lớp bài toán này còn đƣợc gọi là học không giám

1.5.

- Phân tích dữ liệu và hỗ trợ ra quyết định

sát - Học không thày (unsupervised learning).

- Phân lớp văn bản, tóm tắt văn bản, phân lớp các trang Web và phân

- 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 (Ví dụ: 80% sinh viên đăng ký học CSDL thì có tới 60% trong số họ


cụm ảnh màu
- Chuẩn đoán triệu chứng, phƣơng pháp trong điều trị y học

đăng ký học Phân tích thiết kế hệ thống thông tin). Hƣớng tiếp cận này đƣợc

- Tìm kiếm, đối sánh các hệ Gene và thông tin di truyền trong sinh học

ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin sinh học, giáo dục, viễn

- Phân tích tình hình tài chính, thị trƣờng, dự báo gía cổ phiếu trong tài

thông, 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): Cũng tƣơng

chính, thị trƣờng và chứng khoán
- Phân tích dữ liệu marketing, khách hàng.

tự nhƣ khai phá dữ liệu bằng luật kết hợp nhƣng có thêm tính thứ tự và tính

- Điều khiển và lập lịch trình

thời gian. Một luật mô tả mẫu tuần tự có dạng tiêu biểu X -> Y, phản ánh sự

- Bảo hiểm

xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện biến cố Y. Hƣớng tiếp cận

- Giáo dục.....

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

bởi chúng có tính dự báo cao.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




12

13

- Mô tả khái niệm (concept desccription & summarization): Lớp bài toán

CHƢƠNG 2

này 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.7.

Các thách thức - khó khăn trong KPTT và KPDL
KPTT và KPDL liên quan đến nhiều ngành, nhiều lĩnh vực trong thực

tế, vì vậy các thách thức và khó khăn ngày càng nhiều, càng lớn hơn. Sau đây
là một số các thách thức và khó khăn cần đƣợc quan tâm:
+ Các cơ sở dữ liệu lớn, các tập dữ liệu cần sử lý có kích thƣớc cực lớn,
Trong thực tế, kích thƣớc của các tập dữ liệu thƣờng ở mức tera-byte (hàng
ngàn giga-byte).

+ Mức độ nhiễu cao hoặc dữ liệu bị thiếu
+ Số chiều lớn
+ Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện
không còn phù hợp
+ Quan hệ giữa các trƣờng phức tạp
1.8.

Kết luận

PHÂN CỤM DỮ LIỆU VÀ
CÁC THUẬT TOÁN TRONG PHÂN CỤM DỮ LIỆU
2.1.
2.2.
2.3.
2.4.

Khái niệm và mục tiêu của phân cụm dữ liệu ........................................................ 13
Các ứng dụng của phân cụm dữ liệu ...................................................................... 15
Các yêu cầu của phân cụm ..................................................................................... 16
Những kỹ thuật tiếp cận trong phân cụm dữ liệu ................................................... 18
2.4.1. Phƣơng pháp phân cụm phân hoạch ............................................................. 19
2.4.2. Phƣơng pháp phân cụm phân cấp ................................................................. 19
2.4.3. Phƣơng pháp phân cụm dựa trên mật độ ...................................................... 20
2.4.4. Phƣơng pháp phân cụm dựa trên lƣới ........................................................... 21
2.4.5. Phƣơng pháp phân cụm dựa trên mô hình .................................................... 22
2.4.6. Phƣơng pháp phân cụm có dữ liệu ràng buộc ............................................... 22
2.5. Một số thuật toán cơ bản trong phân cụm dữ liệu ................................................. 24
2.5.1. Các thuật toán phân cụm phân hoạch ........................................................... 24
2.5.2. Các thuật toán phân cụm phân cấp ............................................................... 26
2.5.3. Các thuật toán phân cụm dựa trên mật độ .................................................... 29

2.5.4. Các thuật toán phân cụm dựa trên lƣới ......................................................... 32
2.5.5. Các thuật toán phân cụm dựa trên mô hình .................................................. 35
2.5.6. Các thuật toán phân cụm có dữ liệu ràng buộc ............................................. 36

2.1.

KPDL là lĩnh vực đã và đang trở thành một trong những hƣớng nghiên
cứu thu hút đƣợc sự quan tâm của nhiều chuyên gia về CNTT trên thế giới.
Trong những năm gần đây, rất nhiều các phƣơng pháp và thuật toán mới liên
tục đƣợc công bố. Điều này chứng tỏ những ƣu thế, lợi ích và khả năng ứng
dụng thực tế to lớn của KPDL. Chƣơng này đã trình bày một số kiến thức
tổng quan về KPTT, những khái niệm và kiến thức cơ bản nhất về KPDL.

Khái niệm và mục tiêu của phân cụm dữ liệu
Phân cụm dữ liệu là quá trình nhóm một tập các đối tƣợng tƣơng tự

nhau trong tập dữ liệu vào các cụm sao cho các đối tƣợng thuộc cùng một
cụm là tƣơng đồng còn các đối tƣợng thuộc các cụm khác nhau sẽ không
tƣơng đồng. Phân cụm dữ liệu là một ví dụ của phƣơng pháp học không có
thầy. Không giống nhƣ phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải
định nghĩa trƣớc các mẫu dữ liệu huấn luyện. Vì thế, có thể coi phân cụm dữ
liệu là một cách học bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví
dụ… Ngoài ra phân cụm dữ liệu còn có thể đƣợc sử dụng nhƣ một bƣớc tiền
xử lí cho các thuật toán khai phá dữ liệu khác nhƣ là phân loại và mô tả đặc
điểm, có tác dụng trong việc phát hiện ra các cụm.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




14

15

tƣơng ứng. Ngoài ra, dò tìm phần tử ngoại lai cũng là một trong những hƣớng
nghiên cứu quan trọng trong phân cụm, chức năng của nó là xác định một
nhóm nhỏ các đối tƣợng dữ liệu khác thƣờng so với các dữ liệu trong CSDL,
tức là các đối tƣợng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệu
nhằm tránh sự ảnh hƣởng của chúng tới quá trình và kết quả của phân cụm.
Mục tiêu của phân cụm là xác định đƣợc bản chất nhóm trong tập DL
chƣa có nhãn. Nhƣng để có thể quyết định đƣợc cái vì tạo thành một cụm tốt.
Nó có thể đƣợc chỉ ra rằng không có tiêu chuẩn tuyệt đối “tốt” mà có thể
không phụ thuộc vào kq phân cụm. Vì vậy, nó đòi hỏi ngƣời sử dụng phải
Hình 2.1: Mô tả tập dữ liệu vay nợ đƣợc phân thành 3 cụm.
Phân cụm có ý nghĩa rất quan trọng trong hoạt động của con ngƣời.
Ngay từ lúc bé, con ngƣời đã học cách làm thế nào để phân biệt giữa mèo và
chó, giữa động vật và thực vật và liên tục đƣa vào sơ đồ phân loại trong tiềm
thức của mình. Phân cụm đƣợc sử dụng rộng rãi trong nhiều ứng dụng, bao
gồm nhận dạng mẫu, phân tích dữ liệu, xử lý ảnh, nghiên cứu thị trƣờng....Với
tƣ cách là một chức năng khai phá dữ liệu, phân tích phân cụm có thể đƣợc sử
dụng nhƣ một công cụ độc lập chuẩn để quan sát đặc trƣng của mỗi cụm thu
đƣợc bên trong sự phân bố của dữ liệu và tập trung vào một tập riêng biệt của
các cụm để giúp cho việc phân tích đạt kết quả.
Một vấn đề thƣờng gặp trong phân cụm là hầu hết các dữ liệu cần cho
phân cụm đều có chứa dữ liệu nhiễu do quá trình thu thập thiếu chính xác

hoặc thiếu đầy đủ, vì vậy cần phải xây dựng chiến lƣợc cho bƣớc tiền xử lí dữ
liệu nhằm khắc phục hoặc loại bỏ nhiễu trƣớc khi chuyển sang giai đoạn phân
tích cụm dữ liệu. Nhiễu ở đây đƣợc hiểu là các đối tƣợng dữ liệu không chính
xác, không tƣờng minh hoặc là các đối tƣợng dữ liệu khuyết thiếu thông tin
về một số thuộc tính... Một trong các kỹ thuật xử lí nhiễu phổ biến là việc

cung cấp tiêu chuẩn này, theo cách mà kết quả phân cụm sẽ đáp ứng yêu cầu.
Theo các nghiên cứu cho thấy thì hiện nay chƣa có một phƣơng pháp
phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc
CDL. Hơn nữa, các phƣơng pháp phân cụm cần có cách thức biểu diễn cấu
trúc của các CDL, với mỗi cách thức biểu diễn khác nhau sẽ có tƣơng ứng
một thuật toán phân cụm phù hợp. Vì vậy phân cụm dữ liệu vẫn đang là một
vấn đề khó và mở, vì phải giải quyết nhiều vấn đề cơ bản một cách trọn vẹn
và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối với dữ liệu hỗn
hợp đang ngày càng tăng trong các hệ quản trị dữ liệu và đây cũng là một
trong những thách thức lớn trong lĩnh vực KPDL.
2.2.

Các ứng dụng của phân cụm dữ liệu
Phân cụm dữ liệu có thể đƣợc ứng dụng trong nhiều lĩnh vực nhƣ:
Thương mại: Tìm kiếm nhóm các khách hàng quan trọng có đặc

trƣng tƣơng đồng và những đặc tả họ từ các bản ghi mua bán trong CSDL
Sinh học: Phân loại các gen với các chức năng tƣơng đồng và thu
đƣợc các cấu trúc trong mẫu

thay thế giá trị các thuộc tính của đối tƣợng nhiễu bằng giá trị thuộc tính
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




16

17

Thư viện: Phân loại các cụm sách có nội dung và ý nghĩa tƣơng
đồng nhau để cung cấp cho độc giả

không thứ tự), và dữ liệu có thứ tự hay dạng hỗn hợp của những kiểu
dữ liệu này.

Bảo hiểm: Nhận dạng nhóm tham gia bảo hiểm có chi phí bồi
thƣờng cao, nhận dạng gian lận thƣơng mại

Khám phá các cụm với hình dạng bất kỳ: Nhiều thuật toán phân cụm
xác định các cụm dựa trên các phép đo khoảng cách Euclidean và

Quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa
lí,... nhằm cung cấp thông tin cho quy hoạch đô thị

khoảng cách Manhattan. Các thuật toán dựa trên các phép đo nhƣ vậy
hƣớng tới việc tìm kiếm các cụm hình cầu với mật độ và kích cỡ tƣơng

Nghiên cứu trái đất: Phân cụm để theo dõi các tâm động đất
nhằm cung cấp thông tin cho nhận dạng các vùng nguy hiểm

WWW: Có thể khám phá các nhóm tài liệu quan trọng, có nhiều ý

tự nhau. Tuy nhiên, một cụm có thể có bất cứ một hình dạng nào. Do
đó, việc phát triển các thuật toán có thể khám phá ra các cụm có hình
dạng bất kỳ là một việc làm quan trọng.

nghĩa trong môi trƣờng Web. Các lớp tài liệu này trợ giúp cho việc KPTT từ

Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: Nhiều

dữ liệu.

thuật toán phân cụm yêu cầu ngƣời dùng đƣa vào những tham số nhất
định trong phân tích phân cụm (nhƣ số lƣợng các cụm mong muốn).

2.3.

Các yêu cầu của phân cụm

Kết quả của phân cụm thƣờng khá nhạy cảm với các tham số đầu vào.

Phân cụm là một thách thức trong lĩnh vực nghiên cứu ở chỗ những

Nhiều tham số rất khó để xác định, nhất là với các tập dữ liệu có lƣợng

ứng dụng tiềm năng của chúng đƣợc đƣa ra ngay chính trong những yêu cầu

các đối tƣợng lớn. Điều này không những gây trở ngại cho ngƣời dùng

đặc biệt của chúng. Sau đây là những yêu cầu cơ bản của phân cụm trong


mà còn làm cho khó có thể điều chỉnh đƣợc chất lƣợng của phân cụm.

KPDL:

Khả năng thích nghi với dữ liệu nhiễu: Hầu hết những CSDL thực

Có khả năng mở rộng: Nhiều thuật toán phân cụm làm việc tốt với

đều chứa đựng dữ liệu ngoại lai, dữ liệu lỗi, dữ liệu chƣa biết hoặc dữ

những tập dữ liệu nhỏ chứa ít hơn 200 đối tƣợng, tuy nhiên, một CSDL

liệu sai. Một số thuật toán phân cụm nhạy cảm với dữ liệu nhƣ vậy và

lớn có thể chứa tới hàng triệu đối tƣợng. Việc phân cụm với một tập dữ

có thể dẫn đến chất lƣợng phân cụm thấp.

liệu lớn có thể làm ảnh hƣởng tới kết quả. Vậy làm cách nào để chúng

Ít nhạy cảm với thứ tự của các dữ liệu vào: Một số thuật toán phân

ta có thể phát triển các thuật toán phân cụm có khả năng mở rộng cao

cụm nhạy cảm với thứ tự của dữ liệu vào, ví dụ nhƣ với cùng một tập

đối với các CSDL lớn ?

dữ liệu, khi đƣợc đƣa ra với các thứ tự khác nhau thì với cùng một thuật


Khả năng thích nghi với các kiểu thuộc tính khác nhau: Nhiều thuật

toán có thể sinh ra các cụm rất khác nhau. Do đó, việc quan trọng là

toán đƣợc thiết kế cho việc phân cụm dữ liệu có kiểu khoảng (kiểu số).

phát triển các thuật toán mà ít nhạy cảm với thứ tự vào của dữ liệu.

Tuy nhiên, nhiều ứng dụng có thể đòi hỏi việc phân cụm với nhiều kiểu

Số chiều lớn: Một CSDL hoặc một kho dữ liệu có thể chứa một số

dữ liệu khác nhau, nhƣ kiểu nhị phân, kiểu tƣờng minh (định danh -

chiều hoặc một số các thuộc tính. Nhiều thuật toán phân cụm áp dụng

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




18

19


tốt cho dữ liệu với số chiều thấp, bao gồm chỉ từ hai đến 3 chiều. Ngƣời

2.4.1. Phương pháp phân cụm phân hoạch

ta đánh giá việc phân cụm là có chất lƣợng tốt nếu nó áp dụng đƣợc cho

Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành k

dữ liệu có từ 3 chiều trở lên. Nó là sự thách thức với các đối tƣợng dữ

nhóm cho đến khi xác định số các cụm đƣợc thiết lập. Số các cụm đƣợc thiết

liệu cụm trong không gian với số chiều lớn, đặc biệt vì khi xét những

lập là các đặc trƣng đƣợc lựa chọn trƣớc. Phƣơng pháp này là tốt cho việc tìm

không gian với số chiều lớn có thể rất thƣa và có độ nghiêng lớn.

các cụm hình cầu trong không gian Euclidean. Ngoài ra, phƣơng pháp này

Phân cụm ràng buộc: Nhiều ứng dụng thực tế có thể cần thực hiện

cũng phụ thuộc vào khoảng cách cơ bản giữa các điểm để lựa chọn các điểm

phân cụm dƣới các loại ràng buộc khác nhau. Một nhiệm vụ đặt ra là đi

dữ liệu nào có quan hệ là gần nhau với mỗi điểm khác và các điểm dữ liệu

tìm những nhóm dữ liệu có trạng thái phân cụm tốt và thỏa mãn các


nào không có quan hệ hoặc có quan hệ là xa nhau so với mỗi điểm khác. Tuy

ràng buộc.

nhiên, phƣơng pháp này không thể xử lí các cụm có hình dạng kỳ quặc hoặc

Dễ hiểu và dễ sử dụng: Ngƣời sử dụng có thể chờ đợi những kết quả

các cụm có mật độ các điểm dầy đặc. Các thuật toán phân hoạch dữ liệu có độ

phân cụm dễ hiểu, dễ lý giải và dễ sử dụng. Nghĩa là, sự phân cụm 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ó

thể cần đƣợc giải thích ý nghĩa và ứng dụng rõ ràng.

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

Với những yêu cầu đáng lƣu ý này, nghiên cứu của ta về phân tích phân

tế 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

cụm diễn ra nhƣ sau: Đầu tiên, ta nghiên cứu các kiểu dữ liệu khác và cách

một hàm tiêu chuẩn để đánh giá chất lƣợng của cụm cũng nhƣ để hƣớng dẫn

chúng có thể gây ảnh hƣởng tới các phƣơng pháp phân cụm. Thứ hai, ta đƣa

cho quá trình tìm kiếm phân hoạch dữ liệu. Nhƣ vậy, ý tƣởng chính của thuật


ra một cách phân loại chung trong các phƣơng pháp phân cụm. Sau đó, ta

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

nghiên cứu chi tiết mỗi phƣơng pháp phân cụm, bao gồm các phƣơng pháp

(Greedy) để tìm kiếm nghiệm.

phân hoạch, phân cấp, dựa trên mật độ,... Ta cũng khảo sát sự phân cụm trong

2.4.2. Phương pháp phân cụm phân cấp

không gian đa chiều và các biến thể của các phƣơng pháp khác.

Phƣơng pháp này xây dựng một phân cấp trên cơ sở các đối tƣợng dữ
liệu đang xem xét. Nghĩa là sắp xếp một tập dữ liệu đã cho thành một cấu trúc

2.4.

Những kỹ thuật tiếp cận trong phân cụm dữ liệu

Các kỹ thuật phân cụm có rất nhiều cách tiếp cận và các ứng dụng trong

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ó
hai cách tiếp cận phổ biến của kỹ thuật này đó là:

thực tế, nó đều hƣớng tới hai mục tiêu chung đó là chất lƣợng của các cụm

* Hòa nhập nhóm, thƣờng đƣợc gọi là tiếp cận Bottom-Up


khám phá đƣợc và tốc độ thực hiện của thuật toán. Hiện nay, các kỹ thuật

* Phân chia nhóm, thƣờng đƣợc gọi là tiếp cận Top-Down

phân cụm có thể phân loại theo các cách tiếp cận chính sau :

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




20

21

2.4.4. Phương pháp phân cụm dựa trên lưới
Kỹ thuật phân cụm dựa trên lƣới thích hợp với dữ liệu nhiều chiều, dựa
trên cấu trúc dữ liệu lƣới để phân cụm, phƣơng pháp này chủ yếu tập trung áp
dụng cho lớp dữ liệu không gian. Mục tiêu của phƣơng pháp này là lƣợng hóa
dữ liệu thành các ô tạo thành cấu trúc dữ liệu lƣới. Sau đó, các thao tác phân
cụm chỉ cần làm việc với các đối tƣợng trong từng ô trên lƣới chứ không phải
các đối tƣợng dữ liệu. Cách tiếp cận dựa trên lƣới này không di chuyển các
Hình 2.2: Các chiến lƣợc phân cụm phân cấp

đối tƣợng trong các ô mà xây dựng nhiều mức phân cấp của nhóm các đối


Thực tế áp dụng, có nhiều trƣờng hợp kết hợp cả hai phƣơng pháp phân

tƣợng trong một ô. Phƣơng pháp này gần giống với phƣơng pháp phân cụm

cụm phân hoạch và phân cụm phân cấp, nghĩa là kết quả thu đƣợc của phƣơng

phân cấp nhƣng chúng không trộn các ô, đồng thời giải quyết khắc phục yêu

pháp phân cấp có thể cải tiến thông qua bƣớc phân cụm phân hoạch. Phân

cầu đối với dữ liệu nhiều chiều mà phƣơng pháp phân phân cụm dựa trên mật

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,

độ không giải quyết đƣợc. Ƣu điểm của phƣơng pháp phân cụm dựa trên lƣới

hiện đã có rất nhiều thuật toán cải tiến dựa trên hai phƣơng pháp này đã đƣợc

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

áp dụng phổ biến trong KPDL.

ban đầu, thay vào đó là chúng phụ thuộc vào số ô trong mỗi chiều của không
gian lƣới.

2.4.3. Phương pháp phân cụm dựa trên mật độ
Kỹ thuật này nhóm các đối tƣợng dữ liệu dựa trên hàm mật độ xác
định, mật độ là số các đối tƣợng lân cận của một đối tƣợng dữ liệu theo một
nghĩa nào đó. Trong cách tiếp cận này, khi một 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 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 trên 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ỳ. Kỹ thuật này có thể khắc
phục đƣợc các phần tử ngoại lai hoặc giá trị nhiễu rất tốt, tuy nhiên việc xác
định các tham số mật độ của thuật toán là 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.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Hình 2.3: Cấu trúc phân cấp



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




22

23

2.4.5. Phương pháp phân cụm dựa trên mô hình
Phƣơng 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 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 chúng hiệu chỉnh các mô
hình này để nhận dạng ra các phân hoạch. Phƣơng pháp phân cụm dựa trên
mô hình cố gắng khớp giữa các 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 cách 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 phân
cụm dựa trên mật độ, 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.
2.4.6. Phương pháp phân cụm có dữ liệu ràng buộc
Sự phát triển của PCDL không gian trên CSDL lớn đã cung cấp nhiều
công cụ tiện lợi cho việc phân tích thông tin địa lí, tuy nhiên hầu hết các thuật
toán này cung cấp rất ít cách thức cho ngƣời dùng để xác định các ràng buộc
trong thế giới thực cần phải đƣợc thỏa mãn trong quá trình phân cụm. Để
PCDL không gian hiệu quả hơn, các nghiên cứu bổ sung cần đƣợc thực hiện
để cung cấp cho ngƣời dùng khả năng kết hợp các ràng buộc trong thuật toán
phân cụm.

Hình 2.4: Các cách mà các cụm có thể đƣa ra
Hiện nay, các phƣơng pháp phân cụm trên đã và đang đƣợc phát triển
và áp dụng nhiều trong các lĩnh vực khác nhau và đã có một số nhánh nghiên
cứu đƣợc phát triển trên cơ sở của các phƣơng pháp đó nhƣ:
Phân cụm thống kê: Dựa trên các khái niệm phân tích hệ thống, nhánh nghiên
cứu này sử dụng các độ đo tƣơng tự để phân hoạch các đối tƣợng, nhƣng
chúng chỉ áp dụng cho các dữ liệu có thuộc tính số.
Phân cụm khái niệm: Kỹ thuật này đƣợc phát triển áp dụng cho dữ liệu hạng
mục, chúng phân cụm các đối tƣợng theo các khái niệm mà chúng xử lí.
Phân cụm mờ: Sử đụng kỹ thuật mờ để PCDL. Các thuật toán thuộc loại này
chỉ ra lƣợc đồ phân cụm thích hợp với tất cả các hoạt động đời sống hàng
ngày, chúng chỉ xử lí các dữ liệu thực không chắc chắn.
Phân cụm mạng Kohonen: Loại phân cụm này dựa trên khái niệm của các
mạng nơron. Mạng Kohonen có tầng nơron vào và các tầng nơron ra. Mỗi

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




24

25

nơron của tầng vào tƣơng ứng với mỗi thuộc tính của bản ghi, mỗi một nơron

k

E   xC D 2 ( x  mi ) đạt giá trị tối thiểu,

vào kết nối với tất cả các nơron của tầng ra. Mỗi liên kết đƣợc gắn liền với
một trọng số nhằm xác định vị trí của nơron ra tƣơng ứng.
2.5.

i 1

i

trong đó: mi là trọng tâm của cụm Ci, D là khoảng cách giữa hai đối tƣợng.

Một số thuật toán cơ bản trong phân cụm dữ liệu


2.5.1. Các thuật toán phân cụm phân hoạch
Thuật toán k-means
Thuật toán này dựa trên độ đo khoảng cách của các đối tƣợng dữ liệu
trong cụm. Trong thực tế, nó đo khoảng cách tới giá trị trung bình của các đối
tƣợng dữ liệu trong cụm. Nó đƣợc xem nhƣ là trung tâm của cụm. Nhƣ vậy,
nó cần khởi tạo một tập trung tâm các trung tâm cụm ban đầu, và thông qua
Hình 2.6: Tính toán trọng tâm của các cụm mới

đó nó lặp lại các bƣớc gồm gán mỗi đối tƣợng tới cụm mà trung tâm gần, và
tính toán tại tung tâm của mỗi cụm trên cơ sở gán mới cho các đối tƣợng. Quá

Thuật toán k-means bao gồm các bƣớc cơ bản sau :

trình lặp này dừng khi các trung tâm hội tụ.

Input: Số cụm k và các trọng tâm cụm m j k j 1 .
Output: Các cụm C[i] (1  i  k) và hàm tiêu chuẩn E đạt giá trị tối thiểu.
Begin
(a)

Bƣớc 1 : Khởi tạo
Chọn k trọng tâm m j k j 1 ban đầu trong không gian Rd (d là số chiều của
dữ liệu). Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm.

(b)

Bƣớc 2: Tính toán khoảng cách
Đối với mỗi điểm Xi (1  i  n), tính toán khoảng cách của nó tới mỗi
trọng tâm mj (1  j  k). Sau đó tìm trọng tâm gần nhất đối với mỗi điểm.


Hình 2.5: Các thiết lập để xác định ranh giới các cụm ban đầu
(c)

Mục đích của thuật toán k-means là sinh k cụm dữ liệu {C1, C2,..., Ck}

Đối với mỗi 1  j  k, cập nhật trọng tâm cụm mj bằng cách xác định

từ một tập dữ liệu chứa n đối tƣợng trong không gian d chiều Xi = {xi1, xi2,...,
xid}, i = 1  n, sao cho hàm tiêu chuẩn:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

trung bình cộng các vectơ đối tƣợng dữ liệu.
(d)



Bƣớc 3: Cập nhật lại trọng tâm

Điều kiện dừng:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




26

27


Lặp lại các bƣớc 2 và 3 cho đến khi các trọng tâm của cụm không thay

phần tử ngoại lai. Thuật toán này định nghĩa một số cố định các điểm đại diện

đổi.

nằm rải rác trong toàn bộ không gian dữ liệu và đƣợc chọn để mô tả các cụm

End.

đƣợc hình thành. Các điểm này đƣợc tạo ra nhờ lựa chọn các đối tƣợng nằm

Thuật toán k-means trên đƣợc chứng minh là hội tụ và có độ phức tạp
tính toán là O((3nkd )T

flop

) . Trong đó, n là số đối tƣợng dữ liệu, k là số cụm dữ

flop
liệu, d là số chiều,  là số vòng lặp, T là thời gian để thực hiện một phép

tính cơ sở nhƣ phép tính nhân, chia,... Nhƣ vậy, do k-means phân tích phân
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

rải rác cho cụm và sau đó “co lại” hoặc di chuyển chúng về trung tâm cụm
bằng nhân tố co cụm. Quá trình này đƣợc lặp lại và nhƣ vậy trong quá trình
này, có thể đo tỉ lệ gia tăng của cụm. Tại mỗi bƣớc của thuật toán, hai cụm có
cặp các điểm đại diện gần nhau (mỗi điểm trong cặp thuộc về mỗi cụm khác
nhau) đƣợc hòa nhập.


đ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ó dạng hình cầu, k-means còn rất nhạy cảm với nhiễu và các phần
tử ngoại lai trong dữ liệu. Hơn nữa, chất lƣợng PCDL 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

Hình 2.7: Khái quát thuật toán CURE

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

Nhƣ vậy, có nhiều hơn một điểm đại diện mỗi cụm cho phép CURE

với các trọng tâm cụm tự nhiên thì kết quả phân cụm của k-means là rất thấp,

khám phá đƣợc các cụm có hình dạng không phải là hình cầu. Việc co lại các

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

cụm có tác dụng làm giảm tác động của các phần tử ngoại lai. Nhƣ vậy, thuật

Trên thực tế chƣa có một giải pháp tối ƣu nào để chọn các tham số đầu vào,

toán này có khả năng xử lí tốt trong trƣờng hợp có các phần tử ngoại lai và

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

làm cho nó hiệu quả với những hình dạng không phải là hình cầu và kích

khác nhau rồi sau đó chọn giải pháp tốt nhất.


thƣớc độ rộng biến đổi. Hơn nữa, nó tỉ lệ tốt với CSDL lớn mà không làm

Ngoài ra thuật toán K-means ra, phân cụm phân hoạch còn bao gồm

giảm chất lƣợng phân cụm.

một số các thuật toán khac nhƣ: Thuật toán PAM; Thuật toán CLARA; Thuật
toán CLARANS.
2.5.2. Các thuật toán phân cụm phân cấp
Thuật toán CURE
Trong khi hầu hết các thuật toán thực hiện phân cụm với các cụm hình
cầu và kích thƣớc tƣơng tự, nhƣ vậy là không hiệu quả khi xuất hiện các phần
tử ngoại lai. Thuật toán CURE khắc phục đƣợc vấn đề này và tốt hơn với các

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Hình 2.8: Các cụm dữ liệu đƣợc khám phá bởi CURE

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




28

29

Để xử lí đƣợc các CSDL 1ớn, CURE sử dụng mẫu ngẫu nhiên và phân


Ngoài thuật toán CURE ra, phân cụm phân cấp còn bao gồm một số

hoạch, một mẫu là đƣợc xác định ngẫu nhiên trƣớc khi đƣợc phân hoạch, và

thuật toán khac nhƣ: Thuật toán BIRCH; Thuật toán AGNES; Thuật toán

sau đó tiến hành phân cụm trên mỗi phân hoạch, nhƣ vậy mỗi phân hoạch là

DIANA; Thuật toán ROCK; Thuật toán CHANMELEON.

từng phần đã đƣợc phân cụm, các cụm thu đƣợc lại đƣợc phân cụm lần thứ
hai để thu đƣợc các cụm con mong muốn, nhƣng mẫu ngẫu nhiên không nhất

2.5.3. Các thuật toán phân cụm dựa trên mật độ
Thuật toán DBSCAN

thiết đƣa ra một mô tả tốt cho toàn bộ tập dữ liệu.
Thuật toán CURE đƣợc thực hiện qua các bƣớc cơ bản sau:

Thuật toán DBSCAN thích nghi với mật độ dầy để phân cụm và khám
phá ra các cụm có hình dạng bất kỳ trong không gian CSDL có nhiễu.
Trên thực tế DBSCAN tìm kiếm cho các cụm bằng cách kiểm tra các

Chọn một mẫu ngẫu nhiên từ tập dữ liệu ban đầu.
Phân hoạch mẫu này thành nhiều nhóm dữ liệu có kích thƣớc bằng

đối tƣợng mà có số đối tƣợng láng giềng nhỏ hơn một ngƣỡng tối thiểu, tức là

nhau: Ý tƣởng chính ở đây là phân hoạch mẫu thành p nhóm dữ liệu bằng


có tối thiểu MinPts đối tƣợng và mỗi đối tƣợng trong cụm tồn tại một đối

nhau, kích thƣớc của mỗi phân hoạch là n’/p (n’ là kích thƣớc của mẫu).

tƣợng khác trong cụm giống nhau với khoảng cách nhỏ một ngƣỡng Eps. Tìm

Phân cụm các điểm của mỗi nhóm: Thực hiện PCDL cho các nhóm
cho đến khi mỗi nhóm đƣợc phân thành n’/pq cụm (với q > 1).
Loại bỏ các phần tử ngoại lai: Trƣớc hết, khi các cụm đƣợc hình
thành cho đến khi số các cụm giảm xuống một phần so với số các cụm
ban đầu. Sau đó, trong trƣờng hợp các phần tử ngoại lai đƣợc lấy mẫu
cùng với quá trình pha khởi tạo mẫu dữ liệu, thuật toán sẽ tự động loại bỏ

tất cả các đối tƣợng mà các láng giềng của nó thuộc về lớp các đối tƣợng đã
xác định ở trên, một cụm đƣợc xác định bằng một tập tất cả các đối tƣợng liên
thông mật độ các láng giềng của nó. DBSCAN lặp lại tìm kiếm ngay khi các
đối tƣợng liên lạc mật độ từ các đối tƣợng trung tâm, nó có thể bao gồm việc
kết hợp một số cụm có mật độ liên lạc. Quá trình kết thúc khi không tìm đƣợc
điểm mới nào có thể thêm vào bất cứ cụm nào.

các nhóm nhỏ.
Phân cụm các cụm không gian: các đối tƣợng đại diện cho các cụm

DBSCAN có thể tìm ra các cụm với hình thù bất kỳ, trong khi đó tại

di chuyển về hƣớng trung tâm cụm, nghĩa là chúng đƣợc thay thế bởi các

cùng một thời điểm ít bị ảnh hƣởng bởi thứ tự của các đối tƣợng dữ liệu nhập


đối tƣợng gần trung tâm hơn.

vào. Khi có một đối tƣợng đƣợc chèn vào chỉ tác động đến một láng giềng xác
định. Mặt khác, DBSCAN sử dụng tham số Eps và MinPts trong thuật toán để

Đánh dấu dữ liệu với các nhãn tƣơng ứng.

Độ phức tạp tính toán của thuật toán CURE là O(n21og(n)). CURE tà
thuật toán tin cậy trong việc khám phá ra các cụm với hình thù bất kỳ và có
thể áp dụng tốt đối với dữ liệu có phần tử ngoại lai và trên các tập dữ liệu hai
chiều. Tuy nhiên, nó lại rất nhạy cảm với các tham số nhƣ số các đối tƣợng
đại diện, tỉ lệ co của các phần tử đại điện.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



kiểm soát mật độ của các cụm. DBSCAN bắt đầu với một điểm tuỳ ý và xây
dựng mật độ láng giềng có thể đƣợc đối với Eps và MinPts. Vì vậy, DBSCAN
yêu cầu ngƣời dùng xác định bán kính Eps của các láng giềng và số các láng
giềng tối thiểu MinPts, các tham số này khó mà xác định đƣợc tối ƣu, thông
thƣờng nó đƣợc xác định bằng phép chọn ngẫu nhiên hoặc theo kinh nghiệm.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




30


31

Độ phức tạp của DBSCAN là O(n2), nhƣng nếu áp dụng chỉ số không gian để

Point := SetOfPoints.get(i);

giúp xác định các láng giềng của một đối tƣợng dữ liệu thì độ phức của

IF PointClId = UNCLASSIFIED THEN
IF ExpandCluster(SetOfPoints, Point, ClusterId, Eps, MinPts)

DBSCAN đã đƣợc cải tiến là O(nlogn). Thuật toán DBSCAN có thể áp dụng
cho các tập dữ liệu không gian lớn đa chiều, khoảng cách Euclide đƣợc sử

THEN
ClusterId.= nextId(ClusterId)

dụng để đo sự tƣơng tự giữa các đối tƣợng nhƣng không hiệu quả đối với dữ

END IF

liệu đa chiều.

END IF
END FOR
END; //DBSCAN
--------Thủ tục ExpandCluster-------ExpandClusster(SetOfPoints, Points, C1Id, Eps, MinPts): Boolean;

Hình 2.9: Hình dạng các cụm đƣợc khám phá bởi thuật toán DBSCAN
Thuật toán: DBSCAN khởi tạo điểm p tùy ý và lấy tất cả các điểm

liên lạc mật độ từ p tới Eps và MinPts. Nếu p là điểm nhân thì thủ tục trên tạo
ra một cụm theo Eps và MinPts, nếu p là một điểm biên, không có điểm nào
liên lạc mật độ từ p và DBSCAN sẽ đi thăm điểm tiếp theo của tập dữ liệu.
Nếu sử dụng giá trị toàn cục Eps và Minpts, DBSCAN có thể hoà nhập
hai cụm thành một cụm nếu mật độ của hai cụm gần bằng nhau. Giả sử
khoảng cách giữa hai tập dữ liệu S1 và S2 đƣợc định nghĩa là:
dist(S1, S2) = min{dist(p, q) {p  S1 và q  S2}.

IF seeds.size < MinPts THEN //no core point
SetOfPoints.changeclId(Point, NOISE),
RETURN False;
ELSE //all points in seeds are density-reachable from Point
SetOfPoints.changeClId(seeds, C1Id);
seeds.delete(Point);
WHILE seeds <> Empty DO
currentP:= seeds.first();
result:= SetOfPoints.regionQuery(CurrentP, Eps);
IF result.size >= MinPts THEN

Thuật toán DBSCAN đƣợc mô tả chi tiết nhƣ sau:

FOR i FROM 1 to result.size DO

......... Modul chƣơng trình chính ..........
DBSCAN(SetOfPoints, Eps, MinOts)

resultpP:= result.get(i);
IF resultp.C1Id IN {UNCLASSIFIED, NOISE} THEN
IF resultp.ClId = UNCLASSIFIED THEN


//SetOfPoints is UNCLASSIFIED

seeds.append(resultP);

Clusterid:= NextId(NOISE);

END IF;

FOR i FROM 1 TO SetOfPoints.size DO

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

seeds:= SetOfPoints.regionQuery(Point, Eps)



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




32

33

SetOfPoints.changeC1Id(resultP, C1Id),
END IF; //UNCLASSIFIED or NOISE
END FOR;

nghĩa là các ô lƣới đƣợc hình thành từ các ô lƣới con để thực hiện phân cụm.

Có nhiều mức của các ô chữ nhật tƣơng ứng với các mức khác nhau của phân
giải trong cấu trúc lƣới, và các ô này hình thành cấu trúc phân cấp: mỗi ô ở

END IF; //result.size >= Minpts

mức cao đƣợc phân hoạch thành số các ô nhỏ ở mức thấp hơn tiếp theo trong

seeds.delete(currentP);

cấu trúc phân cấp. Các điểm dữ liệu đƣợc nạp từ CSDL, giá trị của các tham

END WHILE; //seeds <> Empty

số thống kê cho các thuộc tính của đối tƣợng dữ liệu trong mỗi ô lƣới đƣợc

RETURN True;

tính toán từ dữ liệu và lƣu trữ thông qua các tham số thống kê ở các ô mức

END IF;

thấp hơn. Các giá trị của các tham số thống kê gồm: số trung bình - mean, số

END; //ExpandCluster

tối đa - max, số tối thiểu - min, số đếm - count, độ lệch chuẩn - s, ...

Trong đó SetOfPoints hoặc là tập dữ liệu ban đầu hoặc là cụm đƣợc

Các đối tƣợng dữ liệu lần lƣợt đƣợc chèn vào lƣới và các tham số thống


khám phá từ bƣớc trƣớc, C1Id (ClusterId) là nhãn đánh dấu phần tử dữ liệu

kê ở trên đƣợc tính trực tiếp thông qua các đối tƣợng dữ liệu này. Các truy

nhiễu có thể thay đổi nếu chúng có thể liên lạc mật độ từ một điểm khác trong

vấn không gian đƣợc thực hiện bằng cách xét các ô thích hợp tại mỗi mức của

CSDL, điều này chỉ xảy ra đối với các điểm biên của dữ liệu. Hàm

phân cấp. Một truy vấn không gian đƣợc xác định nhƣ là một thông tin khôi

SetOfPoints.get(i) trả về phần tử thứ i của SetOfPoints. Thủ tục

phục lại của dữ liệu không gian và các quan hệ của chúng.

SetOfPoints.regionQuery(Point, Eps) trả về một danh sách các điểm dữ liệu

STING có khả năng mở rộng cao, nhƣng do sử dụng phƣơng pháp đa

lân cận với điểm Point trong ngƣỡng Eps từ tập dữ liệu SetOfPoints. Trừ một

phân giải nên nó phụ thuộc chặt chẽ vào trọng tâm của mức thấp nhất. Đa

số trƣờng hợp ngoại lệ, kết quả của DBSCAN là độc lập với thứ tự duyệt các

phân giải là khả năng phân rã tập dữ liệu thành các mức chi tiết khác nhau.

đối tƣợng dữ liệu. Eps và MinPts là hai tham số toàn cục đƣợc xác định bằng


Khi hoà nhập các ô của cấu trúc lƣới để hình thành các cụm, nó không xem

thủ công hoặc theo kinh nghiệm. Tham số Eps đƣợc đƣa vào là nhỏ so với

xét quan hệ không gian giữa các nút của mức con không đƣợc hoà nhập phù

kích thƣớc của không gian dữ liệu, thì độ phức tạp tính toán trung bình của

hợp (do chúng chỉ tƣơng ứng với các cha của nó) và hình dạng của các cụm

mỗi truy vấn là O(logn).

dữ liệu khám phá đƣợc, tất cả ranh giới của các cụm có các biên ngang và

Ngoài thuật toán DBSCAN ra, phân cụm dựa trên mật độ còn bao
gồm 2 thuật toán khác nhƣ: Thuật toán OPTICS; Thuật toán DENCLUE.

dọc, theo biên của các ô và không có đƣờng biên chéo đƣợc phát hiện ra.
Một trong những hạn chế trong khi sử dụng cách tiếp cận đa phân giải
để thực hiện phân tích cụm chất lƣợng của phân cụm STING hoàn toàn phụ

2.5.4. Các thuật toán phân cụm dựa trên lƣới
Thuật toán STING

thuộc vào tính chất hộp ở mức thấp của cấu trúc lƣới. Nếu tính chất hộp là

STING là kỹ thuật phân cụm đa phân giải dựa trên lƣới, trong đó vùng

mịn, dẫn đến chi phí thời gian xử lý tăng, tính toán trở nên phức tạp và nếu


không gian dữ liệu đƣợc phân rã thành số hữu hạn các ô chữ nhật, điều này có

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




34

35

mức dƣới cùng là quá thô thì nó có thể làm giảm bớt chất lƣợng và độ chính
xác của phân tích cụm.

2.5.5. Các thuật toán phân cụm dựa trên mô hình
Thuật toán EM

Cấu trúc dữ liệu lƣới thuận tiện cho quá trình xử lí song song và cập

Thuật toán EM đƣợc xem nhƣ là thuật toán dựa trên mô hình hoặc là

nhật liên tục, khi duyệt toàn bộ CSDL một lần để tính toán các đại lƣợng

mở rộng của thuật toán k-means. Thật vậy, EM gán các đối tƣợng cho các


thống kê cho mỗi ô, nên nó rất hiệu quả và do đó độ phức tạp thời gian để tạo

cụm đã cho theo xác suất phân phối thành phần của đối tƣợng đó. Phân phối

các cụm xấp xỉ O(n), trong đó n là tổng số các đối tƣợng. Sau khi xây dựng

xác suất thƣờng đƣợc sử dụng là phân phối xác suất Gaussian với mục đích là

cấu trúc phân cấp, thời gian xử lý cho các truy vấn là O(g), trong đó g là tổng

khám phá lặp các giá trị tốt cho các tham số của nó bằng hàm tiêu chuẩn là

số ô lƣới ở mức thấp (g << n).

hàm logarit khả năng của đối tƣợng dữ liệu, đây là hàm tốt để mô hình xác
suất cho các đối tƣợng dữ liệu. EM có thể khám phá ra nhiều hình dạng cụm

Thuật toán STING gồm các bƣớc sau:

khác nhau, tuy nhiên do thời gian lặp của thuật toán khá nhiều nhằm xác định

Xác định tầng để bắt đầu:

các tham số tốt nên chi phí tính toán của thuật toán khá cao. Đã có một số cải

Với mỗi cái của tầng này, tính toán khoảng tin cậy (hoặc ƣớc lƣợng
khoảng) của xác suất mà ô này liên quan tới truy vấn.
Từ khoảng tin cậy của tính toán trên, gán nhãn cho là có liên quan
hoặc không liên quan.
Nếu lớp này là lớp dƣới cùng, chuyển sang Bƣớc 6; nếu khác thì


tiến đƣợc đề xuất cho EM dựa trên các tính chất của dữ liệu: có thể nén, có
thể sao lƣu trong bộ nhớ và có thể hủy bỏ. Trong các cải tiến này, các đối
tƣợng bị hủy bỏ khi biết chắc chắn đƣợc nhãn phân cụm của nó, chúng đƣợc
nén khi không bị loại bỏ và thuộc về một cụm quá lớn so với bộ nhớ và chúng
sẽ đƣợc lƣu lại trong các trƣờng hợp còn lại.

chuyển sang Bƣớc 5.
Duyệt xuống dƣới của cấu trúc cây phân cấp một mức. Chuyển sang
Bƣớc 2 cho các ô mà hình thành các ô lên quan của lớp có mức cao hơn.

Thuật toán đƣợc chia thành hai bƣớc và quá trình đó đƣợc lặp lại cho
đến khi vấn đề đƣợc giải quyết:

Nếu đặc tả đƣợc câu truy vấn, chuyển sang Bƣớc 8; nếu không thì

E:   a 

chuyển sang Bƣớc 7.
Truy lục dữ liệu vào trong các ô liên quan và thực hiện xử lí. Trả lại
kết quả phù hợp yêu cầu của truy vấn. Chuyển sang Bƣớc 9.

1
2

1

2

M: a, b   


Tìm thấy các miền có các ô liên quan. Trả lại miền mà phù hợp với

h, b 


1

2

h

ab
6(b  c  d )

yêu cầu của truy vấn . Chuyển sang Bƣớc 9.

Các bƣớc thực hiện của thhuật toán EM

9.

Khởi tạo tham số:

Dừng.

o  {1(0) ,  2(0) ,...,  K(0) , p1(0) , p2(0) ,..., p K(0) }

Ngoài thuật toán STING ra, phân cụm dựa trên lƣới còn có thêm một
Bước E:


thuật toán khác là: Thuật toán CLIQUE.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




36

P( j | xk , t ) 

P( xk |  j , t ) P( j , t )
P( xk , t )

37



Bước M:


( t 1)
i

 P( | x ,  )x


 P( | x ,  )
i

k

i

k

pi( t 1) 



k

k

t

k

CHƢƠNG 3

P( xk | i , (i t ) ,  2 ) Pi (t )
k P( xk |  j , (jt ) , 2 ) Pj(t )

k

t


P( i | x k , t )
R

Lặp lại bước 2 và 3 cho đến khi đạt được kết quả

Ngoài thuật toán EM ra, phân cụm dựa trên mô hình còn có thêm một

KỸ THUẬT PHÂN CỤM DỮ LIỆU MỜ
3.1. Tổng quan về phân cụm mờ ................................................................................... 37
3.2. Các thuật toán trong phân cụm mờ ........................................................................ 38
3.2.1. Thuật toán FCM(Fuzzy C-means) ..................................................................... 39
3.2.1.1. Hàm mục tiêu .............................................................................................. 39
3.2.1.2. Thuật toán FCM .......................................................................................... 42
3.2.2. Thuật toán FCM(ε- Insensitive Fuzzy C-means) ............................................. 46
3.2.2.1. Hàm mục tiêu .............................................................................................. 46
3.2.2.2. Thuật toán FCM ........................................................................................ 48
3.2.3. Thuật toán FCM-Cải tiến ................................................................................... 49
3.2.3.1. Thuật toán 1: Thuật toán lựa chọn các điểm dữ liệu làm ứng viên cho
việc chọn các trung tâm của các cụm ......................................................... 49
3.2.3.2. Thuật toán 2: Thuật toán lƣợc bớt các ứng viên ........................................ 51
3.2.3.3. Thuật toán 3: Thuật toán chọn các ứng viên làm cực tiểu hàm mục tiêu .. 51
3.2.3.4. Thuật toán 4: Gán các trung tâm có liên kết “gần gũi” vào một cụm ....... 52
3.2.3.5. Tổng kết thuật toán FCM-Cải tiến .............................................................. 56

thuật toán khác là: Thuật toán COBWEB.
2.5.6. Các thuật toán phân cụm có dữ liệu ràng buộc
Thuật toán Phân cụm mờ: FCM, FCM và FCM-Cải tiến (Các thuật
toán này sẽ đƣợc đề cập chi tiết ở chƣơng kế tiếp).
3.1.
Tóm lại, các kỹ thuật PCDL trình bày ở trên đã đƣợc sử dụng rộng rãi

trong thực tế, thế nhƣng hầu hết chúng chỉ nhằm áp dụng cho tập dữ liệu với
cùng một kiểu thuộc tính. Vì vậy, việc PCDL trên tập dữ liệu có kiểu hỗn hợp
là một vấn đề đặt ra trong KPDL ở giai đoạn hiện nay.

Tổng quan về phân cụm mờ
Trong cuộc sống, chúng ta đã gặp rất nhiều ứng dụng của bài toán phân

cụm. Chẳng hạn nhƣ trong ngành bƣu điện, hàng ngày bƣu điện phải phân
loại thƣ theo mã nƣớc, trong mã nƣớc lại phân loại theo mã tỉnh/thành phố,
sau đó khi thƣ về đến bƣu điện tỉnh thì bƣu điện tỉnh lại phải phân loại thƣ
theo quận/huyện để gửi đi, đến bƣu điện quận/huyện lại phân loại thƣ theo
xã/phƣờng để gửi thƣ. Đó chính là một ứng dụng của bài toán phân cụm rõ.
Vậy bài toán phân cụm rõ là gì?
Ta có thể định nghĩa bài toán phân cụm rõ nhƣ sau: Cho tập dữ liệu
mẫu X, ta kiểm tra các điểm dữ liệu xem nó giống với đặc điểm của nhóm
nào nhất thì ta gán điểm dữ liệu đó vào trong nhóm đó. Nhƣng trong thực tế
không phải lúc nào bài toán phân cụm rõ cũng áp dụng đƣợc. Chẳng hạn, ta
có phép phân loại sau: Những ngƣời đi xe máy xịn thì thuộc nhóm ngƣời
giàu, những ngƣời đi xe máy thƣờng thuộc nhóm ngƣời bình dân. Vậy ngƣời

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




38


39

nghèo mà đi xe máy xịn thì chúng ta xếp ngƣời đó vào nhóm nào? Vì vậy,

các bài toán PCDL nhƣ trong nhận dạng mẫu(nhận dạng vân tay, ảnh), xử

chúng ta cần đƣa vào khái niệm bài toán phân cụm mờ.

lý ảnh(phân tách các cụm ảnh màu, cụm màu), y học(phân loại bệnh, phân

Trong các phƣơng pháp phân cụm đã giới thiệu trong chƣơng trƣớc,

loại triệu chứng), … Tuy nhiên, nhƣợc điểm lớn nhất của thuật toán FCM là

mỗi phƣơng pháp phân cụm phân hoạch một tập dữ liệu ban đầu thành các

tập dữ liệu lớn, tập dữ liệu nhiều chiều, nhạy cảm với các nhiễu và phần tử

cụm dữ liệu có tính tự nhiên và mỗi đối tƣợng dữ liệu chỉ thuộc về một cụm

ngoại lai trong dữ liệu, nghĩa là các trung tâm cụm có thể nằm xa so với

dữ liệu, phƣơng pháp này chỉ phù hợp với việc khám phá ra các cụm có mật

trung tâm thực của cụm. Đã có nhiều các phƣơng pháp đề xuất để cải tiến

độ cao và rời nhau, với đƣờng biên giữa các cụm đƣợc xác định tốt. Tuy

cho nhƣợc điểm trên của thuật toán FCM bao gồm: Phân cụm dựa trên xác


nhiên, trong thực tế, đƣờng biên giữa các cụm có thể mờ, các cụm có thể

suất (keller, 1993), phân cụm nhiễu mờ (Dave, 1991), phân cụm dựa trên

chồng lên nhau, nghĩa là một số các đối tƣợng dữ liệu thuộc về nhiều các cụm

toán tử LP Norm (Kerten, 1999) và thuật toán ε- Insensitive Fuzzy C-means

khác nhau, do đó mô hình này không mô tả đƣợc dữ liệu thực. Vì vậy ngƣời

(εFCM) và thuật toán FCM cải tiến.

ta đã áp dụng lý thuyết về tập mờ trong PCDL để giải quyết cho trƣờng hợp
này. Cách thức kết hợp này đƣợc gọi là Phân cụm mờ.
Phân cụm mờ là phƣơng pháp phân cụm dữ liệu mà cho phép mỗi điểm
dữ liệu thuộc về hai hoặc nhiều cụm thông qua bậc thành viên. Ruspini (1969)
giới thiệu khái niệm phân hoạch mờ để mô tả cấu trúc cụm của tập dữ liệu và
đề xuất một thuật toán để tính toán tối ƣu phân hoạch mờ. Dunn (1973) mở
rộng phƣơng pháp phân cụm và đã phát triển thuật toán phân cụm mờ. Ý
tƣởng của thuật toán là xây đựng một phƣơng pháp phân cụm mờ dựa trên tối
thiểu hóa hàm mục tiêu. Bezdek (1981) cải tiến và tổng quát hóa hàm mục
tiêu mờ bằng cách đƣa ra trọng số mũ để xây dựng thuật toán phân cụm mờ
và đƣợc chứng minh độ hội tụ của các thuật toán là cực tiểu cục bộ.
3.2.

3.2.1. Thuật toán FCM(Fuzzy C-means)
3.2.1.1. Hàm mục tiêu
Kỹ thuật này phân hoạch một tập n vectơ đối tƣợng dữ liệu X = {x 1,…,
xn}  Rs thành c các nhóm mờ dựa trên tính toán tối thiểu hóa hàm mục tiêu

để đo chất lƣợng của phân hoạch và tìm trung tâm cụm trong mỗi nhóm, sao
cho chi phí hàm đo độ phi tƣơng tự là nhỏ nhất. Một phân hoạch mờ vectơ
điểm dữ liệu X = {x1,…, xn}  Rs là đặc trƣng đầu vào đƣợc biểu diễn bởi ma
trận U = [uik] sao cho điểm dữ liệu đã cho chỉ có thể thuộc về một số nhóm
với bậc đƣợc xác định bởi mức độ thuộc giữa [0, 1]. Nhƣ vậy, ma trận U đƣợc
sử dụng để mô tả cấu trúc cụm của X bằng cách giải thích u ik nhƣ bậc thành
viên xk với cụm i.
Cho u = (u1, u2, .., uc1) là phân hoạch mờ C

Các thuật toán trong phân cụm mờ
K-means là thuật toán PCDL rõ và C-means là thuật toán phân cụm

mờ tƣơng ứng, hai thuật toán này cùng sử dụng chung một chiến lƣợc phân
cụm dữ liệu. Thuật toán C-means mờ hay còn gọi tắt là thuật toán FCM

U cxn

u11
u
  21
 

u c1

u12  u1n 
  u 2 n 


 


  u cn 

(Fuzzy C-means) đã đƣợc áp dụng thành công trong giải quyết một số lớn

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




40

41

Dunn định nghĩa hàm mục tiêu mờ nhƣ sau:
n

xk  vi

c

biểu diễn độ lệch của dữ liệu xk với vi, d(xk,vi) là tích vô

hƣớng trên Rs.

J m (U , V )   u ik d 2 ( x k , vi )
k 1 i 1


Bezdek khái quát hóa hàm mục tiêu mờ bằng cách đƣa ra trọng số mũ
m > 1 là bất kỳ số thực nào nhƣ sau:
n

2

c

J m (U , V )   (u ik ) m d 2 ( x k , vi ), 1  m  

(1)

k 1 i 1

trong đó:
X = [x1,…, xn]  Rs là n vectơ mẫu dữ liệu tập con thực s chiều trong
s

không gian vectơ R gồm có n quan sát,

Bậc của thành viên thỏa mãn ràng buộc sau:

0  u  1,
1  i  c,1  k  n
ik

n

1 i  c

 0   u ik  n
 c k 1

u ik  1
1 k  n
 
i 1

(2)

Để thuận tiện, coi mảng đối tƣợng dữ liệu {x1,....,xn} là các cột trong
ma trận đối tƣợng dữ liệu X = [xjk] = [x1, …, xn]  Rsxc. Ma trận phân hoạch

m  [1, +] là trọng số mũ đƣợc gọi là tham số mờ,
s

U là một công cụ tiện lợi để mô tả cấu trúc cụm trong dữ liệu { x 1, …, xn };

vi  R là trung tâm cụm thứ i,

định nghĩa tập tất cả các ma trận thực phân hoạch mờ không suy thoái cấp cn

d(xk, vi) = dik là khuôn mẫu bất kỳ để đo khoảng cách giữa dữ liệu x k

cho phân hoạch n đối tƣợng thành c cụm dữ liệu trong không gian R cxn đƣợc

với trung tâm cụm thứ i, => d2(xk, vi) là khoảng cách Euclidean,
uik  [0, 1] là bậc của phần tử dữ liệu xk thuộc về cụm thứ i,
sxc


V = [vji] = [v1,…,vc]  R

là ma trận biểu diễn các giá trị đối tƣợng

U = [uik] là ma trận phân hoạch mờ ngẫu nhiên của X trong C phần.
Một trong các nhân tố chính ảnh hƣởng tới quyết định phân cụm hợp lí
các điểm là vấn đề chọn phép đo độ phi tƣơng tự. Thực vậy, tính toán bậc
thành viên uik phụ thuộc vào định nghĩa của phép đo khoảng cách d ik mà là
tích vô hƣớng trên Rs. Bình phƣơng khoảng cách giữa vectơ mẫu x k và trung

(3)

thuộc uij nhằm tối thiểu hàm mục tiêu ở trên Jm(U,V) với các điều kiện sau:
Định lí 1: Nếu m và c là các tham số cố định, và ik là một tập được
định nghĩa như sau:

 I k  i | 1  i  c, d ik  0

(4)

thì hàm mục tiêu Jm(U,V) đạt giá trị tối thiểu:

d ( x k , v i )  x k  v i  ( x k  v i ) T A( x k  v i )
2

Thông thƣờng ngƣời ta gọi bài toán phân cụm mờ là bài toán tìm các độ

1 k  n

tâm vị trí của cụm thứ i đƣợc định nghĩa nhƣ sau:


d ( x k , vi )  x k  vi

c
c


M fcn  U  R cxn | i, k : u ik  0,1;  u ik  1;0   u ik  1  n
i 1
i 1



Rcxn là không gian của tất cả các ma trận thực cấp cn.

tâm của cụm,

2

viết gọn nhƣ sau:

n
c


m
min  J m U , V    u ik  d 2 x k , vi 
k 1 i 1




 ( x k  vi ) A( x k  vi )
T

khi và chỉ khi:

trong đó:
A là ma trận hữu hạn dƣơng đối xứng (p  p) bất kỳ,
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




42

1

,
2

c

 d ik  m 1


 

uik   j 1  d jk 
 0,

  uik  1,
iI k
n

vi 

 (u
k 1
n

ik

 (u
k 1

THUẬT TOÁN FCM

Ik  

Input : Số cụm c và tham số mũ m cho hàm mục tiêu J;

; 1  i  c,1  k  n

(5)

i  Ik


Output: c cụm dữ liệu sao cho hàm mục tiêu trong (1) đạt giá trị cực tiểu;
Begin

i  Ik , Ik  

1.

,

1 i  c

(6)

2.

)m

Định lí đã đƣợc Bezdek chứng minh (nếu m  1 , d2ik > 0, 1 i  c) là
đúng đắn.
chủ yếu dựa trên đó độ tƣơng tự giữa xk và trung tâm cụm vi, điều này tƣơng
đƣơng với hai điều kiện (5) và (6) phải thỏa mãn. Với hàm mục tiêu và các

2.1.

j:=j+1;

2.2.

Tính ma trận phân hoạch mờ U(j) theo công thức (5);


2.3.

Cập nhật các trung tâm cụm V(j)=[v1(j), v2(j),..., vc(j)]

(5) và (6) để tối ƣu(xấp xỉ cực tiểu) hàm mục tiêu dựa trên đo đạc độ tƣơng tự
có trọng số giữa xk và trung tâm cụm vi, sau mỗi vòng lặp, thuật toán tính toán
và cập nhật các phần tử ujk trong ma trận phân hoạch U. Phép lặp sẽ dừng khi
u

 U ( j)



 ;

4.

Trình diễn các cụm kết quả;

Thuật toán FCM cung cấp một quá trình lặp qua lại giữa phƣơng trình



( j 1)

Until

F

Trong đó, * F là tiêu chuẩn Frobenious đƣợc định nghĩa nhƣ sau:


3.2.1.2. Thuật toán FCM

max ij u

U

3.

End.

ràng buộc để hàm mục tiêu đạt giá trị tối thiểu trên đây.

(k )
ij

Repeat

dựa vào công thức (6) và U(j)

Một phân hoạch tối ƣu, nghĩa là hàm mục tiêu đạt giá trị tối thiểu, mà

( k 1)
ij

Nhập tham số cụm c (1Khởi tạo ma trận V=[vij], V(0) Rsxc, j=0;

) m xk
ik


43



  , trong đó  là chuẩn kết thúc giữa 0 và 1, trong khi k là

U

2
F

 Tr (UU T )  i k u ik2

và tham số  đƣợc cho trƣớc .
Việc chọn các tham số cụm rất ảnh hƣởng đến kết quả phân cụm, tham
số này thƣờng đƣợc chọn theo phép ngẫu nhiên hoặc theo Heuristic.
Đối với m  1+ thì thuật toán C-means trở thành thuật toán rõ.

các bƣớc lặp. Thủ tục này hội tụ tới cực tiểu cục bộ hay điểm yên ngựa của

Đối với m   thì thuật toán FCM trở thành thuật toán phân cụm mờ

Jm(u, V). Thuật toán FCM tính toán ma trận phân hoạch U và kích thƣớc của

với: uik  . Chƣa có quy tắc nào nhằm lựa chọn tham số m đảm bảo cho việc

các cụm để thu đƣợc các mô hình mờ từ ma trận này. Các bƣớc thực hiện của
thuật toán FCM nhƣ sau:


1
c

phân cụm hiệu quả, nhƣng thông thƣờng chọn m = 2.
Để dễ hiểu có thể xét ví dụ sau: Cho một tập các đối tƣợng dữ liệu một
chiều đƣợc biểu thị nhƣ Hình 3.1 sau:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




44

45

Hình 3.1: Mô phỏng về tập dữ liệu đơn chiều
Bằng quan sát dễ nhận thấy có hai cụm trong tập dữ liệu trên đặt tên
tƣơng ứng là "A" và "B". Với thuật toán k-means thì hàm tính độ phụ thuộc
giữa đối tƣợng dữ liệu và trọng tâm cụm của nó đƣợc thể hiện nhƣ trong đồ
thị Hình 3.2 dƣới đây:

Hình 3.3: Hàm thuộc với trọng tâm của cụm A trong FCM
Dựa vào hình có thể nhận xét rằng, các đối tƣợng dữ liệu có giá trị hàm
thuộc với các trọng tâm của cụm A nằm trong khoảng [0, l], hàm thuộc lúc
này là một đƣờng cong trơn. Điểm có mũi tên chỉ đến có nhiều khả năng

thuộc về lớp B hơn là lớp A do giá trị hàm thuộc của nó vào lớp A là nhỏ
(=0.2). Có thể biểu diễn các giá trị hàm thuộc trên bằng ma trận cho cả hai
trƣờng hợp nhƣ sau:

Hình 3.2: Hàm thuộc với trọng tâm của cụm A trong k-means

U nxc

Dựa vào hình rút ra nhận xét rằng, các đối tƣợng trong cụm A có giá trị
hàm thuộc với trọng tâm của cụm A là bằng 1 và bằng 0 với trọng tâm cụm B.
Điều này ngƣợc lại với các đối tƣợng ở trong cụm B.
Thế nhƣng, đối với thuật toán FCM thì hàm thuộc của các đối tƣợng dữ
liệu với các trung tâm cụm dữ liệu đƣợc minh họa nhƣ trong đồ thị Hình 3.3
dƣới đây:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



1
0

 1


 0

0
1
0



1

U nxc

 0.8
 0.3

  0.6


 0.9

0.2
0.7 
0.4


0.1

Số dòng và số cột phụ thuộc vào số các đối tƣợng dữ liệu n và số các
cụm k.
Một số ví dụ mô phỏng về kết quả các cụm khám phá đƣợc của thuật
toán phân cụm mờ FCM nhƣ Hình 3.4 dƣới đây:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





46

47

n

c

J m (U ,V )   u ik  x k , vi

(8)

m

k 1 i 1



p

trong đó: x k , vi



  x kl  v Þ
l 1

(9)




Ký hiệu:
 () là () hoặc () .

Hình 3.4: Các cụm khám phá đƣợc bởi thuật toán FCM

 Lực lƣợng của tập A là card(A).

Độ phức tạp của thuật toán FCM tƣơng đƣơng với độ phức tạp của
thuật toán k-means trong trƣờng hợp số đối tƣợng của tập dữ liệu cần phân

Định lý 2: Nếu m, c và  là các tham số cố định, với (U,V)  (Efc* Rpc),
hàm mục tiêu Jm(U,V) đạt giá trị tối thiểu khi và chỉ khi:

cụm là rất lớn.

1  c

 x k  vi  1 m  x k  vi

 j 1
 uik   0,
i  Ik
1i  c 1 k  N


u

1

,
i  Ik ;

ik

iI k



Tóm lại, thuật toán phân cụm mờ FCM là một mở rộng của thuật toán
k-means nhằm để khám phá ra các cụm chồng lên nhau, tuy nhiên, FCM vẫn
chứa đựng các nhƣợc điểm của thuật toán k-means trong việc xử lí đối với các
phần tử ngoại lai và nhiễu trong dữ liệu. Thuật toán FCM đƣợc trình bày
dƣới đây là một mở rộng của thuật toán FCM nhằm khắc phục các nhƣợc
điểm này.

và:

 x kl   ,

vil  
1i  c 1l  p
 x kl   ,


 










1
1 m


,


Ik  0

(10)
Ik  0





k |k Ai
k|

(11)



k  Ai




N



k 1



trong đó: Ai  i  0, u ik m  | min  k  k x kl    k  k 

3.2.2. Thuật toán FCM(ε- Insensitive Fuzzy C-means)

N

 ,  k 1



3.2.2.1. Hàm mục tiêu
Thuật toán phân cụm FCM sử dụng hàm bậc hai để do độ phi tƣơng tự
giữa dữ liệu và các trung tâm cụm. Suy luận sử dụng độ do này là tính toán
thấp và đơn giản. Tuy nhiên, cách tiếp cận này dễ bị ảnh hƣởng bởi nhiễu và

với giả thiết

N



k 1

k


k

k

N

  k và k , k  0, (uik ) m 
k 1

tập Ik đƣợc định nghĩa là Ik = {i  1  i  c; xk - vi = 0; k=1, 2, …, N}

 

vil 



1
   x kl       x kl   


card ( Ai ) Ai k |i Ai 
k |i Ai 



các phần tử ngoại lai. Để khắc phục nhƣợc điểm trên, một độ đo cải tiến đã

1i  c 1l  p

đƣợc đề xuất(Vapnik, 1998) sử dụng tham số  nhƣ sau :

Định lí này đã đƣợc các nhà khoa học chứng minh.

t



0,

 t ,

t 
,  là tham số phi nhạy cảm với nhiễu
t 

(12)

(7)

Hàm mục tiêu của thuật toán FCM đƣợc định nghĩa nhƣ sau:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




48

49

3.2.2.2. Thuật toán FCM

3.2.3. Thuật toán FCM-Cải tiến
Do thuật toán FCM và FCM có một số hạn chế nhất định. Nên để giải

Các bƣớc thực hiện của thuật toán FCM nhƣ sau:

bài toán làm min hàm mục tiêu J (u, v) với số cụm không cố định và tránh

THUẬT TOÁN FCM
Input:

Số cụm c và các tham số m,  cho hàm mục tiêu J;

Output: Các cụm dữ liệu sao cho hàm mục tiêu trong (2) đạt
giá trị cực tiểu;
Begin
1.

đƣợc trƣờng hợp chỉ đạt min địa phƣơng ta tiến hành xây dựng thuật toán
phân cụm mờ dựa trên việc cải tiến thuật toán FCM thông qua việc diễn giải

một số thuật toán nhỏ sau:
3.2.3.1. Thuật toán 1: Thuật toán lựa chọn các điểm dữ liệu làm ứng

Nhập tham số c (1
viên cho việc chọn các trung tâm của các cụm

Khởi tạo ma trận V=[vị], V(0)  Rsxc, thiết lập j = 0;
2.

Repeat



2.1.

j:=j+1;

2.2.

Tính ma trận phân hoạch mờ U(j) theo công thức (10);

2.3.

Cho tập dữ liệu X  x1, x2 ,.., xn  , xi  R p , i  1,.., n và n  N *

(j)

(j)


cập nhật các trung tâm V = [v1 ,

v2(j)

Giả sử n  m.b  d (b, d, m là các số nguyên dƣơng, 1  d  m ).

(j)

,…., vc ]

Khi đó, ta chia X   Cxt , với Cxt   x1t , x2t ,..., xbt  , t  1,2,.., m  1 và tập
m

(j)

dựa vào (12) và U ;
Until ( U ( j 1)  U ( j )

4.

Trình diễn các cụm kết quả;

F

t 1

  );

3.


Phân chia X thành m tập con (Nếu n bé thì không cần chia nữa):

cuối cùng C   x , x ,.., xbm , xbm1 ,.., xbmd  .
m
x



End.

m
1

(13)

m
2

Vấn đề chọn lân cận :

Bƣớc này ảnh hƣởng khá lớn tới quá trình tính toán. Chúng ta có thể
Tóm lại, thuật toán FCM là một mở rộng của thuật toán FCM trong
việc thích nghi với nhiễu và phần tử ngoại lai trong dữ liệu. Tuy vậy, hiệu quả

dùng khái niệm phƣơng sai mẫu trong thống kê toán học để giải quyết cho
vấn đề chọn lân cận của một điểm dữ liệu.

của thuật toán FCM đối với tập dữ liệu lớn, tập dữ liệu nhiều chiều cũng nhƣ

Chẳng hạn, xét tập Z  z1 , z 2 ,.., z n , z i  R , i  1..n . Khi đó, kỳ vọng mẫu


cách xác định tham số  là những vấn đề tiếp tục cần phải nghiên cứu và hoàn
thiện. Thuật toán FCM-Cải tiến đƣợc trình bày dƣới đây là một cải tiến nhằm
để khắc phục các nhƣợc điểm này.

n

z

z
i 1

n

i

, độ lệch tiêu chuẩn là s z 

1 n
s Xk ) , với
 ( z i  z) 2 . khi đó ta có r  1min(
k  p
n i 1

sXk là độ lệch tiêu chuẩn của tập  x1k ,.., xnk  với k = 1, 2, …, p.

Ta xét lân cận của mỗi điểm dữ liệu là hình hộp p chiều với bán kính có
thể định nghĩa theo độ lệch tiêu chuẩn là r.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




×