ĐẠI HỌC QUỐC GIA TP HCM
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TRẦN THỊ THANH TRÚC
PHÁT TRIỂN THUẬT TOÁN XÁC ĐỊNH SỐ CỤM
TRONG THUẬT TOÁN GOM CỤM MỜ VÀ CÀI ĐẶT ỨNG DỤNG
LUẬN VĂN THẠC SĨ
NGÀNH KHOA HỌC MÁY TÍNH
Mã số: 60.48.01
NGƢỜI HƢỚNG DẪN KHOA HỌC:
PGS.TS NGUYỄN ĐÌNH THUÂN
TP HỒ CHÍ MINH – Năm 2017
LỜI CAM ĐOAN
Tôi xin cam đoan:
(1)
Luận văn này là sản phẩm nghiên cứu của riêng tôi;
(2)
Các số liệu, kết quả đƣợc trình bày trong luận văn là trung thực;
(3)
Tôi xin chịu trách nhiệm về nghiên cứu của mình.
Học viên
Trần Thị Thanh Trúc
MỤC LỤC
DANH MỤC CÁC CHỮ VIẾT TẮT ................................................................... 3
DANH MỤC CÁC BẢNG ................................................................................... 4
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ ......................................................... 5
MỞ ĐẦU ............................................................................................................... 6
CHƢƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI ............................................................ 7
1.1.
Lý do chọn đề tài ................................................................................... 7
1.2.
Mục tiêu, đối tƣợng và phạm vi nghiên cứu ......................................... 8
1.2.1. Mục tiêu ............................................................................................. 8
1.2.2. Đối tƣợng ........................................................................................... 8
1.2.3. Phạm vi .............................................................................................. 8
1.3.
Các đóng góp từ kết quả nghiên cứu của luận văn ............................... 8
1.4.
Bố cục của luận văn .............................................................................. 9
CHƢƠNG 2: GOM CỤM DỮ LIỆU MỜ .......................................................... 10
2.1.
Gom cụm dữ liệu và một số kỹ thuật gom cụm.................................... 10
2.2. Bài toán gom cụm mờ ............................................................................. 10
2.2.1. Giới thiệu gom cụm mờ ................................................................... 10
2.2.2. Thuật toán Fuzzy C_Mean (FCM) ................................................... 15
2.3.
Các phƣơng pháp xác định số cụm trong gom cụm dữ liệu ............... 19
2.3.1. Xác định số cụm dựa trên phƣơng pháp truyền thống ..................... 20
2.3.2. Xác định số cụm bằng phƣơng pháp Eblow .................................... 20
2.3.3. Xác định số cụm dựa trên phƣơng pháp Cross Validation .............. 23
2.3.4. Xác định số cụm sử dụng thuật toán thống kê khoảng cách ............ 23
CHƢƠNG 3: THUẬT TOÁN XÁC ĐỊNH SỐ CỤM ĐỀ XUẤT ..................... 26
3.1. Tổng quan các nghiên cứu phƣơng pháp xác định số cụm dựa trên độ
nén và độ chồng của dữ liệu ........................................................................... 26
3.2. Xác định số cụm dựa trên độ nén và độ chồng của dữ liệu ..................... 27
3.2.1. Độ nén (compactness): ...................................................................... 27
3.2.2. Độ chồng (overlap): ........................................................................... 32
1
3.2.3. Độ phân tách (separation): ................................................................. 33
3.3. Thuật toán xác định số lƣợng cụm tối ƣu ................................................ 34
3.4. Thuật toán xác định số cụm tối ƣu trong thuật toán gom cụm mờ dựa
trên hàm chỉ số đánh giá sự kết hợp giữa độ chồng và độ nén dữ liệu ........... 35
3.4.1 Sơ đồ của thuật toán............................................................................ 35
3.4.2. Thuật toán dạng liệt kê ...................................................................... 35
3.4.3. Xác định độ phức tạp của thuật toán với n bộ dữ liệu đầu vào ......... 36
3.5. Đánh giá thuật toán .................................................................................. 37
CHƢƠNG 4: CÀI ĐẶT ỨNG DỤNG ................................................................ 38
4.1. Mục đích chƣơng trình ............................................................................ 38
4.2. Cơ sở dữ liệu ........................................................................................ 38
4.3. Các chức năng chính của chƣơng trình ................................................. 39
4.4. Kết luận .................................................................................................... 44
CHƢƠNG 5: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN.................................... 45
5.1. Kết luận ................................................................................................... 45
5.2. Hƣớng phát triển ..................................................................................... 45
TÀI LIỆU THAM KHẢO................................................................................... 46
2
DANH MỤC CÁC CHỮ VIẾT TẮT
Ký hiệu
Diễn giải
DBLP
Digital Bibliography & Library Project
FPCM
Fuzzy Possibilistic C-Means
GG
Gath-Geva
𝜀FCM
𝜀-Insensitive Fuzzy C- means (𝜀FCM)
THPT
Trung học phổ thông
3
DANH MỤC CÁC BẢNG
Bảng 3.1. Bảng tính độ phức tạp của thuật toán ............................................................ 36
Bảng 3.2. Đánh giá thuật toán đề xuất ........................................................................... 37
4
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ
Hình 2.1. Ví dụ về gom cụm dữ liệu ............................................................................. 10
Hình 2.2. Gom cụm tập dữ liệu với số lƣợng cụm khác nhau ....................................... 19
Hình 2.3. "Eblow" đƣợc chỉ định bởi các vòng tròn màu đỏ. ........................................ 20
Hình 2.4. Ví dụ áp dụng phƣơng pháp Eblow cho K-means ......................................... 21
Hình 2.6. Ví dụ áp dụng phƣơng pháp Eblow cho PAM .............................................. 22
Hình 2.6. Ví dụ áp dụng thuật toán thống kê khoảng cách cho K-means ..................... 24
Hình 2.7. Ví dụ áp dụng thuật toán thống kê khoảng cách cho PAM ........................... 25
Hình 3.1. Ví dụ về độ nén .............................................................................................. 28
Hình 3.2. Độ nén trong cụm dữ liệu............................................................................... 28
Hình 3.3. Biểu đồ minh họa về độ nén ........................................................................... 29
Hình 3.4. Hàm liên thuộc dạng sin. ................................................................................ 29
Hình 3.5. Hàm liên thuộc tuyến tính .............................................................................. 30
Hình 3.6. Hình minh họa về độ chồng. .......................................................................... 32
Hình 3.7. Hình minh họa về độ phân tách ..................................................................... 33
Hình 3.8. Quá trình ƣớc lƣợng số cụm tối ƣu ................................................................ 34
Hình 4.1. Cơ sở dữ liệu điểm trƣờng THPT .................................................................. 38
Hình 4.2. Màn hình khởi động ....................................................................................... 40
Hình 4.3. Hình minh họa chức năng gom cụm dữ liệu .................................................. 41
Hình 4.4. Hình minh họa kết quả gom cụm dữ liệu với tùy chọn 01 ............................. 42
Hình 4.5. Hình minh họa kết quả gom cụm dữ liệu với tùy chọn 02 ............................. 43
Hình 4.6. Hình minh họa kết quả gom cụm dữ liệu với tùy chọn 03 ............................. 44
5
MỞ ĐẦU
Với sự bùng nổ và phát triển của công nghệ thông tin đã mang lại nhiều hiệu
quả đối với khoa học cũng nhƣ các hoạt động thực tế, trong đó khai phá dữ liệu là
một lĩnh vực mang lại hiệu quả thiết thực cho con ngƣời. Khai phá dữ liệu đã giúp
con ngƣời thu đƣợc những tri thức hữu ích từ những cơ sở dữ liệu hoặc các kho dữ
liệu khổng lồ khác. Khai phá dữ liệu càng ngày càng trở nên quan trọng và là lĩnh
vực nhận đƣợc nhiều sự quan tâm.
Để tiến hành khai phá dữ liệu thì chúng ta có nhiều phƣơng pháp khác nhau,
nhƣng phƣơng pháp gom cụm dữ liệu đƣợc sử dụng nhiều. Trong gom cụm ta có
hai hƣớng đó là gom cụm rõ và gom cụm mờ. Gom cụm rõ đƣợc hiểu là ta có tập dữ
liệ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 nhóm đó. Nhƣng trong thực tế không phải lúc nào bài
toán gom cụm rõ cũng áp dụng đƣợc.
Gom cụm mờ là phƣơng pháp gom 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 hay độ thuộc. Gom cụm
mờ đƣợc sử dụng rộng rãi trong gom cụm dữ liệu với số cụm đƣợc cho trƣớc. Để
tăng tính hiệu quả của quá trình gom cụm thì ngƣời ta có nhu cầu xác định trƣớc số
cụm khi tiến hành gom cụm. Do đó mục tiêu của luận văn là phát triển thuật toán
xác định số cụm trong thuật toán gom cụm mờ và cài đặt ứng dụng.
6
Chƣơng 1: Tổng quan về đề tài
CHƢƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1. 1.
Lý do chọn đề tài
Trƣờng THPT Chuyên Long An đƣợc thành lập năm 2009. Từ ngày thành
lập đến nay, trƣờng không ngừng phát triển và trở thành một trong những trƣờng
trọng điểm của tỉnh Long An. Năm học 2013- 2014, trƣờng có điểm thi đại học với
mức trung bình là 21,5 xếp hạng thứ 10 toàn quốc. Do đó, kết quả thi tuyển sinh vào
đai học hàng năm rất đƣợc các bậc phụ huynh học sinh, ban giám hiệu và các giáo
viên quan tâm nên việc theo sát tình hình học tập của học sinh rất quan trọng. Học
sinh vừa phải chịu áp lực của việc ôn tập kiến thức còn đối mặt với vấn đề chọn lớp
học phù hợp với năng lực, sở thích đồng thời phải đạt đƣợc kết quả tốt trong kỳ thi
quan trọng này. Bộ phận phụ trách quản lý điểm của trƣờng THPT Chuyên Long
An phối hợp với phụ huynh, ban giám hiệu, giáo viên bộ môn tƣ vấn việc chọn lớp
ôn tập cho thi trung học phổ thông quốc gia để các em hiểu biết và chọn đúng
nguyện vọng khi tham gia kỳ thi, tránh tình trạng chọn nhằm lớp do ảo tƣởng về
năng lực, giúp học sinh ổn định về mặt tâm lý, chuẩn bị tâm thế sẵn sàng bƣớc vào
kì thi, góp phần nâng cao chất lƣợng của kì tuyển sinh. Từ đó cho thấy, giáo viên,
phụ huynh, học sinh cần có công cụ mang tính khoa học để làm cơ sở tham khảo
trong việc định hƣớng lựa chọn lớp học phù hợp với năng lực học tập của học sinh.
Xuất phát từ nhu cầu thực tế này, luận văn xây dựng ứng dụng chọn lớp ôn
luyện thi trung học phổ thông quốc gia cho trƣờng THPT Chuyên Long An, nhằm
góp thêm một giải pháp giúp học sinh chọn đúng lớp học theo năng lực, giảm bớt áp
lực thi cử, đồng thời hỗ trợ công tác quản lý về chuyên môn của nhà trƣờng, đồng
thời giúp phụ huynh học sinh có định hƣớng đúng đắn cho học sinh trong việc lựa
chọn các tổ hợp ôn luyện trong kỳ thi trung học phổ thông quốc gia.
Ứng dụng đƣợc xây dựng dựa trên cơ sở dữ liệu điểm của học sinh trƣờng
THPT Chuyên Long An với đặc điểm của bài toán gom cụm mờ. Với dữ liệu điểm
trung bình môn học của học sinh thì một học sinh có thể chọn đƣợc các lớp ôn
luyện khác nhau tùy theo mức độ của điểm trung bình.
Có nhiều thuật toán gom cụm mờ đã đƣợc đề xuất để giải quyết bài toán gom
cụm mờ. Tuy nhiên trong các thuật toán gom cụm cũng nhƣ gom cụm mờ thì số
7
Chƣơng 1: Tổng quan về đề tài
cụm thƣờng đƣợc xác định ngẫu nhiên hoặc cho trƣớc nên làm giảm hiệu quả của
việc gom cụm. Vì vậy, đã có nhiều phƣơng pháp xác định số cụm tối ƣu đƣợc đề
xuất với các ƣu điểm và nhƣợc điểm khác nhau. Trên cơ sở đó luận văn đã đề xuất
một phƣơng pháp xác định số cụm tối ƣu cho thuật toán gom cụm mờ dựa trên độ
nén và độ chồng dữ liệu để tăng hiệu quả của các thuật toán gom cụm mờ và đã tiến
hành cài đặt trên cơ sở dữ liệu điểm của trƣờng THPT Chuyên Long An.
1. 2.
Mục tiêu, đối tƣợng và phạm vi nghiên cứu
1.2.1. Mục tiêu
Nghiên cứu về bài toán gom cụm mờ, thuật toán gom cụm mờ, phƣơng pháp
xác định số cụm trong gom cụm mờ.
Đề xuất thuật toán xác định số cụm trong thuật toán gom cụm mờ dựa trên
độ nén và độ chồng của dữ liệu.
Xây dựng ứng dụng chọn lớp ôn luyện thi THPT quốc gia cho ban giám
hiệu, phụ huynh học sinh, học sinh trƣờng THPT Chuyên Long An
1.2.2. Đối tƣợng
Dữ liệu bao gồm: thông tin cá nhân, lớp chuyên đăng ký học và kết quả điểm
trung bình các môn học theo năm của học sinh.
Lý thuyết: bài toán gom cụm mờ, thuật toán gom cụm mờ, các phƣơng pháp
xác định số cụm tối ƣu đã đƣợc nghiên cứu, thuật toán xác định số cụm tối ƣu đề
xuất dựa trên độ nén và độ chồng dữ liệu
Đối tƣợng phục vụ của sản phẩm ứng dụng: Cung cấp cho nhà trƣờng, phụ
huynh và học sinh công cụ tƣ vấn lựa chọn lớp ôn thi THPT quốc gia phù hợp với
năng lực học tập của học sinh.
1.2.3. Phạm vi
Phạm vi nghiên cứu của luận văn là: lý thuyết về bài toán gom cụm mờ,
thuật toán gom cụm mờ FCM, phƣơng pháp xác định số cụm tối ƣu đã đƣợc nghiên
cứu, lý thuyết về độ nén và độ chồng dữ liệu
Dữ liệu về điểm của trƣờng THPT Chuyên Long An dùng để thực nghiệm
phƣơng pháp xác định số cụm mờ và cài đặt ứng dụng.
1. 3.
Các đóng góp từ kết quả nghiên cứu của luận văn
8
Chƣơng 1: Tổng quan về đề tài
1.3.1. Về mặt kỹ thuật
Luận văn đã tiến hành so sánh đánh giá ƣu nhƣợc điểm của một số phƣơng
pháp xác định số cụm tối ƣu đã đƣợc đề xuất trƣớc đây.
Luận văn đã đề xuất thuật toán xác định số cụm tối ƣu cho thuật toán gom
cụm mờ dựa trên độ nén và độ chồng dữ liệu
1.3.2. Về mặt giáo dục
Luận văn đã góp một công cụ mang tính khoa học để làm cơ sở tham khảo
trong việc định hƣớng lựa chọn lớp học phù hợp với năng lực học tập của học sinh,
thúc đẩy nhu cầu ứng dụng công nghệ thông tin vào các hoạt động của trƣờng học.
1. 4.
Bố cục của luận văn
Chƣơng 1: Tổng quan về đề tài.
Trong chƣơng này luận văn đề cập tới lý do chọn đề tài; mục tiêu, đối tƣợng,
phạm vi nghiên cứu và các đóng góp từ kết quả nghiên cứu của đề tài.
Chƣơng 2: Gom cụm dữ liệu mờ
Chƣơng này đề cập về bài toán gom cụm mờ, thuật toán gom cụm mờ, các
phƣơng pháp xác định số cụm trong bài toán gom cụm mờ.
Chƣơng 3: Thuật toán xác định số cụm tối ƣu đề xuất.
Chƣơng này đề cập tới thuật toán xác định số cụm tối ƣu đề xuất và các khái
niệm liên quan trong thuật toán đã đề xuất.
Chƣơng 4: Cài đặt ứng dụng
Chƣơng này trình bày về cài đặt ứng dụng dựa trên cơ sở dữ liệu điểm trƣờng
THPT Chuyên Long An.
9
Chƣơng 2: Gom cụm dữ liệu mờ
CHƢƠNG 2: GOM CỤM DỮ LIỆU MỜ
2.1. Gom cụm dữ liệu và một số kỹ thuật gom cụm
Gom cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành các
cụm dữ liệu sao cho các đối tƣợng trong một cụm “tƣơng tự” (Similar) với nhau
và các đối tƣợng trong các cụm khác nhau sẽ “không tƣơng tự” (Dissimilar)
với nhau. 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.
Hình 1Hình 2.1. Ví dụ về gom cụm dữ liệu
Các kỹ thuật gom cụm có nhiều cách tiếp cận và các ứng dụng trong 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 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 gom cụm có thể phân loại
theo các phƣơng pháp tiếp cận chính nhƣ sau:
- Phƣơng pháp gom cụm phân cấp
- Phƣơng pháp gom cụm dựa trên mật độ
- Phƣơng pháp gom cụm phân hoạch
- Phƣơng pháp gom cụm dựa trên lƣới
- Phƣơng pháp gom cụm dựa trên mô hình
- Phƣơng pháp gom cụm có dữ liệu ràng buộc
2.2. Bài toán gom cụm mờ
2.2.1. Giới thiệu gom cụm mờ
Nhiều vấn đề đã dẫn đến bài toán gom cụm mờ và ứng dụng đƣợc nói nhiều
trong bài toán gom cụm mờ là: nhận dạng ảnh, xử lý thông tin, phân loại khách
hàng trong ngân hàng. Đã có nhiều nghiên cứu chuyên sâu trong 2 thập kỷ qua.
Điểm quan trọng là sự khác nhau của hai hƣớng tiếp cận, theo hƣớng mờ (Fuzzy) 1
10
Chƣơng 2: Gom cụm dữ liệu mờ
vector thuộc đồng thời vào nhiều cụm, ngƣợc lại theo hƣớng xác suất vector chỉ
đƣợc thuộc vào duy nhất chỉ một cụm.
Ƣu điểm của gom cụm mờ so với gom cụm rõ đƣợc thể hiện trong thực tế
khi mà không thể chỉ ra ranh giới rõ ràng giữa các cụm. Gom cụm rõ bắt buộc các
điểm chỉ đƣợc phép thuộc vào duy nhất một cụm. Còn gom cụm mờ cho phép các
điểm dữ liệu linh hoạt hơn, một điểm dữ liệu có thể thuộc vào nhiều cụm và ta đƣa
ra khái niệm độ thuộc để chỉ mức độ liên quan của điểm dữ liệu vào cụm mà nó
thuộc. Giá trị độ thuộc nằm trong khoảng (0,1), trƣờng hợp điểm dữ liệu không
thuộc một cụm nào hay chỉ thuộc vào duy nhất một cụm là rất hiếm.
Nhiều thuật toán gom cụm mờ đã đƣợc xuất phát từ việc cực tiểu giá trị hàm
trong dạng:
J u kjm d x k ,v j
c
n
(2.1)
j 1 k 1
d ( xk , v j ) : là một độ đo không tƣơng tự.
ukj : độ thuộc của điểm dữ liệu thứ k vào cụm thứ j.
Giải bài toán
J (u, v) min
0 u 1
kj
c
ukj 1
j 1
n
0 ukj n
k 1
với ràng buộc sau:
j 1, 2,.., c
(2.2)
k 1, 2,.., n
Xây dựng hàm Lagrange:
c
L(u, v) u d ( xk , v j ) k ukj 1
j 1 k 1
k 1
j 1
c
n
n
m
kj
Lấy đạo hàm L theo ukj ta có:
11
(2.3)
Chƣơng 2: Gom cụm dữ liệu mờ
L(u, )
mukjm1d ( xk , v j ) k
u kj
(2.4)
L(u, )
0 và kết quả với từng ukj ta có:
Cho
u kj
k
ukj
md ( x , v )
k
j
1
m 1
,
c
Kết hợp với điều kiện
u
j 1
kj
j 1,..., c, k=1,..,n.
(2.5)
1 ta có:
k
md
(
x
,
v
)
j 1
k
j
c
1
m 1
1
Hoặc
c
k m d ( xk , v j ) (2.6)
j 1
Thay
k
vào công thức (1.5) ta có:
d
(
x
,
v
)
k
i
i 1
ukj
d ( xk , v j )
c
1
m 1
ukj
1
d ( xk , v j )
i 1 d ( xk , vi )
c
1
m 1
(2.7)
Với k=1,…n và j=1,..,c
Tiếp theo ta tính các tâm cụm vj. Sử dụng hƣớng giải Gradient J theo vj và
cho phƣơng trình bằng 0 ta có:
12
Chƣơng 2: Gom cụm dữ liệu mờ
J (u, v) n m d ( xk ,v j )
ukj
0,
v j
v j
k 1
k 1,....n (2.8)
Từ phƣơng trình trên ta chƣa thể tính ngay đƣợc vj, ta sẽ sử dụng thuật toán
lặp đi lặp lại, sau đó với kết quả thu đƣợc tiến hành đánh giá U và V.
Generalized Fuzzy Algorithmic Scheme (GFAS)
Chọn vj (0) khởi tạo đánh giá cho vj , j=1,…,c.
t=0
Repeat
- For i=1 to N
*For j=1 to m
ukj (t )
1
d ( xk , v j (t )
i1 d ( x , v (t )
k i
c
1
m 1
*End(For –j)
- End(For –i)
- t=t+1
- For j=1 to c
* Cập nhật lại giá trị : giải phƣơng trình:
n
d ( xk , v j )
k 1
v j
ukjm (t 1)
2
theo vj và bằng hệ vj(t)
- End (for –j)
Until (thỏa mãn chuẩn).
Chuẩn có thể là ||vj(t+1) - vj(t)|| <
, ||.|| là một chuẩn vector bất kỳ và
>0 bé tùy ý.
Trong trƣờng hợp gom cụm chặt, điểm đại diện đƣợc sử dụng thay cho các
cụm, đó là vj, bao gồm l giá trị. Trong trƣờng hợp này độ đo không tƣơng tự
13
Chƣơng 2: Gom cụm dữ liệu mờ
(dissimilarity) d ( xk , v j ) có thể là khoảng cách giữa 2 điểm. Có 2 lựa chọn phổ biến
cho d ( xk , v j ) là:
d ( xk , v j ) ( xk v j )T A( xk v j )
(2.9)
trong đó A là ma trận đối xứng, xác định dƣơng và khoảng cách Minkowski:
1
p p
l
d ( xk , v j ) | xki v ji |
i 1
(2.10)
trong đó p là số nguyên dƣơng, xik, vjk là thành phần thứ k của xi và vj với
d ( xk , v j )
J ( xk , v j )
v j
tính
theo
công
thức
(2.10)
thay
vào
thuật
toán
GFAS
2 A(v j xk ) thay vào công thức ta có :
n
u
k 1
m
kj
(t 1)2 A(v j xk ) 0 , từ đó tính giá v j
n
v j (t )
u
k 1
n
(t 1) xk
m
kj
u
k 1
m
kj
(t 1)
(2.11)
Kết quả trên còn đƣợc biết đến nhƣ Fuzzy c_mean (FCM) hay Fuzzy k_mean
và đƣợc mở rộng trong tài liệu [5][6] . Tiếp theo ta xét trƣờng hợp sử dụng công
thức khoảng cách Minkowski với p<+∞:
d ( x k , v j )
v jr
(v jr xkr ) p 1
n
1
( | xks v js | )
p
1
p
s 1
thay vào trong công thức ta có:
14
, r 1,.., l
(2.12)
Chƣơng 2: Gom cụm dữ liệu mờ
n
u
k 1
m
kj
(t 1)
(v jr xkr ) p 1
1
n
( | xks v js | p )
1
p
0, r 1,..., l
s 1
Ta có l phƣơng trình phi tuyến, l ẩn là tọa độ của vj, có thể giải bằng công
thức Gauss_Newton hay Levenberg-Marquardt. Kết quả của thuật toán đƣợc biết
đến nhƣ là pFCM, với p là hằng số Minkowski.
2.2.2. Thuật toán Fuzzy C_Mean (FCM)
Khóa luận sử dụng thuật toán FCM để nghiên cứu gom cụm mờ. Thuật toán
FCM là sự cải tiến từ thuật toán C_mean của Forgy. Ta mô hình hóa bài toán nhƣ
sau:
p
Cho tập dữ liệu X={x1,x2,….,xn}, n N , với xk R gọi
V (v1, v2 ,..., vC ) là các
trung tâm cụm. Hàm mục tiêu có dạng nhƣ sau:
c
n
J ukjm || xk v j ||2
j 1 k 1
(2.13)
ukj : độ thuộc của điểm dữ liệu thứ k vào cụm thứ j.
m: hằng số nguyên dƣơng, đƣợc gọi là độ m.
||.|| là một chuẩn vector bất kỳ, để đơn giản ở đây ta sử dụng chuẩn Euclidean.
Xuất hiện thêm khái niệm về ma trận phân hoạch U.
c
n
j 1
k 1
U {ukj (0,1) | ukj 1, k 1,.., n,0 ukj
Bài toán gom cụm mờ đƣợc phát biểu thành bài toán sau:
Min J(u,v) với điều kiện:
15
Chƣơng 2: Gom cụm dữ liệu mờ
0 u 1
kj
c
ukj 1
j 1
n
0 ukj n
k 1
j 1, 2,.., c
và
k 1, 2,.., n.
Để giải bài toán này ta tiến hành đạo hàm J theo U và V.
c
n
J ukjm ( xk v j )t ( xk v j )
j 1 k 1
c
n
J ukjm ( xk t xk v j t xk xk t v j v j t v j )
j 1 k 1
với j=1,..,c
n
J (' v j ) ukjm (2 xk 2v j ) 0
k 1
n
n
u x ukjmv j
m
kj k
k 1
k 1
với j=1,..,c
n
vj
u
k 1
n
m
kj
u
k 1
xj
,
j 1, 2,.., c
(2.15)
m
kj
Tìm ukj:
Xây dựng hàm Lagrange:
c
L(u ) u || xk v j || k ukj 1
j 1 k 1
k 1
j 1
c
n
n
m
kj
2
Lấy đạo hàm L theo ukj ta có
16
(2.16)
Chƣơng 2: Gom cụm dữ liệu mờ
L(u, )
mukjm1 || xk v j ||2 k
u kj
k = 1,…,n; j = 1,..,c
L(u, )
0 và kết quả với từng ukj ta có:
Cho
u kj
k
ukj
m || x v ||2
k
j
1
m 1
, j 1,..., c
c
Kết hợp với điều kiện
u
j 1
k
2
j 1 m || xk v j ||
c
kj
1 ta có:
1
m 1
c
1 hoặc k m || xk v j ||2
j 1
Thay k vào công thức, ta có:
2
|| xk vi ||
j 1
ukj
|| xk v j ||2
c
1
m 1
ukj
1
2
|| xk v j || m 1
i 1 || xk vi ||
c
(2.17)
Ta cũng có thể sử dụng thuật toán FCM để giải bài toán trên, thuật toán FCM
đƣợc phát triển bởi Dunn vào năm 1973 [8] và đƣợc chứng minh bởi Bezdek vào
năm 1981 [7]. Đầu vào thuật toán là bộ số liệu X, cho trƣớc số lƣợng cụm C. Sử
dụng quá trình lặp để xấp xỉ cực tiểu hàm mục tiêu, thuật toán đƣợc tiến hành theo 4
bƣớc sau:
1. Khởi tạo ma trận phân hoạch U=[ukj], U(0).
2. Tại bƣớc thứ k: tính vector tâm cụm v(k) với U(k):
17
Chƣơng 2: Gom cụm dữ liệu mờ
n
vj
u
k 1
n
m
kj
xk
với j=1,..,c.
ukjm
k 1
3. Cập nhật lại U(k), U(k+1)
ukj
1
|| xk v j ||
||
x
v
||
i 1
k
i
c
2
m 1
4. Nếu ||U(k+1)- U(k)|| <
với k=1,..,n; j=1,..,c
thì dừng, sai thì quay lại bƣớc 2
Thuật toán trên gồm 4 bƣớc, trong đó bƣớc 1 khá quan trọng. Do việc khởi
tạo ma trận U là ngẫu nhiên, thỏa mãn các điều kiện ràng buộc nên nếu khởi tạo tốt
thì thời gian kết thúc thuật toán sẽ nhanh. Việc khởi tạo tốt tức là ma trận khởi tạo
gần với ma trận phân hoạch kết quả theo sai số cho trƣớc. Bƣớc 2 và bƣớc 3, sau
khi có ma trận khởi tạo ta tính vector tâm cụm, từ vector tâm cụm ta tính lại ma trận
phân hoạch mới. Bƣớc 4 kiểm tra điều kiện ta sử dụng chuẩn ma trận bất kỳ để đánh
giá sai số của ma trận phân hoạch mới với ma trận phân hoạch bƣớc trƣớc nếu thỏa
mãn sai số
cho trƣớc thì thuật toán sẽ dừng.
Thuật toán trên đã đƣợc chứng minh là hội tụ về điểm cực tiểu hoặc điểm
yên ngựa của hàm mục tiêu J.
Tuy có ƣu điểm so với thuật toán C_mean cho bài toán gom cụm rõ nhƣng
FCM vẫn tồn tại nhƣợc điểm giống C_mean đó là số lƣợng tâm cụm ban đầu đƣa
vào là tùy ý. Nếu nhƣ không có mục đích gom cụm rõ ràng thì việc tìm “c” sao cho
tối ƣu việc phân tách bộ số liệu ban đầu là rất khó. Hai là kết quả cuối cùng phụ
thuộc vào việc chọn công thức tính khoảng cách từ điểm dữ liệu k đến cụm j mà
công thức này cũng là do ngƣời dùng chọn nên kết quả sẽ khác nhau ở các cách
chọn khác nhau.
18
Chƣơng 2: Gom cụm dữ liệu mờ
Thuật toán gom cụm mờ FCM đã có nhiều biến thể, nhiều hƣớng nghiên cứu
khác nhau. Nhƣng trong khóa luận sẽ đi theo hƣớng gom cụm mờ có ngữ cảnh. Đây
là một hƣớng đi mới có ý nghĩa thực tiễn cao.
2.3. Các phƣơng pháp xác định số cụm trong gom cụm dữ liệu
Trong các thuật toán gom cụm mờ nhƣ C-means mờ (FCM), Fuzzy
Possibilistic C-Means (FPCM), Gustafson-Kessel (GK), Gath-Geva (GG), 𝜀Insensitive Fuzzy C- means (𝜀FCM),... thƣờng yêu cầu ngƣời dùng xác định trƣớc
số cụm.
Số cụm là một tham số đầu vào quan trọng và ảnh hƣởng nhiều tới kết quả
của quá trình gom cụm, ứng với số lƣợng cụm khác nhau sẽ cho ra các kết quả gom
cụm khác nhau, thật khó khăn để quyết định kết quả gom cụm nào là tốt nhất.
Quá trình gom cụm dữ liệu nhằm xác định các nhóm đối tƣợng dữ liệu tƣơng
tự, từ đó khảo sát các cụm sẽ giúp khái quát, nhanh chóng rút ra các đặc điểm của
khối dữ liệu lớn. Tuy nhiên, trong hầu hết các thuật toán gom cụm, tham số số cụm
không đƣợc biết trƣớc và thuật toán thƣờng yêu cầu ngƣời dùng phải xác định trƣớc
số lƣợng các cụm, ứng với mỗi số lƣợng cụm khác nhau sẽ cho ra các kết quả gom
cụm khác nhau
Hình 2Hình 2.2. Gom cụm tập dữ liệu với số lƣợng cụm khác nhau
19
Chƣơng 2: Gom cụm dữ liệu mờ
2.3.1. Xác định số cụm dựa trên phƣơng pháp truyền thống
Tập dữ liệu có n đối tƣợng thì số cụm theo phƣơng pháp truyền thống thƣờng
đƣợc sử dụng là
Giá trị K=
n2
n 2 thƣờng đƣợc sử dụng làm giá trị K ban đầu trong thuật toán
K-means trong trƣờng hợp bài toán chƣa biết trƣớc số cụm.
Ƣu điểm: thực hiện nhanh chóng.
Nhƣợc điểm của: độ chính xác không cao.
2.3.2. Xác định số cụm bằng phƣơng pháp Eblow
Phƣơng pháp Eblow xem xét tỉ lệ phần trăm phƣơng sai nhƣ một hàm của số
cụm. Số lƣợng cụm nên chọn khi thêm cụm khác thì không tạo ra mô hình hóa dữ
liệu tốt hơn. Chính xác hơn, nếu một giá trị phần trăm phƣơng sai tính bằng tỉ số các
cụm so với số lƣợng cụm thì các cụm đầu tiên sẽ chứa nhiều thông tin (giải thích
nhiều biến số), nhƣng ở một số điểm thì lợi ích cận biên sẽ giảm, tạo ra một góc
trong đồ thị. Số lƣợng các cụm đƣợc chọn vào thời điểm này là do “tiêu chí Eblow”.
“Eblow” này không phải lúc nào cũng đƣợc xác định rõ ràng. Tỉ lệ phần trăm
phƣơng sai đƣợc giải thích là tỷ số phƣơng sai giữa nhóm với tổng phƣơng sai [31].
Hình 3Hình 2.3. "Eblow" đƣợc chỉ định bởi các vòng tròn màu đỏ.
20
Chƣơng 2: Gom cụm dữ liệu mờ
Xác định số cụm K dựa trên phƣơng pháp Elbow là thực hiện việc xác định
số cụm dựa trên độ chính xác của việc thử các giá trị K khác nhau [14] và đƣợc thực
hiện nhƣ sau:
Bƣớc 1: Khởi tạo giá trị K=2
Bƣớc 2: Tính toán cụm và chi phí đi kèm với K khác nhau và mỗi lần tăng K
lên 1 đơn vị
Bƣớc 3: Vẽ đƣờng cong biểu diễn phần trăm phƣơng sai theo K
Bƣớc 4: Vị trí uốn cong trong đƣờng cong biểu diễn thƣờng là giá trị số
lƣợng cụm thích hợp.
Hình 4Hình 2.4. Ví dụ áp dụng phƣơng pháp Eblow cho K-means
21
Chƣơng 2: Gom cụm dữ liệu mờ
Hình 5Hình 2.6. Ví dụ áp dụng phƣơng pháp Eblow cho PAM
Ƣu điểm: đơn giản, dễ thực hiện [31].
Nhƣợc điểm: tiêu chí Eblow trong một số trƣờng hợp thì không thể xác định
đƣợc [31]
22
Chƣơng 2: Gom cụm dữ liệu mờ
2.3.3. Xác định số cụm dựa trên phƣơng pháp Cross Validation
Cross-validation là một phƣơng pháp kiểm tra độ chính xác của 1 máy học
dựa trên một tập dƣ liệu cho trƣớc. Thay vì chỉ dùng một phần dữ liệu làm tập dữ
liệu học thì cross-validation dùng toàn bộ dữ liệu để dạy cho máy.
Có 3 phƣơng pháp cross-validation phổ biến:
– Hold-out: phƣơng pháp đơn giản nhất. Dữ liệu đƣợc chia một cách
ngẫu nhiên thành một tập dữ liệu học và một tập dữ liệu kiểm tra.
Dùng tập đầu tiên để dạy máy rồi dùng ngay tập còn lại để kiểm tra.
– K-fold: đây là phƣơng pháp nâng cấp của hold-out. Toàn bộ dữ liệu
đƣợc chia thành K tập con. Quá trình học của máy có K lần. Trong
mỗi lần, một tập con đƣợc dùng để kiểm tra và K-1 tập còn lại dùng
để dạy.
– Leave-one-out: Tƣơng tự nhƣ K-Fold nhƣng tối đa hóa số tập con (K
= số dữ liệu).
Trong phân cụm, sử dụng kỹ thuật Cross- Validation (CV) n-fold để kiểm
định Model từ đó chọn tham số K (cách này thƣờng đƣợc dùng trong các bài báo
khoa học vì đảm bảo tính khoa học, giảm sai sót do cảm tính chủ quan).
Kỹ thuật này chia dữ liệu thành m phần. Sử dụng m-1 phần cho mô hình gom
cụm. Sử dụng phần còn lại cho việc kiểm tra chất lƣợng mô hình gom nhóm. Kiểm
tra với K>0, lặp lại m lần và tìm ra giá trị K phù hợp với dữ liệu.
2.3.4. Xác định số cụm sử dụng thuật toán thống kê khoảng cách
Thống kê khoảng cách là một thuật toán xác định số cụm tối ƣu. Thuật toán
này dựa trên ý tƣởng rằng sự thay đổi trong cluster với sự gia tăng các cụm đƣợc dự
kiến dƣới phân phối tham chiếu cho dữ liệu ngẫu nhiên
Trƣớc tiên giả sử rằng có một bộ mẫu {xi} sau đó bằng cách sử dụng phƣơng
pháp gom cụm ta đƣợc các cụm C1, C2,….., Ck. Ứng với mỗi cụm Cr thì khoảng
cách d2(xi,xi’) trong cụm r đều đƣợc tính toán và tổng phân tán Wk đƣợc xác định
bởi công thức sau:
k
Wk
r 1
23
1
d 2 x i , x i' (2.18)
2n r ii'Cr