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

Tiểu luận môn toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu

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 (304.04 KB, 25 trang )

Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH MÔN
TOÁN HỌC CHO KHOA HỌC MÁY TÍNH
ĐỀ TÀI: ỨNG DỤNG LOGIC MỜ TRONG
PHÂN CỤM DỮ LIỆU
GVHD : PGS. TS. Nguyễn Văn Nhơn
SVTH : Bùi Lê Thuận
MSSV : CH1301062
Lớp : Cao học khóa 8
Tháng 01/2014
CH1301062 Trang 1
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
NHẬN XÉT CỦA GIẢNG VIÊN


















CH1301062 Trang 2
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
MỤC LỤC
CH1301062 Trang 3
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
CHƯƠNG I : MỞ ĐẦU
Với sự phát triển mạnh mẽ của ngành Công nghệ thông tin, việc xây dựng cơ
sở dữ liệu và ứng dụng các chương trình máy tính đang trở nên quan trọng hơn nhiều
so với thời gian trước đây, đặc biệt là trong thương mại và các ngành khoa học kỹ
thuật.
Do áp lực cạnh tranh nên các doanh nghiệp hiện nay hầu hết đều tập trung đầu
tư mạnh cho các ứng dụng Công nghệ thông tin vào việc xây dựng hình ảnh cho đến
quản lý điều hành. Bên cạnh đó thì khối lượng dữ liệu thu thập và lưu trữ cũng rất lớn,
như hóa đơn mua hàng tại siêu thị, các trung tâm mua sắm, dữ liệu giao dịch tại ngân
hàng, thẻ tín dụng. Đối với các ngành khoa học kỹ thuật, các công nghệ thu thập dữ
liệu đã được cải thiện đáng kể, có thể lên đến hàng triệu terabyte (TB/h) như thiết bị
remote sensor trên vệ tinh, kính thiên văn quan sát bầu trời, microarray tạo dữ liệu
biểu diễn gien, các thử nghiệm khoa học tạo hàng terabyte.
Các nhiệm vụ phân tích thông tin ở nghĩa rộng có ý nghĩa ngày càng to lớn
theo đà phát triển của các hệ thông tin. Hiện nay, khối lượng thông tin ở các cơ sở dữ
liệu, Internet v.v… đã vượt giới hạn rất nhiều, xét về khả năng nhận thức của con
người, do vậy, giải quyết vấn đề tách rút từ khối lượng khổng lồ đó lượng thông tin
thực sự cần thiết cho ứng dụng cụ thể, đã trở nên tuyệt đối cần thiết.
Với khối lượng dữ liệu thu thập rất lớn như vậy thì các kỹ thuật truyền thống
không đủ khả năng làm việc với dữ liệu thô. Khai thác dữ liệu ra đời trong bối cảnh
“Giàu dữ liệu, nghèo tri thức”, đây là giải pháp giúp phân tích và hỗ trợ ra quyết định.
Khai phá dữ liệu gồm nhiều hướng tiếp cận, các kỹ thuật chính phần lớn được
kế thừa từ các 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ấn đề gom cụm, phân lớp là một trong những bài toán quan trọng

cốt lõi trong khai thác dữ liệu.
Với sự ra đời và phát triển của lý thuyết tập mờ, ngành công nghệ thông tin đã
có cái nhìn gần với thực tiễn hơn, các công cụ của logic mờ cho phép xử lý những
thông tin không đầy đủ, không chính xác. Do đó, việc sử dụng logic mờ trong việc
phân vùng dữ liệu sẽ mềm dẻo, linh hoạt hơn rất nhiều. Nó cho phép một lượng dữ
liệu có thể thuộc vào một hoặc nhiều phân vùng khác nhau tùy vào mức độ hàm thuộc.
Như vậy có thể nói, sự ra đời của lý thuyết tập mờ đã mở ra một nhánh quan trọng
trong việc biểu diễn tri thức và ý nghĩ của con người.
Nội dung của bài thu hoạch này tập trung nghiên cứu tìm hiểu về logic mờ,
quan hệ mờ và thuật toán Fuzzy C-Means, thuật toán này sử dụng logic mờ để gom
cụm dữ liệu. Bên cạnh đó, thuật toán gom cụm rõ K-Means cũng sẽ được trình bày để
làm rõ sự khác nhau giữa phân cụm mờ và phân cụm rõ.
CH1301062 Trang 4
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
Em xin gửi lời cám ơn sâu sắc đến PGS. TS. Nguyễn Văn Nhơn đã tận tình
giảng dạy, truyền đạt kiến thức, giúp em hiểu hơn về ứng dụng của toán học trong
máy tính, đặc biệt là logic mờ. Đối với em, đây là kiến thức rất hay và bổ ích, tạo cho
em định hướng để thực hiện bài thu hoạch này. Tuy nhiên do thời gian nghiên cứu có
hạn nên bài thu hoạch này không thể tránh khỏi những thiếu sót nhất định, em rất
mong nhận được sự góp ý của Thầy để có thể hoàn thiện bài thu hoạch một cách tốt
nhất.
CH1301062 Trang 5
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
CHƯƠNG II : TẬP MỜ
2.1 Đặt vấn đề
Xét tập X là tập hợp các sinh viên của một trường đại học.
A là tập hợp các sinh viên của lớp CLASS. Như vậy với một sinh viên bất kỳ
của trường thì có thể khẳng định sinh viên đó có thuộc A hay không. Ta thấy mỗi tập
hợp có thể đặt tương ứng hàm một hàm đặc trưng:
Tuy nhiên trong cuộc sống người ta vẫn dùng những khái niệm mặc dù không

rõ ràng nhưng vẫn hiểu được. Chẳng hạn nói “một người cao”. Mặc dù không biết
đích xác người đó cao bao nhiêu người ta đều hình dung được người cao là gì? Từ đó,
nếu ta xét tập B = {các sinh viên cao} thì một sinh viên thuộc vào tập B với một mức
độ nào đó. Chẳng hạn nếu sinh viên đó cao 1,8m thì có thể nói sinh viên đó chắc chắn
thuộc B, còn một sinh viên cao 1,65m thì có thể 60% là thuộc B.
Thực tế cho thấy khái niệm mờ luôn luôn tồn tại, ứng dụng trong các bài toán
và ngay cả trong cách suy luận của con người. Bằng các phương pháp tiếp cận khác
nhau các nhà nghiên cứu đã đưa ra kết quả về lý thuyết cũng như ứng dụng trong các
bài toán điều khiển mờ, hệ hỗ trợ ra quyết định.
2.2 Định nghĩa
A là tập mờ trên không gian nền X nếu A được xác định bởi hàm:
µA: X[0,1]
xµ
A
(x)
Trong đó:
 µA là hàm liên thuộc (membership function)
 µA(x) là độ liên thuộc của x vào tập mờ A.
Không giống như tập rõ, mỗi phần tử luôn xác định hoặc thuộc hoặc không
thuộc nó, thì với tập mờ chỉ có thể xác định một phần tử liệu thuộc vào nó là nhiều
hay ít, tức mỗi một đối tượng chỉ là phần tử của tập mờ với một khả năng nhất định.
CH1301062 Trang 6
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
2.3 Các phép toán trên tập mờ
a. Giao của hai tập mờ
Cho X là tập hợp, A, B là hai tập mờ trong X và có các hàm thuộc lần luợt là µ
A , µ B . Giao của hai tập mờ A và B, ký hiệu A∩B, là một tập mờ có hàm thuộc µ
A∩B xác định như sau:
µA∩B (x) = min(µ A (x), µB (x)) ∀x∈X
b. Hợp của hai tập mờ

Cho X là tập hợp, A, B là hai tập mờ trong X và có các hàm thuộc lần luợt là
µA , µB. Hợp của hai tập mờ A và B trong X, ký hiệu A∪B, là một tập mờ có hàm
thuộc µ A∪B xác định như sau:
µA∪B (x) ) = max(µ A (x), µ B (x)) ∀x∈X
c. Tích đại số của hai tập mờ
Cho X là tập hợp, A, B là hai tập mờ trong X và có các hàm thuộc lần lượt là µ
A (x), µ B (x). Tích đại số của hai tập mờ A và B trong X, ký hiệu A.B là một tập mờ
có hàm thuộc được xác định như sau:
µA.B (x) = µA (x).µB (x) ∀x∈X
d. Tổng đại số của hai tập mờ
Cho X là tập hợp, A, B là hai tập mờ trong X và có các hàm thuộc lần lượt là
µA , µB. Tổng đại số của hai tập mờ A và B trong X, ký hiệu A+B là một tập mờ có
hàm thuộc được xác định như sau:
µ
A+B
(x) = µA (x) + µB(x) - µA(x).µB(x) ∀x∈X
e.Phần bù của một tập mờ
Cho A là tập mờ trong X có hàm thuộc µA . Phần bù A của A trong X là một
tập mờ có hàm thuộc xác định như sau:
µ
¬
A
= 1 - µA (x) ∀x∈X.
f. Tổng rời của hai tập mờ
CH1301062 Trang 7
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
Cho X là tập hợp, A và B là hai tập mờ trong X. Tổng rời của hai tập mờ A và
B trong X, ký hiệu A⊕B định nghĩa như sau:
A⊕B = (A∩B) ∪ (A∩B)
g. Phép trừ hai tập mờ

Cho X là tập hợp, A, B là hai tập mờ trong X và có các hàm thuộc lần lượt là
µA, µB . Phép trừ của hai tập mờ A và B trong X ký hiệu A\B được định nghĩa như
sau:
A\B = A∩B .
h. Cho X là tập hợp, A và B là hai tập mờ trong X, có các hàm thuộc lần lượt là
µA, µB. A gọi là nằm trong B, ký hiệu A⊂B nếu hàm thuộc thỏa mãn:
µA(x) ≤ µB (x) ∀x∈X.
i. Cho X là tập hợp, A và B là hai tập mờ trong X, có các hàm thuộc lần lượt là
µA , µB. A gọi là bằng B, ký hiệu A=B nếu và chỉ nếu:
µA(x) = µB (x) ∀x∈X
j. Tập hợp mức α của tập mờ.
Cho α ∈[0,1], X là tập hợp, A là một tập mờ trong X có hàm thuộc µ A . Tập
hợp Aα thoả mãn Aα={x∈X | µ A (x) ≥ α} gọi là tập hợp mức α của tập mờ A.
k. Khoảng cách Euclid trên tập mờ
X là tập hợp có hữu hạn n phần tử, A và B là hai tập mờ trên X. Khoảng cách
Euclid (trong không gian n chiều) trên tập mờ được tính như sau:
Khoảng cách e
2
(A,B) được gọi là một chuẩn Euclid.
CH1301062 Trang 8
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
2.4 Biểu diễn tập mờ
Khi X = {x1,x2,…,xn} thì tập con mờ A có thể được biểu diễn bằng cách liệt
kê A = {(x
1
, µA(x
1
)), (x
2
, µA(x

2
)), …, (x
n
, µA(x
n
))}.
Nếu X là một tập liên tục thì hàm thuộc của A thường được biểu diễn bằng đồ
thị. Người ta thường chọn các hàm thuộc có hình tam giác, hình bậc thang hay hình
chuông…
Ví dụ:
Cho X là tập các sinh viên một trường đại học, B là tập các sinh viên cao. Khi
đó hàm thuộc của B được xác định bởi hình vẽ sau
 Nếu µA(x) = 0 thì có thể nói x chắc chắn không thuộc B.
 Nếu µA(x) = 1 thì có thể nói x chắc chắn thuộc B.
CH1301062 Trang 9
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
CHƯƠNG III : QUAN HỆ MỜ
3.1 Khái niệm
Quan hệ mờ đóng vai trò quan trọng trong logic mờ và lập luận xấp xỉ. Khái
niệm quan hệ mờ là sự tổng quát hóa trực tiếp của khái niệm quan hệ (quan hệ rõ).
Giả sử U và V là hai tập hợp và một quan hệ R từ U đến V (quan hệ hai ngôi)
là một tập con của tích đề-các UV. Trong trường hợp U = V, ta nói R là quan hệ trên
U.
Khi U và V là các tập hữu hạn, chúng ta sẽ biểu diễn quan hệ R từ U đến V bởi
ma trận, trong đó các dòng được đánh dấu bởi các phần tử xU và các cột được đánh
dâu bởi các phần tử yV. Phần tử của ma trận nằm ở dòng x, cột y là R(x,y).
3.2 Định nghĩa
3.2.1 Quan hệ mờ trên tích đề-các
Cho X,Y là hai tập và x∈X, y∈Y. Ký hiệu (x,y) là cặp thứtựnằm trong tích
Đề-các XY. Tập mờR = {(x,y), µR(x,y)|(x,y) ∈XxY} được gọi là một quan hệ mờ

trên X×Y với hàm thuộc: µR(x,y): X×Y →[0,1]
Nếu R là một tập mờtrong X = X1×X2×….×Xnthì R được gọi là một quan hệ
mờ n ngôi.
3.2.2 Quan hệ mờ trên tập mờ
Cho X,Y là hai tập mờvà x∈X, y∈ Y. Ký hiệu (x,y) là cặp thứtựnằm trong tích
Đề-các X×Y. R = {(x,y), µR(x,y)|(x,y) ∈X×Y} được gọi là một quan hệmờtrên tập
mờA, B nếu: µR(x,y)≤µA(x,y), ∀X×Y và µR(x,y) ≤µB(x,y) ∀X×Y
3.3 Các phép toán trên quan hệ mờ
Ngoài một số phép toán giống như trên tập mờ trong tích Đề-các: Phép hợp,
giao, tổng đại số, tích đại số…, người ta còn đưa ra thêm một số phép toán khác trong
quan hệ mờ như sau:
CH1301062 Trang 10
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
Phép hợp thành max-min
Giả sử R1 là quan hệ mờ trong X×Y, R2 là quan hệ mờ trong Y×Z. Phép
hợpthành max-min của hai quan hệ mờ R1, R2 (kí hiệu R1 o R2) là một quan hệ mờ
trong X×Zthoả mãn:
µ
R1oR2
(x,z) = max
y
(min(µ
R1
(x,y), µ
R2
(y,z))) ∀x∈X, ∀y∈Y, ∀z∈Z
Phép hợp thành max-tích
Giả sử R1 là quan hệ mờ trong X×Y, R2 là quan hệ mờ trong Y×Z. Phép
hợpthành max-tích của hai quan hệ mờ R1, R2 (kí hiệu R1.R2) là một quan hệ mờ
trong X×Z thoả mãn:

µ
R1.R2
(x,z) = max
y

R1
(x,y). µ
R2
(y,z)) ∀x∈X, ∀y∈Y, ∀z∈Z
Phép hợp thành max-trung bình
Giả sử R1 là quan hệ mờ trong X×Y, R2 là quan hệ mờ trong Y×Z. Phép hợp
thành max-trung bình của hai quan hệ mờ R1, R2 (R1avR2) là quan hệ mờ trong X×Z
thoả mãn:
µ
R1avR2
(x,z) = max
y
((µ
R1
(x,y)+µ
R2
(y,z))/2) ∀x∈X, ∀y∈Y, ∀z∈Z
 Phép hợp thành max-*.(max-* composition) (* là toán tử hai ngôi bất kỳ)
Giả sử R 1 là quan hệ mờ trong X×Y, R 2 là quan hệ mờ trong Y×Z. Phép
hợp thành max-* của hai quan hệ mờ R1 , R2 (R1 * R2 ) là một quan hệ mờ trong
X×Z thoả mãn:
µ
R1*R2
(x,z) = max(µ
R1

(x,y)*µ
R2
(y,z)) ∀x∈X, ∀y∈Y, ∀z∈Z
 Hàm tích hợp mờ
Khi có một tập các tập mờ và tích hợp các hàm thuộc của chúng lại, ta sẽ thu
được một tập mờ là một hàm tích hợp mờ.
Một hàm tích hợp mờ được định nghĩa là một toán tử n ngôi như sau:
F: [0,1] n → [0,1] thỏa mãn điều kiện:
Nếu 0, 1 là hai điểm cực trị thì: F(0,…,0) = 0 và F(1,…,1)=1 và ∀a trong [0,1]
thì: F(a,…,a)=a
Nếu a
i
’ > a
i
thì: F(a
1
,…,a
i
’,…,a
n
) ≥ F(a
1
,…,a
i
,…,a
n
) (tính đơn điệu tăng của hàm
tích hợp mờ)
CH1301062 Trang 11
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu

CHƯƠNG IV : GOM NHÓM DỮ LIỆU
4.1 Gom nhóm là gì?
Gom nhóm là quá trình nhóm các đối tượng thànhnhững nhóm/cụm/lớp có ý
nghĩa. Các đối tượng trong cùng một nhóm có nhiều tính chất chung và có những tính
chất khác với các đối tượng ở nhóm khác.
Đây là quá trình xử lý một tập các đối tượng vào trong các lớp các đối tượng
giống nhau được gọi là phân cụm. Một cụm là một tập hợp các đối tượng dữ liệu
giống nhau trong phạm vi cùng một cụm và không giống nhau với các đối tượng trong
các cụm khác. Số các cụm dữ liệu được phân ở đây có thể được xác định trước theo
kinh nghiệm hoặc có thể được tự động xác định của phương pháp gom nhóm.
Cho CSDL D={t
1
,t
2
,…,t
n
} và số nguyên k, gom nhóm là bài toán xác định ánh
xạ f: Dg{1,…,k}sao cho mỗi t
i
được gán vào một nhóm (lớp) K
j
,1 ≤ j ≤ k.
Cách biểu diễn các nhóm/cụm
 Phân chia bằng các đường ranh giới
 Các khối cầu
 Theo xác suất
 Sơ đồ hình cây, …
Không giống bài toán phân lớp, các nhóm/cụm/lớp không được biết trước.
Gom cụm là một bước quan trọng trong “khai phá dữ liệu”, gồm 6 bước
a. Gom cụm dữ liệu.

b. Trích lọc dữ liệu.
c. Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu.
d. Chuyển đổi dữ liệu.
e. Khai phá dữ liệu.
f. Đánh giá các luật và biểu diễn tri thức.
Phân biệt gom nhóm và phân lớp
Phân lớp : học có giám sát (Supervised learning): tìm phương pháp để dự đoán
lớp của mẫu mới từ các mẫu đã gán nhãn lớp (phân lớp) trước.
Gom nhóm : học không giám sát (Unsupervised learning ): tìm các
nhóm/cụm/lớp “tự nhiên” của các mẫu chưa được gán nhãn
CH1301062 Trang 12
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
 Ứng dụng:
 Nhận dạng
 Phân tích dữ liệu không gian
 Xử lý ảnh
 Khoa học kinh tế ( đặc biệt nghiên cứu tiếp thị)
 Gom nhóm tài liệu liên quan để dễ tìm kiếm
 Gom dữ liệu Weblog thành nhóm để tìm các nhóm có cùng kiểu truy
cập
 Giảm kích thước dữ liệu lớn
Ví dụ :
Tiếp thị : phát hiện các nhóm khách hàng trong CSDL khách hàng để xây dựng
chương trình tiếp thị có mục tiêu.
Đất đai : xác định các vùng đất trồng trọt giống nhau trong CSDL quan sát trái
đất
Bảo hiểm : tìm nhóm khách hàng có khả năng hay gặp tai nạn
Nghiên cứu động đất : gom nhóm các tâm chấn động đất quan sát được theo
vết nứt lục địa
4.2 Các tiêu chuẩn và độ đo khoảng cách

 Các tiêu chuẩn gom nhóm
- Phương pháp gom nhóm tốt là phương pháp sẽ tạo các nhóm có chất lượng :
 Sự giống nhau giữa đối tượng trong cùng một nhóm cao.
 Giữa các nhóm thì sự giống nhau thấp.
- Chất lượng của kết quả gom nhóm dựa trên 2 yếu tố :
 Độ đo sự giống nhau dùng trong phương pháp gom nhóm và
 Sự thi hành nó
- Một số độ đo chất lượng :
 Bình phương sai (Sum of Squared Error -SSE)
 Entropy
CH1301062 Trang 13
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
 Độ đo khoảng cách
Độ đo khoảng cách thường dùng để xác định sự khác nhau hay giống nhau giữa
hai đối tượng .
+ Khoảng cách Minkowski :
d(i,j) =
với i =(x
i1
, x
i2
, …, x
ip
) và j = (x
j1
, x
j2
, …, x
jp
) : hai đốitượng p-chiều và q là số

nguyên dương
Nếu q=1, d là khoảng cách Manhattan :
d(i,j) =
Nếu q=2, d là khoảng cách Euclide :
d(i,j) =
Tính chất của độ đo khoảng cách
 d(i,j) ≥ 0
 d(i,i) = 0
 d(i,j) = d(j,i)
 d(i,j) ≤ d(i,k) + d(k,j)
4.3 Các phương pháp gom nhóm
Phân cụm phân vùng (phân cụm phẳng)
Xây dựng từng bước phân hoạch các cụm và đánh giá chúng theo các tiêu chí
tương ứng
Tiếp cận: từ dưới lên (gộp dần), từ trên xuống (chia dần)
Độ đo tương tự / khoảng cách
Hạn chế: Không điều chỉnh được lỗi
Thuật toán: K-mean, k-mediod, CLARANS, …
Phân cụm phân cấp
CH1301062 Trang 14
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
Xây dựng hợp (tách) dần các cụm tạo cấu trúc phân cấp và đánh giá theo các
tiêu chí tương ứng
Độ đo tương tự / khoảng cách
HAC: Hierarchical agglomerative clustering
CHAMELEON, BIRRCH và CURE, …
Phân cụm dựa theo mật độ
Hàm mật độ: Tìm các phần tử chính tại nơi có mật độ cao
Hàm liên kết: Xác định cụm là lân cận phần tử chính
Thuật toán: DBSCAN, OPTICS…

Phân cụm dựa theo lưới
Sử dụng lưới các ô cùng cỡ: tuy nhiên cụm là các “ô” phân cấp
Tạo phân cấp ô lưới theo một số tiêu chí: số lượng đối tượng trong ô
Thuật toán: STING, CLIQUE, WaweCluster…
Phân cụm dựa theo mô hình
Giải thiết: Tồn tại một số mô hình dữ liệu cho phân cụm
Xác định mô hình tốt nhất phù hợp với dữ liệu
Thuật toán: MCLUST…
Phân cụm mờ
Giả thiết: không có phân cụm “cứng” cho dữ liệu và đối tượng có thể thuộc
một số cụm
Sử dụng hàm mờ từ các đối tượng tới các cụm
Thuật toán: FCM (Fuzzy CMEANS),…
CH1301062 Trang 15
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
CHƯƠNG V : THUẬT TOÁN K-MEANS
5.1 Tổng quan
Đây là một giải thuật gom nhóm đơn giản không tham số. Ý tưởng chính của
giải thuật này đơn giản chỉ là xem mỗi mẫu dữ liệu là một điểm trên không gian N
chiếu, trong đó các điểm gần nhau sẽ được gom vào thành một nhóm.
Ban đầu giải thuật sẽ sinh ngẫu nhiên K điểm và xem như đó là trọng tâm của
K nhóm tương ứng. Sau đó các điểm sẽ được lần lượt phân vào các nhóm có trọng
tâm gần nó nhất. Cuối cùng, các trọng tâm nhóm sẽ được tính lại dựa trên các điểm dữ
liệu thuộc nhóm đó. Quá trình trên sẽ được lặp lại liên tục cho đến khi phạm vi dao
động của các trọng tâm nhỏ hơn một ngưỡng nào đó (hội tụ).
Ở đây, tiêu chuẩn gần nhất sẽ được xác định dựa theo một tiêu chuẩn độ đo
khoảng cách nào đó như Euclide, Minkowsky. Ngưỡng hội tụ sẽ được thiết lập dựa
trên bản chất của dữ liệu.
Nhìn chung, đây là một thuật giải dễ cài đặt, dễ hiểu có khả năng ứng dụng
trong thực tế nhưng cũng có nhiều hạn chế. Đầu tiên, thuật giải này có hạn chế ở chỗ

ta phải biết trước K. Ngoài ra, nếu trong tập dữ liệu có nhiều mẫu “cá biệt” (outlier)
thì giải thuật sẽ xử lý không được hiệu quả.
5.2 Thuật toán
Cho số k, mỗi nhóm được biểu diễn bằng giá trị TB của DL trong nhóm
B1: Chọn ngẫu nhiên k đối tượng như là những trung tâm của các nhóm.
B2 : Gán từng đối tượng còn lại vào nhóm có trung tâm nhóm gần nó nhất (dựa
trên độ đo khoảng cách Euclide)
B3 : Tính lại giá trị trung tâm của từng nhóm.
+ Di chuyển trung tâm nhóm về = giá trị TB mới của nhóm
+ Cho nhóm K
i
= {t
i1
,t
i2
, …,t
im
}, giá trị trung bình của nhóm là m
i
= (1/m)(t
i1
+
… + t
im
)
B4: Nếu các trung tâm nhóm không có gì thay đổi thì dừng lại, ngược lại quay
lại B2.
CH1301062 Trang 16
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
5.3 Đánh giá

 Ưu điểm
 Đơn giản, dễ sử dụng
 Hiệu quả về thời gian: tuyến tính O(tkn), t số lần lặp, k số cụm, n là số
phần tử
 Một thuật toán phân cụm phổ biến nhất
 Thường cho tối ưu cục bộ. Tối ưu toàn cục rất khó tìm
 Nhược điểm
 Phải “tính trung bình được”: dữ liệu phân lớp thì dựa theo tần số
 Cần cho trước k : số cụm
 Nhạy cảm với ngoại lệ (cách xa so với đại đa số dữ liệu còn lại): ngoại
lệ thực tế, ngoại lệ do quan sát sai (làm sạch dữ liệu)
 Nhạy cảm với mẫu ban đầu: cần phương pháp chọn mẫu thô tốt
 Không thích hợp với các tập dữ liệu không siêu-ellip hoặc siêu cầu (các
thành phần con không ellip/cầu hóa)
5.4 Bài toán minh họa
Cho bảng dữ liệu (đã chuẩn hóa) như sau
.
Customer Age Income No. cards
Lâm 0.35 0.03 0.67
Hưng 0.05 0.12 0.33
Mai 0.19 0.06 0.00
Lan 0.58 0.41 0.33
Thủy 0.00 0.00 0.67
Tuấn 0.33 0.15 0.33
Minh 1.00 1.00 0.00
Vân 0.81 0.65 0.33
Thiện 0.91 0.82 0.00
Ngọc 0.12 0.06 1.00
Ta sẽ sử dụng thuật toán K-means (k=2) để gom nhóm
Bước 1. Chọn Thiện và Ngọc làm trung tâm của nhóm/cụm A và B.

CH1301062 Trang 17
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
Customer Khoảng cách từ Thiện Khoảng cách từ Ngọc
Lâm 1.18 0.40
Hưng 1.16 0.68
Mai 1.05 1.00
Lan 0.62 0.88
Thủy 1.40 0.36
Tuấn 0.95 0.71
Minh 0.20 1.63
Vân 0.38 1.13
Thiện
Ngọc
Bước 2: Tính trung tâm mới của cụm/nhóm của A và B
Trung tâm của Cluster A:
Age 0.83 Income 0.72 No card 0.17
Trung tâm của Cluster B:
Age 0.17 Income 0.07 No card 0.5
Bước 3: Dựa trên các trung tâm cụm mới, gán các khách hàng vào các
nhóm/cụm.
Customer Khoảng cách từ A Khoảng cách từ B
Lâm 0.98 0.25
Hưng 0.99 0.22
Mai 0.93 0.50
Lan 0.43 0.56
Thủy 1.21 0.25
Tuấn 0.77 0.24
Minh 0.37 1.34
Vân 0.18 0.88
Thiện 0.21 1.16

Ngọc 1.28 0.50
Với các trung tâm nhóm mới này, thành phần của các nhóm không thay đổi.
Thuật toán dừng tại đây.
Sau khi sử dụng thuật toán K-mean ta thu được 2 nhóm A và B như sau:
A: Lan, Minh, Vân, Thiện.
B: Lâm, Hưng, Mai, Thủy, Tuấn, Ngọc
CH1301062 Trang 18
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
CHƯƠNG VI : THUẬT TOÁN FUZZY CMEANS (FCM)
6.1 Giới thiệu
Thuật toán phân cụm dữ liệu mờ FCM giống như k-means đều sử dụng chung
một chiến lược phân cụm dữ liệu. FCM phân chia tập dữ liệu ban đầu thành c cụm
mờ, trong đó mỗi đối tượng dữ liệu thuộc về các cụm được xác định bởi một hệ số là
độ phụ thuộc u
ik
[0,1] (k là chỉ số của cụm và i biểu thị số thứ tự của đối tượng dữ liệu
trong tập dữ liệu ban đầu), hệ số u
ik
này để chỉ quan hệ giữa các đối tượng với cụm dữ
liệu trong quá trình tính toán, hay còn gọi là mức độ phụ thuộc của đối tượng dữ liệu
thứ I vào trung tâm của cụm thứ k.
6.2 Hàm mục tiêu
Trong phân cụm mờ, tổng tất cả các phân hoạch mờ có c cụm dữ liệu của tập
dữ liệu có N đối tượng trong không gian D chiều được xác định như sau:
Trong đó: RcN là không gian của tất cả các ma trận thực cấp c*N, uik là các
phần tử của ma trận U.
Hàm mục tiêu của thuật toán FCM được định nghĩa như sau:
∑∑
= =
=

c
j
N
i
ik
m
ijm
dVUJ
1 1
2
)(),(
µ
(2)
Trong đó : U E
fc,
V = [v
1
, v
2
, …, v
c
] R
pc
là ma trận mẫu biểu diễn các đối tượng
tâm của cụm, m là trọng số mũ trong [1,∞). Hơn nữa, d
ik
được xác định như sau:
d
2
ik

= |x
k
– v
i
|
A
(3)
Trong đó: A là ma trận hữu hạn dương.
Họ các hàm mục tiêu xác định trong công thức (2) với tham số mũ m [1,∞).
Sau đây là các điều kiện cần thiết nhằm tối thiểu hàm mục tiêu J
m
(U,V).
Ta có định lý
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:
Thì hàm mục tiêu J
m
(U,V) đạt giá trị tối thiểu khi và chỉ khi:
CH1301062 Trang 19
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu

Để có một phân hoạch tối ưu thì hàm mục tiêu đạt giá trị tối thiểu, hay hai công
thức trên phải được thỏa mãn.
6.3 Thuật toán FCM
Đầu vào: Số cụm c và tham số mũ m cho hàm tiêu chuẩn J
Kết quả trả về: c cụm dữ liệu sao cho hàm tiêu chuẩn trong (2) đạt giá trị tối
thiểu.
B1: Nhập giá trị cho hai tham số c (1<c<N), m (1,∞) và khởi tạo ma trận mẫu
V
(0)
R

pc
, j=0.
B2: Lặp lại
B2.1: j = j + 1;
B2.2: Tính ma trận phân hoạch mờ Uj theo công thức
B2.3: Cập nhật các trọng tâm V(j) = [v1(j), v2(j), …, vc(j)] dựa vào ma
trận Uj và công thức
CH1301062 Trang 20
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
B3: Vòng lặp kết thúc khi (|| U
(j+1)
– U
(j)
||
F
≤);
B4: Xuất các cụm kết quả.
Trong đó: =và tham số được cho trước.
Việc chọn các tham số cụm rất ảnh hưởng đến kế quả phân cụm, tham số này
thường được chọn theo phép ngẫu nhiên hoặc theo kinh nghiệm.
Chưa có quy tắc nào nhằm lựa chọn tham số m bảo đảm việc phân cụm hiệu
quả, thông thường người ta chọn m = 2.
6.4 Đánh giá
Ưu điểm
Là một sử mở rộng của phân cụm dữ liệu bằng cách thêm vào yếu tố quan hệ
giữa các phần tử và các cụm dữ liệu thông qua các trọng số trong ma trận U. Bằng
cách này, chúng ta có thể khám phá ra các cụm dữ liệu phúc tạp theo cách mềm dẻo từ
một tập dữ liệu đã cho, khám pha ra các dữ liệu chồng lên nhau.
Thuật toán Fuzzy C-means (FCM) đã được áp dụng thành công trong giải
quyết một số lớn các bài toán phân cụm dữ liệu như trong nhận dạng mẫu, xử lý ảnh,

y học, …
Nhược điểm
Nhạy cảm với các nhiễu và phần tử ngoại lai jtrong dữ liệu, nghĩa là các trung
tâm cụm có thể nằm xa xo với trung tâm thực của cụm. Do đó các cụm dữ liệu được
khám phá có thể rất lệnh so với các cụm trong thực tế. Việc khử nhiễu và phần tử
ngoại lại là một vấn đề cần phải được giải quyết.
6.5 Bài toán minh họa
Cho tập điểm:
X
1
={1,3} = {x
11,
, x
12
}
X
2
={1.5,3.2} = {x
21,
, x
22
}
X
3
={1.3,2.8} = {x
31,
, x
32
}
CH1301062 Trang 21

Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
X
4
={3,1} = {x
41,
, x
42
}
Dùng Fuzzy C-mean phân cụm với k=2
Phân hoạch mờ ban đầu U
(0)
, giả sử m=2 và tiêu chuẩn hội tụ ε=0.01.
Phân hoạch mờ ban đầu là:
U0= 1 0 0 0
0 1 1 1
Tính trọng tâm ban đầu bắng công thức sau với m=2


=
=
=
n
k
m
ik
n
k
ki
m
ik

ij
x
v
1
1
)(
)(
µ
µ
a. Với cụm 1(c=1)
0.3
3
8.32.33
26.1
3
3.15.11
3
0111
*0*1*1*1
****
12
321
11
4321
2
4
2
3
2
2

2
1
4
2
43
2
32
2
21
2
1
1
=
++
=
=
++
=
++
=
+++
+++
=
+++
+++
=
v
xxx
v
xxxx

xxxx
v
jjj
jjjj
jjjj
j
µµµµ
µµµµ
b. Với cụm 2(c=2)
Vector v
1
cho cụm 1
}1,3{
1,3
1000
2
2221
2222
4
2
=
==
+++
=
v
vv
x
v
j
j

Tiếp theo tính khoảng cách từng điểm đến trọng tâm của nó. Tính khoảng cách
từng điểm đến các cụm C1,C2 và chọn cụm có khoảng cách nhỏ nhất để đưa đối
tượng vào cụm
CH1301062 Trang 22
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
0.0)11()33(
47.2)18.2()33.1(
66.2)12.3()35.1(
82.2)13()31(
65.2)31()26.13(
20.0)38.2()26.13.1(
31.0)32.3()26.15.1(
26.0)33()26.11(
22
24
22
23
22
22
22
21
22
14
22
13
22
12
22
11
=−+−=

=−+−=
=−+−=
=−+−=
=−+−=
=−+−=
=−+−=
=−+−=
d
d
d
d
d
d
d
d
Với độ đo khoảng cách, cập nhật U
00
0
65.2
1
993.0
47.2
20.0
1
968.0
66.2
31.0
1
991.0
82.2

26.0
36.0
26.0
)1.6(
4
1
2
1
2
24
14
2
14
14
14
1
2
1
2
23
2
13
13
1
2
1
2
22
2
12

12
1
22
1
2
21
2
11
1
2
1
1
11
1
1
)(
)(
)1(
1313
1212
111111
==















+=
















+









=
=














+=

















+








=
=















+=
















+








=
=















+






=

















+








=

















=
















=









=


=
+


ICho
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
PT
d
d
c
j
j

c
k
r
jk
r
ik
r
ik
µ
µ
µ
µ
µ
Dùng PT 6.1 chi các giá trị phân hoạch μ
2j
(j=1 4). Các hàm thành viên mới
được tạo ra từ việc cập nhât phân hoạch mờ cho bời:
U0= 0.991 0.986 0.993 0
0.009 0.014 0.007 1
Xét đạt tiêu chuẩn hội tụ chưa, xét chuẩn của ma trận, chẳng hạn giá trị tuyệt
đối lớn nhất của từng cặp trong ma trận:
CH1301062 Trang 23
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
01.00134.0||max
11
,
>=−
ikikki
µµ
Do kết quả chưa hội tụ, tiến hành lặp lại: Tính trọng tâm với các giá trị trong

ma trận phân hoạch mới
Với cụm 1(c=1)
Vector v
1
cho cụm 1
)3,26.1(
0.3
94.2
816.8
94.2
8.2*)993.0(2.3*)986.0(3*)991.0(
26.1
94.2
17.3
94.2
3.1*)993.0(5.1*)986.0(1*)991.0(
)0()993.0()986.0()991.0(
*)0(*)993.0(*)986.0(*)991.0(
1
222
11
222
11
2222
4
2
3
2
2
2

1
2
1
=
==
++
=
==
++
=
+++
+++
=
V
v
v
xxxx
v
jjjj
j
Với cụm 2 (c=2)
)0.1,0.3(
0.1
94.2
8.2*)007.0(2.3*)014.0(3*)009.0(
0.3
00.1
3*)1(3.1*)007.0(5.1*)014.0(1*)009.0(
)1()007.0()014.0()009.0(
*)1(*)007.0(*)014.0(*)009.0(

2
222
22
2222
21
2222
4
2
3
2
2
2
1
2
2
=
=
++
=
=
+++
=
+++
+++
=
V
v
v
xxxx
v

jjjj
j
Tiếp tục cho đến khi thỏa tiêu chuẩn hội tụ. Khi đó, ma trận phân hoạch sẽ xác
định một phân cụm mới các đối tượng.
CH1301062 Trang 24
Toán học cho khoa học máy tính Ứng dụng logic mờ trong phân cụm dữ liệu
TÀI LIỆU THAM KHẢO
1. Slide bài giảng Fuzzy Logic – PGS. TS. Nguyễn Văn Nhơn
2. Gom nhóm dữ liệu – TS. Nguyễn Đình Thuân
3. Bài giảng của Khai thác dữ liệu và ứng dụng của Giảng viên Th.S Nguyễn Hoàng
Tú Anh, ĐH Khoa học Tự nhiên TP.HCM.
4. Phân cụm dữ liệu – PGS. TS. Hà Quang Thụy
5. Algorithms for Fuzzy Cluster , Methods in c-Means Clustering withApplications -
Sadaaki Miyamoto, Hidetomo Ichihashi, Katsuhiro Honda
6. Fuzzy Cluster Analysis – John Wiley and Sons
7. Thuật toán phân cụm dữ liệu mờ - Phạm Thị Thu
CH1301062 Trang 25

×