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

Nghiên cứu một số giải thuật phân cụm dữ liệu dựa trên mật độ và ứng dụng phân cụm dữ liệu gen

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 (2.22 MB, 74 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

BÙI HỮU VIỆT

NGHIÊN CỨU MỘT SỐ GIẢI THUẬT
PHÂN CỤM DỮ LIỆU DỰA TRÊN MẬT ĐỘ
VÀ ỨNG DỤNG PHÂN CỤM DỮ LIỆU GEN

LUẬN VĂN THẠC SỸ KỸ THUẬT

HÀ NỘI - 2015


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

BÙI HỮU VIỆT

NGHIÊN CỨU MỘT SỐ GIẢI THUẬT
PHÂN CỤM DỮ LIỆU DỰA TRÊN MẬT ĐỘ
VÀ ỨNG DỤNG PHÂN CỤM DỮ LIỆU GEN
Chuyên ngành: Công nghệ thông tin
Mã số: 60.48.02.01

LUẬN VĂN THẠC SỸ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. Trần Văn Long

HÀ NỘI – 2015




i

TRÍCH YẾU LUẬN VĂN CAO HỌC

Họ và tên học viên: Bùi Hữu Việt

Năm sinh: 1988

Cơ quan công tác: Công ty TNHH Phần mềm CSE
Khóa: 21.1
Chuyên ngành: Công nghệ thông tin

Mã số: 60.48.02.01

Cán bộ hướng dẫn: TS Trần Văn Long Bộ môn: Đại số và giải tích
1. Tên luận văn: “Nghiên cứu một số giải thuật phân cụm dữ liệu dựa
trên mật độ và ứng dụng phân cụm dữ liệu gen”.
Mục đích nghiên cứu: Đối tượng nghiên cứu của luận văn nghiên cứu tập
dữ liệu gen trong y học để giúp các nhà y sinh học tìm hiểu các đặc điểm tính
chất của từng cụm gen. Việc phân cụm tập dữ liệu hàng chục ngàn gen thành
các cụm gen chứa những gen có tính chất tương tự nhau giúp các nhà y sinh
học giảm đáng kể thời gian nghiên cứu tìm hiểu các gen.
Phương pháp nghiên cứu và kết quả đạt được:
- Phương pháp nghiên cứu của đề tài: Là sự kết hợp giữa ứng dụng dựa
trên cơ sở phân tích lý thuyết của tập dữ liệu gen kết hợp với thực nghiệm
trong thực tế.
- Kết quả đạt được:
1. Chương trình phân cụm có thể phân cụm nhiều loại dữ liệu gen và số

lượng gen phân cụm lớn, lên đến hàng chục ngàn.
2. Có thể thiết lập và thay đổi dễ dàng các tham số ngưỡng phân cụm.


ii

3. Việc biểu diễn các cụm dữ liệu gen trong biểu đồ song song và biểu
đồ hình tròn giúp các nhà y sinh học có được cái nhìn trực quan dễ dàng
nghiên cứu từng cụm.
2. Điểm bình quân môn học: 7,91

Điểm bảo vệ luận văn:

Xác nhận của cán bộ hướng dẫn

Ngày 24 tháng 04 năm 2015
Học viên

Xác nhận của khoa

Bùi Hữu Việt


iii

LỜI CẢM ƠN
Để hoàn thành được luận văn này, trước hết tôi xin gửi lời cảm ơn sâu
sắc tới TS Trần Văn Long, Giảng viên Khoa Khoa học cơ bản, Trường Đại
học Giao thông Vận tải Hà Nội đã tận tình hướng dẫn, chỉ bảo, định hướng,
đóng góp những ý kiến quý báu trong suốt quá trình tôi thực hiện luận văn

này.
Tôi xin chân thành cảm ơn các thấy cô giáo trong Khoa Công Nghệ
Thông Tin, Trường Đại học Giao thông Vận tải Hà Nội đã tạo mọi điều kiện
tốt nhất để tôi hoàn thành khóa học này. Đồng thời, tôi cũng xin cảm ơn gia
đình, bạn bè, những người luôn khuyến khích và giúp đỡ tôi trong mọi hoàn
cảnh khó khăn. Tôi xin cảm ơn cơ quan và các đồng nghiệp đã hết sức tạo
điều kiện cho tôi trong suốt quá trình học tập và làm luận văn này.

Hà Nội, ngày 24 tháng 04 năm 2015
Học viên

Bùi Hữu Việt


iv

MỤC LỤC
Trích yếu luận văn cao học .............................................................................. i
Lời cảm ơn .................................................................................................... iii
Mục lục ......................................................................................................... iv
Danh mục các ký hiệu, từ viết tắt .................................................................. vi
Danh mục hình vẽ ........................................................................................ vii
MỞ ĐẦU ....................................................................................................... 1
CHƯƠNG 1. TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ
DỮ LIỆU ....................................................................................................... 4
1.1. Giới thiệu chung về khám phá tri thức và khai phá dữ liệu ................. 4
1.2. Khám phá tri thức .............................................................................. 5
1.2.1. Khái niệm khám phá tri thức ........................................................ 5
1.2.2. Quá trình khám phá tri thức ............................................................ 5
1.3. Khai phá dữ liệu ................................................................................... 7

1.3.1. Khái niệm khai phá dữ liệu ............................................................. 7
1.3.2. Mục đích của khai phá dữ liệu ..................................................... 8
1.3.3. Những chức năng chính của khai phá dữ liệu ............................. 10
1.3.4. Quá trình khai phá dữ liệu .......................................................... 12
1.3.5. Các hướng tiếp cận và kỹ thuật áp dụng trong khai phá dữ liệu . 14
1.3.6. Ứng dụng của khai phá dữ liệu .................................................. 15
1.3.7. Khai phá dữ liệu và các lĩnh vực liên quan ................................. 16
1.3.8. Các yêu cầu và vấn đề còn tồn tại trong phân cụm dữ liệu ......... 16
1.4. Những thách thức và khó khăn trong khám phá tri thức và phân cụm dữ
liệu ............................................................................................................ 19
1.5. Kết luận .............................................................................................. 20
CHƯƠNG 2. MỘT SỐ GIẢI THUẬT PHÂN CỤM DỮ LIỆU DỰA TRÊN
MẬT ĐỘ ...................................................................................................... 22
2.1. Tổng quan về phân cụm dữ liệu .......................................................... 22


v

2.1.1. Khái niệm về phân cụm dữ liệu .................................................... 22
2.1.2. Các mục tiêu của phân cụm dữ liệu .............................................. 24
2.1.3. Ứng dụng của phân cụm dữ liệu ................................................... 26
2.1.5. Một số kiểu dữ liệu ....................................................................... 27
2.1.4. Độ tương tự .................................................................................. 29
2.2.

Một số giải thuật phân cụm dữ liệu dựa trên mật độ ........................ 32

2.2.1. Thuật toán DBSCAN ................................................................. 33
2.2.2. Thuật toán OPTICS ................................................................... 39
CHƯƠNG 3. ỨNG DỤNG PHƯƠNG PHÁP PHÂN CỤM MẬT ĐỘ......... 42

3.1. Đặt vấn đề .......................................................................................... 42
3.2. Phân cấp cụm dữ liệu trong dữ liệu gen .............................................. 43
3.2.1. Hệ số tương quan ......................................................................... 44
3.3.2. Tạo liên kết giữa các điểm ............................................................ 45
3.3.3. Thuật toán phân cụm .................................................................... 46
3.3. Kết quả của chương trình ................................................................... 48
3.3.1. Mô tả dữ liệu ................................................................................ 48
3.3.2. Phương pháp vẽ cấu trúc phân tầng .............................................. 50
3.3.3. Hệ tọa độ song song ..................................................................... 51
3.3.4. Kết quả ......................................................................................... 54
3.4.

Kết luận .......................................................................................... 62

KẾT LUẬN VÀ KIẾN NGHỊ ...................................................................... 63
DANH MỤC TÀI LIỆU THAM KHẢO ...................................................... 64


vi

DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT

STT
1
2

Từ hoặc cụm từ
Cơ sở dữ liệu
Khai phá tri thức trong cơ
sở dữ liệu


Từ viết tắt
CSDL
KDD

Từ tiếng Anh
DataBase
Knowledge Discovery
in DataBases

3

Khai phá dữ liệu

KPDL

Data Mining

4

Khai phá tri thức

KPTT

Knowledge Discovery

5

Phân cụm dữ liệu


PCDL

Data Clustering


vii

DANH MỤC HÌNH VẼ
Hình 1. 1. Quá trình khai phá tri thức ............................................................. 5
Hình 1. 2. Quá trình khai phá dữ liệu............................................................ 13
Hình 2. 1. Ví dụ về phân cụm dữ liệu ........................................................... 23
Hình 2. 2. Bảng tham số thuộc tính nhị phân ................................................ 30
Hình 2. 3. Hình dạng các cụm được khám phá bởi DBSCAN ...................... 34
Hình 2. 4. Mật độ - đến được trực tiếp .......................................................... 35
Hình 2. 5. Mật độ - đến được ........................................................................ 35
Hình 2. 6 Mật độ - liên thông ....................................................................... 36
Hình 2. 7. Cụm và nhiễu............................................................................... 37
Hình 2. 8. Thứ tự phân cụm các đối tượng theo OPTICS ............................. 41
Hình 3. 1. Cơ sở dữ liệu gen Yeast cell cycle ............................................... 49
Hình 3. 2. Cơ sở dữ liệu gen serum .............................................................. 49
Hình 3. 3. Ví dụ cây mật độ .......................................................................... 50
Hình 3. 4. Cấu trúc phân tầng của ví dụ trên ................................................. 51
Hình 3. 5. Biểu diễn dữ liệu 1 điểm trên hệ tọa độ song song ....................... 52
Hình 3. 6. Biểu diễn tập dữ liệu nhiều điểm trên hệ tọa độ song song........... 53
Hình 3. 7 Kết quả phân cụm dữ liệu gen Yeast cell cycle ............................. 55
Hình 3. 8. Cấu trúc phân tầng dữ liệu gen Yeast cell cycle ........................... 56
Hình 3. 9. Đồ thị phân cấp các cụm của dữ liệu gen Yeast cell cycle............ 57
Hình 3. 10. Đồ thị song song các cụm của dữ liệu gen Yeast cell cycle ........ 57
Hình 3. 11. Một cụm trong hệ trục tọa độ song song của dữ liệu gen Yeast
cell cycle .................................................................................. 58

Hình 3. 12. Kết quả phân cụm dữ liệu gen serum ......................................... 59
Hình 3. 13. Cấu trúc phân tầng dữ liệu gen Serum ....................................... 60
Hình 3. 14. Đồ thị phân cấp các cụm của dữ liệu gen serum ......................... 60
Hình 3. 15. Đồ thị song song các cụm của dữ liệu gen serum ...................... 61
Hình 3. 16. Đồ thị song song hai cụm của dữ liệu gen serum ....................... 61


1

MỞ ĐẦU
1. Tính cấp thiết của luận văn
Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ
thông tin trong các lĩnh vực của đời sống, kinh tế, xã hội trong nhiều năm qua
cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ
ngày một tích lũy nhiều lên. Hơn nữa, các công nghệ lưu trữ và phục hồi dữ
liệu phát triển một cách nhanh chóng vì thế CSDL (Cơ sở dữ liệu) ở các cơ
quan, doanh nghiệp, đơn vị ngày càng nhiều thông tin tiềm ẩn phong phú và
đa dạng. Mặt khác, trong môi trường cạnh tranh, người ta càng ngày càng cần
có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra quyết định và ngày
càng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên một
khối lượng dữ liệu khổng lồ đã có. Với những lý do như vậy, các phương
pháp quản trị và khai thác CSDL truyền thống ngày càng không đáp ứng được
với thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là Kỹ thuật
KPTT (Khai phá tri thức - Knowledge Discovery) và KPDL (Khai phá dữ liệu
- Data Mining). KDD (Khai phá tri thức trong cơ sở dữ liệu - Knowledge
Discovery in DataBases)có thể được coi như quá trình tìm tri thức có ích, cần
thiết, tiềm ẩn và chưa được biết trước trong CSDL lớn.
Kỹ thuật KPTT và KPDL đã và đang được nghiên cứu, ứng dụng trong
nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này
đã và đang được nghiên cứu dần đưa vào ứng dụng trong những năm gần đây.

Những vấn đề được quan tâm là phân lớp nhận dạng mẫu, luật kết hợp, PCDL
(Phân cụm dữ liệu), phần tử ngoại lai, …
Phân cụm CSDL là một trong những phương pháp quan trọng trong
quá trình tìm kiếm tri thức. Phân cụm là phương pháp học từ quan sát hay còn
gọi là học không thầy trong trí tuệ nhân tạo. Phân cụm đặc biệt hiệu quả khi ta
không biết về thông tin của các cụm, hoặc khi ta quan tâm tới những thuộc
tính của cụm mà chưa biết hoặc biết rất ít về những thông tin đó. Phân cụm


2

được coi như một công cụ độc lập để xem xét phân bố dữ liệu, làm bước tiền
xử ý cho các thuật toán khác. Việc PCDL có rất nhiều ứng dụng như trong
tiếp thị, sử dụng đất, bảo hiểm, hoạch định thành phố, PCDL gen trong y học.
Hiện nay, trong lĩnh vực y sinh việc nghiên cứu, tìm hiểu các đặc điểm
của tập dữ liệu gen lớn lên đến hàng ngàn gen là một việc hết sức khó khăn và
cần số lượng thời gian không hề nhỏ. Ngoài ra, việc nghiên cứu tìm hiểu một
tập gen sẽ vất vả và lâu hơn nhiều so với việc tìm hiểu từng cụm dữ liệu gen
có tính chất đặc điểm tương tự nhau.
Đề tài “Nghiên cứu một số giải thuật phân cụm dữ liệu dựa trên mật
độ và ứng dụng trong phân cụm dữ liệu gen” luôn có tính cấp thiết và cũng
là cần thiết. Đó là nhu cầu tất yếu của một xã hội toàn cầu hóa.
2. Đối tượng nghiên cứu
Đối tượng nghiên cứu của luận văn là nghiên cứu tập dữ liệu gen huyết
thanh (Serum) và tập dữ liệu gen tế bào nấm (Yeast cell cycle) với mục đích
chương trình này sẽ phân thành các cụm dữ liệu gen giúp các nhà y sinh học
dễ dàng nghiên cứu và tìm hiểu từng cụm dữ liệu riêng lẻ. Góp phần giảm
thiểu tối đa thời gian nghiên cứu, tìm hiểu dữ liệu gen, các cụm dữ liệu có
tính chất, đặc điểm tương tự nhau.
3. Phạm vi nghiên cứu

Đề tài nghiên cứu ứng dụng công nghệ thông tin trong việc phân cụm
tập dữ liệu gen huyết thanh (Serum) và tập dữ liệu gen tế bào nấm (Yeast cell
cycle). Dựa trên tập dữ liệu trên, đề tài muốn tập trung phân thành các cụm dữ
liệu gen và biểu diễn các cụm trên hình tròn phân cấp và biểu hiễn trên biểu
đồ song song.
4. Mục tiêu nghiên cứu
Từ những yêu cầu cần thiết là thời gian nghiên cứu dữ liệu giảm thiểu
tối đa, vì vậy đề tài tập trung nghiên cứu và đưa ra các hình thức biểu diễn
cụm dữ liệu gen trên đường tròn phân cấp và trên tọa độ song song. Và qua


3

đó, đề tài cũng đưa ra các hình thức biểu diễn các cụm trong tập dữ liệu huyết
thanh (Serum) và tập dữ liệu gen tế bào nấm (Yeast cell cycle) giúp các nhà y
sinh học có cái nhìn trực quan nhất trên tọa độ song song và đường tròn phân
cấp. Việc phân thành các cụm dữ liệu gen có tình chất tương tự nhau giúp các
nhà y sinh học nghiên cứu nhanh hơn và đạt được những kết quả cao nhất.
5. Phương pháp nghiên cứu
Phương pháp nghiên cứu của đề tài là sự kết hợp giữa nghiên cứu ứng
dụng dựa trên cơ sở phân tích lý thuyết của tập dữ liệu gen trong y sinh học
kết hợp với thực nghiệm trên thực tế.
6. Kết cấu của luận văn
Ngoài phần mở đầu, kết luận, tài liệu tham khảo, nội dung chính của
luận văn được trình bày trong 3 chương:
Chương 1. Tổng quan về khai phá tri thức và khai phá dữ liệu.
Chương 2. Một số giải thuật phân cụm dữ liệu dựa trên mật độ.
Chương 3. Ứng dụng phương pháp phân cụm mật độ.



4

CHƯƠNG 1
TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU
1.1.

Giới thiệu chung về khám phá tri thức và khai phá dữ liệu
Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông

tin và ngành công nghiệp phần cứng đã làm cho khả năng thu thập và lưu trữ
thông tin của các hệ thống thông tin tăng nhanh một cách chóng mặt. Bên
cạnh đó việc tin học hóa một cách ồ ạt và nhanh chóng các hoạt động sản
xuất, kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo ra cho chúng
ta một lượng dữ liệu lưu trữ khổng lồ. Hàng triệu CSDL đã được sử dụng
trong các hoạt động sản xuất kinh doanh, quản lý, … trong đó có nhiều CSDL
cực lớn cỡ Gigabyte, thậm chí là Terabyte. Sự bùng nổ này đã dẫn đến một
yêu cầu cấp thiết là cần có những kỹ thuật và công cụ mới để tự động chuyển
đổi dữ liệu khổng lồ kia thành các tri thức có ích. Từ đó, các kỹ thuật khai phá
dữ liệu đã trở thành một lĩnh vực thời sự của ngành công nghệ thông tin thế
giới hiện nay.
Thông thường, chúng ta coi dữ liệu như là một chuỗi các bits, hoặc các
số và các ký hiệu hay là các “đối tượng” với một ý nghĩa nào đó khi được gửi
cho một chương trình duới một dạng nhất định. Các bit thường được sử dụng
để đo thông tin, và xem nó như là dữ liệu đã được loại bỏ phần tử thừa, lặp
lại, và rút gọn tới mức tối thiểu để đặc trung một cách cơ bản cho dữ liệu. Tri
thức được xem như là các thông tin tích hợp, bao gồm các sự kiện và mối
quan hệ giữa chúng, đã được nhận thức, khám phá, hoặc nghiên cứu. Nói cách
khác, tri thức có thể được coi là dữ liệu ở mức độ cao của sự trừu tượng và
tổng quát.
Khám phá tri thức hay phát hiện tri thức trong CSDL là một quy 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: Phân
tích, tổng hợp, khả ích và có thể hiểu được.
Khai phá dữ liệu là một bước trong quá trình khám phá tri thức, gồm


5

các thuật toán khai thác dữ liệu chuyên dùng dưới một số quy định về hiệu
quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ
liệu. Nói cách khác, mục tiêu của khai phá dữ liệu là tìm kiếm các mẫu hoặc
mô hình tồn tại trong CSDL nhưng ẩn trong khối lượng dữ liệu.
1.2.

Khám phá tri thức

1.2.1. Khái niệm khám phá tri thức
Khám phá tri thức hay phát hiện tri thức trong các CSDL là một quy
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: Phân
tích, tổng hợp, hợp thức, khả ích và có thể hiểu được. Còn KPDL là một bước
trong quy trình khám phá tri thức gồm có các thuật toán khai thác dữ liệu
chuyên dùng dưới một số quy định về hiệu quả tính toán chấp nhận được để
tìm ra các mẫu hoặc các mô hình trong dữ liệu. Nói một cách khác, mục đích
của phát hiện tri thức và KPDL 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 CSDL nhưng vẫn còn bị che khuất bởi hàng núi dữ liệu.
1.2.2. Quá trình khám phá tri thức
Việc khám phá tri thức thông thường có thể mô tả bằng sơ đồ quy trình sau:

Hình 1. 1. Quá trình khai phá tri thức



6

Bắt đầu của quá trình là kho dữ liệu thô và kết thúc với tri thức được
chiết xuất ra. Về lý thuyết thì có vẻ rất đơn giản nhưng thực sự đây là một quá
trình rất khó khăn gặp phải rất nhiều vướng mắc như : quản lý các tập dữ liệu,
phải lặp đi lặp lại toàn bộ quá trình, v.v...
Bước 1: Gom dữ liệu: Tập hợp dữ liệu là bước đầu tiên trong quá trình
khai phá dữ liệu. Đây là bước được khai thác trong một cơ sở dữ liệu, một
kho dữ liệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web…
Bước 2: Trích lọc dữ liệu: Ở giai đọan này dữ liệu được lựa chọn hoặc
phân chia theo một số tiêu chuẩn nào đó phục vụ mục đích khai thác, ví dụ
chọn tất cả những em học sinh có điểm Trung bình học kỳ lớn hơn 8.0 và có
giới tính nữ.
Bước 3: Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu: Giai đoạn thứ
ba này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một bước rất quan
trọng trong quá trình khai phá dữ liệu. Một số lỗi thường mắc phải trong khi
gom dữ liệu là tính không đủ chặt chẽ, logic. Vì vậy, dữ liệu thường chứa các
giá trị vô nghĩa và không có khả năng kết nối dữ liệu. Ví dụ : Điểm Trung
bình = 12.4. Giai đoạn này sẽ tiến hành xử lý những dạng dữ liệu không chặt
chẻ nóitrên. Những dữ liệu dạng này được xem như thông tin dư thừa, không
có giá trị. Bởi vậy, đây là một quá trình rất quan trọng vì dữ liệu này nếu
không được “làm sạch – tiền xử lý – chuẩn bị trước” thì sẽ gây nên những kết
quả sai lệch nghiêm trọng.
Bước 4: Chuyển đổi dữ liệu: Tiếp theo là giai đoạn chuyển đổi dữ liệu,
dữ liệu đưa ra có thể sử dụng và điều khiển được bởi việc tổ chức lại nó, tức
là dữ liệu sẽ được chuyển đổi về dạng phù hợp cho việc khai phá bằng cách
thực hiện các thao tác nhóm hoặc tập hợp.
Bước 5: Khai phá dữ liệu: Đây là bước mang tính tư duy trong khai phá
dữ liệu. Ở giai đoạn này nhiều thuật toán khác nhau đã được sử dụng để trích



7

ra các mẫu từ dữ liệu. Thuật toán thường dùng là nguyên tắc phân loại,
nguyên tắc kết, v.v...
Bước 6: Đánh giá các luật và biểu diễn tri thức: Ở giai đoạn này, các
mẫu dữ liệu được chiết xuất ra bởi phần mềm khai phá dữ liệu. Không phải
bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch. Vì vậy,
cần phải ưu tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức
(Knowlege) cần chiết xuất ra. Đánh giá sự hữu ích của các mẫu biểu diễn tri
thức dựa trên một số phép đo. Sau đó sử dụng các kỹ thuật trình diễn và trực
quan hoá dữ liệu để biểu diễn tri thức khai phá được cho người sử dụng.
Trên đây là 6 giai đoạn của quá trình khám phá tri thức, trong đó giai
đoạn 5 khai phá dữ liệu (hay còn gọi đó là Data Mining) là giai đoạn được
quan tâm nhiều nhất.
1.3. Khai phá dữ liệu
1.3.1. Khái niệm khai phá dữ liệu
KPDL là một giai đoạn quan trọng trong quá trình KPTT. Về bản chất
nó là giai đoạn duy nhất tìm ra được thông tin mới. Việc KPDL còn được coi
như là việc khám phá tri thức từ dữ liệu (Knowledge Mining From Database),
trích lọc tri thức (Knowledge Extraction), phân tích dữ liệu – mẫu (Data
Partent Analysis), khảo cứu dữ liệu (Data Archaeology), đào xới, nạo vét dữ
liệu (Data Dredging).
KPDL (Data Mining) được định nghĩa là quá trình trích lọc các thông tin
có giá trị ẩn trong lượng lớn dữ liệu được lưu trữ trong các CSDL hoặc các kho
dữ liệu,… KPDL cũng còn được coi là một quá trình tìm kiếm, khám phá ở
nhiều góc độ để tìm ra các mối tương quan, các mối liên hệ dưới nhiều góc độ
khác nhau nhằm tìm ra các mẫu hay các mô hình tồn tại bên trong CSDL đang
bị che khuất. Để trích rút các mẫu, mô hình tiềm ẩn có tính “tri thức” ta phải
tìm và áp dụng các phương pháp, kỹ thuật khai phá sao cho các kỹ thuật và

phương pháp này phải phù hợp với tính chất, đặc trưng của dữ liệu và mục đích


8

sử dụng. Tuy KPDL chỉ là một bước trong quá trình khám phá tri thức nhưng
nó lại là bước tiên quyết, quan trọng và ảnh hướng đến toàn bộ quá trình
Tóm lại, KPDL là một quá trình tìm kiếm thông tin “tri thức” tiềm ẩn
trong CSDL lớn, khổng lồ. Vì thế, có thể nói rằng hai thuật nghữ khám phá tri
thức và KPDL là tương đương nếu nói ở khía cạnh tổng quan, còn nếu xét ở
một góc độ chi tiết thì KPDL là một giai đoạn có vai trò quan trọng trong quá
trình khám phá tri thức.
1.3.2. Mục đích của khai phá dữ liệu
Phân loại là một trong những hành vi nguyên thủy nhất của con người
nhằm nắm giữ lượng thông tin khổng lồ họ nhận được hằng ngày. Vì sự xử lý
mọi thông tin như một thực thể đơn lẻ là không thể. PCDL nhằm mục đích
chính là khai 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 đó 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 khai 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.
Trong thời đại bùng nổ của công nghệ thông tin hiện nay, mạng máy tính
đóng vai trò ngày càng quan trọng hơn trong hoạt động của tổ chức, doanh
nghiệp cũng như các cơ quan nhà nước. Thậm chí ở một số đơn vị chẳng hạn
như công ty hàng không hoặc các ngân hàng lớn, mạng máy tính có thể ví như
hệ thần kinh điều khiển các hoạt động của toàn doanh nghiệp. Sự ngừng hoạt
động của mạng máy tính trong những cơ quan này có thể làm tê liệt các hoạt
động chính trị của đơn vị và thiệt hại khó có thể lường trước được.
Chúng ta đều biết máy chủ là trái tim của mạng máy tính, nếu máy chủ
mạng hỏng, các hoạt động của hệ thống sẽ bị ngưng trệ. Điều đáng tiếc là dù
các hãng sản xuất đã cố gắng làm mọi cách nâng cao chất lượng của các thiết

bị, nhưng những hỏng hóc đối với các thiết bị mạng nói chung là các máy chủ
nói riêng là điều không thể tránh khỏi. Do vậy vấn đề đặt ra là cần có một giải
pháp đảm bảo cho hệ thống vẫn hoạt động tốt ngay cả khi có sự cố đối với


9

máy chủ mạng và công nghệ PCDL là câu trả lời cho vấn đề này.
Một vài ví dụ về ý nghĩa thực tiễn của phân cụm như sau:
- Khám phá ra các vị trí địa lý thuận lợi cho việc xây dựng các kho
hàng phục vụ mua hàng của một công ty thương mại.
- Xác định các cụm ảnh như ảnh của các loại động vật như chim, thú,
… trong tập CSDL ảnh về động vật nhằm phục vụ cho việc tìm kiếm ảnh.
- Xác định các nhóm người bệnh nhằm cung cấp thông tin cho việc
phân phối các thuốc điều trị trong y tế.
- Xác định các nhóm khác hàng trong CSDL ngân hàng có vốn các
đầu tư vào bất động sản cao …
Như vậy PCDL là một phương pháp xử lý thông tin quan trọng và phổ
biến, nó nhằm khám phá mối liên hệ giữa các mẫu dữ liệu bằng cách tổ chức
chúng thành các cụm tương tự. Thuật ngũ phân cụm được hiểu là PCDL.
Clustering là một kiến trúc nhằm đảm bảo nâng cao khả năng sẵn sàng
cho các hệ thống mạng máy tính. Clustering cho phép sử dụng nhiều máy chủ
kết hợp với nhau tạo thành một cụm (cluster) có khả năng chịu đựng hay chấp
nhận sai sót (fault-tolerant) nhằm nâng cao tính sắn sàng của hệ thống mạng.
Clustering là một hệ thống bao gồm nhiều máy chủ được nối với nhau theo
dạng song song hay phân tán và được sử dụng như một tài nguyên thống nhất.
Nếu một máy chủ ngừng hoạt động do bị sự cố hoặc để nâng cấp, hoặc
bảo trì thì toàn bộ công việc mà máy chủ này đảm nhiệm sẽ được tự động
chuyển sang cho máy chủ khác (trong cùng một cụm) mà không làm cho hoạt
động của hệ thống bị ngắt hay gián đoạn. Quá trình này gọi là “fail-over” và

việc phục hồi tài nguyên của một máy chủ trong hệ thống (cluster) được gọi là
“fail-back”.
Việc thiết kế và lắp đặt các cluster cần thỏa mãn các yêu cầu sau:
-

Yêu cầu tính sẵn sàng cao (availability). Các tài nguyên mạng phải

luôn sẵn sàng trong khả năng cao nhất để cung cấp và phục vụ các người


10

dùng cuối và giảm thiểu sự ngưng hoạt động hệ thống ngoài ý muốn.
-

Yêu cầu về độ tin cậy cao (reliability). Độ tin cậy cao của cluster

được hiểu là khả năng giảm thiểu tần số xảy ra các sự cố, và nâng cao khả
năng chịu đựng sai sót của hệ thống.
-

Yêu cầu về khả năng mở rộng được (scalability). Hệ thống phải có

khả năng dễ dàng cho việc nâng cấp, mở rộng trong tương lai. Việc nâng cấp
mở rộng bao hàm cả việc thêm các thiết bị, máy tính vào hệ thống để nâng
cao chất lượng dịch vụ, cũng như vieecmj thêm số lượng người dùng, thêm
ứng dụng, dịch vụ và thêm các tài nguyên mạng khác.
Ba yêu cầu trên được gọi tắt là RAS (Reliability- AvailabilityScalability), những hệ thống đáp ứng được ba yêu cầu trên được gọi là hệ thống
RAS (cần phân biệt với Remote Access Service là dịch vụ truy cập từ xa).
Cũng cần chú ý rằng hiệu quả hoạt động của hệ thống Clustering phụ

thuộc vào sự tương thích giữa các ứng dụng và dịch vụ, giữa phần cứng và
phần mềm. Ngoài ra kỹ thuật Clustering không thể chống lại các sự cố do
virut, sai sót của phần mềm hay các sai sót của người sử dụng. Để chống lại
các sự cố này cần xây dựng một CSDL được bảo vệ chắc chắn cũng như có
các kế hoạch khôi phục, backup dữ liệu.
1.3.3. Những chức năng chính của khai phá dữ liệu
Hai mục tiêu chính của KPDL là mô tả và dự báo. Dự báo là dùng một
số biến hoặc trường trong CSDL để dự đoán ra các giá trị chưa biết hoặc sẽ có
của các biến quan trọng khác. Việc mô tả tập trung vào tìm kiếm các mẫu mà
con người có thể hiểu được để mô tả dữ liệu. Trong lĩnh vực KDD, mô tả
được quan tâm nhiều hơn dự báo, nó ngược với các ứng dụng học máy và
nhận dạng mẫu mà trong đó việc dự báo thường là mục tiêu chính. Trên cơ sở
mục tiêu chính của KPDL, các chức năng chính của KDD gồm:
-

Mô tả lớp và khái niệm: Dữ liệu có thể được kết hợp trong lớp và

khái niệm. Ví dụ, trong kho dữ liệu bán hàng thiết bị tin học, các lớp mặt


11

hàng bao gồm máy tính, máy in, … và khái niệm khách hàng bao gồm khác
hàng mua sỉ và khác hàng mua lẻ. Việc mô tả lớp và khái niệm là rất hữu ích
cho giai đoạn tổng hợp, tóm lược và chính xác hóa. Mô tả lớp và khái niệm
được bắt nguồn từ đặc trưng hóa dữ liệu và phân biệt dữ liệu. Đặc trưng hóa
dữ liệu là quá trình tổng hợp những đặc tính hoặc các thành phần chung của
một lớp dữ liệu mục tiêu. Phân biệt dữ liệu là so sánh dữ liệu mục tiêu với
những lớp dữ liệu đối chiếu khác. Lớp dữ liệu mục tiêu và các lớp đối chiếu là
do người dùng chỉ ra và tương ứng với các đối tượng dữ liệu nhận được nhờ

truy vấn.
-

Phân tích sự kết hợp: Phân tích sự kết hợp là khám phá các luật kết

hợp thể hiện mối quan hệ giữa các thuộc tính giá trị mà ta nhận biết được nhờ
tần suất xuất hiện cùng nhau của chúng. Các luật kết hợp có dạng X=>Y, tức
là A1   An  B1    Bm , trong đó Ai (i=1,…,n) và Bj (j=1,…,m) là các
cặp thuộc tính giá trị. Luật kết hợp dạng X=>Y có thể được hiểu là “dữ liệu
thỏa mãn các điều kiện của X thì cũng sẽ thỏa các điều kiện của Y”.
-

Phân lớp và dự báo: Phân lớp là quá trình tìm kiếm một tập các mô

hình hoặc các chức năng mà nó mô tả và phân biệt nó với các lớp hoặc khái
niệm khác. Các mô hình này nhằm mục đích dự báo về lớp của một số đối
tượng. Việc xây dựng mô hình dựa trên sự phân tích một tập các dữ liệu được
huấn luyện có nhiều dạng thể hiện mô hình như luật phân lớp (IF-THEN), cây
quyết định, công thức toán học hay mạng nơron, … Sự phân lớp được sử dụng
để dự đoán nhãn lớp của các đối tượng trong dữ liệu. Tuy nhiên trong nhiều
ứng dụng, người ta mong muốn dự đoán những giá trị khuyết thiếu nào đó.
Thông thường đó là trường hợp dự đoán các giá trị của dữ liệu kiểu số. Trước
khi phân lớp và dự báo, có thể cần thực hiện phân tích thích hợp để xác định và
loại bỏ các thuộc tính không tham gia vào quá trình phân lớp và dự báo.
-

Phân cụm: Không giống như phân lớp và dự báo, phân cụm phân

tích các đối tượng dữ liệu khi chưa biết nhãn của lớp. Nhìn chung, nhãn lớp



12

không tồn tại trong suốt quá trình huấn luyện dữ liệu, nó phân cụm có thể
được sử dụng để đưa ra nhãn của lớp. Sự phân cụm thực hiện nhóm các đối
tượng dữ liệu theo nguyên tắc: Các đối tượng trong cùng một nhóm thì giống
nhau hơn các đối tượng khác nhóm. Mỗi cụm được tạo thành có thể được xem
như một lớp các đối tượng mà các luật được lấy ra từ đó. Dạng của cụm được
hình thành theo một cấu trúc phân cấp của các lớp mà mỗi lớp là một nhóm
các sự kiện tượng tự nhau.
-

Phân tích các đối tượng ngoài cuộc: Một CSDL có thể chứa các đối

tượng không tuân theo mô hình dữu liệu. Các đối tượng như vậy gọi là đối
tượng ngoài cuộc. hầu hết các phương pháp KPDL đều coi các đối tượng
ngoài cuộc là nhiễu và loại bỏ chúng. Tuy nhiên trong một số ứng dụng,
chẳng hạn như phát hiện nhiễu, thì sự kiện hiếm khi xảy ra lại được chú ý hơn
những gì thường xuyên gặp phải. Sự phân tích dữ liệu ngoài cuộc được coi
như là sự khai phá các đối tượng ngoài cuộc. Một số phương pháp được sử
dụng để phát hiện đối tượng ngoài cuộc: sử dụng các test mang tính thống kê
trên cơ sở một phân phối dữ liệu hay một mô hình xác suất cho dữ liệu, dùng
các độ đo khoảng cách mà theo đó các đối tượng có một khoảng cách đáng kể
đến cụm bất kỳ khác được coi là đối tượng ngoài cuộc, dùng các phương pháp
dựa trên độ lệch để kiểm tra sự khác nhau trong những đặc trưng chính của
các nhóm đối tượng.
- Phân tích sự tiến hóa: Phân tích sự tiến hóa thực hiện mô tả và mô
hình hóa các quy luật hay khuynh hướng của những đối tượng mà hành vi của
chúng thay đổi theo thời gian. Phân tích sự tiến hóa có thể bao gồm cả đặc
trưng hóa, phân biệt, tìm luật kết hợp, phân lớp hay PCDL liên quan đến thời

gian, phân tích dữ liệu theo chuỗi thời gian, so sánh mẫu theo chu kỳ và phân
tích dữ liệu dựa trên độ tương tự.
1.3.4. Quá trình khai phá dữ liệu
KPDL là một giai đoạn quan trọng trong quá trình KPTT. Về bản chất,


13

nó là giai đoạn duy nhất tìm ra được thông tin mới, thông tin tiềm ẩn có trong
CSDL chủ yếu phục vụ cho mô tả và dự đoán. Dự đoán là thực hiện việc suy
luận trên dữ liệu để đưa ra các dự báo nhằm phân tích tập dữ liệu huấn luyện
và tạo ra mô hình cho phép dự đoán các mẫu, mô hình mới chưa biết. 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.
Quá trình KPDL bao gồm các bước như trong hình sau:

Hình 1. 2. Quá trình khai phá dữ liệu
- Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết.
- Xác định các dữ liệu liên quan: Dùng để xây dựng giải pháp.
- Thu thập và tiền xử lý dữ liệu: Thu thập các dữ liệu liên quan và tiền
xử lý chúng sao cho thuật toán KPDL có thể hiểu được. Đây là một quá trình
rất khó khăn, có thể gặp phải rất nhiều các vướng mắc như: dữ liệu phải được
sao ra nhiều bản (nếu được chiết xuất và các tệp), quản lý tập các dữ liệu, phải
lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay đổi), …
- Thuật toán KPDL: Lựa chọn thuật toán KPDL và thực hiện việc
KPDL để tìm được các mẫu có ý nghĩa, các mẫu này được biểu diễn dưới
dạng luật kết hợp, cây quyết định … tương ứng với ý nghĩa của nó.


14


1.3.5. Các hướng tiếp cận và kỹ thuật áp dụng trong khai phá dữ liệu
Khám phá tri thức trong CSDL là một lĩnh vực liên nghành, bao gồm:
tổ chức dữ liệu, học may, trí tuệ nhân tạo và các khoa học khác.
Nếu theo quan điểm của học máy (Machine Learning), thì các kỹ thuật
trong KPDL bao gồm:
- Học có giám sát (Supervised Learning): là một quá trình gán nhãn
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 có 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 các cụm (Clustering) dữ liệu tương tự
nhau mà chưa được 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 mẫu ví dụ huấn
luyện và một số các thông tin về một số nhãn đã biết trước.
Nếu căn cứ vào lớp các bài toán cần giải quyết, thì KPDL bao gồm các
ký thuật áp dụng sau:
- 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. Ví dụ, phân lớp các dữ liệu
bệnh nhân trong hồ sơ bệnh án. Hướng tiếp cận này sử dụng một số kỹ thuật
của học máy như cây quyết định (Decision Tree), mạng nơ-ron nhân tạo, …
Phân lớp và dự báo 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. Ví dụ, “60% nữ giới vào siêu thị mua phấn thì có 80%
trong số họ sẽ mua thêm son”. Luật kết hợp được ứng dụng nhiều trong kinh
doanh, y học, tin sinh, tài chíh và thị trường chứng khoán, …
- 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 tương tự và tính thời gian.



15

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 khoá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.
- Mô tả khái niệm (Concept Desription And Summarization): thiên về
mô tả tổng hợp và tóm tắt khái niệm. Ví dụ, tóm tắt văn bản.
1.3.6. Ứng dụng của khai phá dữ liệu
Các kỹ thuật KDD có thể được áp dụng vào trong nhiều lĩnh vực, điển
hình:
- Thông tin thương mại:
- Phân tích dữ liệu tiếp thị, bán hàng và thị trường.
- Phân tích vốn đầu tư.
- Quyết định cho vay vốn.
- Phát hiện gian lận.
- v.v…
-

Thông tin sản xuất:
- Điều khiển và lập lịch.
- Hệ thống quản lý.
- Quản trị mạng.
- Phân tích kết quả thí nghiệm.
v.v…

-

Thông tin khoa học:

- Dự báo thời tiết.
- CSDL sinh học.
- Khoa học địa lý: tìm động đất, v.v…
- Thông tin cá nhân.
- v.v…


16

1.3.7. Khai phá dữ liệu và các lĩnh vực liên quan
KPDL là một lĩnh vực liên quan đến thống kê, học máy, CSDL, thuật
toán, tính toán song song, thu nhận tri thức từ hệ chuyên gia và dữ liệu trừu
tượng. Đặc trưng của hệ thống khám phá tri thức là nhơ vào các phương pháp,
thuật toán và kỹ thuật từ những lĩnh vực khác nhau để KPDL.
Lĩnh vực học máy và nhận dạng mẫu trong KDD nghiên cứu các lý
thuyết và thuật toán của hệ thống để trích ra các mẫu và mô hình từ dữ liệu
lớn. KDD tập trung và việc mở rộng các lý thuyết và thuật toán cho các vấn
đề tìm ra các mẫu đặc biệt (hữu ích hoặc có thể rút ra các tri thức quan trọng)
trong CSDL lớn.
Ngoài ra, KDD có nhiều điểm chung với thống kê, đặc biệt là phân tích
dữ liệu thăm dò (Exploratory Data Analysis - EDA). Hệ thống KDD thường
gắn những thủ tục thống kê cho mô hình dữ liệu và tiến trình nhiễu trong
khám phá tri thức nói chung.
Một lĩnh vực liên quan khác là phân tích kho dữ liệu. Phương pháp phổ
biến để phân tích kho dữ liệu là OLAP (On-Line Analytical Processing). Các
công cụ OLAP tập trung vào phân tích dữ liệu đa chiều.
1.3.8. Các yêu cầu và vấn đề còn tồn tại trong phân cụm dữ liệu
1.3.8.1. Các yêu cầu của phân cụm dữ liệu
Phân cụm là một thách thức trong lĩnh vực nghiên cứu ở chỗ những
ứng dụng tiềm năng của chúng được đưa ra ngay chính trong những yêu cầu

đặc biệt của chúng. Sau đây là những yêu cầu cơ bản của phân cụm trong khai
phá dữ liệu:
- Có khả năng mở rộng : nhiều thuật toán phân cụm làm việc tốt với
những tập dữ liệu nhỏ chứa ít hơn 200 đối tượng, tuy nhiên, một cơ sở dữ liệu
lớn có thể chứa tới hàng triệu đối tượng. Việc phân cụm với một tập dữ liệu
lớn có thể làm ảnh hưởng tới kết quả. Vậy làm cách nào để chúng ta có thể
phát triển các thuật toán phân cụm có khả năng mở rộng cao đối với các cơ sở


×