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.
Trang 1TRƯỜ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
Trang 2TRƯỜ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
Trang 3TRÍ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ế
Trang 43 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
Trang 5LỜ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
Trang 6MỤ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
Trang 72.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
Trang 8DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT
STT Từ hoặc cụm từ Từ viết tắt Từ tiếng Anh
2 Khai phá tri thức trong cơ
Knowledge Discovery
in DataBases
4 Khai phá tri thức KPTT Knowledge Discovery
5 Phân cụm dữ liệu PCDL Data Clustering
Trang 9DANH 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
Trang 10MỞ ĐẦ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
Trang 11đượ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
Trang 12đó, đề 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 độ
Trang 13CHƯƠ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
Trang 14cá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
Trang 15Bắ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
Trang 16ra 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
Trang 17sử 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
Trang 18má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
Trang 19dù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- Availability- Scalability), 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
Trang 20hà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 A n B1 B m , 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
Trang 21khô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,
Trang 22nó 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ó
Trang 231.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
Trang 24Hướ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
- 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…
Trang 251.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ở
Trang 26dữ liệu lớn?
- Khả năng thích nghi với các kiểu thuộc tính khác nhau: nhiều thuật toán được thiết kế cho việc phân cụm dữ liệu có kiểu khoảng (kiểu số) Tuy nhiên, nhiều ứng dụng có thể đòi hỏi việc phân cụm với nhiều kiểu dữ liệu khác nhau, như kiểu nhị phân, kiểu tường minh (định danh - không thứ tự), và
dữ liệu có thứ tự hay dạng hỗn hợp của những kiểu dữ liệu này
- Khám phá các cụm với hình dạng bất kỳ: nhiều thuật toán phân cụm xác định các cụm dựa trên các phép đo khoảng cách Euclidean và khoảng cách Manhattan Các thuật toán dựa trên các phép đo như vậy hướng tới việc tìm kiếm các cụm hình cầu với mật độ và kích cỡ ương tự nhau Tuy nhiên, một cụm có thể có bất cứ một hình dạng nào Do đó, việc phát triển các thuật toán
có thể khám phá ra các cụm có hình dạng bất kỳ là một việc làm quan trọng
- Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: nhiều thuật toán phân cụm yêu cầu người dùng đưa vào những tham số nhất định trong phân tích phân cụm (như số lượng các cụm mong muốn) Kết quả của phân cụm thường khá nhạy cảm với các tham số đầu vào Nhiều tham số rất khó để xác định, nhất là với các tập dữ liệu có lượng các đối tượng lớn Điều này không những gây trở ngại cho người dùng mà còn làm cho khó có thể điều chỉnh được chất lượng của phân cụm
- Khả năng thích nghi với dữ liệu nhiễu: hầu hết những cơ sở dữ liệuthực đều chứa đựng dữ liệu ngoại lai, dữ liệu lỗi, dữ liệu chưa biết hoặc
dữ liệu sai Một số thuật toán phân cụm nhạy cảm với dữ liệu như vậy và có thể dẫn đến chất lượng phân cụm thấp
- Ít nhạy cảm với thứ tự của các dữ liệu vào: một số thuật toán phân cụm nhạy cảm với thứ tự của dữ liệu vào, ví dụ như với cùng một tập dữ liệu, khi được đưa ra với các thứ tự khác nhau thì với cùng một thuật toán có thể sinh ra các cụm rất khác nhau Do đó, việc quan trọng là phát triển các thuật toán mà ít nhạy cảm với thứ tự vào của dữ liệu
Trang 27- Số chiều lớn: một cơ sở dữ liệu hoặc một kho dữ liệu có thể chứa một số chiều hoặc một số các thuộc tính Nhiều thuật toán phân cụm áp dụng tốt cho dữ liệu với số chiều thấp, bao gồm chỉ từ hai đến 3 chiều Người ta đánh giá việc phân cụm là có chất lượng tốt nếu nó áp dụng được cho dữ liệu
có từ 3 chiều trở lên Nó là sự thách thức với các đối tượng dữ liệu cụm trong không gian với số chiều lớn, đặc biệt vì khi xét những không gian với số chiều lớn có thể rất thưa và có độ nghiêng lớn
- Phân cụm ràng buộc: nhiều ứng dụng thực tế có thể cần thực hiện phân cụm dưới các loại ràng buộc khác nhau Một nhiệm vụ đặt ra là đi tìm những nhóm dữ liệu có trạng thái phân cụm tốt và thỏa mãn các ràng buộc
- Dễ hiểu và dễ sử dụng: Người sử dụng có thể chờ đợi những kết quả phân cụm dễ hiểu, dễ lý giải và dễ sử dụng Nghĩa là, sự phân cụm có thể cần được giải thích ý nghĩa và ứng dụng rõ ràng
Với những yêu cầu đáng lưu ý này, nghiên cứu của ta về phân tích phân cụm diễn ra như sau:
- Đầu tiên, ta nghiên cứu các kiểu dữ liệu khác nhau và cách chúng có thể gây ảnh hưởng tới các phương pháp phân cụm
- Thứ hai, ta đưa ra một cách phân loại chung trong các phương pháp phân cụm
- Sau đó, ta nghiên cứu chi tiết mỗi phương pháp phân cụm, bao gồm các phương pháp phân hoạch, phân cấp, dựa trên mật độ, Ta cũng khảo sát sự phân cụm trong không gian đa chiều và các biến thể của các phương pháp khác
1.3.8.2 Những vấn đề còn tồn tại trong phân cụm dữ liệu
Có một số vấn đề với phân cụm dữ liệu Một trong số đó là:
- Kỹ thuật phân cụm hiện nay không trình bày được tất cả các yêu cầu đầy đủ (và đồng thời);
- Giao dịch với số lượng lớn các mẫu và số lượng lớn các mẫu tin của
Trang 28dữ liệu có thể gặp vấn đề phức tạp về thời gian;
- Hiệu quả của phương pháp phụ thuộc vào định nghĩa của “khoảng cách” (đối với phân cụm dữ liệu dựa trên khoảng cách) Nếu không tồn tại một thước đo khoảng cách rõ ràng chúng ta “phải tự xác định”, một điều mà không thật sự dễ dàng chút nào, nhất là trong không gian đa chiều;
Kết quả của thuật toán phân cụm dữ liệu có thể được giải thích theo nhiều cách khác nhau (mà trong nhiều trường hợp chỉ có thể được giải thích theo ý riêng của mỗi người)
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
Khám phá tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực trong thực tế, vì vậy các thách thức và khó khăn ngày càng nhiều, càng lớn hơn Sau đây là một số các thách thức và khó khăn cần được quan tâm:
- Các cơ sở dữ liệu lớn hơn rất nhiều : cơ sở dữ liệu với hàng trăm trường và bảng, hàng triệu bản ghi và kích thước lên tới nhiều gigabyte là vấn
đề hoàn toàn bình thường
- Số chiều cao : không chỉ thường có một số lượng rất lớn cácbản ghi trong cơ sở dữ liệu mà còn có một số lượng rất lớn các trường (các thuộc tính, các biến) làm cho số chiều của bài toán trở nên cao Thêm vào đó, nó tăng thêm cơ hội cho một giải thuật khai phá dữ liệu tìm ra các mẫu không hợp lệ
- Thay đổi dữ liệu và tri thức : thay đổi nhanh chóng dữ liệu động) có thể làm cho các mẫu phát hiện trước đó không hợp lệ Thêm vào đó, các biến
đã đo trong một cơ sở dữ liệu ứng dụng cho trước có thể bị sửa đổi, xóa bỏ hay tăng thêm các phép đo mới Các giải pháp hợp lý bao gồm các phương pháp tăng trưởng để cập nhật các mẫu và xử lý thay đổi
- Dữ liệu thiếu và bị nhiễu : bài toán này đặc biệt nhạy trong các cơ
sở dữ liệu thương mại Các thuộc tính quan trọng có thể bị mất nếu cơ sở
Trang 29dữ liệu không được thiết kế với sự khám phá bằng trí tuệ Các giải pháp có thể gồm nhiều chiến lược thống kê phức tạp để nhận biết các biến ẩn và các biến phụ thuộc
- Mối quan hệ phức tạp giữa các trường : các thuộc tính hay giá các giá trị có cầu trúc phân cấp, các quan hệ giữa các thuộc tính và các phương tiện tinh vi hơn cho việc biểu diễn tri thức về nội dung của một cơ sở dữ liệu
sẽ đòi hỏi các giải thuật phải có khả năng sử dụng hiệu quả các thông tin này
Về mặt lịch sử, các giải thuật khai phá dữ liệu được phát triển cho các bản ghi
có giá trị thuộc tính đơn giản, mặc dù các kỹ thuật mới bắt nguồn từ mối quan
hệ giữa các biến đang được phát triển
- Tính dễ hiểu của các mẫu : trong nhiều ứng dụng, điều quan trọng là những gì khai thác được phải càng dễ hiểu đối với con người thì càng tốt Các giải pháp có thể thực hiện được bao gồm cả việc biểu diễn được minh họa bằng đồ thị, cấu trúc luật với các đồ thị có hướng, biểu diễn bằng ngôn ngữ tự nhiên và các kỹ thuật hình dung ra dữ liệu và tri thức
- Người dùng tương tác và tri thức sẵn có : nhiều phương pháp khám phá tri thức và các công cụ không tương tác thực sự với người dùng và không thể dễ dàng kết hợp chặt chẽ với tri thức có sẵn về một bài toán loại trừ theo các cách đơn giản Việc sử dụng của miền tri thức là quan trọng trong toàn bộ các bước của xử lý khám phá tri thức
- Tích hợp với các hệ thống khác: Một hệ thống phát hiện đứng một mình có thể không hữu ích lắm Các vấn đề tích hợp điển hình gồm có việc tích hợp với một DBMS (tức là qua một giao diện truy vấn), tích hợp với các bảng tính và các công cụ trực quan và điều tiết các dự đoán cảm biến thời gian thực
1.5 Kết luận
Khai phá dữ liệu là lĩnh vực đã và đang trở thành một trong những hướng nghiên cứu thu hút được sự quan tâm của nhiều chuyên gia về công
Trang 30nghệ thông tin trên thế giới Trong những năm gần đây, rất nhiều phương pháp và thuật toán mới liên tục được công bố Điều này chứng tỏ những ưu thế, lợi ích và khả năng ứng dụng thực tế to lớn của khai phá dữ liệu Chương này đã trình bày một số kiến thức tổng quan về khám phá tri thức, những khái niệm và kiến thức cơ bản nhất về khai phá dữ liệu
Trang 31CHƯƠNG 2 MỘT SỐ GIẢI THUẬT PHÂN CỤM DỮ LIỆU DỰA TRÊN MẬT ĐỘ 2.1 Tổng quan về phân cụm dữ liệu
2.1.1 Khái niệm về phân cụm dữ liệu
PCDL (Data Clustering) hay phân cụm cũng có thể gọi là phân tích cụm, phân tích phân đoạn, phân tích phân loại, là quá trình nhóm một tập các đối tượng thực thể hay trừu tượng thành lớp các đối tượng tương tự Một cụm
là một tập hợp các đối tượng dữ liệu mà các phần tử của nó tương tự nhau cung trong một cụm và phi tương tự đối với các đối tượng trong các cụm khác Một cụm các đối tượng dữ liệu có thể xem như là một nhóm trong nhiều ứng dụng
Phân cụm dữ liệu là một kỹ thuật trong PCDL 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 và quan trọng trong tập dữ liệu lớn để từ đó cung cấp thông tin, tri thức cho việc ra quyết định PCDL là
sự phân chia một CSDL lớn thành các nhóm dữ liệu với trong đó các đối tượng tương tự như nhau Trong mỗi nhóm, một số chi tiết có thể không quan tâm đến để đổi lấy dữ liệu đơn giản hóa Hay ta có thể hiểu “PCDL là quá trình tổ chức các đối tượng thành từng nhóm mà các đối tượng ở mỗi nhóm đều tương tự nhau theo một tính chất nào đó, những đối tượng không tương tự tính chất sẽ ở nhóm khác”
PCDL là quá trình nhóm một tập các đối tượng tương tự nhau trong tập
dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng PCDL là một ví dụ của phương pháp học không có thầy Không giống như phân lớp dữ liệu, PCDL không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện
Vì thế, có thể coi PCDL là một cách học bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví dụ Ngoài ra PCDL còn có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác như là phân loại và
Trang 32mô tả đặc điểm, có tác dụng trong việc phát hiện ra các cụm
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 đối tượng trong một cụm “tương tự” (Similar) với nhau và các đối tượng trong các cụm khác nhau sẽ “không tương tự” (Dissimilar) với nhau Số các cụm dữ liệu được phân ở đây có thể được xác định trước theo kinh nghiệm hoặc có thể được tự động xác định Chúng ta có thể thấy điều này với một ví dụ đơn giản như sau:
Một kiểu khác của PCDL là PCDL dựa vào khái niệm: hai hay nhiều đối tượng thuộc cùng nhóm nếu có một định nghĩa khái niệm chung cho tất cả các đối tượng trong đó Nói cách khác, đối tượng của nhóm phải phù hợp với nhau theo miêu tả các khái niệm đã được định nghĩa, không phải theo những biện pháp đơn giản tương tự
Trang 332.1.2 Các mục tiêu của phân cụm dữ liệu
Mục tiêu của PCDL là để xác định các nhóm nội tại bên trong một bộ
dữ liệu không có nhãn Nhưng để có thể quyết định được cái gì tạo thành một cụm tốt Nhưng làm thế nào để quyết định cái gì đã tạo nên một phân cụm dữ liệu tốt ? Nó có thể được hiển thị rằng không có tiêu chuẩn tuyệt đối “tốt nhất” mà sẽ là độc lập với mục đích cuối cùng của phân cụm dữ liệu Do đó,
mà người sử dụng phải cung cấp tiêu chuẩn, theo cách như vậy mà kết quả của phân cụm dữ liệu sẽ phù hợp với nhu cầu của họ cần Ví dụ, chúng ta có thể quan tâm đến việc tìm kiếm đối tượng đại diện cho các nhóm đồng nhất trong “các cụm tự nhiên” và mô tả thuộc tính không biết của chúng trong việc tìm kiếm các nhóm hữu ích và phù hợp hoặc trong việc tìm kiếm các đối tượng bất thường trong dữ liệu (cá biệt, ngoại lệ, nhiễu)
Một vấn đề thường gặp trong phân cụm 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 do quá 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 chuyển sang giai đoạn phân tích cụm dữ liệu Nhiễu ở đây được hiểu là các đối tượng dữ liệu không chính xác, không tường minh hoặc là các đối tượng dữ liệu khuyết thiếu thông tin
về 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ác thuộc tính của đối tượng nhiễu bằng giá trị thuộc tính tương ứng Ngoài ra, dò tìm đối tượng ngoại lai cũng là một trong những hướng nghiên cứu quan trọng trong phân cụm, 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 cơ
sở dữ liệu, tức là các đối tượng dữ liệu không tuân 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 phân cụm
Theo các nghiên cứu đến thời điểm hiện nay thì 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
Trang 34cấu trúc cơ sở dữ liệu Hơn nữa, đối với 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ơ sở 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 phù hợp Vì vậy phân cụm dữ liệu vẫn đang là một vấn đề khó và mở, vì phải giải quyết nhiều vấn
đề cơ bả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 dữ liệu hỗn hợp đang ngày càng tăng trong các hệ quản trị
dữ liệu và đâ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
Vậy PCDL là một thách thức trong lĩnh vực nghiên cứu vì 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 Do đặc thù của CSDL là lớn, phức tạp và có dữ liệu nhiễu nên những thuật toán phân cụm được áp dụng phải thỏa mãn những yêu cầu sau:
- Thuật toán phải hiệu quả và thời gian chạy phải là tăng tuyến tính theo kích thước của dữ liệu
- Thuật toán phải xử lý và áp dụng được với CSDL nhiều nhiễu, phức tạp gồm cả dữ liệu không gian, phi không gian, dữ liệu số, phi số, kiểu nhị phân, dữ liệu định danh, hạng mục, thích nghi với kiểu dữ liệu hỗn hợp
- Thuật toán phải có khả năng xác định được những cụm với hình dáng bất kỳ bao gồm cả những cụm có hình dạng lồng nhau, cụm có hình dạng lõm, hình cầu, hình que,…
- Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào Do các giá trị đầu vào thường ảnh hưởng rất lớn đế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
- Thuật toán phải thực hiện với mọi thứ tự đầu vào dữ liệu Nói cách khác kết quả của thuật toán nên độc lập với dữ liệu đầu vào (Cùng một tập dữ liệu, khi đưa vào xử lý cho thuật toán PCDL với các thứ tự vào của các đối tượng dữ liệu ở các lần thực hiện khác nhau thì không ảnh hưởng lớn đến kết quả phân cụm)
Trang 35- Thuật toán không đòi hỏi những tri thức về CSDL từ người dùng
- Thuật toán phải làm việc được với CSDL chứa nhiều lớp đối tượng
2.1.3 Ứng dụng của phân cụm dữ liệu
PCDL đã 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 còn tương đối mới mẻ tuy nhiên cũng được nghiên cứu và dần đưa vào ứng dụng trong nhiều lĩnh vực như:
- Quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lí… nhằm cung cấp thông tin cho quy hoạch đô thị
- Nghiên cứu trái đất: Phân cụm để theo dõi các tâm động đất nhằm cung cấp thông tin cho nhận dạng các vùng nguy hiểm
- Thương mại: Tìm kiếm nhóm các khách hàng quan trọng có đặc trưng tương đồng và những đặc tả họ từ các bản ghi mua bán trong CSDL mua hàng
- Thư viện: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả …
- Sinh học: Phân loại các gen với các chức năng tương đồng và thu được các cấu trúc sinh mẫu
- Bảo hiểm: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch
vụ tài chính, dự đoán xu hướng của khách hàng, phát hiện gian lận tài chính
- WWW: Phân loại tài liệu, phân loại người dùng web
Trang 362.1.5 Một số kiểu dữ liệu
Trong phần này ta phân tích các kiểu dữ liệu thường được dử dụng trong PCDL Trong PCDL, các đối tượng dữ liệu cần phân tích có thể là con người, nhà cửa, tiền lương, các thực thể phần mềm, … Các đối tượng này thường được diễn tả dưới dạng các thuộc tính của nó Các thuộc tính này là các tham
số cần cho 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ật 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 lớp dựa trên hai đặc trưng là: kích thước miền và hệ đo
2.1.5.1 Phân loại kiểu dữ liệu dựa trên kích thước miền
Thuộc tính liên tục: Nếu miền giá trị của nó là vô hạn không đếm được, nghĩa là giữa hai giá trị tồn tại vô số giá trị khác 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: Nếu miền giá trị của nó là tập hữu hạn hoặc đế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, …
2.1.5.2 Phân loại kiểu dữ liệu dựa trên hệ đo
Giả sử có hai đối tượng x, y và các thuộc tính xi, yi tương ứng với thuộc tính thứ I của chúng Chúng ta có các lớp kiểu dữ liệu như sau:
- Thuộc tính định danh: Dạng thuộc tính khái quát hóa của thuộc tính nhị phân, trong đó miền giá trị là rời rạc không phân biệt thứ tự và có nhiều hơn hai phần tử - nghĩa là nếu x và y là hai đối tượng thuộc tính thì chỉ có thể xác định là x ≠ y hoặc x = y Ví dụ thuộc tính về nơi sinh
- Thuộc tính có thứ tự: Là thuộc tính định đanh có thêm tính thứ tự, nhưng chúng không được định lượng Nếu x và y là hai thuộc tinh thứ tự thì ta
có thể xác định là x ≠ y hoặc x = y hoặc x > y hoặc x < y Ví dụ như thuộc tính huy chương của vận động viên thể thao
- Thuộc tính khoảng: Nhằm để đo các giá trị theo xấp xỉ tuyến tính Với thuộc tính khoảng, ta có thể xác định một thuộc tính là đứng trước hoặc
Trang 37đứng sau thuộc tính khác với một khoảng là bao nhiêu Nếu xi > yi thì ta nói x cách y một khoảng |xi – yi| tương ứng với thuộc tính thứ i Ví dụ như thuộc tính số serial của một đầu sách trong thư viện hoặc thuộc tính số trên kênh truyền hình
- Thuộc tính tỉ lệ: Là thuộc tính khoảng nhưng được xác đinh một cách tương đối so với điểm mốc, ví dụ như thuộc tính chiều cao hoặc cân nặng lấy giá trị 0 làm mốc
Trong các thuộc tính dữ liệu trình bày ở trên, thuộc tính định danh và thuộc tính có thứ tự gọi chung là thuộc tính hạng mục, thuộc tính khoảng và thuộc tính tỉ lệ được gọi là thuộc tính số
Người ta đặc biệt quan tâm đến dữ liệu không gian Đây là loại dữ liệu
có các thuộc tính số khái quát trong không gian nhiều chiều, dữ liệu không gian mô tả các thông tin liên quan đến không gian chứa đựng các đối tượng,
ví dụ như thông tin về hình học,… Dữ liệu không gian có thể là dữ liệu liên tục hoặc rời rạc:
- Dữ liệu không gian rời rạc: Có thể là một điểm trong không gian nhiều chiều và cho phép ta xác định được khoảng cách giữa các đối tượng dữ liệu trong không gian
- Dữ liệu không gian liên tục: Bao gồm một vùng trong không gian Thông thường, các thuộc tính số được đo bằng các đơn vị xác định như
là kilogams hoặc centimeter Tuy nhiên, các đơn vị đo có ảnh hưởng đến các kết quả phân cụm Ví dụ như thay đổi độ đo cho thuộc tính cân nặng từ kilogams sang pound có thể mạng 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 hóa 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 hóa phụ thuộc vào ứng dụng và người dùng, thông thường chuẩn hóa dữ liệu được thực hiện bằng cách thay thế mỗi thuộc tính số hoặc thêm các trọng số cho các thuộc tính