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

Nghiên cứu phát triển thuật toán gom cụm mờ (Luận văn thạc sĩ)

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 (1.63 MB, 66 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

NGUYỄN NHƯ ĐỒNG

NGHIÊN CỨU PHÁT TRIỂN
THUẬT TOÁN GOM CỤM MỜ

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

TP.HCM - 2018


HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

NGUYỄN NHƯ ĐỒNG

NGHIÊN CỨU PHÁT TRIỂN
THUẬT TOÁN GOM CỤM MỜ
Chuyên ngành : HỆ THỐNG THÔNG TIN
Mã số: 8.48.01.04

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. NGUYỄN PHƯƠNG

TP.HCM - 2018


i



LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong bất kỳ công trình nào khác.
Học viên thực hiện

Nguyễn Như Đồng


ii

LỜI CẢM ƠN
Với lòng biết ơn chân thành nhất, tôi xin trân trọng cảm ơn Học Viện Công
Nghệ Bưu Chính Viễn Thông đã tổ chức lớp cao học và tạo điều kiện thuận lợi cho
tôi và các bạn cùng lớp hoàn thành khóa học này.
Tôi xin bày tỏ sự biết ơn chân thành và sâu sắc đến quý Thầy, Cô giảng dạy
lớp cao học khóa 2015, đã dành nhiều thời gian, tâm huyết để truyền thụ cho chúng
tôi những kiến thức quý báu. Từ đó là những tiền đề rất quan trọng và là nền tảng
cho luận văn được hoàn thành.
Đặc biệt xin cảm ơn TS. Nguyễn Phương đã tận tâm hướng dẫn cho tôi trong
suốt quá trình nghiên cứu và hoàn thành luận văn.
Học viên thực hiện

Nguyễn Như Đồng


iii


MỤC LỤC
LỜI CAM ĐOAN ................................................................................................................... i
LỜI CẢM ƠN ........................................................................................................................ ii
MỤC LỤC ............................................................................................................................iii
DANH SÁCH BẢNG ............................................................................................................ v
DANH SÁCH HÌNH VẼ ...................................................................................................... vi
Chương 1 - TỔNG QUAN..................................................................................................... 1

1.1 Tính cấp thiết của đề tài .....................................................................................1
1.2 Tổng quan về vấn đề nghiên cứu .......................................................................1
1.3 Mục đích nghiên cứu..........................................................................................3
1.4 Nội dung nghiên cứu ..........................................................................................4
1.5 Phương pháp nghiên cứu ...................................................................................4
Chương 2 - CƠ SỞ LÝ THUYẾT ......................................................................................... 5

2.1 Khai thác dữ liệu ................................................................................................ 5
2.1.1 Giới thiệu .............................................................................................................. 5
2.1.2 Các nhiệm vụ chính của khai thác dữ liệu ............................................................ 7

2.2 Kỹ thuật gom cụm trong khai thác dữ liệu ........................................................9
2.2.1 Tổng quan về kỹ thuật gom cụm .......................................................................... 9
2.2.2 Ứng dụng của gom cụm dữ liệu .......................................................................... 10
2.2.3 Các yêu cầu đối với kỹ thuật gom cụm dữ liệu .................................................. 11
2.2.4 Phân loại các kiểu dữ liệu ................................................................................... 12
2.2.5 Độ đo tương tự, phi tương tự .............................................................................. 14
2.2.6 Một số phương pháp gom cụm dữ liệu ............................................................... 16

2.3 Thuật toán k-means ..........................................................................................20
2.4 Thuật toán k-means mờ....................................................................................22
2.4.1 Các bước trong thuật toán gom cụm mờ............................................................. 23

2.4.2 Nhận xét .............................................................................................................. 24

2.5 Kết luận ............................................................................................................24
Chương 3 - MÔ HÌNH KẾT HỢP K-MEANS MỜ SỬ DỤNG TRỌNG SỐ ENTROPY
VÀ ĐÁNH GIÁ CỤM DỰA TRÊN CHỈ SỐ...................................................................... 26

3.1 Xây dựng thuật toán .........................................................................................26
3.1.1 Một số ký hiệu và định nghĩa .............................................................................. 26
3.1.2 Gom cụm K-Means mờ sử dụng trọng số Entropy (FKMUE) ........................... 26
3.1.3 Phương pháp đánh giá cụm Calinski-Harabasz index ........................................ 30
3.1.4 Mô hình kết hợp K-Means mờ sử dụng trọng số Entropy và đánh giá cụm
Calinski-Harabasz Index .............................................................................................. 33

3.2 Nhận xét mô hình - thuật toán đề xuất............................................................. 36
3.3 Thực nghiệm ....................................................................................................36


iv

3.3.1 Thiết lập thử nghiệm ........................................................................................... 36
3.3.2 Dữ liệu thử nghiệm thuật toán gom cụm mờ đề xuất ......................................... 37
3.3.3 Dữ liệu thử nghiệm thuật toán fuzzy k-means .................................................... 39

3.4 So sánh thuật toán gom cụm mờ đề xuất với thuật toán fuzzy k-means.........40
3.5 Kết luận ............................................................................................................41
Chương 4 - VẬN DỤNG MÔ HÌNH ĐỀ XUẤT VÀO ỨNG DỤNG THỰC TIỄN .......... 42

4.1 Giới thiệu ứng dụng .........................................................................................42
4.2 Yêu cầu chức năng ...........................................................................................42
4.3 Yêu cầu chất lượng ..........................................................................................43

4.4 Các bước thực hiện ..........................................................................................43
4.5 Gom cụm môn học ...........................................................................................44
4.6 Gom cụm sinh viên ..........................................................................................49
4.7 Kết luận ............................................................................................................54
KẾT LUẬN .......................................................................................................................... 55
DANH MỤC TÀI LIỆU THAM KHẢO ............................................................................. 56


v

DANH SÁCH BẢNG
Bảng 2.1: Bảng tham số thuộc tính nhị phân ............................................................. 15
Bảng 3.1: Tỷ lệ lỗi thuật toán gom cụm mờ đề xuất .................................................38
Bảng 3.2: Kết quả đánh giá cụm bằng phương pháp Calinski-Harabasz index ........39
Bảng 4.1: Yêu cầu chức năng của phần mềm ứng dụng ...........................................43
Bảng 4.2: Bảng yêu cầu chất lượng của phần mềm ứng dụng ..................................43
Bảng 4.3: Minh họa cơ sở dữ liệu đầu vào môn học .................................................44
Bảng 4.4: Minh họa cơ sở dữ liệu đầu vào sinh viên ................................................49


vi

DANH SÁCH HÌNH VẼ
Hình 2.1: Các bước trong quá trình khám phá tri thức ..............................................6
Hình 2.2: Mô phỏng sự gom cụm dữ liệu ..................................................................9
Hình 2.3: Gom cụm theo phương pháp Bottom Up và Top Down .........................17
Hình 2.4: Hình dạng các cụm dữ liệu ......................................................................18
Hình 2.5: Cấu trúc dữ liệu lưới ................................................................................19
Hình 2.6: Kết quả gom cụm bằng thuật toán K-Means ...........................................22
Hình 3.1: Mô hình kết hợp giữa phương pháp FKMUE và Calinski-Harabasz

index .....................................................................................................................34
Hình 4.1: Màn hình gom cụm môn học ...................................................................45
Hình 4.2: Vùng hiển thị nội dung cơ sở dữ liệu ......................................................46
Hình 4.3: Hộp thoại nhập hệ số cho các thuộc tính .................................................47
Hình 4.4: Kết quả gom cụm môn học ......................................................................48
Hình 4.5: Vùng hiển thị kết quả đánh giá cụm ........................................................48
Hình 4.6: Màn hình gom cụm sinh viên ..................................................................50
Hình 4.7: Vùng hiển thị nội dung cơ sở dữ liệu sinh viên .......................................51
Hình 4.8: Hộp thoại nhập hệ số cho các thuộc tính .................................................52
Hình 4.9: Kết quả gom cụm sinh viên .....................................................................53
Hình 4.10: Vùng hiển thị kết quả đánh giá cụm ......................................................54


1

Chương 1 - TỔNG QUAN
1.1 Tính cấp thiết của đề tài
Ngày nay, ứng dụng công nghệ thông tin đã phục vụ cho hầu hết các lĩnh vực
trong đời sống như viễn thông, kinh tế, y tế, giáo dục, ... Những ứng dụng đó mang
lại cho con người nhiều tiện ích trong cuộc sống, đáp ứng mọi nhu cầu từ đơn giản
đến phức tạp. Việc ứng dụng công nghệ thông tin trong cuộc sống cũng dẫn đến
việc hình thành một khối lượng dữ liệu khổng lồ, ngày càng lớn dần theo thời gian.
Đây được xem là kho tri thức tiềm tàng, đòi hỏi người sử dụng phải biết khai thác,
chọn lọc dữ liệu có ích cho mình. Các tri thức rút trích được có thể vận dụng để cải
thiện hiệu quả hoạt động của hệ thống thông tin ban đầu.
Khai thác tri thức trong cơ sở dữ liệu đang là một xu hướng phát triển của
nền công nghệ thông tin hiện nay, vì nó có khả năng ứng dụng vào nhiều bài toán
thực tế khác nhau. Khai thác dữ liệu (Data Mining) [3] là bước quan trọng trong quá
trình này, giúp người sử dụng thu được những tri thức hữu ích từ các nguồn dữ liệu
khổng lồ. Khai thác dữ liệu là quá trình tìm kiếm các mẫu mới, những thông tin

tiềm ẩn mang tính dự đoán trong các khối dữ liệu lớn. Với ưu điểm trên, khai thác
dữ liệu đã được ứng dụng rộng rãi trong các lĩnh vực thương mại, tài chính, điều trị
y học, giáo dục, …
Hiện nay, trong các trường đại học, cao đẳng, công nghệ thông tin đã được
ứng dụng trong việc quản lý hồ sơ sinh viên cũng như điểm số của các môn học
trong từng học kỳ, cho nên dữ liệu lưu trữ theo thời gian là rất lớn. Việc áp dụng
khai thác dữ liệu trên dữ liệu này là cần thiết, nhằm phục vụ cho việc quản lý, hỗ trợ
sinh viên cũng như nâng cao chất lượng giảng dạy của trường.
Với những lí do đã nêu, người nghiên cứu chọn đề tài “ Nghiên cứu phát
triển thuật toán gom cụm mờ ”

1.2 Tổng quan về vấn đề nghiên cứu
Cùng với sự phát triển của xã hội, lượng thông tin phục vụ cho cuộc sống không
ngừng tăng lên. Sự tích lũy dữ liệu, do đó, diễn ra càng nhiều. Người ta uớc đoán


2

rằng, luợng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo đó số
luợng cũng như kích cỡ của các cơ sở dữ liệu (CSDL) cũng tăng lên một cách
nhanh chóng. Trong nhiều lĩnh vực, những nhà quản lý đang “ngập” trong dữ liệu,
nhưng lại cảm thấy “thiếu” tri thức và thông tin hữu ích. Lượng dữ liệu khổng lồ
này thực sự là một nguồn “tài nguyên” rất giá trị bởi thông tin là yếu tố then chốt
trong mọi hoạt động vì thông tin giúp những ngƣời điều hành và quản lý có một cái
nhìn sâu sắc, chính xác, khách quan trước khi ra quyết định. Khai phá dữ liệu – khai
thác những thông tin tiềm ẩn mang tính dự đoán từ những CSDL lớn – là một
hướng tiếp cận mới với khả năng giúp các đơn vị, tổ chức chú trọng vào những
thông tin có nhiều ý nghĩa từ những tập hợp dữ liệu lớn (databases, data
warehouses, datarepositories) mang tính lịch sử. Những công cụ khai phá dữ liệu có
thể dự đoán những xu hướng trong tương lai và do đó cho phép các tổ chức, doanh

nghiệp ra những quyết định kịp thời đƣợc định hướng bởi tri thức mà khai phá dữ
liệu đem lại. Sự phân tích dữ liệu một cách tự động và mang tính dự báo của khai
phá dữ liệu có ưu thế hơn hẳn so với sự phân tích thông thường dựa trên những sự
kiện trong quá khứ của các hệ hỗ trợ ra quyết định (Decision support systems –
DSSs) truyền thống trước đây. Công cụ khai phá dữ liệu cũng có thể trả lời những
câu hỏi trong lĩnh vực kinh doanh mà trước đây được xem là tốn nhiều thời gian để
xử lý. Ta có thể coi khai phá dữ liệu giống như một quá trình phát hiện các mẫu mới
đáp ứng được các yêu cầu, các tương quan mới có ý nghĩa, các xu hướng khai thác
trong các khối dữ liệu của kho dữ liệu, sử dụng các kỹ thuật và các khái niệm của
các lĩnh vực đã được nghiên cứu từ trước như: học máy, nhận dạng, thống kê, hồi
quy, xếp loại, phân nhóm, các mô hình đồ thị, các mạng Bayes…
Khai phá dữ liệu được sử dụng để tạo ra giả thuyết. Ví dụ nh để xác định các
yếu tố rủi ro khi cho vay tín dụng, kỹ thuật khai phá dữ liệu phải phát hiện được
những người có thu nhập thấp và nợ nhiều là những người sẽ có mức rủi ro cao,
ngoài ra kỹ thuật này cũng có thể phát hiện ra những quy luật mà nhà phân tích có
thể chưa tìm ra ví dụ như tỷ lệ giữa thu nhập trên nợ và tuổi cũng là các yếu tố xác
định mức rủi ro. Để làm được điều này, khai phá dữ liệu sử dụng các thông tin trong


3

quá khứ để học. Nó sẽ tìm kiếm các thông tin này trong các CSDL và sử dụng
chúng để tìm ra các mẫu đáng quan tâm.
Nếu xét về mặt ý tưởng và mục đích ứng dụng, khai phá dữ liệu là một nhu
cầu tất yếu đáp lại sự mong mỏi của giới kinh doanh thì về mặt kỹ thuật, đó thực sự
là một khó khăn và là sự thách thức đối với những nhà khoa học. Khai phá dữ liệu
được xây dựng dựa trên việc sử dụng các giải thuật mới, được định hướng theo
nhucầu kinh doanh để có thể giải quyết tự động các bài toán kinh doanh bằng các kỹ
thuật dễ dùng và có thể hiểu được. Các kỹ thuật đang được nghiên cứu và sử dụng
hiện nay bao gồm cây quyết định (CART, CHAID, AID), mạng neuron, phương

pháp láng giềng gần nhất, các luật suy diễn…
Khai phá dữ liệu không thuộc một ngành công nghiệp nào. Nó sử dụng các
kỹ thuật thông minh để khai phá các tri thức tiềm ẩn trong dữ liệu. Hiện nay trên thế
giới đã có rất nhiều ngành công nghiệp sử dụng kỹ thuật khai phá dữ liệu để phục
vụ cho hoạt động của mình và đã bước đầu thành công như ngành tài chính, y học,
hoá học, bảo hiểm, sản xuất, giao thông, hàng không… Các kết quả đạt được cho
thấy mặc dù kỹ thuật khai phá dữ liệu hiện nay vẫn còn nhiều vấn đề nổi cộm,
nhưng với những tri thức mà chuyên gia con người cũng chưa cung cấp được thì
khai phá dữ liệu có một tiềm năng to lớn trong việc tạo ra những lợi nhuận đáng kể
trong nền kinh tế.
Với tất cả những ưu thế trên, khai phá dữ liệu đã chứng tỏ được tính hữu
dụng của nó trong môi trường kinh doanh đầy tính cạnh tranh ngày nay. Giờ đây,
khai phá dữ liệu đã và đang trở thành một trong những hướng nghiên cứu chính của
lĩnh vực khoa học máy tính và công nghệ tri thức.

1.3 Mục đích nghiên cứu
Luận văn thực hiện nhằm mục đích vào việc tìm hiểu, nghiên cứu kiến thức
về khai thác dữ liệu mà cụ thể hơn đó là các phương pháp gom cụm mờ và phương
pháp đánh giá cụm. Từ đó đề xuất một mô hình kết hợp giữa hai phương pháp này.


4

1.4 Nội dung nghiên cứu
Với mục đích của đề tài đặt ra là tìm hiểu một số thuật toán gom cụm mờ
trên dữ liệu đầu vào hiệu quả. Từ đó đánh giá so sánh với thuật toán đề xuất.

1.5 Phương pháp nghiên cứu
Nghiên cứu lý thuyết: Dựa trên nguồn tài liệu tạp chí khoa học trong và
ngoài nước, tham khảo thêm một số nguồn tài liệu khác có liên quan đến đề tài.

Nghiên cứu thực nghiệm: Thông qua việc nghiên cứu lý thuyết, xây dựng
chương trình thử nghiệm.


5

Chương 2 - CƠ SỞ LÝ THUYẾT
2.1 Khai thác dữ liệu
2.1.1 Giới thiệu
Khoảng hơn một thập kỷ trở lại đây, lượng thông tin được lưu trữ trên các thiết
bị điện tử (đĩa cứng, CD-ROM, băng từ, .v.v.) không ngừng tăng lên. Sự tích lũy dữ
liệu này xảy ra với một tốc độ bùng nổ. Người ta ước đoán rằng lượng thông tin trên
toàn cầu tăng gấp đôi sau khoảng hai năm và theo đó số lượng cũng như kích cỡ của
các cơ sở dữ liệu cũng tăng lên một cách nhanh chóng. Nói một cách hình ảnh là
chúng ta đang “ngập” trong dữ liệu nhưng lại “đói” tri thức. Câu hỏi đặt ra là liệu
chúng ta có thể khai thác được gì từ những “núi” dữ liệu tưởng chừng như “bỏ đi” ấy
không? Khai thác dữ liệu [3] ra đời như một hướng giải quyết hữu hiệu cho câu hỏi
vừa đặt ra ở trên, giúp khai thác những thông tin hữu ích từ những kho dữ liệu được
tích trữ trong suốt quá trình hoạt động của một công ty, tổ chức nào đó.
Khai thác dữ liệu được định nghĩa như là một quá trình chắt lọc hay khai thác
tri thức từ một lượng lớn dữ liệu [3]. Thuật ngữ khai thác dữ liệu mô tả việc tìm
kiếm một tập hợp nhỏ có giá trị từ một số lượng lớn các dữ liệu thô. Có nhiều thuật
ngữ hiện được dùng cũng có nghĩa tương tự với từ khai thác dữ liệu như:
Knowledge Mining (Khai thác tri thức), Knowledge Extraction (Chắt lọc tri thức),
Data/Patern Analysis (Phân tích dữ liệu/mẫu), Data Archaeoloogy (Khảo cổ dữ
liệu), Datadredging (Nạo vét dữ liệu),... Khai thác dữ liệu là một bước trong bảy
bước của quá trình khám phá tri thức trong cơ sở dữ liệu (Knowleadge Discovery in
Database - KDD) và KDD được xem như 7 quá trình khác nhau theo thứ tự sau:
● Làm sạch dữ liệu (Data cleaning & Preprocessing): Loại bỏ nhiễu và các
dữ liệu không cần thiết.

● Tích hợp dữ liệu (Data integration): quá trình hợp nhất dữ liệu thành
những kho dữ liệu (Data warehouses & Data marts) sau khi đã làm sạch và tiền xử
lý (Data cleaning & Preprocessing
● Trích chọn dữ liệu (Data selection) trích chọn dữ liệu từ những kho dữ


6

liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức. Quá
trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy
đủ (Incomplete data), ...
● Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp
cho quá trình xử lý.
● Khai thác dữ liệu: Là một trong các bước quan trọng nhất, trong đó sử
dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu.
● Ước lượng mẫu (Knowledge evaluation): Quá trình đánh giá các kết quả
tìm được thông qua các độ đo nào đó.
● Biểu diễn tri thức (Knowledge presentation: Quá trình này sử dụng các
kỹ thuật để biểu diễn và thể hiện trực quan cho người dùng.

Hình 2.1: Các bước trong quá trình khám phá tri thức
Khai thác dữ liệu tuy là một hướng tiếp cận mới nhưng thu hút được rất
nhiều sự quan tâm của các nhà nghiên cứu và phát triển nhờ vào những ứng dụng
thực tiễn của nó. Chúng ta có thể liệt kê ra đây một số ứng dụng điển hình:
● Phân tích dữ liệu và hỗ trợ ra quyết định (Data analysis & Decision
support)
● Điều trị y học (Medical treatment)
● Text mining & Web mining
● Tin-sinh (Bio-informatics)
● Tài chính và thị trường chứng khoán (Finance & Stock market)

● Bảo hiểm (Insurance)
● Nhận dạng (Pattern recognition)


7

2.1.2 Các nhiệm vụ chính của khai thác dữ liệu
Khai thác dữ liệu được chia nhỏ thành hai mục đich chính như sau:


Khai thác dữ liệu mô tả: tập trung vào tìm kiếm các mẫu mô tả dữ liệu

mà con người con người có thể hiểu được


Khai thác dữ liệu dự đoán: việc sử dụng các biến hoặc các trường trong

CSDL để chiết xuất ra các mẫu là các dự đoán những giá trị chưa biết hoặc những
giá trị trong tương lai của các biến đáng quan tâm
Tuy nhiên, chỉ có một số phương pháp thông dụng nhất là: Phân lớp dữ liệu,
phương pháp hồi quy, khai thác luật kết hợp và gom cụm dữ liệu. [2]

2.1.2.1 Phân lớp dữ liệu
Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu
dữ liệu. Quá trình phân lớp dữ liệu thường gồm hai bước: Xây dựng mô hình và sử
dụng mô hình để phân lớp dữ liệu.
Bước 1: Một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ

liệu sẵn có. Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính
gọi là thuộc tính lớp. Các lớp dữ liệu này còn được gọi là lớp dữ liệu huấn luyện

(Training data set). Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định
trước khi xây dựng mô hình.
Bước 2: Sử dụng mô hình để phân lớp dữ liệu. Trước hết, chúng ta phải tính
độ chính xác của mô hình. Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử
dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai.

2.1.2.2 Phương pháp hồi quy
Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ: Hồi quy dùng để dự
đoán về các giá trị liên tục còn phân lớp dữ liệu chỉ dùng để dự đoán về các giá trị
rời rạc.
Hồi quy là một hàm học ánh xạ mục dữ liệu thành một biến dự đoán có giá trị
thực. Có rất nhiều ứng dụng khai thác dữ liệu với nhiệm vụ hồi quy, chẳng hạn như
khả năng đánh giá tử vong của bệnh nhân khi biết các kết quả xét nghiệm; chẩn đoán,
dự đoán nhu cầu tiêu thụ một sản phẩm mới bằng một hàm chi tiêu quảng cáo.


8

2.1.2.3 Phương pháp gom cụm mờ
Sử dụng kỹ thuật mờ để gom cụm dữ liệu, các thuật toán thuộc loại này chỉ
ra lược đồ gom 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ý dữ liệu thực không chắc chắn.

2.1.2.4 Khai thác luật kết hợp
Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa
các giá trị dữ liệu trong cơ sở dữ liệu. Mẫu đầu ra của giải thuật khai phá dữ liệu là
luật kết hợp tìm được. Chẳng hạn, phân tích cơ sở dữ liệu bán hàng nhận được
thông tin về những khách hàng mua máy tính có khuynh hướng mua phần mềm
quản lý tài chính trong cùng lần mua được miêu tả trong luật kết hợp sau: “Máy tính
=> Phần mềm quản lý tài chính” (Độ support: 5%, độ confidence: 60%).

Độ support và độ confidence là hai độ đo của sự đáng quan tâm của luật.
Chúng phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá. Độ support 5%
có nghĩa là 5% của tất cả các dữ liệu đang phân tích chỉ ra rằng máy tính và phần
mềm quản lý tài chính là đã được mua cùng nhau. Còn độ confidence 60% có nghĩa
là: 60% các khách hàng mua máy tính cũng mua phần mềm. Khai thác luật kết hợp
được thực hiện qua hai bước:
● Bước 1: Tìm tất cả các tập mục phổ biến, một tập mục phổ biến được
xác định qua độ support và thỏa ngưỡng MinSup.
● Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật
phải thỏa mãn độ MinSup và độ MinConf.

2.1.2.5 Gom cụm dữ liệu
Mục tiêu chính của phương pháp gom cụm dữ liệu là nhóm 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
lớp 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. Vì thế có thể coi gom cụm dữ liệu là một cách học bằng quan sát (Learning
by observation), Trong phương pháp này bạn không thể biết kết quả các cụm thu
được sẽ thế nào khi bắt đầu quá trình. Vì vậy, thông thường cần có một chuyên gia
về lĩnh vực đó để đánh giá các cụm thu được. Gom cụm dữ liệu được sử dụng


9

nhiều trong các ứng dụng về phân đoạn thị trường, phân đoạn khách hàng, nhận
dạng mẫu, phân loại trang Web… Ngoài ra gom 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 thác dữ liệu khác.
Gom cụm dữ liệu đang là hướng nghiên cứu được quan tâm nhiều nhất trong
lĩnh vực khai phá dữ liệu, trong các phần sau sẽ nói rõ hơn về phương pháp gom
cụm dữ liệu và giới thiệu một số công trình nghiên cứu đối với kỹ thuật gom cụm
dữ liệu


2.2 Kỹ thuật gom cụm trong khai thác dữ liệu
2.2.1 Tổng quan về kỹ thuật gom cụm
Mục đích chính của gom cụm dữ liệu nhằm khám phá cấu trúc của mẫu dữ
liệu để thành lập các nhóm dữ liệu từ tập dữ liệu lớn, theo đó nó cho phép người ta
đi sâu vào phân tích và nghiên cứu cho từng cụm dữ liệu này nhằm khám phá và tìm
kiếm các thông tin tiềm ẩn, hữu ích phục vụ cho việc ra quyết định. Như vậy, 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 phần tử trong một cụm "tương tự" với nhau và các phần tử trong các
cụm khác nhau sẽ "phi tương tự" với nhau. Độ tương tự được xác định dựa trên giá
trị các thuộc tính mô tả đối tượng. Thông thường, phép đo khoảng cách thường
được sử dụng để đánh giá độ tương tự hay phi tương tự. Ta có thể minh hoạ vấn đề
gom cụm như hình sau đây:

Hình 2.2: Mô phỏng sự gom cụm dữ liệu
Trong hình trên, sau khi gom cụm ta thu được bốn cụm trong đó các phần tử
"tương tự" thì được xếp vào một cụm, các phần tử "phi tương tự" thì chúng thuộc về


10

các cụm khác nhau. Trong gom cụm dữ liệu khái niệm, hai hoặc nhiều đối tượng
cùng được xếp vào một cụm nếu chúng có chung một định nghĩa về khái niệm hoặc
chúng xấp xỉ với các khái niệm mô tả cho trước. Như vậy, gom cụm dữ liệu không
sử dụng độ đo “tương tự” như đã trình bày ở trên. Trong học máy, gom cụm dữ liệu
được xem là vấn đề học không có giám sát, vì nó phải giải quyết vấn đề tìm một cấu
trúc trong tập hợp dữ liệu chưa biết trước các thông tin về lớp hay các thông tin về
tập huấn luyện. Trong nhiều trường hợp, nếu phân lớp được xem là vấn đề học có
giám sát thì gom cụm dữ liệu là một bước trong phân lớp dữ liệu, gom cụm dữ liệu
sẽ khởi tạo các lớp cho phân lớp bằng cách xác định các nhãn cho các nhóm dữ liệu.

Tóm lại, gom cụm dữ liệu là một vấn đề khó vì người ta phải đi giải quyết các vấn
đề cơ bản như sau:
o Biểu diễn dữ liệu.
o Xây dựng hàm tính độ tương tự.
o Xây dựng các tiêu chuẩn gom cụm.
o Xây dựng mô hình cho cấu trúc cụm dữ liệu.
o Xây dựng thuật toán gom cụm và xác lập các điều kiện khởi tạo.
o Xây dựng các thủ tục biểu diễn và đánh giá kết quả gom cụm.
Theo các nghiên cứu thì đến nay chưa có một phương pháp gom 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 cụm dữ liệu.

2.2.2 Ứng dụng của gom cụm dữ liệu
Gom cụm dữ liệu là một trong những công cụ chính của khai thác dữ liệu,
được ứng dụng trong nhiều lĩnh vực như thương mại và khoa học. Các kỹ thuật
gom cụm dữ liệu đã được áp dụng cho một số ứng dụng điển hình trong các lĩnh
vực sau:
o Thương mại: Gom cụm dữ liệu có thể giúp các thương nhân khám phá ra
các nhóm khách hàng quan trọng có các đặc trưng tương đồng nhau và đặc tả họ từ
các mẫu mua bán trong cơ sở dữ liệu khách hàng.
o Sinh học: Gom cụm dữ liệu được sử dụng để xác định các loại sinh vật,
phân loại các Gen với chức năng tương đồng và thu được các cấu trúc trong các


11

mẫu, phân loại động vật, thực vật.
o Phân tích dữ liệu không gian: Do sự đồ sộ của dữ liệu không gian như dữ
liệu thu được từ các hình ảnh chụp từ vệ tinh, các thiết bị y học hoặc hệ thống
thông tin địa lý (GIS), …làm cho người dùng rất khó để kiểm tra các dữ liệu không
gian một cách chi tiết. Gom cụm dữ liệu có thể trợ giúp người dùng tự động phân

tích và xử lý các dữ liệu không gian như nhận dạng và chiết xuất các đặc tính hoặc
các mẫu dữ liệu quan tâm có thể tồn tại trong cơ sở dữ liệu không gian.
o Lập 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ị.
o Nghiên cứu trái đất: Gom 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.
o Địa lý: Phân lớp các động vật, thực vật và đưa ra đặc trưng của chúng.
o Khai phá Web: Gom cụm dữ liệu có thể khám phá các nhóm tài liệu
quan trọng, có nhiều ý nghĩa trong môi trường Web. Các lớp tài liệu này trợ giúp
cho việc khám phá tri thức từ dữ liệu Web, khám phá ra các mẫu truy cập của khách
hàng đặc biệt hay khám phá ra cộng đồng Web.

2.2.3 Các yêu cầu đối với kỹ thuật gom cụm dữ liệu
Việc xây dựng, lựa chọn một thuật toán gom cụm là bước then chốt cho việc
giải quyết vấn đề gom cụm, sự lựa chọn này phụ thuộc vào đặc tính dữ liệu cần gom
cụm, mục đích của ứng dụng thực tế hoặc xác định độ ưu tiên giữa chất lượng của
các cụm hay tốc độ thực hiện thuật toán,… Hầu hết các nghiên cứu và phát triển
thuật toán gom cụm dữ liệu đều nhằm thoả mãn các yêu cầu cơ bản sau [4]:
o Có khả năng mở rộng: Một số thuật toán có thể ứng dụng tốt cho tập dữ
liệu nhỏ (khoảng 200 bản ghi dữ liệu) nhưng không hiệu quả khi áp dụng cho tập dữ
liệu lớn (khoảng 1 triệu bản ghi).
o Thích nghi với các kiểu dữ liệu khác nhau: Thuật toán có thể áp dụng
hiệu quả cho việc gom cụm các tập dữ liệu với nhiều kiểu dữ liệu khác nhau như dữ
liệu kiểu số, kiểu nhị phân, dữ liệu định danh, hạng mục,... và thích nghi với kiểu dữ
liệu hỗn hợp.


12

o Khám phá ra các cụm với hình thù bất kỳ: Do hầu hết các cơ sở dữ liệu

có chứa nhiều cụm dữ liệu với các hình thù khác nhau như: Hình lõm, hình cầu,
hình que,… Vì vậy, để khám phá được các cụm có tính tự nhiên thì các thuật toán
gom cụm cần phải có khả năng khám phá ra các cụm dữ liệu có hình thù bất kỳ.
o Tối thiểu lượng tri thức cần cho xác định các tham số vào: Do các giá trị
đầu vào thường ảnh hưởng rất lớn đến thuật toán gom cụm và rất phức tạp để xác
định các giá trị vào thích hợp đối với các cơ sở dữ liệu lớn.
o Ít nhạy cảm với thứ tự của dữ liệu vào: Cùng một tập dữ liệu, khi đưa
vào xử lý cho thuật toán gom cụm dữ liệu với các thứ tự vào của các đối tượng dữ
liệu ở các lần thực hiện khác nhau thì không ảnh hưởng lớn đến kết quả gom cụm.
o Khả năng thích nghi với dữ liệu nhiễu cao: Hầu hết các dữ liệu gom cụm
trong khai thác dữ liệu đều chứa đựng các dữ liệu lỗi, dữ liệu không đầy đủ, dữ liệu
rác. Thuật toán gom cụm không những hiệu quả đối với các dữ liệu nhiễu mà còn
tránh dẫn đến chất lượng gom cụm thấp do nhạy cảm với nhiễu.
o Ít nhạy cảm với các tham số đầu vào: Nghĩa là giá trị của các tham số
đầu vào khác nhau ít gây ra các thay đổi lớn đối với kết quả gom cụm.
o Thích nghi với dữ liệu đa chiều: Thuật toán có khả năng áp dụng hiệu
quả cho dữ liệu có số chiều khác nhau.
o Dễ hiểu, dễ cài đặt và khả thi: Các yêu cầu này đồng thời là các tiêu chí
để đánh giá hiệu quả của các phương pháp gom cụm dữ liệu, đây là những thách
thức cho các nhà nghiên cứu trong lĩnh vực gom cụm dữ liệu.

2.2.4 Phân loại các kiểu dữ liệu
Trong phần này, ta phân tích các kiểu dữ liệu thường được sử dụng trong
gom cụm dữ liệu.

2.2.4.1 Phân loại kiểu dữ liệu dựa trên kích thước miền
o Thuộc tính liên tục: Nếu miền giá trị của nó là vô hạn không đếm được,
nghĩa là giữa hai giá trị tồn tại vô số giá trị khác.
o
được


Thuộc tính rời rạc: Nếu miền giá trị của nó là tập hữu hạn hoặc đếm


13

o Lớp các thuộc tính nhị phân: Là trường hợp đặc biệt của thuộc tính rời
rạc mà miền giá trị của nó chỉ có 2 phần tử được diễn tả như: Yes / No hoặc Nam /
Nữ, True / False.

2.2.4.2 Phân loại kiểu dữ liệu dựa trên hệ đo
Giả sử ta có hai đối tượng x, y và các thuộc tính xi, yi tương ứng với thuộc
tính thứ i của chúng. Chúng ta có các lớp kiểu dữ liệu như sau:
Thuộc tính định danh (Nominal Scale): đây là dạng thuộc tính khái quát hóa
của thuộc tính nhị phân, trong đó miền giá trị là rời rạc không phân biệt thứ tự và có
nhiều hơn hai phần tử- nghĩa là nếu x và y là hai đối tượng thuộc tính thì có thể xác
định là x ≠ y hoặc x=y.
Thuộc tính có thứ tự (Ordinal Scale): là thuộc tính định danh có thêm tính
thứ tự, nhưng chúng không được định lượng. Nếu x và y là hai thuộc tính thứ tự thì
ta có thể xác định là x ≠ y hoặc x=y hoặc x > y hoặc x < y.
Thuộc tính khoảng( Interval Scale): Với thuộc tính khoảng cách, chúng ta có
thể xác định một thuộc tính đứng trước hoặc đứng sau thuộc tính khác với khoảng
cách là bao nhiêu. Nếu xi > yi thì ta nói x cách y một khoảng xi – yi tương ứng với
thuộc tính i.
Thuộc tính tỉ lệ (Ratio Scale): Là thuộc tính khoảng nhưng được xác định
một cách tương đối so với điểm mốc, thí dụ như thuộc tính chiều cao hoặc cân nặng
lấy điểm 0 làm mốc. Trong các thuộc tính dữ liệu trình bày ở trên, thuộc tính định
danh và thuộc tính có thứ tự gọi chung là thuộc tính hạng mục (Categorical), thuộc
tính khoảng và thuộc tính tỉ lệ được gọi là thuộc tính số (Numeris).
Dữ liệu không gian rời rạc: Có thể là một điểm trong không gian nhiều chiều và

cho phép ta xác định được khoảng cách giữa các đối tượng dữ liệu trong không gian
Dữ liệu không gian liên tục: Bao gồm một vùng trong không gian. Thông
thường, các thuộc tính số được đo bằng các đơn vị xác định như là Kilogams hoặc
Centimeter. Tuy nhiên, các đơn vị đo có ảnh hưởng đến các kết quả gom cụm. Thí
dụ như thay đổi độ đo cho thuộc tính cân nặng từ Kilogams sang Pound có thể
mang lại các kết quả khác nhau trong gom cụm. Để khắc phục điều này người ta


14

phải chuẩn hoá dữ liệu, tức là sử dụng các thuộc tính dữ liệu không phụ thuộc vào
đơn vị đo. Thực hiện chuẩn hoá phụ thuộc vào ứng dụng và người dùng, thông
thường chuẩn hoá dữ liệu được thực hiện bằng cách thay thế mỗi một thuộc tính
bằng thuộc tính số hoặc thêm các trọng số cho các thuộc tính

2.2.5 Độ đo tương tự, phi tương tự
Để gom dữ liệu, người ta tìm cách thích hợp để xác định "khoảng cách" giữa
các đối tượng (phép đo độ tương tự dữ liệu). Đây là các hàm để đo sự giống nhau
giữa các cặp đối tượng dữ liệu, thông thường các hàm này hoặc là để tính độ tương
tự hoặc là tính độ phi tương tự giữa các đối tượng dữ liệu. Giá trị của hàm tính độ
đo tương tự càng lớn thì sự giống nhau giữa đối tượng càng lớn và ngược lại, còn
hàm tính độ phi tương tự tỉ lệ nghịch với hàm tính độ tương tự. Độ tương tự hoặc độ
phi tương tự có nhiều cách để xác định, chúng thường được đo bằng khoảng cách
giữa các đối tượng. Tất cả các cách đo độ tương tự đều phụ thuộc vào kiểu thuộc
tính mà ta phân tích. Thí dụ, đối với thuộc tính hạng mục người ta không sử dụng
độ đo khoảng cách mà sử dụng một hướng hình học của dữ liệu. Tất cả các độ đo
dưới đây được xác định trong không đo gian metric. Bất kỳ một metric nào cũng là
một độ đo, nhưng điều ngược lại không đúng. Để tránh sự nhầm lẫn, thuật ngữ độ
đo ở đây đề cập đến hàm tính độ tương tự hoặc độ phi tương tự. Một không gian
metric là một tập trong đó có xác định các "khoảng cách" giữa từng cặp phần tử với

những tính chất thông thường của khoảng cách hình học.
Nghĩa là, một tập X (các phần tử của nó có thể là những đối tượng bất kỳ)
gồm các đối tượng dữ liệu trong cơ sở dữ liệu D gọi là một không gian metric nếu
với mỗi cặp phần tử x, y thuộc X đều xác định một số thực δ(x,y), được gọi là
khoảng cách giữa x và y thoả mãn hệ tính chất sau: (i) δ(x, y) > 0 nếu x ≠ y; (ii)
δ(x,y)= 0 nếu x = y; (iii) δ(x, y) = δ(y, x) với mọi x, y; (iv) δ(x, y) ≤ δ(x, z)+ δ(z,y).
Hàm δ(x, y) được gọi là một metric của không gian. Các phần tử của X được gọi là
các điểm của không gian này. Một số phép đo độ tương tự áp dụng đối với các kiểu
dữ liệu khác nhau [5]-[6]-[7]:


Thuộc tính khoảng: Sau khi chuẩn hoá, độ đo phi tương tự của hai đối


15

tượng dữ liệu x, y được xác định bằng các metric như sau:



Khoảng cách Minskowski:

, với q là số nguyên

dương.



Khoảng cách Euclide:


, (trường hợp đặc biệt của

khoảng cách Minskowski trong trường hợp q =2 ).
● Khoảng cách Manhattan:

, (trường hợp đặc biệt của

khoảng cách Minskowski trong trường hợp q=1).
● Khoảng cách cực đại:

, đây là trường hợp của

khoảng cách Minskowski trong trường hợp q → ∞.
 Thuộc tính nhị phân: Trước hết ta xây dựng bảng 2.1 :
Bảng 2.1: Bảng tham số thuộc tính nhị phân
y: 1

Y:0

x: 1

α

Β

α+β

x: 0

γ


Δ

γ+δ

α+γ

β+δ

τ

Trong đó: τ = α + β + γ + δ, các đối tượng x, y mà tất cả các thuộc tính của
nó đều là nhị phân biểu thị bằng 0 và 1. Bảng trên cho ta các thông tin sau:
o α là tổng số các thuộc tính có giá trị là 1 trong cả hai đối tượng x, y.
o β là tổng số các giá trị thuộc tính có giá trị là 1 trong x và 0 trong y.
o γ là tổng số các giá trị thuộc tính có giá trị là 0 trong x và 1 trong y.
o δ là tổng số các giá trị thuộc tính có giá trị là 0 trong x và y.
Các phép đo độ tương tự đối với dữ liệu thuộc tính nhị phân được định nghĩa
như sau:
o Hệ số đối sánh đơn giản:

, ở đây cả hai đối tượng x và y có


16

vai trò như nhau, nghĩa là chúng đối xứng và có cùng trọng số.
o Hệ số Jacard:

, tham số này bỏ qua số các đối sánh


giữa 0-0. Công thức tính này được sử dụng trong trường hợp mà trọng số của các
thuộc tính có giá trị 1 của đối tượng dữ liệu có giá trị cao hơn nhiều so với các
thuộc tính có giá trị 0, như vậy các thuộc tính nhị phân ở đây là không đối xứng.
 Thuộc tính định danh: Độ đo phi tương tự giữa hai đối tượng x và y
được định nghĩa như sau:

, trong đó m là số thuộc tính đối

sánh tương ứng trùng nhau và p là tổng số các thuộc tính.


Thuộc tính có thứ tự: Phép đo độ phi tương tự giữa các đối tượng dữ liệu

với thuộc tính thứ tự được thực hiện như sau, ở đây ta giả sử i là thuộc tính thứ tự có
Mi giá trị (Mi kích thước miền giá trị):


Thuộc tính tỉ lệ: Có nhiều cách khác nhau để tính độ tương tự giữa các

thuộc tính tỉ lệ..
Trong thực tế, khi tính độ đo tương tự dữ liệu, người ta chỉ xem xét một phần
các thuộc tính đặc trưng đối với các kiểu dữ liệu hoặc đánh trọng số cho cho tất cả
các thuộc tính dữ liệu. Trong một số trường hợp, người ta loại bỏ đơn vị đo của các
thuộc tính dữ liệu bằng cách chuẩn hoá chúng hoặc gán trọng số cho mỗi thuộc tính
giá trị trung bình, độ lệch chuẩn. Các trọng số này có thể sử dụng trong các độ đo
khoảng cách trên, thí dụ với mỗi thuộc tính dữ liệu đã được gán trọng số tương ứng
wi(1 ≤ i ≤ k), độ tương tự dữ liệu được xác định như sau:

2.2.6 Một số phương pháp gom cụm dữ liệu

Các kỹ thuật áp dụng để giải quyết vấn đề gom cụm dữ liệu đều hướng tới
hai mục tiêu chung: Chất lượng của các cụm khám phá được và tốc độ thực hiện
của thuật toán. Hiện nay, các kỹ 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 [5]:


17

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

Hình 2.3: Gom cụm theo phương pháp Bottom Up và Top Down
Một số thuật toán gom cụm phân cấp [13]-[14]-[15]-[16]-[17] điển hình như
Cure, Birch, Chemeleon, Agnes, Diana,...

2.2.6.2 Gom cụm dựa trên mật độ
Phương pháp này nhóm các đối tượng theo hàm mật độ xác định. Mật độ
được định nghĩa như là số các đối tượng lân cận của một đối tượng dữ liệu theo một

ngưỡng nào đó. Trong cách tiếp cận này, khi một cụm dữ liệu đã xác định thì nó
tiếp tục được phát triển thêm các đối tượng dữ liệu mới miễn là số các đối tượng lân
cận của các đối tượng này phải lớn hơn một ngưỡng đã được xác định trước.
Phương pháp gom cụm dựa vào mật độ của các đối tượng để xác định các cụm dữ


×