..
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-----------------------------------------------
PHẠM THỊ KIM NGOAN
ĐỀ TÀI: PHÂN CỤM CÁC ĐỐI TƯỢNG PHỨC TẠP TRONG MỘT
LỚP ĐỐI TƯỢNG
LUẬN VĂN THẠC SĨ KHOA HỌC
NGÀNH:CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS. NGUYỄN KIM ANH
HÀ NỘI - 2010
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
MỤC LỤC:
LỜI CAM ĐOAN .......................................................................................................4
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT.......................................................5
DANH MỤC CÁC BẢNG..........................................................................................6
DANH MỤC CÁC HÌNH VẼ.....................................................................................6
MỞ ĐẦU.....................................................................................................................8
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI
THỨC TỪ CƠ SỞ DỮ LIỆU ...................................................................................11
1.1.
Giới thiệu chung về phát hiện tri thức và khai phá dữ liệu ........................11
1.2.
Quá trình phát hiện tri thức từ cơ sở dữ liệu ..............................................12
1.3.
Quá trình khai phá dữ liệu..........................................................................14
1.4.
Các kỹ thuật tiếp cận trong khai phá dữ liệu..............................................15
1.5.
Ứng dụng của khai phá dữ liệu ..................................................................17
1.6.
Vai trò của phân cụm dữ liệu trong khai phá dữ liệu.................................18
Kết chương............................................................................................................19
CHƯƠNG 2: KỸ THUẬT PHÂN CỤM DỮ LIỆU.................................................20
2.1. Khái quát về phân cụm dữ liệu ......................................................................20
2.1.1. Định nghĩa phân cụm dữ liệu .................................................................20
2.1.2. Ứng dụng của phân cụm dữ liệu.............................................................21
2.1.3. Các yêu cầu của phân cụm dữ liệu .........................................................22
2.1.4. Các vấn đề cơ bản của phân cụm ...........................................................23
2.1.5 . Các giai đoạn phân cụm ........................................................................23
2.1.6. Cấu trúc dữ liệu trong phân cụm dữ liệu...............................................24
2.2. Các phương pháp trong phân cụm dữ liệu.....................................................26
2.2.1. Phương pháp phân hoạch .......................................................................26
2.2.2. Phương pháp phân cụm phân cấp...........................................................29
2.2.3. Phương pháp phân cụm dựa trên mật độ................................................32
-1-
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
2.2.4. Phương pháp phân cụm dựa trên lưới ....................................................33
2.2.5. So sánh các phương pháp phân cụm ......................................................34
2.3. Một số thuật tốn phân cụm dữ liệu hỗn hợp điển hình ................................36
2.4. Đánh giá chất lượng cụm ...............................................................................38
Kết chương............................................................................................................42
CHƯƠNG 3: PHÂN CỤM CÁC ĐỐI TƯỢNG TRONG MỘT LỚP ĐỐI TƯỢNG
TRÊN MÔ HÌNH HƯỚNG ĐỐI TƯỢNG...............................................................43
3.1. Đặt vấn đề ......................................................................................................43
3.2. Mơ hình cơ sở dữ liệu hướng đối tượng ........................................................44
3.2.1. Định danh đối tượng, cấu trúc đối tượng ...............................................44
3.2.2. Đóng gói các phương thức và đối tượng ................................................46
3.2.3. Tính chất kế thừa và đa hình ..................................................................48
3.3. Độ đo tương tự giữa các đối tượng ...............................................................48
3.3.1. Một số định nghĩa...................................................................................48
3.3.2. Một số cách tính độ đo tương tự/ khoảng cách ......................................49
3.3.3. Độ đo tương tự cho thuộc tính kiểu nguyên tố.......................................51
3.3.4. Độ đo tương tự cho thuộc tính kiểu tập..................................................55
3.3.5. Độ đo tương tự cho thuộc tính kiểu bộ...................................................60
3.3.6. Độ đo tương tự giữa hai đối tượng .........................................................63
3.3.7. Ví dụ minh họa tính độ tương tự giữa hai đối tượng..............................65
3.4. Phân cụm các đối tượng trong một lớp đối tượng trên mơ hình CSDL hướng
đối tượng ...............................................................................................................69
Kết chương............................................................................................................73
CHƯƠNG 4: CÀI ĐẶT THỬ NGHIỆM..................................................................74
4.1. Xây dựng chương trình thử nghiệm...............................................................74
4.1.1. Giới thiệu chung .....................................................................................74
4.1.2. Mơ hình dữ liệu thử nghiệm ...................................................................74
-2-
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
4.1.3. Các chức năng chính của chương trình ..................................................75
4.2. Kết quả thử nghiệm........................................................................................79
4.2.1. Tiêu chí đánh giá ....................................................................................79
4.2.2. Kết quả thử nghiệm và đánh giá với tập dữ liệu Zoo .............................80
4.2.3. Kết quả thử nghiệm với tập dữ liệu STUDENT.....................................81
4.2.4. Kết quả thử nghiệm với tập dữ liệu TEACHER ....................................82
Kết chương............................................................................................................83
Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ..............................................84
5.1. Các kết quả đạt được trong luận văn ............................................................84
5.1.1. Về lý thuyết ............................................................................................84
5.1.2. Về thực nghiệm ......................................................................................85
5.2. Hướng nghiên cứu tiếp theo...........................................................................85
TÀI LIỆU THAM KHẢO.........................................................................................86
Tài liệu tiếng Việt .................................................................................................86
Tài liệu tiếng Anh .................................................................................................86
Các trang Web.......................................................................................................88
PHỤ LỤC..................................................................................................................89
Bảng dữ liệu của lớp đối tượng STUDENT .........................................................89
Bảng điểm của STUDENT ...................................................................................90
Bảng dữ liệu của lớp đối tượng TEACHER .........................................................91
Bảng phân công giảng dạy....................................................................................92
-3-
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn là kết quả nghiên cứu của bản thân tôi dưới sự
hướng dẫn của PGS.TS Nguyễn Kim Anh, khơng sao chép tồn văn của bất kỳ cơng
trình nào khác. Nội dung luận văn có tham khảo và sử dụng các tài liệu, thơng tin
được đăng tải trên các tác phẩm, tạp chí và các website theo danh mục tài liệu của
luận văn.
Tác giả luận văn
Phạm Thị Kim Ngoan
-4-
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
Từ hoặc cụm từ
Từ viết tắt
Từ tiếng Anh
Công nghệ thông tin
CNTT
Information Technology
Cơ sở dữ liệu
CSDL
Database
Phát hiện tri thức từ cơ sở
KDD
Knowledge
dữ liệu
Discovery
Database
Khai phá dữ liệu
DM
Data Mining
Phân cụm dữ liệu
PCDL
Data Clustering
Hướng đối tượng
HĐT
Object-Oriented
Phân cấp khái niệm
CH
Concept Hierarchy
Qui nạp hướng thuộc tính
AOI
Attribute_Oriented Induction
-5-
in
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
DANH MỤC CÁC BẢNG
Bảng 2.1: So sánh các thuật toán phân cụm
Bảng 5.1: Đánh giá kết quả phân cụm tập dữ liệu Zoo
Bảng 5.2: Kết quả phân cụm với tập dữ liệu STUDENT
Bảng 5.3: Kết quả phân cụm với tập dữ liệu TEACHER
DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Các lĩnh vực của Data mining
Hình 1.2: Quá trình phát hiện tri thức từ CSDL
Hình 2.1: Minh họa phân cụm dữ liệu
Hình 2.2: Minh họa mục tiêu phân cụm
Hình 2.3: Các giai đoạn phân cụm
Hình 2.4: Thuật tốn k-means
Hình 2.5: Phân cụm một tập các điểm dựa trên k-means
Hình 2.6: Thuật tốn k-modes
Hình 2.7: Minh họa cây kết quả phân cụm phân cấp
Hình 2.8: Thuật tốn AGNES
Hình 2.9: Minh họa thuật tốn phân cụm dựa trên mật độ
Hình 2.10: Thuật tốn CEBMDC
Hình 2.11: Hình minh họa độ đo SSE
Hình 2.12: Hình minh họa độ đo BSE
-6-
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Hình 3.1: Các đặc điểm của hệ cơ sở dữ liệu hướng đối tượng
Hình 3.2: Phân cấp khoảng cách đối với kiểu số
Hình 3.3: Phân cấp khoảng cách của thuộc tính Mark
Hình 3.4: Phân cấp khoảng cách của thuộc tính SubjectName
Hình 3.5: Thuật tốn tính độ tương tự cho thuộc tính kiểu ngun tố
Hình 3.6: Minh họa đồ thị tương tự của hai tập
Hình 3.7: Thuật giải tính độ tương tự giữa 2 tập hợp
Hình 3.8: Thuật giải tính độ tương tự giữa hai bộ
Hình 3.9: Phân cấp khoảng cách của thuộc tính Address
Hình 3.10: Phân cấp khoảng cách của thuộc tính Degree
Hình 3.11: Phân cấp khoảng cách của thuộc tính Work_year
Hình 3.12: Phân cấp khoảng cách của thuộc tính Name của DEPT
Hình 3.13: Phân cấp khoảng cách của thuộc tính No_unit của Subject
Hình 3.14: Phân cấp khoảng cách của thuộc tính Name của Class
Hình 3.15: Phân cấp khoảng cách của thuộc tính Number của Class
Hình 3.16: Thuật tốn AGNES phân cụm đối tượng trên mơ hình HĐT
Hình 4.1: Giao diện chính của chương trình
Hình 4.2: Màn hình hiển thị dữ liệu của lớp đối tượng STUDENT
Hình 4.3: Màn hình hiển thị dữ liệu của lớp đối tượng TEACHER
Hình 4.4: Màn hình hiển thị kết quả phân cụm với tập dữ liệu Zoo
-7-
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
MỞ ĐẦU
Trong những thập niên gần đây, với tác động mạnh mẽ của công nghệ thông tin
và truyền thông, việc tin học hố một cách nhanh chóng và mạnh mẽ các hoạt động
sản xuất, kinh doanh cũng như nhiều lĩnh vực khác đã tạo ra cho chúng ta một
lượng dữ liệu lưu trữ khổng lồ. Sự bùng nổ này, đã nảy sinh những ý tưởng nhằm
biến những CSDL sẵn có tưởng chừng như là gánh nặng cho việc lưu trữ thành dữ
liệu có ý nghĩa. Đây là một yêu cầu hữu ích và cấp thiết. Từ đây, đã xuất hiện
những kỹ thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia
thành các tri thức có ích để hỗ trợ cho việc ra quyết định. Những kỹ thuật và cơng
cụ đó thuộc lĩnh vực phát hiện tri thức (KDD) và khai phá dữ liệu (DM) - lĩnh vực
thời sự của ngành công nghệ thông tin (CNTT) hiện nay.
Có nhiều phương pháp khai phá dữ liệu được nghiên cứu, song một trong các
phương pháp được nhiều người quan tâm và phát triển nhất là phân cụm dữ liệu
(PCDL). Phân cụm dữ liệu là công cụ để khám phá ra các nhóm đối tượng tự nhiên.
Từ đó người ta có thể đi sâu vào phân tích và nghiên cứu từng cụm đối tượng để
khám phá, tìm kiếm các tri thức tiềm ẩn, hữu ích hỗ trợ cho việc ra quyết định.
Mặt khác, những năm gần đây, các cơ sở dữ liệu (CSDL) được mở rộng theo
hướng tích hợp với ngơn ngữ lập trình hướng đối tượng. Cơ sở dữ liệu hướng đối
tượng (CSDL HĐT) được xây dựng bằng cách kết hợp các yếu tố của cơ sở dữ liệu
và các kĩ thuật của lập trình hướng đối tượng nhằm mục đích lưu trữ các đối tượng
dữ liệu. Từ đó có thể tận dụng và phát huy được những ưu điểm, lợi ích, và thế
mạnh của các kĩ thuật, công nghệ được sử dụng, đồng thời khắc phục những yếu
điểm của các mơ hình CSDL khác. Hiện nay, kỹ thuật hướng đối tượng đã được sử
dụng rộng rãi trong việc phát triển phần mềm. Chính những yếu tố trên nên việc
nghiên cứu các kỹ thuật DM trên các hệ thống CSDL hướng đối tượng được xem là
một nghiên cứu quan trọng.
-8-
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Hiện nay, đã có một số nghiên cứu về khai phá dữ liệu từ các CSDL hướng đối
tượng, cụ thể là phân nhóm dữ liệu trong các CSDL hướng đối tượng, song những
kết quả nghiên cứu mới chỉ dừng lại ở việc đưa ra cách tính độ đo tương tự giữa các
đối tượng theo các thuộc tính kiểu số, hoặc là so sánh độ tương tự giữa các đối
tượng dựa trên phân cấp lớp. Những thuộc tính kiểu tập và kiểu bộ chưa được xét
đến.
Chính từ những mục đích và yêu cầu trên và được sự hướng dẫn tận tình của
các thầy cơ giáo, đặc biệt là PGS.TS Nguyễn Kim Anh đã thúc đẩy tôi chọn đề tài
“Phân cụm các đối tượng phức tạp trong một lớp đối tượng” để nghiên cứu và làm
luận văn tốt nghiệp.
Ý thức được rằng đây là một vấn đề khá mới mẻ và khó khăn, nên mục tiêu đặt
ra của luận văn là: Xây dựng được cách tính độ đo tương tự giữa các đối tượng qua
việc tính tốn độ đo tương tự của các thuộc tính tuỳ theo kiểu của chúng, chọn một
thuật tốn phân cụm phù hợp thơng qua việc đánh giá trên tập dữ liệu kiểu hỗn hợp
chuẩn của “UCI Machine Learning”. Trên cơ sở đó, thử nghiệm phân cụm dữ liệu
các đối tượng trong một lớp đối tượng trên mơ hình CSDL hướng đối tượng. Sau
thời gian tìm hiểu, nghiên cứu và thực hiện luận văn, về cơ bản luận văn đã được
hoàn thành.
Luận văn gồm các chương như sau:
Chương 1: Tổng quan về phát hiện tri thức từ cơ sở dữ liệu (KDD) và khai phá
dữ liệu (DM) - Chương này giới thiệu các kiến thức cơ sở về KDD và DM, quá
trình KDD, quá trình DM, các kỹ thuật tiếp cận trong DM và ứng dụng của DM.
Chương 2: Các kỹ thuật phân cụm dữ liệu: Trình bày khái quát về phân cụm
dữ liệu, các phương pháp phân cụm, ưu nhược điểm của các phương pháp này, cũng
như các độ đo để đánh giá chất lượng cụm. Qua đó ta có thể thấy được khả năng
phân cụm của từng phương pháp, khả năng áp dụng vào các bài toán thực tiễn.
Chương 3: Phân cụm các đối tượng dữ liệu trong một lớp đối tượng trên mơ
hình cơ sở dữ liệu hướng đối tượng: Phần đầu chúng tôi trình bày tổng quan về mơ
-9-
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
hình CSDL hướng đối tượng. Phần tiếp theo, chúng tôi tập trung vào việc xây dựng
độ đo tương tự/ khoảng cách giữa các kiểu đối tượng, nghiên cứu các cách tiếp cận
trong phân cụm đối tượng trên mơ hình CSDL hướng đối tượng.
Chương 4: Cài đặt thử nghiệm: Các độ đo tương tự, thuật toán phân cụm đối
với CSDL được trình bày trong chương 3 sẽ được kiểm định bằng chương trình với
các tập dữ liệu cụ thể. Sau đó kết quả thử nghiệm sẽ được đánh giá bằng độ đo chất
lượng cụm External index (Purity).
Chương 5: Tóm lược những kết quả đạt được của luận văn và hướng nghiên
cứu tiếp theo.
Mặc dù đã rất cố gắng song bản luận văn chắc khơng thể tránh khỏi có những
thiếu sót. Vì vậy, rất mong được hội đồng và quý Thầy, Cơ góp ý.
Cuối cùng tơi xin gửi lời cảm ơn chân thành tới toàn thể hội đồng bảo vệ, các
Thầy, Cô giáo trong Viện Công nghệ thông tin & Truyền thơng, đặc biệt là PGS.TS
Nguyễn Kim Anh đã tận tình giúp đỡ, hướng dẫn tơi hồn thành luận văn này. Nhân
đây tôi cũng xin gửi lời cảm ơn tới ban lãnh đạo trường Đại học Nha Trang, các
đồng nghiệp trong Khoa CNTT- Trường ĐHNT và gia đình đã tạo mọi điều kiện
thuận lợi cho tơi trong suốt khóa học này.
Hà Nội, ngày 25 tháng 10 năm 2010
Thực hiện đề tài
Phạm Thị Kim Ngoan
- 10 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT
HIỆN TRI THỨC TỪ CƠ SỞ DỮ LIỆU
1.1. Giới thiệu chung về phát hiện tri thức và khai phá dữ liệu
Trong những năm qua, với sự phát triển mạnh mẽ của công nghệ thông tin và
truyền thông, các ứng dụng của công nghệ thông tin ngày càng thâm nhập sâu và
rộng vào mọi lĩnh vực của đời sống, kinh tế - xã hội. Sau thời gian ứng dụng công
nghệ thông tin, các cơ quan, công ty đang sở hữu một khối dữ liệu rất lớn. Với
mong muốn dự đoán các xu thế và hành vi sẽ diễn ra trong tương lai dựa trên cơ sở
dữ liệu (CSDL) khổng lồ sẵn có trong quá khứ, và yêu cầu dữ liệu phải được xử lý
với tốc độ nhanh để trợ giúp việc ra quyết định. Các phương pháp thống kê truyền
thống tỏ ra kém hiệu quả khi lượng dữ liệu cần xử lý là quá lớn. Chính các điều này
đã thúc đẩy lĩnh vực phát hiện tri thức (KDD) và khai phá dữ liệu (DM) phát triển
mạnh mẽ, thu hút sự nghiên cứu của nhiều chuyên gia.
DM là một hướng nghiên cứu ra đời đầu những năm 1990, 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, trí tuệ
nhân tạo, học máy, xác suất thống kê. Sự phát triển nhanh của DM về phạm vi ứng
dụng và các phương pháp tìm kiếm tri thức dẫn đến nhiều quan điểm khác nhau về
DM. Tuy nhiên, ở một mức độ trừu tượng nhất định, chúng ta có thể định nghĩa DM
như sau :
Định nghĩa : DM 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.
Ở đây, tri thức có thể được xem như là các thơng tin tích hợp, bao gồm các sự
kiện và các mối quan hệ giữa chúng. Các mối quan hệ này có thể được hiểu ra, có
thể được phát hiện, hoặc có thể được học. Nói cách khác, tri thức có thể được coi là
dữ liệu có độ trừu tượng và tổ chức cao.
- 11 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Thống kê
(Statistics)
Cơng nghệ CSDL
(Database Technology)
Học máy
(Machine Learning)
Trực quan hóa
(Visualization)
Khai phá dữ liệu
(Data Mining)
Trí tuệ nhân tạo
(Artificial Intelligence)
Các lĩnh vực khác
(Others)
Hình 1.1: Các lĩnh vực của Data mining
Khái niệm phát hiện tri thức từ CSDL: KDD là một qui trình nhận biết các mẫu
hoặc các mơ hình trong dữ liệu với các tính năng: mới, hữu ích, và có thể hiểu
được.
Nói một cách khác, mục đích của phát hiện tri thức và khai phá dữ liệu chính là
tìm ra các mẫu và/hoặc các mơ hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn
còn bị che khuất bởi hàng “núi” dữ liệu. Chính vì vậy mà nhiều người coi DM và
KDD là như nhau. Tuy nhiên trên thực tế, khai phá dữ liệu chỉ là một bước thiết yếu
trong quá trình phát hiện tri thức trong cơ sở dữ liệu.
1.2. Quá trình phát hiện tri thức từ cơ sở dữ liệu
Q trình phát hiện tri thức có thể chia thành các bước như sau:
- Làm sạch dữ liệu (Data cleaning): Dữ liệu trong thực tế thường không đầy đủ,
nhiễu, và không nhất quán. Bước làm sạch dữ liệu sẽ cố gắng điền các giá trị thiếu,
loại bỏ nhiễu, và hiệu chỉnh sự không nhất quán của dữ liệu. Sau bước này dữ liệu
sẽ đầy đủ và nhất quán.
- Tích hợp dữ liệu (Data integration): Các tác vụ phân tích dữ liệu địi hỏi có sự
kết hợp dữ liệu từ nhiều nguồn khác nhau thành một khối dữ liệu gắn kết, để những
- 12 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
thực thể trong thế giới thực từ nhiều nguồn khác nhau có thể phù hợp với nhau và
tránh sự dư thừa dữ liệu.
- Chọn dữ liệu (Data Selection): Chọn những dữ liệu liên quan trực tiếp đến
nhiệm vụ.
- Chuyển đổi dữ liệu (Data Transformation): Chuyển dữ liệu về những dạng phù
hợp cho việc khai phá. Bước này có thể thực hiện các phép biến đổi dữ liệu: Làm
trơn, kết hợp, khái quát hóa và chuẩn hóa.
- Khai phá dữ liệu (Data mining): Các kỹ thuật phân tích (phần lớn là các kỹ
thuật của học máy) được áp dụng để khai thác dữ liệu, trích chọn những mẫu thơng
tin, những mối liên hệ đặc biệt trong dữ liệu. Đây là bước quan trọng và tốn nhiều
thời gian nhất của toàn quá trình KDD.
- Đánh giá mẫu (Pattern evaluation): Đánh giá mẫu hoặc tri thức đã thu được
theo những tiêu chí nhất định.
- Trình diễn dữ liệu (Knowledge Presentation): Biểu diễn những tri thức khai phá
được cho người sử dụng. 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 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, ….
Tóm lại: KDD là một q trình kết xuất ra tri thức từ kho dữ liệu mà trong đó
khai phá dữ liệu là cơng đoạn quan trọng nhất.
- 13 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Hình 1.2: Quá trình phát hiện tri thức từ CSDL
1.3. Quá trình khai phá dữ liệu
Về bản chất DM là giai đoạn duy nhất rút trích và tìm ra được các mẫu, các mơ
hình hay tri thức tiềm ẩn có trong CSDL chủ yếu phục vụ cho mơ tả và dự đoán.
Đây là giai đoạn quan trọng nhất trong quá trình phát hiện tri thức từ CSDL, các tri
thức này hỗ trợ trong việc ra quyết định, điều hành trong khoa học và kinh doanh.
Mô tả dữ liệu: Là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc
tính dữ liệu trong kho dữ liệu mà con người có thể hiểu được.
Dự đốn: Là dựa trên những dữ liệu hiện thời để dự đoán những quy luật được
phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu, trên cơ sở đó chiết xuất
ra các mẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai của
các biến quan tâm.
- 14 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Quá trình DM bao gồm ba bước như sau:
- Bước một: Thu thập và tiền xử lý dữ liệu, cơng việc đầu tiên là tích hợp và
chỉnh sửa dữ liệu. Dữ liệu được thu thập từ nhiều nguồn khác nhau nên có thể có
những sai sót, dư thừa và trùng lặp. Dữ liệu sau khi thu thập phải được xử lý sao
cho thuật tốn DM có thể hiểu được.
- Bước hai: Khai phá dữ liệu, là cơng việc chính, sử dụng các thuật toán khác
nhau để khai phá các kiến thức tiềm ẩn trong dữ liệu.
- Bước ba: Sau xử lý, là quá trình ước lượng kết quả khai phá theo yêu cầu của
người dùng. Các kết quả được ước lượng bởi những quy tắc nào đó, nếu cuối cùng
kết quả không thỏa mãn yêu cầu, chúng ta phải làm lại với kỹ thuật khác cho đến
khi có kết quả mong muốn.
1.4. Các kỹ thuật tiếp cận trong khai phá dữ liệu
Theo quan điểm của học máy (Machine Learning), thì các kỹ thuật khai phá dữ
liệu bao gồm:
- Học có giám sát (Supervised Learning): Là q trình phân lớp các đối tượng
trong cơ sở dữ liệu 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 các đối tượng thành các lớp hay cụm (clusters) tương tự nhau mà khơng biết
trước các thơng tin về lớp và khơng có 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
các đối tượng 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ố
thông tin về một số nhãn lớp đã biết.
Nếu căn cứ vào các lớp bài tốn cần giải quyết thì DM gồm các kỹ thuật sau:
- 15 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
- Luật kết hợp (association rules): Phương pháp này nhằm phát hiện ra các luật
kết hợp giữa các thành phần dữ liệu trong CSDL. Mẫu đầu ra của giải thuật khai
phá dữ liệu là tập luật kết hợp tìm được.
- Phân tích chuỗi theo thời gian: 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 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.
- Hồi qui (Regression): Là việc học một hàm ánh xạ từ một tập dữ liệu thành
một biến dự đốn có giá trị thực. Nhiệm vụ hồi qui tương tự như phân lớp, điểm
khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục chứ không rời rạc. Việc dự
báo các giá trị số thường được làm bởi các phương pháp thống kê cổ điển, chẳng
hạn như hồi qui tuyến tính.
- Phân cụm (Clustering):
Phân cụm là kỹ thuật DM tương tự như phân lớp dữ liệu. Tuy nhiên, phân
cụm dữ liệu là q trình học khơng được giám sát, là q trình nhóm những đối
tượng vào các cụm tương ứng, để những đối tượng trong cùng một cụm có độ tương
tự cao, và những đối tượng trong các cụm khác nhau có độ tương tự thấp. Trong
phân lớp dữ liệu, một đối tượng thuộc về lớp đã được xác định trước, trong khi phân
cụm là không xác định trước các cụm.
Trong phân cụm, những đối tượng được nhóm lại cùng nhau dựa theo một hàm
mục tiêu nào đó, hàm này xác định độ tương tự hoặc phi tương tự (khoảng cách)
giữa các đối tượng.
- Tổng hợp (Summarization): Là công việc liên quan đến các phương pháp tìm
kiếm một mơ tả cơ đọng cho tập con dữ liệu. Các kỹ thuật tổng hợp thường được áp
dụng trong việc phân tích dữ liệu có tính thăm dị và báo cáo tự động.
- 16 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Có nhiều phương pháp khai phá dữ liệu được nghiên cứu ở trên, trong đó có ba
phương pháp được các nhà nghiên cứu sử dụng nhiều nhất đó là: Luật kết hợp, Phân
lớp và Phân cụm dữ liệu.
1.5. Ứng dụng của khai phá dữ liệu
DM là một lĩnh vực mới phát triển nhưng thu hút được khá nhiều nhà nghiên
cứu nhờ vào những ứng dụng thực tiễn của nó. Sau đây là một số lĩnh vực ứng dụng
thực tế điển hình của DM:
- Trong tài chính, ngân hàng, kinh doanh:
o Xây dựng mơ hình dự báo rủi ro tín dụng.
o Tìm kiếm tri thức, qui luật của thị trường chứng khốn và đầu tư bất động sản.
o Phân tích tình hình tài chính, thị trường, dự báo gía cổ phiếu trong tài chính,
thị trường và chứng khốn.
o Dự đốn bán hàng.
o Phân tích dữ liệu marketing.
- Thương mại điện tử:
o Cơng cụ tìm hiểu, định hướng thúc đẩy, giao tiếp với khách hàng.
o Phân tích hành vi mua sắm trên mạng và cho biết thông tin tiếp thị phù hợp
với từng loại khách hàng trong một phân khu thị trường nhất định.
o Phát hiện việc dùng thẻ tín dụng giả trên mạng và là cơng cụ hữu ích cho dịch
vụ quản lý rủi ro cho thương mại điện tử.
-
Trong lĩnh vực sinh học:
o Chuẩn đoán triệu chứng, phương pháp trong điều trị y học.
o Tìm kiếm, đối sánh các hệ Gene và thơng tin di truyền.
o Phân tích chuỗi.
o Dự đoán cấu trúc Protein và dự đoán hàm.
- 17 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
o Tìm ra các lớp Protein cùng họ.
-
Trong lĩnh vực khoa học:
o Phân tích hóa sinh.
o Nghiên cứu các bộ cảm ứng xa vệ tinh.
o Phân tích các ảnh trong y học.
-
Phân tích CSDL và hỗ trợ quyết định::
o Quản lý và phân tích thị trường.
o Quản lý và phân tích sự rủi ro, quản lý và dị tìm lỗi.
-
Phân lớp văn bản, tóm tắt văn bản, phân lớp các trang Web.
-
Điều khiển và lập lịch trình.
1.6. Vai trị của phân cụm dữ liệu trong khai phá dữ liệu
Có nhiều phương pháp khai phá dữ liệu được nghiên cứu, song một trong các
phương pháp được nhiều người quan tâm và phát triển nhất là phân cụm dữ liệu.
Phân cụm dữ liệu là một kỹ thuật quan trọng trong DM dùng để nhóm các đối tượng
có những đặc điểm tương tự lại với nhau. Nó là cơng cụ để khám phá ra các nhóm
đối tượng tự nhiên. Từ đó người ta có thể đi sâu vào phân tích và nghiên cứu từng
cụm đối tượng để khám phá, tìm kiếm các tri thức tiềm ẩn, hữu ích hỗ trợ cho việc
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
và đã đem lại nhiều thành cơng trong q trình phát hiện tri thức.
Tuy nhiên, các nghiên cứu về phân cụm thường tập trung trên các dữ liệu có
kiểu định lượng và định tính. Gần đây, dữ liệu có kiểu hỗn hợp (vừa có thuộc tính
định lượng và vừa có thuộc tính định tính) xuất hiện ngày càng nhiều trong các
CSDL nên vấn đề phân cụm trên kiểu dữ liệu hỗn hợp đang được nhiều người quan
tâm.
- 18 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Kết chương
Khai phá dữ liệu là một môn khoa học liên ngành: Cơ sở dữ liệu, trí tuệ nhân
tạo, học máy, trực quan hóa và thống kê tốn học, nghiên cứu các kỹ thuật “đào núi
tìm vàng” nhằm phát hiện những thơng tin có giá trị, tiềm ẩn trong các CSDL lớn.
Chương này đã trình bày tóm tắt về phát hiện tri thức từ các CSDL và khai phá dữ
liệu, bao gồm: Các khái niệm và định nghĩa về phát hiện tri thức và khai phá dữ
liệu, quy trình phát hiện tri thức và khai phá dữ liệu, các kỹ thuật và một số ứng
dụng quan trọng của khai phá dữ liệu. Cuối cùng là vai trò của phân cụm trong khai
phá dữ liệu.
- 19 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
CHƯƠNG 2: KỸ THUẬT PHÂN CỤM DỮ LIỆU
2.1. Khái quát về phân cụm dữ liệu
Phân cụm dữ liệu (PCDL) là một kỹ thuật được phát triển mạnh mẽ trong
những năm gần đây do có nhiều ứng dụng trong thực tế. Nhìn từ góc độ tự nhiên là
một việc hết sức bình thường mà chúng ta vẫn thực hiện hàng ngày, ví dụ như phân
nhóm học sinh khá, giỏi trong lớp, nhóm nhà cửa theo loại nhà, giá trị và vị trí địa
lý,.… Ở một mức cơ bản nhất người ta đưa ra định nghĩa PCDL như sau:
2.1.1. Định nghĩa phân cụm dữ liệu
Theo [19],[20] định nghĩa: "Phân cụm dữ liệu 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ự nhiên 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 việc ra
quyết định".
Như vậy , PCDL 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 cùng một cụm "tương tự" (Similar) với nhau và
các phần tử trong các cụm khác nhau sẽ "phi tương tự" (Dissimilar) với nhau.
Hình 2.1: Minh họa phân cụm dữ liệu
- 20 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Khoảng cách bên
trong cụm là min
Khoảng cách
giữa các cụm
là max
Hình 2.2: Minh họa mục tiêu của phân cụm
2.1.2. Ứng dụng của phân cụm dữ liệu
Phân cụm có ý nghĩa rất quan trọng trong hoạt động của con người. PCDL có
nhiều ứng dụng như: nghiên cứu thị trường, nhận dạng mẫu, phân tích dữ liệu và xử
lý ảnh.
- Trong sinh học: PCDL có thể được dùng để nhóm các mẫu gene với các chức
năng tương tự nhau.
- Trong kinh doanh: PCDL giúp các nhà marketing khám phá sự khác nhau
giữa các nhóm khách hàng dựa trên thơng tin khách hàng và các đặc trưng của các
nhóm khách hàng dựa trên các mẫu mua hàng.
- Thư viện: Phân loại các cụm sách có nội dung và ý nghĩa tương đồng nhau để
cung cấp cho độc giả.
- Trong bảo hiểm: PCDL dùng để nhận dạng các nhóm cơng ty có chính sách
bảo hiểm với chi phí đền bù trung bình cao.
- Hoạch định thành phố: PCDL giúp nhận dạng các nhóm nhà cửa theo loại
nhà, giá trị và vị trí địa lý.
- 21 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
- Trong phân tích dữ liệu khơng gian: Phần lớn dữ liệu khơng gian có được từ
các ảnh vệ tinh, các thiết bị y tế, các hệ thống thông tin địa lý GIS, khám phá CSDL
ảnh, … nó rất khó để người sử dụng kiểm tra một cách chi tiết. PCDL 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 hữu ích cho việc nhận
diện và rút trích các đặc điểm, các mẫu tồn tại trong các CSDL vệ tinh lớn. Chẳng
hạn như trong sử dụng đất, PCDL giúp nhận dạng các vùng đất sử dụng giống nhau
khi khảo sát CSDL đất.
- WWW: 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 phát hiện tri thức từ dữ liệu.
2.1.3. Các yêu cầu của phân cụm dữ liệu
Phân cụm là một lĩnh vực nghiên cứu với nhiều thách thức, các ứng dụng tiềm
năng của nó đưa ra các yêu cầu đặc biệt. Sau đây là các yêu cầu điển hình của phân
cụm trong khai phá dữ liệu:
-
Có khả năng làm việc với lượng dữ liệu lớn.
-
Có khả năng xử lý các dạng dữ liệu khác nhau: Thuật tốn có khả năng ứng
dụng hiệu quả trên tập dữ liệu có một kiểu như kiểu định lượng, kiểu định tính,
cũng như trên tập dữ liệu hỗn hợp.
-
Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: Vì các giá trị
đầu vào thường rất ảnh hưởng đến thuật toán phân 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 CSDL lớn.
-
Khả năng giải quyết dữ liệu nhiễu: Do phần lớn các dữ liệu trong phân cụm
đều chứa đựng các dữ liệu lỗi, dữ liệu không đầy đủ. Thuật tốn phân cụm
khơng những hiệu quả với các dữ liệu nhiễu mà còn tránh dẫn đến chất lượng
phân cụm thấp do nhạy cảm với nhiễu.
-
Khám phá các cụm có hình dáng bất kỳ.
-
Dễ hiểu, dễ cài đặt: Thuật toán phải dễ hiểu, dễ cài đặt và tiện lợi.
- 22 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
Như vậy, việc lựa chọn một thuật toán cho bài toán là bước then chốt cho việc
giải quyết vấn đề phân cụm, sự lựa chọn phụ thuộc vào đặc tính dữ liệu cần phân
cụm, mục đích của ứng dụng 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.
2.1.4. Các vấn đề cơ bản của phân cụm
Phân cụm 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 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 toán phân cụm dữ
liệu phù hợp.
2.1.5 . Các giai đoạn phân cụm
Phân cụm dữ liệu được chia thành các giai đoạn sau [19],[20]:
- Trích chọn đặc trưng (Feature Selection): Trích chọn các đặc trưng thích hợp
đối với tập dữ liệu của bài toán, tránh tồn tại những đặc trưng dư thừa, để áp dụng
một cách hiệu quả các kỹ thuật DM.
- Lựa chọn thuật toán phân cụm (Algorithm Selection): Chọn thuật toán phân
cụm sao cho phù hợp nhất với tập dữ liệu và yêu cầu đã cho. Độ đo tương tự
(similarity measure) hoặc phi tương tự (dissimilarity measure) và điều kiện phân
cụm trong mỗi thuật toán là những đặc điểm chính cần xem xét để quyết định lựa
chọn một thuật toán phân cụm hiệu quả đối với bài toán.
- 23 -
Phân cụm các đối tượng phức tạp trong một lớp đối tượng
- Xác định tính hợp lệ (Validation): Giai đọan này thường dựa vào việc kiểm
tra một cách thủ công và các kỹ thuật trực quan để xác nhận kết quả phân cụm. Đối
với tập dữ liệu lớn có thể so sánh kết quả với các thuật tốn đã có để xác nhận kết
quả.
- Phân tích – giải thích (Interpretation): Các chuyên gia trong lĩnh vực 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.
Interpretation
Knowledge
Validation of
result
Clustering algorithm
Selection
Final
cluster
Algorithm
result
Feature
Selection
Data for
process
Data
Hình 2.3: Các giai đoạn phân cụm
2.1.6. Cấu trúc dữ liệu trong phân cụm dữ liệu
Các thuật toán PCDL hầu hết sử dụng hai cấu trúc dữ liệu điển hình sau:
- Ma trận dữ liệu:
Biểu diễn n đối tượng và p biến (là các phép đo hoặc các thuộc tính ) của đối
tượng, có dạng ma trận n x p (n đối tượng x p biến).
- 24 -