..
bộ giáo dục và đào tạo
trường đại học bách khoa hà nội
--------------------------------------Hoàng thị hà
Phân cụm dữ liệu định tính
sử dụng lý thuyết tập thô
Chuyên ngành : Công nghệ thông tin
luận văn thạc sĩ công nghệ thông tin
người hướng dẫn khoa häc : TS. Ngun kim Anh
Hµ NéI – 2008
1
DANH MỤC CÁC CHỮ VIẾT TẮT
Từ hoặc cụm từ
Từ viết tắt
Từ tiếng Anh
Cơ sở dữ liệu
Phân cụm dữ liệu
CSDL
PCDL
Database
Data Clustering
Công nghệ thông tin
CNTT
Khám phá tri thức
KDD
Information
Technology
Knowledge
Discovery in
Database
Lý thuyết tập thô
RST
2
Rough Set
Theory
MỤC LỤC
Trang
DANH MỤC CÁC CHỮ VIẾT TẮT ........................................................1
MỤC LỤC .................................................................................................3
DANH MỤC CÁC BẢNG .......................................................................5
DANH SÁCH HÌNH VẼ...........................................................................6
TỪ KHỐ .................................................................................................6
CHƯƠNG 1 : TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ KHÁM
PHÁ TRI THỨC TRONG CSDL............................................................10
1.1 Tổng quan về khai phá dữ liệu ......................................................................... 10
1.1.1 Giới thiệu chung ............................................................................................ 10
1.1.2 Lịch sử khai phá dữ liệu ............................................................................... 11
1.1.3 Các nhiệm vụ chính và những thách thức của khai phá dữ liệu.............. 12
1.1.4 Các kỹ thuật tiếp cận trong khai phá dữ liệu ............................................. 12
1.1.5 Ứng dụng của khai phá dữ liệu.................................................................... 13
1.2 Quá trình khám phá tri thức trong CSDL .................................................... 14
1.2.1 Khái niệm KDD ............................................................................................. 14
1.2.2 Quá trình khám phá tri thức trong CSDL .................................................. 14
1.3 Phân cụm dữ liệu và vai trị của nó trong khai phá dữ liệu....................... 16
CHƯƠNG 2: PHÂN CỤM DỮ LIỆU....................................................17
2.1 Giới thiệu chung................................................................................................... 17
2.2 Các giai đoạn phân cụm ..................................................................................... 19
2.3 Các ứng dụng của phân cụm............................................................................. 20
2.4 Các kiểu thuộc tính và các độ đo của chúng trong phân tích cụm........... 21
2.4.1 Phân loại các thuộc tính dựa trên kích thước miền [4][3]:.................... 21
2.4.2 Phân loại các thuộc tính dựa trên thang đo ............................................... 22
2.4.3 Tương tự và phi tương tự .............................................................................. 23
2.5 Các kỹ thuật phân cụm dữ liệu ........................................................................ 28
2.5.1 Các thuật toán phân hoạch .......................................................................... 29
2.5.2 Các thuật toán phân cấp ............................................................................... 29
2.5.3 Các thuật toán dựa trên mật độ ................................................................... 32
2.5.4 Các thuật toán dựa trên lưới ........................................................................ 32
2.6 Các tiêu chí đánh giá một thuật tốn PCDL hiệu quả trong khai phá dữ
liệu 34
CHƯƠNG 3: THUẬT TOÁN PHÂN CỤM DỮ LIỆU ĐỊNH TÍNH SỬ
DỤNG LÝ THUYẾT TẬP THƠ.............................................................36
3.1 Giới thiệu chung................................................................................................... 36
3.2 Dữ liệu định tính và vấn đề phân cụm dữ liệu định tính ............................ 36
3.3 Khảo cứu một số thuật tốn phân cụm dữ liệu định tính điển hình ........ 37
3.3.1 Thuật tốn k-modes ...................................................................................... 37
3.3.2 Thuật toán ROCK [13] ................................................................................. 39
3.3.3 Thuật toán CACTUS [11]............................................................................. 39
3
3.3.4 Thuật toán phân cụm Squeezer [33] ........................................................... 40
3.3.5 Thuật toán phân cụm dữ liệu mờ Fuzzy K-modes ..................................... 41
3.3.6 Nhận xét chung về các thuật toán................................................................ 43
3.4 Tiếp cận lý thuyết tập thơ phân cụm dữ liệu định tính............................... 44
3.4.1 Lý thuyết tập thô và ứng dụng..................................................................... 44
3.4.1.1
3.4.1.2
Một số khái niệm cơ bản [26] ......................................................................45
Các ứng dụng của RST.................................................................................49
3.4.2.1
3.4.2.2
3.4.2.3
3.4.2.4
3.4.2.5
Ý tưởng thuật toán........................................................................................50
Một số định nghĩa bổ trợ thuật toán ............................................................51
Thuật tốn MIN-MIN-ROUGHNESS (MMR) ..............................................52
Ví dụ minh họa thuật tốn MMR..................................................................55
Độ phức tạp của thuật toán MMR ...............................................................58
3.4.2 Thuật toán phân cụm dữ liệu định tính MMR ............................................ 50
CHƯƠNG 4: THỬ NGHIỆM VÀ ĐÁNH GIÁ GIẢI THUẬT MMR ..59
4.1 Xây dựng chương trình thử nghiệm................................................................ 59
4.1.1 Về mơi trường lập trình ................................................................................ 59
4.1.2 Về chương trình ............................................................................................. 59
4.2 Dữ liệu thử nghiệm.............................................................................................. 62
4.3 Kết quả thử nghiệm và đánh giá giải thuật ................................................... 63
TÀI LIỆU THAM KHẢO .......................................................................71
PHỤ LỤC: MỘT SỐ MODUL CÀI ĐẶT ..............................................74
4
DANH MỤC CÁC BẢNG
Bảng 2.1: Bảng sự kiện ...................................................................... 25
Bảng 3.1: Tổng kết một số đặc điểm của các thuật tốn phân cụm dữ liệu
định tính ............................................................................................ 43
Bảng 3.2 : Bảng thông tin về các triệu chứng của 6 bệnh nhân ............. 45
Bảng 3.3. Một số ứng dụng của RST .................................................. 50
Bảng 3.4: Tập dữ liệu mẫu ................................................................. 55
Bảng 3.5: Tính trung bình roughness cho thuộc tính a1 ....................... 56
Bảng 3.6: Tính MMR ........................................................................ 56
Bảng 4.1: Chi tiết các file dữ liệu thử nghiệm ..................................... 62
Bảng 4.2. Kết quả phân cụm tập dữ liệu Soybean................................ 63
Bảng 4.3. Kết quả phân cụm tập dữ liệu Zoo....................................... 64
Bảng 4.4: So sánh chất lượng phân cụm của thuật toán MMR với ba
thuật toán fuzzy centroid, K-modes, fuzzy K-modes ............................ 65
Bảng 4.5 : So sánh chất lượng phân cụm của thuật toán MMR với
Squeezer, K-mode .............................................................................. 66
5
DANH SÁCH HÌNH VẼ
Hình 1.1: Các lĩnh vực liên quan đến khai phá dữ liệu ......................... 11
Hình 1.2: Các bước thực hiện trong quá trình khám phá tri thức .......... 14
Hình 2.1: Các bước xử lý phân cụm ................................................... 20
Hình 2.2: Các chiến lược phân cụm phân cấp...................................... 31
Hình 2.3: Phương pháp PCDL cổ điển “phân hoạch” và “phân cấp” .... 31
Hình 2.4: Mơ hình cấu trúc dữ liệu lưới .............................................. 33
Hình 3.1: Thuật tốn Fuzzy K-modes ................................................. 41
Hình 3.2: Mối quan hệ giữa xấp xỉ trên, xấp xỉ dưới và miền bao........ 48
Hình 3.3: Thuật tốn MMR ................................................................ 54
Hình 3.4: Phần chia sau lần lặp đầu tiên.............................................. 57
Hình 4.1: Chức năng hiện cây phân cụm............................................. 60
Hình 4.2: Chức năng hiển thị thời gian và tiến trình tính tốn .............. 61
Hình 4.3: Chức năng hiển thị Log q trình tính tốn .......................... 61
Hình 4.4. Biểu đồ biểu thị mối quan hệ giữa chất lượng cụm và số cụm62
Hình 4.5: Chất lượng phân cụm của MMR trên tập dữ liệu Zoo ........... 64
TỪ KHOÁ
Khai phá dữ liệu, phân cụm dữ liệu, phân cụm dữ liệu định, lý thuyết tập thô
6
MỞ ĐẦU
Với sự bùng nổ CNTT hiện nay, việc tìm ra các thơng tin hữu ích, tiềm
ẩn từ kho dữ liệu lớn là một vấn đề hết sức quan trọng trong nhiều ứng dụng
thực tiễn. Quá trình tìm kiếm tri thức trong các CSDL lớn chính là nhiệm vụ
của khai phá dữ liệu – một lĩnh vực khoa học đang được quan tâm nghiên cứu
rộng rãi. Trong các nhiệm vụ của khai phá dữ liệu thì phân cụm dữ liệu đóng
một vai trị quan trọng trong q trình khám phá tri thức.
Bài toán phân cụm dữ liệu thuộc lĩnh vực học không giám sát, nhằm
phân tập dữ liệu thành các tập con thỏa mãn điều kiện: các đối tượng trong
cùng một tập có độ tương đồng cao, các đối tượng ở các tập khác nhau có độ
tương đồng thấp.
Các kỹ thuật phân cụm đã được ứng dụng trong nhiều lĩnh vực, chẳng
hạn như: trong Y học, trong kinh doanh, trong tin sinh,…Tuy nhiên, cho đến
nay hầu hết các phương pháp phân cụm đều tập trung trên tập dữ liệu có các
thuộc tính định lượng.Vì dữ liệu của thế giới thực rất đa dạng và tồn tại nhiều
thuộc tính định tính nên những năm gần đây vấn đề phân cụm dữ liệu định
tính đang được các nhà khoa học quan tâm. Thực tế, đã có một số cơng trình
nghiên cứu thành cơng trên dữ liệu dạng này. Có thể kể đến một số thuật tốn
điển hình như: K-modes(1998), fuzzy K-mode (1999) của Huang; ROCK
(1999) của Guha et al.; CACTUS (1999) của Venkatesh Ganti, Johannes
Gehrke và Raghu Ramakrishnan; Squeezer(2000) của HE Zengyou, XU
Xiaofei và DENG Shengchun,… Những thuật tốn trên đã đóng góp rất lớn
cho q trình phân cụm dữ liệu định tính, nhưng phần lớn khơng được thiết kế
để điều khiển khơng chắc chắn(uncertaily) trong q trình phân cụm, một số ít
có điều khiển mờ nhưng lại gặp phải vấn đề về tính ổn định. Điều này rất
quan trọng đối với các ứng dụng thực. Vậy cần nghiên cứu một cách tiếp cận
khác ổn định hơn mà vẫn có thể điều khiển không chắc chắn. Sử dụng lý
thuyết tập thô để phân cụm dữ liệu có thể giải quyết được hai vấn đề nêu trên.
Chính vì những lý do trên, tơi chọn hướng nghiên cứu “Phân cụm dữ liệu
định tính sử dụng lý thuyết tập thô” làm đề tài nghiên cứu cho luận văn của
mình. Luận văn trình bày hệ thống về khai phá dữ liệu, PCDL nói chung và
7
khảo cứu một số thuật tốn PCDL định tính nói riêng. Đặc biệt, tập trung
nghiên cứu thuật toán sử dụng lý thuyết tập thơ vào q trình phân cụm dữ
liệu định tính. Trên cơ sở đó phân tích, đánh giá, so sánh với các hướng tiếp
cận truyền thống. PCDL dựa trên RST là một cách tiếp cận hoàn toàn mới
trong lĩnh vực phân cụm. Hiện nay, vấn đề này đang được các nhà khoa học
quan tâm nghiên cứu nhằm tìm ra một giải pháp phân cụm đạt kết quả tốt cả
về định lượng lẫn định tính.
Luận văn được bố cục như sau:
Chương 1 tập trung trình bày tổng quan về lĩnh vực khai phá dữ liệu,
đồng thời chỉ ra các giai đoạn thực hiện trong quá trình khám phá tri thức và
vai trò của PCDL trong khai phá dữ liệu .
Chương 2 trình bày vấn đề về PCDL, đây là một hướng tiếp cận chính
trong khai phá dữ liệu. Trong đó, đi sâu tìm hiểu chi tiết các vấn đề cơ bản
trong PCDL và ý nghĩa của PCDL, đặc điểm của các kiểu dữ liệu cơ bản
thường sử dụng trong PCDL như: dữ liệu có thuộc định lượng (number), dữ
liệu có thuộc tính định tính (Categorica)l,… Các khái niệm về “tương tự” và
“phi tương tự” cũng được trình bày trong chương này. Phần cuối của chương
trình bày vắn tắt các đặc trưng của các phương pháp PCDL được sử dụng phổ
biến như: Phương pháp phân cụm phân hoạch, phương pháp phân cụm phân
cấp, phương pháp phân cụm dựa trên mật độ,…đồng thời nêu ra các tiêu chí
đánh giá kết quả PCDL.
Chương 3, khảo cứu một số thuật toán phân cụm dữ liệu định tính điển
hình như: K-mode, ROCK, CACTUS, Squeezer, fuzzy K-mode có chỉ ra các
ưu điểm, nhược điểm của mỗi thuật tốn. Tiếp đó trình bày một cơ sở lý
thuyết khá hiện đại - lý thuyết tập thô và nội dung thuật tốn MMR áp dụng lý
thuyết tập thơ vào phân cụm dữ liệu định tính.
Chương 4, thực hiện cài đặt và thử nghiệm thuật tốn MMR đã được
trình bày ở chương 3. Trên cơ sở đó phân tích, đánh giá và so sánh với các
thuật tốn đã trình bày ở đầu chương 3.
8
Phần kết luận, phần này trình bày tóm tắt về các nội dung thực hiện
trong luận văn này, đồng thời đưa ra những vấn đề nghiên cứu tiếp theo cho
tương lai. Phần phụ lục trình bày một số mơ đun chương trình cài đặt cho
thuật tốn MMR.
9
CHƯƠNG 1 : TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ KHÁM
PHÁ TRI THỨC TRONG CSDL
1.1 Tổng quan về khai phá dữ liệu
1.1.1 Giới thiệu chung
Cùng với sự phát triển vượt bậc của các công nghệ điện tử và truyền
thông, hiện nay có nhiều cơng cụ thu thập dữ liệu tự động và tổ chức cơ sở dữ
liệu (CSDL) nên số lượng dữ liệu lưu trữ trong các CSDL khá khổng lồ.
Thông tin trên thế giới cứ 20 tháng lại tăng lên gấp đơi [30]. Kích cỡ và số
lượng các CSDL không ngừng được tăng lên theo hai hướng :
- Tăng số các bản ghi (hoặc các đối tượng trong CSDL)
- Tăng số các trường (hoặc các thuộc tính) của từng đối tượng.
Tình trạng đó gây ra hiện tượng ứng lụt dữ liệu. Vấn đề đặt ra là phải xử lý
thơ thế nào để tìm thơng tin hữu ích (phát hiện tri thức). Đây chính là nhiệm
vụ đặt ra cho một lĩnh vực nghiên cứu được quan tâm nhiều trong những năm
gần đây. Đó là lĩnh vực khai phá dữ liệu (Khai phá dữ liệu).
Vậy Khai phá dữ liệu là gì?.
Khai phá dữ liệu là một hướng nghiên cứu mới ra đời gần hai thập niên
trở lại đây, các kỹ thuật chính được áp dụng trong lĩnh vực này phần lớn được
thừa kế từ lĩnh vực CSDL, học máy, trí tuệ nhân tạo, lý thuyết thông tin, xác
suất thống kê. Do sự phát triển nhanh của khai phá dữ liệu về phạm vi áp
dụng và các phương pháp tìm kiếm tri thức, nên đã có nhiều quan điểm khác
nhau về khai phá dữ liệu. Tuy nhiên, ở một mức trừu tượng nhất định, chúng
ta định nghĩa khai phá dữ liệu như sau [14][8]:
“Khai phá dữ liệu là một quá trình tìm kiếm, phát hiện các tri thức mới, tiềm
ẩn, hữu dụng trong CSDL lớn”.
Các lĩnh vực liên quan đến khai phá dữ liệu (Hình 1.1) [30]:
10
Cơng nghệ CSDL
(Database Technology)
Học máy
(Machine Learning)
Thống kê
(Statistics)
Trực quan hóa
(Visualization)
Khai phá dữ liệu
(Data Mining)
Trí truệ nhân tạo
(Artificial Intelligence)
Các lĩnh vực khác
Hình 1.1: Các lĩnh vực liên quan đến khai phá dữ liệu
1.1.2 Lịch sử khai phá dữ liệu
Khai phá dữ liệu là một lĩnh vực nghiên cứu được ra đời vào cuối
những năm 1980s và đã nhanh chóng phát triển khá mạnh vào những năm
1990s. Các kết quả khoa học cùng những ứng dụng thành công trong khám
phá tri thức, cho thấy, khai phá dữ liệu là một lĩnh vực phát triển bền vững,
mang lại nhiều lợi ích và có nhiều triển vọng. Ngày nay, khai phá dữ liệu đã
ứng dụng ngày càng rộng rãi vào nhiều lĩnh vực như : Thương mại, tài chính,
điều trị y học, viễn thơng, tin – sinh, xử lý ảnh….
Các kỹ thuật chính được áp dụng trong khai phá dữ liệu phần lớn được
thừa kế từ ba lĩnh vực cơ bản : Thống kê (Statistics), trí tuệ nhân tạo
(Artificial Intelligence), học máy (Machine Learning).
Tùy thuộc vào từng ngành mà khai phá dữ liệu có các cách gọi riêng.
Khai phá dữ liệu cịn có một số thuật ngữ khác hay dùng như: khai phá tri
thức quý (Gold Mining), trích rút tri thức (Knowledge extraction), phân tích
mẫu hoặc dữ liệu (Data/pattern analysis), khám phá tri thức trong CSDL
(Knowledge Discovery Databases - KDD), gặt hái thông tin (Information
harvesting).
11
1.1.3 Các nhiệm vụ chính và những thách thức của khai phá dữ liệu
* Những nhiệm vụ chính: Khai phá dữ liệu là quá trình khai phá tri
thức tiềm ẩn, hữu ích từ kho dữ liệu lớn nên nó có những nhiệm vụ sau [30]:
Mô tả khái niệm các lớp(Concept/Class description)
Khám phá ra các luật kết hợp (Association rules discovery)
Phân lớp và dự đoán (Classification and Prediction)
Phân tích cụm (Cluster analysis)
Phân tích phần tử ngoại lai(Outlier analysis)
* Những thách thức của khai phá dữ liệu: Ngày nay, khai phá dữ liệu
đang đứng trước nhiều thách thức, đó là: kích thước của dữ liệu khơng ngừng
được tăng lên, ngày càng có nhiều kiểu dữ liệu khác nhau xuất hiện trong các
CSDL (text, HTML, XML, multimedia…)., chất lượng dữ liệu của thế giới
thực (Real world data) thường lộn xộn và nhiều nhiễu…
1.1.4 Các kỹ thuật tiếp cận trong khai phá dữ liệu
Nếu đứng trên quan điểm của học máy (Machine Learning), thì các kỹ
thuật trong khai phá dữ liệu, bao gồm các kỹ thuật:
Học có giám sát (Supervised learning) : Là quá trình gán nhãn lớp cho
các phần tử trong CSDL dựa trên một tập các ví dụ huấn luyện và các
thơng tin về nhãn lớp đã biết.
Học khơng có giám sát (Unsupervised learning): Là quá trình phân
chia một tập dữ liệu thành các lớp hay là cụm (clustering) dữ liệu tương
tự nhau mà chưa biết trước các thông tin về lớp hay tập các ví dụ huấn
luyện.
Học nửa giám sát (Semi - Supervised learning) : Là quá trình phân
chia một tập dữ liệu thành các lớp dựa trên một tập nhỏ các ví dụ huấn
luyện và một số các thông tin về một số nhãn lớp đã biết trước.
Nếu căn cứ vào lớp các bài tốn cần giải quyết, thì khai phá dữ liệu
bao gồm các kỹ thuật áp dụng sau[14][30]:
12
Phân lớp và dự đoán (classification and prediction): xếp một đối tượng
vào một trong những lớp đã biết trước. Phân lớp và dự đốn cịn được
gọi là học có giám sát.
Luật kết hợp (association rules): là dạng luật biểu diễn tri thức ở dạng
khá đơn giản. Luật kết hợp được ứng dụng nhiều trong lĩnh vực kinh
doanh, y học, tin-sinh, tài chính và thị trường chứng khốn, .v.v.
Phân tích chuỗi theo thời gian (sequential/ temporal patterns): tương tự
như khai phá luật kết hợp nhưng có thêm tính thứ tự và tính thời gian.
Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị
trường chứng khốn vì nó có tính dự báo cao.
Phân cụm (clustering/ segmentation): xếp các đối tượng theo từng cụm
dữ liệu tự nhiên. Phân cụm còn được gọi là học khơng có giám sát
( unsupervised learning).
Mơ tả khái niệm (concept description and summarization): thiên về mô
tả, tổng hợp và tóm tắt khái niệm.
1.1.5 Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu là một lĩnh vực hiện nay đang được thế giới ứng dụng
khá rộng rãi. Một số ứng dụng điển hình trong khai phá dữ liệu có thể liệt kê
như sau [30]:
Trong lĩnh vực khoa học(Science): Khai phá dữ liệu đã ứng dụng trong các
ngành: Hóa học, Vật lý, Y học với các ứng dụng cụ thể như sau: Phân tích
hóa sinh( Biochemical analysis), nghiên cứu các bộ cảm ứng xa trên vệ
tinh (Remote sensors on a satellite), phân tích các ảnh trong Y học
(Medical Image analysis),…
Trong lĩnh vực sinh học (Bioscience): PCDL được ứng dụng để, phân tích
chuỗi (Sequence-based analysis), dự đốn cấu trúc Protein và dự đốn
hàm (Protein structure and function prediction), tìm ra các lớp Protein
cùng họ (Protein family classification), khám phá gene.
Trong ngành tài chính, ngân hàng, kinh doanh và thương mại điện tử:
PCDL được ứng dụng để: phân tích sự đầu tư và chúng khoán( Stock and
13
investment analysis), nhận diện những khách hàng trung thành và khơng
trung thành, quản lý rủi ro(Risk management), dự đốn bán hàng (Sales
forecasting),…
Trong lĩnh vực phân tích cơ sở dữ liệu và hỗ trợ quyết định (Database
analysis and decision support): PCDL được dùng để trợ giúp: quản lý và
phân tích thị trường, quản lý và phân tích sự rủi ro, quản lý và dị tìm
lỗi,…
1.2 Q trình khám phá tri thức trong CSDL
1.2.1 Khái niệm KDD
KDD chính là khám phá tri thức trong CSDL và cũng là mục tiêu chính
của Khai phá dữ liệu, do vậy hai khái niệm Khai phá dữ liệu và KDD được
các nhà khoa học trên hai lĩnh vực được xem là tương đương với nhau. Thế
nhưng, nếu phân chia một cách chi tiết thì Khai phá dữ liệu là một bước chính
trong q trình KDD.
1.2.2 Quá trình khám phá tri thức trong CSDL
Khám phá tri thức trong CSDL là lĩnh vực liên quan đến các ngành
như: thống kê, học máy, CSDL, …
Q trình KDD có thể phân thành các giai đoạn sau [30] [14]:
Tri thức
Dữ liệu
thơ
Biểu diễn tri
thức
Đánh giá và
giải thích
Các mẫu
Khai phá dữ
liệu
Dữ liệu
Trích chọn dữ
liệu
Tiền xử lý dữ
liệu
Dữ liệu
Tiền xử lý
Biến đổi dữ
liệu
Hình 1.2: Các bước thực hiện trong quá trình khám phá tri thức
Trích chọn dữ liệu : là bước trích chọn những tập dữ liệu cần được khai
phá từ các tập dữ liệu lớn (databases, data warehouses, data repositories)
ban đầu theo một số tiêu chí nhất định.
14
Tiền xử lý dữ liệu : là một trong những bước khá quan trọng trong quá
trình KDD. Xứ lý này tốn rất nhiều thời gian và công sức của các nhà khai
phá dữ liệu thực tế. Sau khi xác định rõ bài toán và thu thập được dữ liệu
của bài tốn, sẽ thực hiện các kỹ thuật thích hợp cho dữ liệu như loại bỏ
nhiễu, quyết định các chiến lược đối với trường dữ liệu bị mất. Khi dữ liệu
dầu vào từ nhiều nguồn khac nhau (có thể khơng nhất quán) cần điều hòa
dữ liệu: khử các trường hợp dữ liệu lặp, thống nhất cách ký hiệu, ở đây
thường dùng các công cụ thống kê làm trơn dữ liệu, khử nhiễu trong
chúng. Sau đó thực hiện làm giảm số chiều dữ liệu (nếu cần thiết và nếu có
thể được) bằng cách tìm các đặc trưng hữu dụng để biểu diễn dữ liệu phụ
thuộc đích của nhiệm vụ.
Tóm lại, đây là bước làm sạch dữ liệu (xử lý với dữ liệu không đầy đủ,
dữ liệu nhiễu, dữ liệu không nhất quán, .v.v.), rút gọn dữ liệu (sử dụng hàm
nhóm và tính tổng, các phương pháp nén dữ liệu, sử dụng histograms, lấy
mẫu, .v.v.), rời rạc hóa dữ liệu (rời rạc hóa dựa vào histograms, dựa vào
entropy, dựa vào phân khoảng, .v.v.). Sau bước này, dữ liệu sẽ nhất quán, đầy
đủ, được rút gọn, và được rời rạc hóa.
Biến đổi dữ liệu: đây là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu
về dạng thuận lợi nhất nhằm phục vụ cho các kỹ thuật khai phá ở bước
sau.
Khai phá dữ liệu: đây là bước áp dụng những kỹ thuật phân tích (phần
nhiều là các kỹ thuật của học máy) nhằm để khai thác dữ liệu, trích chọn
được những mẫu thông tin, những mối liên hệ đặc biệt trong dữ liệu. Đây
được xem là bước quan trọng nhất của tồn q trình KDD.
Đánh giá và biểu diễn tri thức: những mẫu thông tin và mối liên hệ trong
dữ liệu đã được khám phá ở bước trên được chuyển dạng và biểu diễn ở
một dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật, .v.v.
Đồng thời bước này cũng đánh giá những tri thức khám phá được theo
những tiêu chí nhất định.
15
1.3 Phân cụm dữ liệu và vai trị của nó trong khai phá dữ liệu
Phân cụm dữ liệu là một kỹ thuật quan trọng trong khai phá dữ liệu
dùng để nhóm các dữ liệu có những đặc điểm tương tự từ kho dữ liệu. Nó là
một cơng cụ để khám phá ra các nhóm đối tượng tự nhiên. Từ đó, 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 để khám
phá và tìm kiếm các thơng tin tiềm ẩn, hữu ích phục vụ cho ra quyết định.
Ngày nay, các kỹ thuật phân cụm được ứng dụng rộng rãi trong nhiều
lĩnh vực, chẳng hạn như trong: sản xuất, y học, khoa học hạt nhân, tin_ sinh,
kinh doanh, xử lý ảnh,…và đã đem lại nhiều thành cơng trong q trính khám
phá tri thức.
Tuy nhiên, các nghiên cứu trước đây về phân cụm thường tập trung trên
các dữ liệu có thuộc tính số (numeric attributes)- những thuộc tính có quan hệ
thứ tự, liên tục, giữa các đối tượng có thể đo được mức độ sự khác biệt. Do
gần đây, trong các CSDL xuất hiện rất nhiều kiểu dữ liệu như: dữ liệu có
thuộc tính định tính hay cịn gọi là thuộc tính phạm trù (catagorical attribute),
dữ liệu dạng hình ảnh, dữ liệu dạng web,… nên vấn đề phân cụm dữ liệu trên
các loại dữ liệu này đang nhận được nhiều sự quan tâm của các nhà khoa học..
Kết luận chương 1: Như vậy, chương này đã trình bày một cách tổng
quan về vấn đề khai phá dữ liệu với các ứng dụng của nó, q trình khám phá
tri thức trong CSDL và vai trò của PCDL trong khai phá dữ liệu. Nó làm nền
tảng cho chương tiếp theo.
16
CHƯƠNG 2: PHÂN CỤM DỮ LIỆU
Giới thiệu chung
Phân cụm dữ liệu là một kỹ thuật quan trọng trong khai phá dữ liệu
được ứng dụng rộng rãi và đa dạng trong các ngành khoa học như sinh học,
tâm lý học, y học, ngành marketing, thị giác máy tính, và điều kiển học v.v.
Phân cụm dữ liệu tổ chức dữ liệu bằng cách nhóm các đối tượng có độ tương
đồng cao để khám phá cấu trúc của dữ liệu mà không yêu cầu các giả thiết
cho trước từ các phương pháp thống kê. Mục tiêu của phương pháp phân cụm
dữ liệu là tìm kiếm các nhóm đối tượng theo hình dạng tự nhiên. Các thuật
tốn phân cụm hướng tới việc tìm kiếm cấu trúc trong dữ liệu. Phương pháp
này còn được gọi là “học khơng thầy” hay “học khơng có giám sát”
(Unsupervised Learning) trong lĩnh vực nhận dạng mẫu (Pattern Recognition)
nói riêng và trong trí tuệ nhân tạo nói chung [9][16].
Có nhiều định nghĩa về PCDL, tuy nhiên ở một mức cơ bản nhất, Guha
et al., (1998) đã đưa ra định nghĩa PCDL như sau [16] [9]:
2.1
"PCDL là một kỹ thuật trong khai phá dữ liệu, nhằm tìm kiếm, phát
hiện các cụm, các mẫu dữ liệu tương tự nhau tiềm ẩn, quan tâm trong tập dữ
liệu lớn, từ đó cung cấp thơng tin, tri thức hữu ích cho hỗ trợ cho việc ra
quyết định"
Vậy, phân 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ự" (similar)
với nhau và phần tử khơng thuộc cụm thì không tương tự (dissimilarity) với
nhau. Số các cụm dữ liệu được phân có thể được xác định trước theo kinh
nghiệm hoặc có thể được tự động xác định theo thuật tốn phân cụm.
Một khó khăn thường gặp trong PCDL đó là hầu hết các dữ liệu cần
cho phân cụm đều có chứa dữ liệu "nhiễu" (noise) do q trình thu thập thiếu
chính xác hoặc thiếu đầy đủ, vì vậy cần phải xây dựng chiến lược cho bước
tiền xử lý dữ liệu nhằm khắc phục hoặc loại bỏ "nhiễu" trước khi bước vào
giai đoạn phân tích, phân cụm dữ liệu. "Nhiễu" ở đây có thể là các đối tượng
dữ liệu khơng khơng chính xác, hoặc là các đối tượng dữ liệu khuyết thiếu
17
thơng tin ở một số thuộc tính. Một trong các kỹ thuật xử lý nhiễu phổ biến là
việc thay thế giá trị của các thuộc tính của đối tượng "nhiễu" bằng giá trị
thuộc tính tương ứng của đối tượng dữ liệu gần nhất.
Ngồi ra, dị tìm phần tử ngoại lai (Outlier) là một trong những hướng
nghiên cứu quan trọng trong phân cụm dữ liệu cũng như trong khai phá dữ
liệu. Chức năng của nó là xác định một nhóm nhỏ các đối tượng dữ liệu "khác
thường" so với các dữ liệu trong CSDL - tức là các đối tượng dữ liệu khơng
tn theo các hành vi hoặc mơ hình dữ liệu - nhằm tránh sự ảnh hưởng của
chúng tới quá trình và kết quả của PCDL. Khám phá các phần tử ngoại lai đã
được phát triển và ứng dụng trong viễn thơng, dị tìm gian lận thương mại và
trong làm sạch dữ liệu,vv… Phân cụm dữ liệu phải đi giải quyết các vấn đề cơ
bản sau :
Xây dụng hàm tính độ tương tự.
Xây dựng các tiêu chuẩn phân cụm.
Xây dựng mơ hình cho cấu trúc cụm dữ liệu
Xây dựng thuật toán phân cụm và các xác lập các điều kiện khởi tạo.
Xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm
Theo các nghiên cứu, đến nay chưa có một phương pháp phân cụm tổng
quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc cụm dữ liệu.
Hơn nữa, các phương pháp phân cụm cần có cách thức biểu diễn cấu trúc của
các cụm dữ liệu, với mỗi cách thức biểu diễn khác nhau sẽ có tương ứng một
thuật tốn phân cụm phù hợp. PCDL đang là vấn đề mở và khó, vì rằng người
ta cần phải đi giải quyết nhiều vấn đề cơ bản như đã đề cập ở trên một cách
trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối với các
dữ liệu định tính (categorical data) và các dữ liệu hỗn hợp. Những dạng dữ
liệu này đang ngày càng tăng trưởng và không ngừng xuất hiện trong các
CSDL, đây cũng là một trong những thách thức lớn trong lĩnh vực Khai phá
dữ liệu trong những thập kỷ tiếp theo.
18
2.2 Các giai đoạn phân cụm
Theo Fayyad et al., 1996 phân cụm dữ liệu được chia thành các giai đoạn sau
[8]:
Giai đoạn 1. Trích chọn các đặc trưng (Feature Selection): Mục đích
của giai đoạn này là trích chọn những đặc trưng hợp lệ đối với tập dữ liệu của
bài toán xác định, tránh trường hợp tồn tại những đặc trưng dư thừa, nhằm áp
dụng một cách hiệu quả các kỹ thuật khai phá dữ liệu .
Giai đoạn 2. Lựa chọn thuật toán phân cụm (Selection Algorithm s):
Đây là bước lựa chọn thuật tốn phân cụm, sao cho nó phù hợp nhất với tập
dữ liệu và yêu cầu đã cho. Độ đo sự tương tự (similary measure) hoặc phi
tương tự (dissimilary measure) giữa hai đối tượng và điều kiện phân cụm
(clustering criterion) trong mỗi thuật toán là những đặc điểm được xem xét
chính để quyết định lựa chọn một thuật tốn phân cụm hiệu quả đối với bài
tốn. Ngồi hai đặc điểm trên cũng cần phải xem xét đến đặc điểm, kích
thước chiều của tập dữ liệu.
Giai đoạn 3. Xác nhận tính hợp lệ của các kết quả(Validation of
results): Đây là một trong những giai đoạn cuối của quá trình phân cụm. Giai
đoạn này thường dựa vào việc kiểm tra một cách thủ công và các các kỹ thuật
trực quan để xác nhận kết quả phân cụm. Mặc dù vậy, khi tập dữ liệu lớn, thì
việc sử dụng phương pháp trên là khơng thể. Khi đó phải so sánh kết quả với
các thuật tốn đã có.
Giai đoạn 4. Phiên dịch - giải thích (Interpretation) : Giai đoạn này
các chuyên gia trong lĩnh vực ứng dụng phải kết hợp kết quả phân cụm với
các minh chứng thử nghiệm khác phân tích, giải thích đưa ra kết luận đúng
đắn cho người sử dụng.
19
Các giai đoạn phân cụm có thể được mơ tả như sau (hình 2.1) [16]:
Giải thích kết quả
Xác nhận tính hợp lệ
của kết quả
Lựa chọn thuật
tốn phân cụm
Trích chọn
đặc trưng
Kết quả
cuả
thuật
tốn
Tri thức
Kết quả
PCDL
cuối
cùng
Dữ liệu
xử lý
Hình 2.1: Các bước xử lý phân cụm
Các ứng dụng của phân cụm
Phân cụm là một cơng cụ chính để xem xét phân bố dữ liệu và làm
bước tiền xử lý cho các thuật toán khác. Hiện nay, nó đã ứng dụng ở nhiều
trong lĩnh vực kinh doanh và khoa học. Dưới đây sẽ nêu một số lĩnh vực ứng
dụng của phân cụm [14]:
1. Trong kinh doanh (Business): Trong kinh doanh, phân cụm có thể giúp
các cửa hàng khám phá ra các nhóm phân biệt trong CSDL mua hàng.
2. Trong sinh học(Biology): Trong sinh học, nó có thể được sử dụng để định
nghĩa sự phân loại, các nhóm genes có độ tương đồng cao.
3. Trong phân tích dữ liệu khơng gian (Spatial data analysis): Phần lớn dữ
liệu khơng gian có thể có được từ các ảnh vệ tinh, các thiết bị y tế, các hệ
thống thông tin đại lý GIS, sự khám phá CSDL ảnh,…nó rất khó cho người sử
dụng để kiểm tra dữ liệu vệ tinh một cách chi tiết. Phân cụm có thể giúp tự
động xử lý q trình phân tích và hiểu dữ liệu vệ tinh. Nó rất có ích trong việc
nhận diện và trích rút các đặc điểm và mẫu hứu ích tồn tại trong các CSDL vệ
2.3
20
tinh lớn. Ví dụ như trong sử dụng đất, phân cụm giúp nhận dạng các vùng đất
sử dụng giống nhau khi khảo sát CSDL đất
4. Trong bảo hiểm: Phân cụm dùng để nhận dạng các nhóm cơng ty có chính
sách bảo hiểm mơ tơ với chi phí đền bù trung bình cao
5. Trong hoạch định thành phố: Phân cụm giúp nhận dạng các nhóm nhà
cửa theo loại nhà, giá trị và vị trí địa lý.
6. Khám phá Web (Web mining): Trong trường hợp này, phân cụm được sử
dụng để khám phá các nhóm tài liệu hữu ích trên Web theo một số tiêu chí.
Sự phân lớp các tài liệu Web giúp người sử dụng có thể khai phá thơng tin.
2.4 Các kiểu thuộc tính và các độ đo của chúng trong phân tích cụm
Trong phần này chúng ta phân tích các kiểu dữ liệu thường được sử
dụng trong phân cụm dữ liệu. Trong phân cụm dữ liệu, các đối tượng dữ liệu
cần phân tích có thể là con người, cái nhà, tiền lương, quan điểm,…. Các đối
tượng này thường được diễn tả dưới dạng các đặc tính hay cịn gọi là thuộc
tính. Các thuộc tính này là các tham số cho giải quyết vấn đề phân cụm dữ
liệu và sự lựa chọn chúng có tác động đáng kể đến các kết quả phân cụm.
Phân loại các kiểu thuộc tính khác nhau là một vấn đề cần giải quyết đối với
hầu hết các tập dữ liệu, nhằm cung cấp các phương tiện thuận lợi để nhận
dạng sự khác nhau của các phần tử dữ liệu. Dưới đây là cách phân loại dựa
trên hai đặc trưng là: kích thước miền (Domain Size) và thang đo
(Measurement Scale).
Cho một CSDL D chứa n đối tượng trong không gian k chiều, x,y,z là
các đối tượng thuộc D : x=(x1,x2,..,xk);y=(y1,y2,..,yk);z=(z1,z2,..,zk), trong đó
xi, yi, zi với i = 1, k là các đặc trưng hoặc thuộc tính tương ứng của các đối
tượng x,y,z. Vì vậy, hai khái niệm “các kiểu dữ liệu” và “các kiểu dữ liệu
thuộc tính” được xem là tương đương với nhau. Dưới đây sẽ giới thiệu một
số kiểu dữ liệu:
2.4.1 Phân loại các thuộc tính dựa trên kích thước miền [4][3]:
Thuộc tính liên tục (Continuous Attribute): là thuộc tính 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ô
21
số giá trị khác nhau. Thí dụ như các thuộc tính về màu, nhiệt độ hoặc
cường độ âm thanh.
Thuộc tính rời rạc (DiscretteAttribute) : là thuộc tính nếu miền giá trị
của nó là tập hữu hạn, đếm được. Thí dụ như các thuộc tính về số serial
của một cuốn sách, số thành viên trong một gia đình, …
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 giá trị khác nhau, đối lập nhau được diễn
tả như: Yes / No hoặc Male/Female, True/ False,…
2.4.2 Phân loại các thuộc tính dựa trên thang đo
Cho thuộc tính i và hai đối tượng x, y có các giá trị xi, yi tương ứng trên
thuộc tính này, người ta phân các thuộc tính như sau [4][3]:
Thang đo khoảng (Interval Scale): Nhằm để đo các giá trị theo xấp xỉ
tuyến tính. Với thang đo khoảng, chúng ta khơng chỉ xác định được
một giá trị thuộc tính là đứng trước hoặc đứng sau một giá trị thuộc tính
khác mà cịn biết được chúng cách nhau một khoảng là bao nhiêu. Nếu
xi>yi thì ta nói x khác y một khoảng xi – yi tương ứng với thuộc tính
thứ i. Thuộc tính có thang đo này gọi là thuộc tính khoảng (Interval
scaled attributes). Một thí dụ về thuộc tính khoảng như thuộc tính các
số Serial của quyển sách trong thư viện hoặc thuộc tính các số kênh
trên truyền hình.
Thang đo tỉ lệ (Ratio Scale): là thang đo khoảng nhưng được xác định
một cách tương đối so với điểm mốc đầy ý nghĩa (điểm 0). Thuộc tính
có thang đo này gọi là thuộc tính tỉ lệ (ratio scaled attributes). Ví dụ
như thuộc tính chiều cao hoặc cân nặng lấy điểm 0 làm mốc, số đứa trẻ
trong một gia đình.
Thang đo định danh (nominal Scale): đây là dạng thang đo khái quát
hoá của thang đo nhị phân, trong đó miền giá trị là rời rạc khơng có
quan hệ thứ tự và có nhiều hơn hai giá trị - nghĩa là ta chỉ có thể nói xi
≠ yi hoặc xi=yi. Thuộc tính có thang đo này gọi là thuộc tính định danh
22
(nominal scaled attributes) .Ví dụ thuộc tính Color = {red, blue, green,
black}.
Thang đo có thứ tự (Ordinal Scale): là thang đo định danh có thêm tính
thứ tự (trong đó chủ yếu là cao-thấp, hơn-kém theo nghĩa tương đối chứ
không quan trọng giá trị tuyệt đối (nghĩa là không thể cộng trừ các giá
trị đó được). Nghĩa là, ta có thể xác định x ≠ y hoặc x=y hoặc x>y
hoặc x
(ordinal scaled attributes).Ví dụ Trình độ ={ đại học, cao học, tiến sỹ
}, Huy chương ={hạng A, hạng B, hạng C}.
Chú ý: Trong các loại thuộc tính trình bày ở trên, thuộc tính định danh
và thuộc tính có thứ tự cịn gọi chung là thuộc tính định tính (qualitative)
hay thuộc tính phạm trù (Categorical), trong khi đó thì thuộc tính khoảng
và thuộc tính tỉ lệ được gọi là thuộc tính định lượng (quantitative) hay
thuộc tính số (numeric).
Thơng thường, các thang đo số được đo bằng các đơn vị xác định như
là kilogams hay là centimeter. Tuy nhiên, các đơn vị đo có ảnh hưởng đến các
kết quả phân 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 phân cụm.
Để khắc phục điều này người ta 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 hố 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.4.3 Tương tự và phi tương tự
Khi các đặc tính của dữ liệu được xác định, người ta đi tìm 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ự (similar) hoặc
là tính độ phi tương tự (dissimilar) 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ự.
23
Độ 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à chúng ta phân tích. Thí dụ, đối
với thuộc tính định tính (Categorical) 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 (geometrical orientation) của dữ liệu.
Tất cả các độ đo trên được xác định trong không gian metric (distance
Metrics). 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à, cho x,y,z là ba đối tượng trong CSDL, một không
gian metric d(x,y) phải thõa mãn các điều kiện sau [14]:
1. d(x,y) ≥ 0: với mọi x,y
2. d(x,y)=0 nếu và chỉ nếu x=y: khoảng cách của một đối tượng đến
chính nó là bằng 0.
3. d(x,y)=d(y,x): tính đối xứng
4. d(x,z) ≤d(x,y)+d(y,z): bất đẳng thức tam giác
Hàm d(x,y) được gọi là một metric của không gian. Các phần tử của x,y,z
được gọi là các điểm của không gian này.
Các phép đo độ tương tự giữa hai đối tượng dữ liệu x, y áp dụng đối
với các kiểu dữ liệu khác nhau [14]:
Thuộc tính khoảng (Interval-Scaled Attributes): Đối với dữ liệu dạng
này, trước khi dùng phân tích cần phải chuẩn hóa về cùng một “thang bậc”,
vì đơn vị có thể ảnh hưởng đến phân tích cụm. Để tránh sự phụ thuộc vào đơn
vị đo cần chuẩn hóa dữ liệu. Một phương pháp chuẩn hoá dữ liệu được tiến
hành như sau (đưa về phân bố chuẩn):
Bước 1: Tính độ lệch tuyệt đối trung bình sf:
s f=1/n (| x1f-mf| + |x2f-mf|+.....+|xnf-mf|)
Trong đó mf là giá trị trung bình của cột f trong ma trận dữ liệu:
mf = 1/n (x1f + x2f + ... + xnf)
Bước 2: đưa về dữ liệu theo phân bố chuẩn (tính z-score):
24
zif = ( xif - mf) / s f
Sau khi chuẩn hoá, độ đo phi tương tự của hai đối tượng dữ liệu x, y được xác
định bằng các metric khoảng cách như sau :
1/ q
n
Khoảng cách Minskowski : d ( x, y ) = ( ∑ | x i − y | q)
i
i =1
, trong đó q là
số tự nhiên dương.
Khoảng cách Euclide : d ( x, y ) =
∑ ( x i − y i)
n
2
, đây là trường hợp đặc
i =1
biệt của khoảng cách Minskowski trong trường hợp q=2.
n
Khoảng cách Manhattan : d ( x, y ) = ∑ | xi − yi | , đây là trường hợp
i =1
đặc biệt của khoảng cách Minskowski trong trường hợp q=1.
Khoảng cách cực đại : d ( x, y ) = maxin=1 | xi − yi | , đây là trường hợp
của khoảng cách Minskowski trong trường hợp q-> ∞.
Thuộc tính tỉ lệ(Ratio-Scaled Attributes) : Có nhiều cách khác nhau để
tính độ tương tự giữa các đối tượng thuộc tính tỉ lệ. Một trong những cách
vẫn thường sử dụng là tính logarit cho mỗi thuộc tính xi, thí dụ qi = log(xi),
lúc này qi đóng vai trị như thuộc tính khoảng (Interval -Scale).
Thuộc tính nhị phân(binary Attributes) : Trước hết chúng ta có xây dựng
bảng sự kiện (contingency tables) sau:
Bảng 2.1: Bảng sự kiện
Y
1
0
Sum
1
α
β
α+β
0
γ
δ
γ +δ
Sum
δ +γ
β +δ
τ
X
25