Tuy nhiên, đây là những thuật toán chỉ hiệu quả khi khai thác tập phổ biến trên CSDL thương mại truyền thống, thường có chứa rất nhiều các giao tác và mỗi giao tác lại chứa rất ít các m
Trang 1-
ĐẶNG VĂN QUANG
KHAI THÁC MẪU KHỔNG LỒ TRÊN CƠ SỞ DỮ LIỆU NHIỀU CHIỀU
Chuyên ngành : Công Nghệ Thông Tin
Mã số ngành: 60480201
TP HỒ CHÍ MINH, tháng 08 năm 2017
Trang 3Cán bộ hướng dẫn khoa học : TS Phạm Thị Thiết
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP HCM ngày 19 tháng 11 năm 2017
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ Luận văn Thạc sĩ)
Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã được sửa chữa (nếu có)
Chủ tịch Hội đồng đánh giá LV
Trang 4TP HCM, ngày … tháng… năm 20 …
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: ĐẶNG VĂN QUANG Giới tính: Nam
Ngày, tháng, năm sinh: 15/03/1972 Nơi sinh: Quảng Tín
Chuyên ngành: Công Nghệ Thông Tin MSHV:1541860039
I- Tên đề tài:
KHAI THÁC MẪU KHỔNG LỒ
II- Nhiệm vụ và nội dung:
− Biểu diễn CSDL trên ma trận bit
− Khai thác CSDL theo cấu trúc cây tìm kiếm
− Khai thác mẫu khổng lồ trên CSDL nhiều chiều
− Đề xuất thuật toán, xây dựng chương trình thực nghiệm
− So sánh và đánh giá kết quả thực nghiệm
III- Ngày giao nhiệm vụ: 15/03/2017
IV- Ngày hoàn thành nhiệm vụ: 31/08/2017
V- Cán bộ hướng dẫn: TS PHẠM THỊ THIẾT
CÁN BỘ HƯỚNG DẪN KHOA QUẢN LÝ CHUYÊN NGÀNH
(Họ tên và chữ ký) (Họ tên và chữ ký)
Trang 5LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này
đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc
Học viên thực hiện Luận văn
(Ký và ghi rõ họ tên)
Đặng Văn Quang
Trang 6LỜI CÁM ƠN
Chân thành cảm ơn TS Phạm Thị Thiết, giảng viên đã hướng dẫn tôi thực hiện luận văn này
Cảm ơn quý Thầy Cô Khoa Công nghệ thông tin Trường Đại học Công nghệ
Tp HCM đã giảng dạy và cung cấp cho tôi những kiến thức quý báu trong suốt thời gian học tập và nghiên cứu thực hiện luận văn
Tôi gửi lời cảm ơn đến gia đình, người thân và bạn bè đã luôn quan tâm, giúp
đỡ tôi trong suốt thời gian học tập, nghiên cứu hoàn thành luận văn
Luận văn khó có thể tránh khỏi những sai sót, rất mong nhận được ý kiến đóng góp của quý Thầy Cô, bạn bè, và những người luôn quan tâm, ủng hộ tôi
Chân thành cảm ơn!
Học viên thực hiện Luận văn
Đặng Văn Quang
Trang 7TÓM TẮT
Ngày nay khoa học tiến bộ, chúng ta đang bị cuốn hút bởi sự bùng nổ của dữ liệu, dữ liệu khoa học, dữ liệu y tế, dữ liệu nhân khẩu học, dữ liệu tài chính, và dữ liệu tiếp thị Các nhà khoa học luôn quan tâm đến nguồn tài nguyên quý báu này
Do đó, Khám phá tri thức tiềm ẩn trong CSDL là m c tiêu chung của ngành khoa học khai thác dữ liệu nhằm đem lại lợi ích cho con người Bên cạch đó là những khó khăn đầy thách thức cho ngành khoa học này
‘Khai thác tập phổ biến’ được xem như là một bài toán rất quan trọng trong khai thác dữ liệu đã được nghiên cứu rộng rãi trong nhiều năm qua Có rất nhiều thuật toán đã được phát triển để khai thác tập phổ biến hiệu quả, như Apriori, Eclat, FP-Growth, PrePost, và FIN Tuy nhiên, đây là những thuật toán chỉ hiệu quả khi khai thác tập phổ biến trên CSDL thương mại truyền thống, thường có chứa rất
nhiều các giao tác và mỗi giao tác lại chứa rất ít các m c.Trên thực tế có nhiều
CSDL đặc biệt, chẳng hạn như dữ liệu sinh học-gọi là dữ liệu nhiều chiều, được mô
tả có ít các giao tác và trong mỗi giao tác có chứa rất nhiều m c Các thuật toán trên không thể chạy khi ngưỡng hỗ trợ tối thiểu nhỏ bởi vì không gian tìm kiếm là rất lớn, các ứng viên tăng theo cấp số mũ trong quá trình khai thác Do đó các thuật toán này không phù hợp với dữ liệu nhiều chiều
Điều này dẫn đến nảy sinh ra bài toán khai thác mẫu khổng lồ trên CSDL nhiều chiều.Trong năm 2012, Sohrabi và Barforoush đề xuất thuật toán BVBUC khai thác mẫu khổng lồ dựa trên giản đồ từ dưới lên Tuy nhiên, BVBUC còn nhiều hạn chế vì nó tạo ra rất nhiều các ứng viên và tốn nhiều thời gian để kiểm tra các ứng viên này Nghiên cứu trong luận văn này tập trung vào xây dựng chiến lược khai thác mẫu khổng lồ trên CSDL nhiều chiều hiệu quả hơn bằng cách đề xuất thuật toán gọi là IBVBUC dựa trên BVBUC áp d ng phương pháp khai thác từ dưới lên theo chiều dọc, sử d ng ma trận bit n n tập dữ liệu để dễ dàng sử d ng hơn Ngoài ra, kỹ thuật cắt tỉa để nâng cao hiệu quả trong quá trình khai thác cũng được
sử d ng Cuối cùng, cài đặt, so sánh và đánh giá thuật toán
Trang 8ABSTRACT
Nowadays, science made its progress We’re being attracted by the explosion
of data, Science data, Medical data, Demography data, Finance data, and Marketing data The scientists always care about these valuable resources Hence, discovering hidden knowledge in database is common goal of the information technology science in order to bring benefit for human Besides, those are the very challenging for these sciences
‘Frequent itemset mining’ is consider a very important issue in data developing that has been extensively studied over the years There are many algorithms that have been developed to effectively frequent itemset mining, such as Apriori, Eclat, FP-Growth, PrePost, and FIN However, these are only effective algorithms for common exploitation on database traditional commercial, usually contains a lot of transaction and each transaction contains very few items On reality, there are many special database, such as Biomedical data is characterized by fewer transaction, and each transaction contains a large number of items, called high dimensional The algorithms can not operate when the minimum Support threshold is small because the search space is very large, the candidates increase exponentially during the exploiting process Therefore, these algorithms are not suitable for multi-dimensional data
This led to the problem of exploiting colossal patterns on multi-dimensional database In 2012, Sohrabi and Barfroush proposed BVBUC algorithm exploits colosal pattern base on a bottom-up schema However, BVBUC has many limitations as it creates a lot of candidates and takes a lot of time to test these candidates The study in this thesis focuses on developing a strategy for the extraction of colossal patterns in more efficient multi-dimensional databases by proposing an algorithm called IBVBUC base on BVBUC that applies a bottom-up follow vertical exploiting method, use a bit matrix to compress data to make it more easy to use In addition, pruning techniques to improve efficiency during harvesting are also used Finally installing, comparing and evaluating algorithm
Trang 9MỤC LỤC
LỜI CAM ĐOAN i
LỜI CÁM ƠN ii
TÓM TẮT iii
ABSTRACT iv
MỤC LỤC v
DANH MỤC CÁC TỪ VIẾT TẮT vii
DANH MỤC CÁC BẢNG viii
CHƯƠNG 1: TỔNG QUAN 1
1.1 Lý do chọn đề tài 1
1.2 M c tiêu, nội dung nghiên cứu 2
1.3 Phương pháp nghiên cứu 2
1.4 Phạm vi đề tài 3
1.5 Cấu trúc luận văn 3
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4
2.1 Tổng quan về khai thác dữ liệu 4
2.1.1 Khám phá tri thức 4
2.1.2 Khai thác dữ liệu 6
2.1.3 Các kỹ thuật khai thác dữ liệu 9
2.1.4 Ứng d ng trong khai thác dữ liệu 9
2.1.5 Những thách thức trong khai thác dữ liệu 10
2.2 Tổng quan về khai thác tập phổ biến 11
2.2.1 Một số khái niệm cơ bản 11
2.2.2 Một số thuật toán cơ bản 14
2.3 Khái quát về dữ liệu nhiều chiều 18
2.3.1 Giới thiệu 18
2.3.2 Những thách thức trên CSDL nhiều chiều 19
2.3.3 Các kỹ thuật cơ bản trên CSDL nhiều chiều 19
2.4 Khái quát về mẫu khổng lồ 23
2.5 Lý thuyết khai thác mẫu khổng lồ trên CSDL nhiều chiều 25
Trang 102.5.1 Giới thiệu 25
2.5.2 Định nghĩa bài toán 27
2.5.3 Biểu diễn tập dữ liệu trên ma trận bit (bit-wise) 28
2.5.4 Các chiến lược khai thác 32
2.5.5 Khai thác mẫu khổng lồ 35
CHƯƠNG 3: THUẬT TOÁN KHAI THÁC MẪU KHỔNG LỒ 42
3.1 Công trình liên quan 42
3.1.1 Thuật toán BVBUC 42
3.1.2 Minh họa thuật toán BVBUC 43
3.2 Thuật toán đề xuất (thuật toán IBVBUC) 46
3.2.1 Định nghĩa 46
3.2.2 Một số hạn chế của BVBUC 48
3.2.3 Xây dựng thuật toán IBVBUC 49
3.2.4 Thuật toán IBVBUC 49
3.2.5 Minh họa thuật toán IBVBUC 51
3.3 Nhận x t 53
CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM 55
4.1 Môi trường và CSDL thực nghiệm 55
4.1.1 Môi trường thực nghiệm 55
4.1.2 CSDL thực nghiệm 55
4.2 Kết quả thực nghiệm 56
4.2.1 Giao diện thực nghiệm 56
4.2.2 Kết quả thực nghiệm 58
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 66
5.1 Kết luận 66
5.2 Hướng phát triển 67
TÀI LIỆU THAM KHẢO 68
Trang 11DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt Tiếng Anh Ý nghĩa tiếng Việt
BVBUC Bit-wise vertical bottom up
colossal
Khai thác mẫu khổng lồ duyệt cây từ dưới lên theo chiều dọc
CSDL Database Cơ sở dữ liệu
KTDL Data Mining- DM Khai thác dữ liệu
IBVBUC Improved BVBUC Thuật toán BVBUC được cải tiến item item Mục dữ liệu
itemset Set of items Tập mục dữ liệu
KPTT Knowledge Discovery in
Database- KDD Khám phá tri thức trong CSDL minSup Minimum Support Độ hỗ trợ tối thiểu
row id row id Mã định danh dòng
rowset set of rows Tập dòng
Sup Support Độ hỗ trợ
TID Transaction identification Mã giao dịch
tidset set of transactions Tập giao dịch
Trang 12DANH MỤC CÁC BẢNG
Bảng 2.1 – Minh họa CSDL giao dịch giỏ hàng 11
Bảng 2.2 – CSDL mẫu minh họa khai thác tập phổ biến 12
Bảng 2.3 – CSDL mẫu minh họa khai thác mẫu khổng lồ 28
Bảng 3.1 – CSDL mẫu minh họa thực nghiệm 44
Bảng 4.1– Bảng mô tả CSDL thực nghiệm 55
Bảng 4.2– Bảng so sánh thời gian và số nút trên cây 58
Trang 13DANH MỤC CÁC HÌNH
Hình 2.1 – Quá trình khám phá tri thức [7] 5
Hình 2.2 – Sự tiến triển khoa học kỹ thuật, hệ CSDL 8
Hình 2.3 – Minh họa thuật toán Apriori 15
Hình 2.4 – Cây IT-tree dùng Tidset với minSup =3 18
Hình 2.5 – Một ví d về mẫu khổng lồ 24
Hình 2.6 – Dữ liệu tổng hợp có chứa một số mẫu khổng lồ 24
Hình 2.7 – Ma trận bit của CSDL Bảng 2.3 28
Hình 2.8 – Cắt tỉa ma trận bit 29
Hinh 2.9 – ColAndVectors 30
Hình 2.10 – Kiểm tra tập đóng ad 31
Hình 2.11 – Kiểm tra tập phổ biến đóng eg 31
Hình 2.12 – Cây tìm kiếm theo chiều ngang 32
Hình 2.13 – Cây tìm kiếm từ dưới lên theo chiều dọc 34
Hình 2.14 – Cây tìm kiếm từ trên xuống theo chiều dọc 35
Hình 2.15 – Khai thác từ dưới lên 37
Hình 2.16 – Cây được cắt tỉa đến mức minSup 39
Hình 2.17 – Mức 1 của cây đã lược bỏ đến minSup 40
Hình 2.18 – Nút 1 và con của nó 40
Hình 2.19 – Nút 12 và con của nó 41
Hình 2.20 – Nut 13 và con của nó 41
Hình 2.21 – Nút 14 và con của nó 41
Hình 2.22 – Nút 15 và con của nó 41
Hình 3.1 – Biểu diễn ma trận bit cho CSDL giao dịch 44
Hình 3.2 – Ma trận bit sau khi lược bỏ các cột không thỏa minSup 44
Hình 3.3 – Cây tìm kiếm từ dưới lên theo chiều dọc (CSDL Bảng 3.1) 45
Hình 3.4 – Ma trận bit đã lược bỏ dòng và cột 52
Hình 3.5 – Minh họa xây dựng cây đến mức 2 52
Hình 3.6 – Minh họa xây dựng cây đến mức minSup 53
Trang 14Hình 3.7 – Cậy được xây dựng hoàn chỉnh đến mức minSup với CSDL bảng 3.1 53
Hình 4.1a – Giao diện màn hình chính của chương trình ở Step 1 56
Hình 4.1b – Giao diện màn hình chính của chương trình ở Step 2 57
Hình 4.1c – Giao diện màn hình chính của chương trình ở Step 3 57
Hình 4.2 – dữ liệu Chess 50 transactions 59
Hình 4.3 – dữ liệu Accidents 80 transactions 60
Hình 4.4– dữ liệu Mushroom 50 transactions 60
Hình 4.5 – dữ liệu Retails 50 transactions 61
Hình 4.6 – dữ liệu Mushroom 90 transactions 61
Hình 4.7– dữ liệu Retails 100 transactions 62
Hình 4.8 – dữ liệu Accidents 100 transactions 63
Hình 4.9 – dữ liệu Accidents 100 transactions với minSup=3% 64
Hình 4.10 – dữ liệu Mushroom 100 transactions với minSup=3% 64
Trang 15CHƯƠNG 1: TỔNG QUAN
1.1 Lý do chọn đề tài
Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông tin đã 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 nhanh chóng Bên cạnh đó, việc tin học hóa một cách nhanh chóng các hoạt động sản xuất, thương mại, địa chất, y tế,… cũng như nhiều lĩnh vực hoạt động khác đã tạo ra cho chúng ta một kho dữ liệu khổng lồ Hàng triệu cơ sở dữ liệu (CSDL) đã được sử d ng, trong đó có nhiều CSDL cực lớn Sự bùng nổ này đã dẫn tới 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 lượng dữ liệu khổng lồ kia thành các tri thức có ích
Với lượng dữ liệu khổng lồ và luôn gia tăng theo thời gian, rõ ràng các phương pháp phân tích dữ liệu truyền thống sẽ không còn hiệu quả, gây tốn k m và dễ dẫn đến những kết quả sai lệch Để có thể khai thác hiệu quả các CSDL lớn, một lĩnh
vực khoa học mới đã ra đời: Khám phá tri thức trong CSDL (Knowledge Discovery
in Databases - KDD) Khai thác dữ liệu (Data Mining - DM) là một công đoạn
chính trong quá trình khám phá tri thức, nhằm tìm kiếm, phát hiện các tri thức mới, hữu ích tiềm ẩn trong các cơ sở dữ liệu lớn
Khai thác tập phổ biến là một trong những vấn đề cốt lõi trong khai thác dữ liệu,
là một trong hai giai đoạn rất quan trọng trong khai thác luật kết hợp Việc khai thác tập phổ biến thường được mô tả là một quá trình lấy thông tin có giá trị từ CSDL lớn, nó bắt nguồn từ dạng mẫu có sẵn tồn tại trong CSDL, các mẫu này có khuynh hướng gom nhóm lại với nhau và được định nghĩa như là một mô hình khai thác Nhiều thuật toán đã được xây dựng để hỗ trợ quá trình khai thác tập phổ biến trong các CSDL thương mại truyền thống như thuật toán Apriori, thuật toán cải tiến
Apriori (Apriori-TID), thuật toán FP-Growth, thuật toán IT-Tree, v.v Với CSDL
dạng này thường bao gồm rất nhiều các giao tác nhưng mỗi giao tác lại gồm ít m c Trong thực tế nhiều CSDL có số chiều rất lớn, đặc biệt như CSDL địa chất, y tế
và phân tích các chuổi ADN: có số lượng m c rất lớn, nhưng các giao tác không nhiều dẫn đến việc khai thác theo phương pháp truyền thống thường gặp hạn chế về không gian lưu trữ cũng như hiệu năng tính toán do số lượng các ứng viên xuất hiện
Trang 16trong quá trình khai thác tăng theo hàm số hàm mũ, dữ liệu được xuất ra dư thừa nhưng không có đủ thông tin phù hợp cho một số ứng d ng, vv… Để giải quyết những vấn đề này, nội dung nghiên cứu của luận văn sẽ tập trung vào việc nghiên cứu, tìm hiểu về khai thác dữ liệu với mẫu có kích thước rất lớn trên CSDL nhiều chiều và các mẫu này được gọi là mẫu khổng lồ
1.2 Mục tiêu, nội dung nghiên cứu
Nội dung của luận văn là tập trung nghiên cứu các chiến lược khai thác dữ liệu với mẫu có kích thước khổng lồ trên CSDL nhiều chiều, trình bày một phương pháp khai thác từ dưới lên theo chiều dọc để tiến hành khai thác các mẫu khổng lồ phổ
biến trên CSDL nhiều chiều Trong thuật toán, sử d ng một ma trận bit (bit matrix)
n n dữ liệu để dễ dàng sử d ng trong quá trình khai thác, xây dựng kỹ thuật khai thác dữ liệu dựa trên cấu trúc cây tìm kiếm duyệt theo giao tác Bên cạnh đó, áp
d ng phương pháp cắt tỉa nhằm lược bỏ các nút không cần thiết trên cây để rút ngắn thời gian khai thác
Từ những nghiên cứu này, luận văn hướng đến m c tiêu là đề xuất thuật toán khai thác các mẫu khổng lồ phổ biến trên CSDL nhiều chiều hiệu quả hơn Cuối cùng, cài đặt thuật toán và đánh giá kết quả thực nghiệm
1.3 Phương pháp nghiên cứu
− Nghiên cứu tổng quan về khám phá tri thức-khai thác dữ liệu, từ đó có thể
nắm bắt được các luận điểm, giải thuật cơ bản để làm tiền đề cho việc nghiên cứu
− Tìm hiểu một số kỹ thuật và thuật toán khai thác tập phổ biến để tìm các phương pháp tăng tốc độ khai thác trong CSDL có số lượng m c lớn
− Nghiên cứu, tìm hiểu về mẫu khổng lồ (colossal pattern)
− Tìm hiểu về dữ liệu nhiều chiều (high dimensional datasets)
− Tìm hiểu, nghiên cứu các phương pháp khai thác mẫu khổng lồ phổ biến
− Nghiên cứu tìm hiểu thuật toán thích hợp để khai thác mẫu khổng lồ phổ biến trên dữ liệu nhiều chiều một cách có hiệu quả
− Xây dựng chương trình thực nghiệm , so sánh, đánh giá kết quả đạt được
Trang 171.4 Phạm vi đề tài
phạm vi nghiên cứu của luận văn là từ các bước cơ bản nhất của quy trình khám phá tri thức cho đến các thuật toán về khai thác dữ liệu, khai thác tập phổ biến, khai thác mẫu khổng lồ trên CSDL nhiều chiều duyệt từ dưới lên theo chiều dọc, xây dựng chương trình thực nghiệm, so sánh, đánh giá kết quả
1.5 Cấu trúc luận văn
Luận văn gồm có 5 chương:
− Chương 1: Giới thiệu tổng quan nhằm hướng tới bối cảnh thực tiễn, định hướng nghiên cứu của luận văn
− Chương 2: Trình bày tổng quan về khám phá tri thức, khai thác dữ liệu, khai thác luật kết hợp và phương pháp khai thác tập phổ biến Giới thiệu phương pháp khai thác mẫu khổng lồ trên CSDL nhiều chiều với chiến lược khai thác từ dưới lên theo chiều dọc
− Chương 3: Nghiên cứu mặt hạn chế của thuật toán BVBUC Nghiên cứu và
đề xuất thuật toán cải tiến nhằm nâng cao hiệu quả về thời gian khai thác dựa trên cấu trúc cây tìm kiếm từ dưới lên theo chiều dọc
− Chương 4: Giới thiệu môi trường thực nghiệm, CSDL dùng để thực nghiệm
So sánh về thời gian thực hiện giữa BVBUC và thuật toán đề xuất
− Chương 5: Kết luận và hướng phát triển
Trang 18CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về khai thác dữ liệu
2.1.1 Khám phá tri thức
2.1.1.1 khái niệm
− Tri thức: Tri thức là hệ thống hóa thông tin hay dữ liệu bằng một cách c thể Chúng có các mối quan hệ với nhau trước khi được nhận thức, phân tích, khám phá, và nghiên cứu để có thể truyền đạt Nói cách khác, tri thức có thể được xem như là kết quả của sự hiểu biết, hoặc là dữ liệu có độ trừu tượng và
tổ chức ở mức độ cao
− Khám phá tri thức [3,5]: Khám phá tri thức (KPTT) là quá trình xác định tính
hợp lệ, mới lạ, tiềm ẩn, hữu ích và dễ hiểu từ các tập dữ liệu lớn và phức tạp KPTT trong CSDL là phân tích, thăm dò và mô hình hóa kho dữ liệu lớn nhằm rút trích các thông tin có ích, xác định các giá trị, quy luật tiềm ẩn trong các khuôn mẫu hay mô hình dữ liệu
2.1.1.2 Quá trình khám phá tri thức
Khám phá tri thức từ CSDL là quá trình sử d ng các phương pháp và công
c tin học, là một hệ thống bao gồm nhiều hoạt động tương tác thường xuyên giữa con người và CSDL, trong đó con người là trung tâm điều khiển quá trình Do đó, người sử d ng hệ thống phải có kiến thức về lĩnh vực cần khám phá để có thể chọn được tập con dữ liệu tốt, từ đó phát hiện các mẫu phù hợp với m c tiêu đề ra Đó chính là tri thức được rút trích từ CSDL, thường để ph c v cho việc giải quyết một loạt nhiệm v nhất định cho từng lĩnh vực c thể Tuy vậy, quá trình khám phá tri thức mang tính chất hướng nhiệm v vì không phải mọi tri thức tìm thấy đều áp
d ng được trong thực tế [3,6]
Tiến trình Khám phá tri thức từ CSDL bao gồm 5 giai đoạn Tại mỗi giai đoạn, tiến trình có thể quay lui qua một hay nhiều giai đoạn [2, 7]:
Trích chọn dữ liệu : Giai đoạn này bao gồm việc trích chọn ra các tập dữ liệu
cần được khai thác, hoặc tích hợp các tập dữ liệu nhỏ, rời rạc hoặc dữ liệu mẫu
từ các tập dữ liệu lớn ( data warehouse, data repositories, databases) theo một số tiêu chí nhất định
Trang 19Tiền xử lý dữ liệu: Giai đoạn này bao gồm làm sạch dữ liệu và tiền xử lý để có
được dữ liệu nhất quán Áp d ng một số kỷ thuật để loại bỏ dữ liệu không đầy
đủ, nhiễu, và các dữ liệu không phù hợp
Biến đổi dữ liệu: Giai đoạn này sử d ng các phương pháp làm giảm hoặc
chuyển đổi kích thước dữ liệu hoặc hợp nhất thành dạng thích hợp để phù hợp với việc khai thác
Khai thác dữ liệu: Giai đoạn này rất quan trọng, bao gồm tìm kiếm các mẫu
đặc biệt được quan tâm tùy thuộc vào m c đích khai thác dữ liệu (KTDL); Áp
d ng một số kỹ thuật KPTT để khai thác, trích chọn những mẫu thông tin, những mối liên hệ trong dữ liệu
Biểu diễn / Đánh giá: Giai đoạn này bao gồm việc biểu diễn và đánh giá mô
hình khai thác; Những tri thức khai thác được, sẽ được biến đổi và trình bày dưới dạng dễ hiểu như luật, cây, bảng biểu hay đồ thị… Giai đoạn này cũng đánh giá các tri thức khai thác được theo một số tiêu chí dựa trên m c đích KTDL
Hình 2.1 – Quá trình khám phá tri thức [7]
Quá trình KPTT được bắt đầu bằng việc hiểu lĩnh vực ứng d ng, tri thức có liên quan và m c tiêu của người sử d ng Nó hầu như liên t c bằng cách hợp nhất tri thức, kết hợp tri thức này vào hệ thống Quá trình KPTT luôn tương tác và lặp đi
Dữ liệu
đã được trích lọc
Dữ liêu
đã được chuyển đổi
Các mẫu
dữ liệu
Dữ liệu
Tri thức
Trang 20lặp lại, liên quan đến nhiều bước với nhiều quyết định được thực hiện bởi người sử
d ng
Về cơ bản KPTT và KTDL, một số ứng d ng được phát triển rất đa dạng
trong nhiều lĩnh vực Nhiều lĩnh vực nỗi lên nhanh chóng từ CSDL lớn (big
databases) ngày càng tăng Tuy nhiên, có nguy cơ lãng phí các giá trị và thông tin
dồi giàu trong các CSDL này, trừ khi các kỹ thuật thích hợp được áp d ng để trích xuất tri thức hữu ích Việc ứng d ng các kỹ thuật KTDL thành công có thể được tìm thấy rộng rãi và đa dạng hóa trong nhiều lĩnh vực ứng d ng, như tin sinh học, sinh thái học, tài chính, công nghiệp, tiếp thị, nghiên cứu khoa học, viễn thông và các lĩnh vực ứng d ng khác
2.1.2 Khai thác dữ liệu
2.1.2.1 Khai thác dữ liệu là gì:
Khai thác dữ liệu là tiến trình khám phá tri thức tiềm ẩn trong CSDL C thể hơn, đó là tiến trình trích lọc, sản sinh những tri thức hoặc các mẫu tiềm ẩn chưa biết nhưng hữu ích từ các CSDL lớn [3] Đây là giai đoạn cốt lõi của quá trình KPTT, liên quan đến việc suy ra các thuật toán khai thác dữ liệu, phát triển mô hình và khám phá những mẫu chưa được biết Mô hình này được sử d ng để hiểu được hiện tượng từ
dữ liệu, để phân tích và dự đoán [5]
Khai thác dữ liệu là tiến trình khái quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính khái quát, tính quy luật hỗ trợ tích cực cho các tiến trình ra quyết định [2]
Có thể chia KTDL thành 2 dạng chính [2]:
KTDL theo hướng kiểm tra: Người dùng đề xuất giả thiết, hệ thống kiểm
tra tính đúng đắn của giả thiết (bao gồm: Truy vấn, báo cáo, phân tích đa chiều, phân tích thống kê, …)
KTDL theo hướng khám phá: Tìm kiếm các tri thức tiềm ẩn trong CSDL
bằng cách tiến hành xem x t tất cả các giả thiết Do không gian tìm kiếm lớn, nên rất nhiều heuristic đã được đề xuất nhằm nâng cao hiệu suất của các thuật giải tìm kiếm
Trang 212.1.1.2 Tại sao phải khai thác dữ liệu [6]
"Chúng ta đang sống trong thời đại thông tin" là một câu nói phổ biến; Tuy nhiên trên thực tế, chúng ta đang sống trong thời đại dữ liệu Hàng Terabyte hoặc Petabyte dữ liệu được đổ vào mạng máy tính của chúng ta, World Wide Web (WWW), và các thiết bị lưu trữ dữ liệu khác nhau mỗi ngày từ kinh doanh, xã hội, khoa học, kỹ thuật, y học, và trong hầu hết các khía cạnh của cuộc sống hàng ngày
Sự tăng trưởng bùng nổ của lượng dữ liệu sẵn có là kết quả của việc tin học hoá xã hội và sự phát triển nhanh chóng của công c thu thập và lưu trữ dữ liệu mạnh mẽ Các doanh nghiệp trên toàn thế giới tạo ra tập dữ liệu khổng lồ, bao gồm các giao dịch bán hàng, chứng khoán, hồ sơ giao dịch, mô tả sản phẩm, khuyến mãi bán hàng, hồ sơ công ty và hiệu suất phản hồi của khách hàng Ví d : các cửa hàng lớn, chẳng hạn như Wal-Mart, xử lý hàng trăm triệu giao dịch mỗi tuần tại hàng ngàn chi nhánh xung quanh Thế giới Các thực tiễn khoa học và kỹ thuật tạo ra các đơn hàng petabytes dữ liệu cao một cách liên t c, từ viễn thám, đo quá trình, thí nghiệm khoa học, Thực hiện hệ thống, quan sát kỹ thuật và giám sát môi trường
Các mạng viễn thông toàn cầu mang hàng ch c petabytes lưu lượng dữ liệu mỗi ngày Ngành y tế tạo ra lượng dữ liệu khổng lồ từ hồ sơ bệnh án, theo dõi bệnh nhân và ảnh y tế Hàng tỷ lượt tìm kiếm Web được hỗ trợ bởi các công c tìm kiếm
và xử lý hàng ch c petabytes dữ liệu hàng ngày Cộng đồng và phương tiện truyền thông xã hội đã trở thành nguồn dữ liệu ngày càng quan trọng, sản xuất hình ảnh kỹ thuật số, video, blog, cộng đồng Web, và các loại mạng xã hội khác nhau Danh sách các nguồn tạo ra số lượng lớn dữ liệu là vô tận Dữ liệu đang phát triển nhanh chóng, rộng rãi và khối lượng khổng lồ này làm cho chúng ta đang thật sự là thời đại của dữ liệu Rất cần thiết một công c mạnh mẽ và linh hoạt để tự động khai thác thông tin có giá trị từ số lượng dữ liệu to lớn và để biến đổi dữ liệu đó thành tri thức có ích Sự cần thiết này đã dẫn đến sự ra đời của khai thác dữ liệu Lĩnh vực này còn trẻ, năng động và hứa hẹn Khai thác dữ liệu đã và sẽ tiếp t c thực hiện những bước tiến vĩ đại trong cuộc hành trình của chúng ta từ thời đại dữ liệu trở thành thời đại thông tin
M c đích của việc thu thập và lưu trữ các kho dữ liệu khổng lồ được liệt kê dưới đây nhằm phát hiện các tri thức mới có ích cho con người Tập hợp các dữ liệu
Trang 22được thu thập qua các thời kỳ như sau:
Tập hợp dữ liệu và khởi tạo CSDL
(tới cuối những năm 1960)
Hệ quản trị CSDL
(những năm 1970 đến những năm đầu 1980)
- Hệ CSDL và phân cấp mạng
- Công c mô hình dữ liệu: mô hình thực thể
- Phương pháp đánh chỉ số và truy cập: cây
B+, hàm băm
- Ngôn ngữ truy vấn SQL
- Giao diện người dùng, nhập liệu và kết xuất
- Xử lý và tối ưu hóa truy vấn
- Quản lý giao dịch, Điều khiển tranh chấp và
ph c hồi
- Xử lý giao dịch trực tuyến (OLTP)
Hệ CSDL tiến tiến
(những năm giữa 1980 đến nay)
- Mô hình dữ liệu tiên tiến: Quan hệ mở rộng,
quan hệ-đối tượng, quan hệ suy diễn
- Quản lý dữ liệu tiên tiến: không gian, thời
gian, đa phương tiện, cấu trúc tuần tự, khoa
học, ứng d ng khoa học, đối tượng động
- Dữ liệu luồng và hệ dữ liệu vật lý ảo
- Hệ CSDL dựa trên web (XML, ngôn ngữ
- An ninh và bảo mật dữ liệu
Phân tích dữ liệu tiên tiến
(những năm cuối 1980 đến nay)
- Kho dữ liệu và OLAP
- Khai thác dữ liệu và khám phá tri thức: Phân lớp, phân c m, kết hợp, phân tích mẫu, phân tích ngoại lai…
- Kiểu dữ liệu phức tạp: Luồng, chuổi, văn bản, không gian, thời gian, đa phương tiện, web…
- Ứng d ng KTDL: Thuong mại,
xã hội, ngân hàng, viễn thông, khoa học và ứng d ng khoa học, web cá nhân, báo đời sống…
- Khai thác và trao đổi dữ liệu: Khai thác dữ liệu ẩn, bảo mật khai thác dữ liệu, mạng thông tin, hệ khuyến cáo
Hệ thống thông tin trong tương lai
(hiện nay đến tuong lai)
Hình 2.2 – Sự tiến triển khoa học kỹ thuật, hệ CSDL
Trang 23Khai thác dữ liệu có thể được xem như là kết quả tiến hóa tự nhiên của công nghệ thông tin CSDL và công nghiệp quản lý dữ liệu phát triển một số chức năng
quan trọng (Hình2.2): thu thập dữ liệu và tạo CSDL, quản lý dữ liệu (bao gồm cả
lưu trữ dữ liệu, thu hồi và xử lý CSDL giao dịch), phân tích dữ liệu tiên tiến (bao gồm kho dữ liệu và khai thác dữ liệu) Sớm phát triển cơ chế thu thập dữ liệu và
CSDL ph c v như là một điều kiện tiên quyết để phát triển các cơ chế lưu trữ và
ph c hồi dữ liệu hiệu quả, cũng như truy vấn và xử lý giao dịch Ngày nay, trên thực
tế nhiều hệ thống CSDL cung cấp truy vấn và xử lý giao dịch một cách thông thường Phân tích dữ liệu tự nhiên nâng cao trở thành bước tiếp theo
2.1.3 Các kỹ thuật khai thác dữ liệu
Các kỹ thuật Khai thác dữ liệu được kế thừa, kết hợp và mở rộng từ các kỹ thuật được nghiên cứu từ trước như học máy, nhận dạng, thống kê, các mô hình đồ thị, mạng Bayes, trí tuệ nhân tạo, thu thập tri thức hệ chuyên gia,… Tuy nhiên, kỹ thuật Khai thác dữ liệu có ưu thế hơn hẳn các phương pháp trước đó, đem lại nhiều triển vọng trong việc ứng d ng phát triển nghiên cứu khoa học cũng như áp d ng vào thực tế
Các kỹ thuật Khai thác dữ liệu thể được chia làm 2 nhóm chính sau:
Kỹ thuật khai thác dữ liệu mô tả: kỹ thuật này có nhiệm v mô tả về các tính
chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có Nhóm kỹ
thuật này gồm các phương pháp: phân nhóm (Clustering), tổng hợp hóa (Summerization), Phát hiện sự biến đổi và độ lệch (Change and deviation
detection), phân tích luật kết hợp (Association Rules),
Kỹ thuật khai thác dữ liệu dự đoán: kỹ thuật này đưa ra các dự đoán dựa vào
các suy diễn trên dữ liệu hiện thời Nhóm kỹ thuật này gồm các phương
pháp: phân lớp (Classification), hồi quy (Regression),
2.1.4 Ứng dụng trong khai thác dữ liệu
KTDL có nhiều ứng d ng trong thực tế, một số ứng d ng điển hình như: Ứng d ng trong Ngân hàng:
− Xây dựng mô hình dự báo rủi ro tín d ng
− Xây dựng quy luật của thị trường chứng khoán và đầu tư bất động
Trang 24sản.v.v
Ứng d ng trong Thương mại điện tử:
− Công c tìm hiểu, định hướng, thúc đẩy, giao tiếp với khách hàng
− Phân tích khách hàng duyệt web
− 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 loại khách hàng trong một phân khu thị trường nhất định.v.v
Ứng d ng trong Công nghệ sinh học và dược phẩm:
− Xây dựng công c KTDL trực quan cho ph p phát hiện sự hiện diện của dược chất, phân tích dữ liệu di truyền.v.v
Ứng d ng Quản lý nhân sự:
− Giúp nhà tuyển d ng chọn ứng viên thích hợp nhất theo nhu cầu của công ty
− Phát hiện giả mạo thẻ trong lĩnh vực viễn thông
− Phát hiện 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ử
− Phát hiện xâm nhập mạng trái ph p.v.v
2.1.5 Những thách thức trong khai thác dữ liệu
Rất nhiều các giải pháp mới luôn được đề xuất trong khai thác dữ liệu, nhưng trên thực tế vẫn gặp nhiều khó khăn và thách thức như:
− Mức độ nhiễu cao trong KTDL: Các trường dữ liệu không phù hợp, bị thiếu hoặc bị nhiễu gây nên khó khăn trong quá trình khai thác, vì vậy, tiêu chuẩn xây dựng giải thuật loại bỏ nhiễu ngày càng trở nên quan trọng hơn
− Kích thước CSDL lớn: Các tập dữ liệu trong KTDL thường có kích thước rất
lớn (tera-byte) và liên t c gia tăng Với kích thước CSDL lớn, tiêu tốn rất
nhiều thời gian I/O, và thời gian xử lý mặc dù tài nguyên máy tính luôn được cải thiện Vì vậy, vận d ng các kỹ thuật xác suất, lấy mẫu, đệm, song song và tăng dần vào các giải thuật KTDL trở nên quan trọng
− Các kỹ thuật trong KPDL là hướng tác v và hướng dữ liệu: Thay vì tập trung xử lý tri thức như trong máy học, phát triển trong KPDL dựa trên tính
Trang 25đặc thù của dữ liệu trong từng ứng d ng c thể
2.2 Tổng quan về khai thác tập phổ biến
Khai thác tập phổ biến để tìm mối quan hệ giữa các m c (item) trong CSDL
là bài toán quan trọng trong khai thác dữ liệu Từ tập phổ biến người ta có thể khai thác luật kết hợp, gom c m hay phân lớp, v.v Do đó, bài toán khai thác tập phổ biến được nhiều nhóm khoa học trên thế giới quan tâm và nghiên cứu rộng rãi trong nhiều năm qua Khai thác luật kết hợp đóng vai trò quan trọng trong các hệ thống hỗ trợ quyết định để khai thác luật kết hợp mạnh mẽ, cần phải khai thác tập phổ biến
Có rất nhiều thuật toán đã được phát triển để khai thác tập phổ biến hiệu quả, chẳng hạn như Apriori, Eclat, FP-Growth, PrePost, và FIN…
2.2.1 Một số khái niệm cơ bản
2.2.1.1 Cơ sở dữ liệu giao dịch
Cơ sở dữ liệu giao dịch: Gọi D là một cơ sở dữ liệu giao dịch gồm một bộ đôi {I, T}, trong đó I = {i1,i2, ,in} là tập tất cả các m c dữ liệu và T = {t1,t2,.,tm} là tập
tất cả các giao dịch
Giao dịch (hay còn gọi là giao tác): Một giao tác t D là một tập các m c
gắn với một định danh duy nhất gọi là TID (hay còn gọi là Mã giao dịch)
Bảng 2.1 – Minh họa CSDL giao dịch giỏ hàng
Ví d giỏ mua hàng: 1 Bưởi, Cam, Thanh long, Sầu riêng
− Giỏ 1: {Bưởi, Cam, Sầu riêng} 2 Cam, Dứa, Sầu riêng
− Giỏ 2: {Cam, Dứa} 3 Bưởi, Cam, Thanh long, Sầu riêng
− Giỏ n: {Bưởi, Cam, Thanh long} 5 Bưởi, Cam, Dứa, Thanh long, Sầu riêng
6 Bưởi, Cam, Thanh long
Trang 26− M c dữ liệu : Mặt hàng trong giỏ hay một thuộc tính
− Tập m c dữ liệu : Bao gồm các m c dữ liệu, ký hiệu I = {i1,i2, ,in} trong đó
i1,i2, ,in là các m c dữ liệu
Ví d : I={ Bưởi, Cam, Thanh long, Sầu riêng }
Giao dịch: Tập m c (Itemset) được mua trong giỏ
Giao dịch t: Tập các m c sao cho t I
Ví d : t ={ Bưởi, Cam, Thanh long}
2.2.1.2 Độ hỗ trợ và độ hỗ trợ tối thiểu
Độ hỗ trợ (Support) của tập m c X trong CSDL D là tỷ lệ giữa số các giao
dịch chứa X trên tổng số các giao dịch trong D
Ký hiệu: Sup(X) = count(X) / |D|
Giao dịch t chứa X nếu X là tập m c trong I và X t
Ví d : t = { Bưởi, Cam, Thanh long} và X ={ Bưởi, Cam }
Độ hỗ trợ tối thiểu (minSup): là ngưỡng do người sử d ng quy định nhỏ hơn độ
hỗ trợ
2.2.1.3 Tập phổ biến
Một tập m c được gọi là tập phổ biến nếu nó có độ hỗ trợ thỏa mãn độ hỗ trợ
tối thiểu minSup
Gọi S là tập m c trong tập dữ liệu, Nếu Sup(S) > minSup thì S là tập phổ biến
Bảng 2.2 – CSDL mẫu minh họa khai thác tập phổ biến
TID Nội dung giao dịch
Cho độ hỗ trợ tối thiểu minSup = 50%
a) Cho X={B, C, T}, X có phải là tập phổ biến không?
b) Cho Y={B, C}, tính độ hỗ trợ của Y?
Ta có:
Trang 27a) Count(X) = 3; |D|= 6; Sup(X) =3/6= 50%; Sup(X) minSup vậy X là tập phổ biến
2.2.1.5 Tập phổ biến tối đại
Tập phổ biến tối đại là tập phổ biến và không tồn tại tập nào chứa nó là phổ biến
Ví dụ: Sử d ng CSDL giao dịch bảng 2.2
Cho minSup =50%
− Ta có {B, C, T, S} là tập phổ biến tối đại, Bởi vì{B, C, T, S} là tập phổ biến
và không có tập nào chứa nó là tập phổ biến
− {B, C}là tập phổ biến nhưng không phải là tập phổ biến tối đại, Bởi vì{B, C,
T, S} là tập phổ biến có độ hỗ trợ là 50% chứa nó Tương tự như vậy, {B, C, T} cũng không phải là tập phổ biến tối đại
2.2.1.6 Tính chất Apriori
Tất cả các tập con của tập phổ biến đều là tập phổ biến; nếu một tập không là tập phổ biến thì tất cả các tập chứa nó đều không là tập phổ biến [1, 3, 4]
Trang 28Ví dụ:
Sử d ng CSDL bảng 2.2, với minSup = 50%
Ta có: {B, C, T, S} là tập phổ biến, suy ra {B, C, T},{B, C, S},{B, C},…đều là những tập phổ biến; {D, T} là tập không phổ biến, suy ra {C, D, T} cũng là tập không phổ biến
2.2.2 Một số thuật toán cơ bản
2.2.2.1 Thuật toán Apriori
Apriori là thuật toán nền tảng để tìm các tập phổ biến sử d ng phương pháp sinh ứng viên
Trang 29BCS 3rd scan BCS 4 BCTS 4th scan BCTS 3
Hình 2.3 – Minh họa thuật toán Apriori
THUẬT TOÁN APRIORI [1]
Đầu vào:CSDL giao dịch D và ngưỡng phổ biến minSup
Đầu ra: FIs chứa tất cả các tập phổ biến của D
Mã giả:
Gọi C k: Tập các ứng viên có kích thước k
L k: Các tập phổ biến có kích thước k
L 1 = { i I: Sup(i) minSup}
Trang 302.2.2.2 Phương pháp dựa trên cây IT-tree
Năm 1997, Zaki và các cộng sự đã phát triển thuật toán Eclat để khai thác tập phổ biến bằng cách sử d ng cây IT-Tree (Itemset Tidset-tree) Eclat áp d ng lược
đồ tìm kiếm chiều sâu và định dạng dữ liệu theo chiều dọc để khai thác các tập phổ biến Những ưu điểm của cách tiếp cận này là nó chỉ qu t CSDL một lần và nhanh chóng tính toán độ hỗ trợ của các mẫu dựa trên giao giữa 2 tidset [8, 11]
Cấu trúc IT-tree:
Cho X ⊆ I, ta định nghĩa hàm P (X, k) = X [ 1: k ] gồm k phần tử đầu của X
và quan hệ tương đương dựa vào tiền tố như sau [1]:
Trang 31Xây dựng cây IT-tree:
Dữ liệu được chuyển sang định dạng dọc
Xây dựng nút gốc (Root) là nút rỗng (null)
Mức 1: là các nút chứa itemset chỉ 1 danh m c dựa trên các danh m c phổ biến thỏa minSup
− B x t(B) = B x 1345 ; C x t(C) = C x 123456 ; D x t(D) = D x 2456
T x t(T) = T x 1356 ; S x t(S) = S x 12345 Mức 2: là các nút con chứa itemset gồm 2 danh m c, được xây dựng bằng cách hợp các itemset của các nút mức 1 và giao giữ hai Tidset này:
− t(BC) = t(B) ∩ t(C) = 1345 ∩ 123456 = 1345 ⇒ sup(BC) > minSup ⇒
BC x 1345 tạo thành một nút mới ở mức 2
− t(BD) = t(B) ∩ t(D) = 1345 ∩ 2456 = 45 ⇒ sup(BD) < minSup ⇒ BD
x 45 không tạo thành nút mới ở mức 2
Và cứ tiếp th c như vậy, các tập phổ biến được liệt kê trong tất cả các nút của cây IT-tree, trong quá trình xây dựng cây It-tree chính là đi tìm các tập phổ biến của CSDL
Trang 32Hình 2.4 – Cây IT-tree dùng Tidset với minSup =3
THUẬT TOÁN ECLAT [1]
Thuât toán Eclat xây dựng trên cấu trúc IT-tree, trong đó t(X) = {yT | X xuất hiện
trong giao dịch y} được gọi là Tidset của X
2.3 Khái quát về dữ liệu nhiều chiều
2.3.1 Giới thiệu
Sự xuất hiện của nhiều lĩnh vực ứng d ng mới, chẳng hạn như tin sinh học
và thương mại điện tử, nhấn mạnh sự cần thiết phải phân tích dữ liệu nhiều chiều Trong tập dữ liệu microarray biểu hiện gen, có thể có hàng ch c hoặc hàng trăm chiều, mỗi chiều tương ứng với mỗi điều kiện thực nghiệm Trong tập dữ liệu hành
Trang 33vi mua hàng của khách hàng, có thể có tới hàng trăm nghìn hàng hoá, mỗi sản phẩm được ánh xạ tới một chiều Các nhà nghiên cứu rất mong muốn phân tích những tập
dữ liệu này
Nhiều mô hình khai thác dữ liệu đã được chứng minh là rất thành công trong việc phân tích tập dữ liệu rất lớn Trong số đó, khai thác mẫu phổ biến, phân c m và phân lớp là ba mô hình được nghiên cứu rộng rãi để mô tả, phân tích và tổng hợp tập dữ liệu lớn [5]
2.3.2 Những thách thức trên CSDL nhiều chiều
Có hai thách thức chung về phân tích dữ liệu nhiều chiều:
Đầu tiên là số chiều rất lớn Độ phức tạp của nhiều thuật toán Khai thác Dữ liệu hiện tại là hàm số mũ so với số lượng các chiều Với sự gia tăng số chiều, các thuật toán này sớm trở nên khó tính toán và do đó không thể áp d ng trong nhiều ứng d ng thực tế
Thứ hai, là tính đồng dạng đặc trưng giữa các điểm trong một không gian nhiều chiều được thu nhỏ Tức là các thuộc tính có rất nhiều khuôn dạng dữ liệu khác nhau, có thể là các giá trị liên t c, rời rạc hoặc mờ nên việc tìm một độ đo hiệu quả là rất khó Và được chứng minh trong (Beyer và cộng sự, 1999) là, đối với một điểm bất kỳ trong không gian nhiều chiều, khoảng cách dự kiến của nó đối với điểm
xa nhất thu hẹp lại khi số chiều tăng lên, kể cả khoảng cách Euclid hay độ đo láng
giềng gần nhất Điều này có thể làm cho việc khai thác dữ liệu (chẳng hạn như
phân cụm- clustering) không hiệu quả và dễ vỡ vì mô hình trở nên dễ bị tổn thương
do ảnh hưởng của nhiễu (noise)
2.3.3 Các kỹ thuật cơ bản trên CSDL nhiều chiều
2.3.3.1 Mẫu phổ biến
Mẫu phổ biến là một mô hình hữu ích để trích xuất các tính năng nổi bật của
dữ liệu Thuật toán được đề xuất lần đầu tiên bởi Agrawal trong năm 1994 để phân tích dữ liệu giỏ mua hàng Một tập dữ liệu giỏ mua hàng thường được biểu diễn dưới dạng một tập các giao dịch Mỗi giao dịch chứa một tập các m c dựa theo bảng từ vựng hữu hạn Về nguyên tắc, chúng ta có thể biểu diễn dữ liệu bằng một
ma trận, mỗi hàng đại diện cho một giao dịch và mỗi cột đại diện cho mỗi m c
M c đích là để tìm bộ sưu tập các tập m c xuất hiện trong số lượng lớn các giao
Trang 34dịch, được xác định bởi ngưỡng hỗ trợ t Hầu hết các thuật toán khai thác mẫu phổ biến sử d ng thuộc tính Apriori như sau: Nếu tập thuộc tính A phổ biến (tức là, xuất
hiện trong nhiều hơn t giao dịch), thì các tập con của A cũng phổ biến Mặt khác,
nếu tập A không phổ biến (tức là, xuất hiện trong các giao dịch ít hơn t), thì bất kỳ
tập cha nào của A cũng không phổ biến Thuộc tính này là cơ sở cho tất cả các thuật toán dùng cách tiếp cận lặp được biết đến như tìm kiếm level-wise Thủ t c chung
bao gồm một loạt lần lặp đếm sự xuất hiện các m c và xác định tập m c phổ biến Trong mỗi lần lặp tiếp theo, áp d ng thuộc tính Apriori, các ứng viên tập k-items phổ biến được đề xuất từ các tập (k-1)-items phổ biến Những ứng cử viên sau đó được xác định giá trị bằng cách đếm sự xuất hiện của chúng Giá trị k tăng lên trước khi bắt đầu lần lặp lại tiếp theo Quá trình chấm dứt khi không còn tập phổ biến nào
có thể được tạo ra Chúng ta thường đề cập đến cách tiếp cận level-wise này bằng phương pháp tiếp cận theo chiều rộng (breadth-first) vì nó đánh giá các tập m c ở cùng chiều sâu trên dàn (lattice) được hình thành bằng cách lợi d ng thứ tự mối
quan hệ cha-con giữa các tập m c
Những năm tiếp theo, nhiều thuật toán được đề xuất để tìm mẫu phổ biến với
dữ liệu có số chiều từ thấp đến trung bình Khi số chiều rất lớn (lớn hơn 100), hiệu
quả của các thuật toán này bị ảnh hưởng đáng kể Do đó, các dạng như
CARPENTER (Pan và cộng sự, 2003) tiếp t c được đề xuất để giải quyết vấn đề
này Đầu tiên, tập dữ liệu được chuyển đổi thành một ma trận tương ứng Tiếp theo, CARPENTER thực hiện bằng cách liệt kê wise-row theo chiều sâu(depth-first) trên
ma trận đã được chuyển đổi Nó có thể làm giảm đáng kể thời gian tính toán, đặc biệt khi dữ liệu có nhiều chiều
2.3.3.2 Phân cụm (Clustering)
Clustering là mô hình Khai thác dữ liệu được sử d ng rộng rãi phân chia các
điểm dữ liệu thành một tập các nhóm, mỗi nhóm được gọi là c m (cluster) Khoảng
cách giữa các điểm dữ liệu trong một cluster ngắn hơn so với các điểm bên ngoài cluster Trong không gian nhiều chiều, với điểm bất kỳ, khoảng cách từ nó đến điểm gần nhất cũng như đến điểm xa nhất có khuynh hướng giống nhau Bất kỳ sự xáo trộn nhỏ nào của nhiễu đối với dữ liệu đều làm cho việc phân c m kém, hiện tượng này có thể làm cho kết quả phân c m bị ảnh hưởng Để giải quyết vấn đề này,
Trang 35Agrawal và cộng sự đề xuất một mô hình phân c m không gian con (Agrawal và
cộng sự, 1998) Một c m không gian con bao gồm một tập con các đối tượng và
một tập con số chiều, sao cho khoảng cách giữa các đối tượng này là nhỏ trong tập chiều đã cho Thuật toán CLIQUE được Agrawal và cộng sự đề xuất năm 1998 để tìm các c m không gian con
Trong nhiều ứng d ng, người dùng quan tâm nhiều hơn đến các đối tượng có
hướng nhất quán (chứ không phải các điểm có giá trị giống nhau) trong một tập con của các chiều Chẳng hạn như mô hình bicluster (Cheng và Church, 2000) đề xuất
để phân tích biểu hiện biểu hiện gen (biclusting-Một kỹ thuật khai thác dữ liệu không giám sát cho phép phân cụm đồng thời các hàng và cột của ma trận dữ liệu)
Một bicluster là một tập con các đối tượng (U) và một tập con của số chiều (D) sao
cho các đối tượng trong U có cùng hướng (nghĩa là thay đổi cùng một lúc) với các
chiều trong D Trong mô hình bicluster, số dư sai số toàn phương trung bình là điều kiện cho một bicluster
Cheng và Church (2000) đã sử d ng một thuật toán ngẫu nhiên hóa Heuristic để
tìm các biclusters Nó bao gồm một loạt các lần lặp lại trong một bicluster Để ngăn chặn bicluster giống nhau trong lần lặp tiếp theo, mỗi khi một bicluster được tìm thấy, các giá trị trong bicluster được thay bằng nhiễu đồng nhất trước khi bắt đầu lặp tiếp theo Thủ t c này tiếp t c cho đến khi một số biclusters mong muốn được phát hiện
Mặc dù mô hình và thuật toán bicluster đã được sử d ng trong một số ứng d ng tin sinh học, nhưng nó có hai nhược điểm lớn: (1) số dư sai số toàn phương trung bình có thể không phải là biện pháp đo lường tốt nhất để đủ điều kiện cho một bicluster; (2) thuật toán heuristic có thể bị can thiệp bởi nhiễu giả sau mỗi lần lặp,
và do đó không khám phá được các c m chồng ch o Để giải quyết hai vấn đề này,
các tác giả (Wang và cộng sự, 2002) đã đề xuất mô hình p-cluster Một p-cluster
bao gồm một tập con các đối tượng U và một tập con các chiều D, trong đó cho mỗi cặp đối tượng u1 và u2 trong U và mỗi cặp chiều d1 và d2 trong D, u1 thay đổi từ d1đến d2, tương tự u2 thay đổi từ d1 đến d2 Một ngưỡng được sử d ng để đánh giá tính không tương đồng giữa hai đối tượng trên hai chiều, nếu tính không tương đồng giữa mỗi cặp đối tượng trên mỗi cặp chiều nhỏ hơn ngưỡng, thì các đối tượng này
Trang 36tạo thành một p-cluster trong chiều đã cho Wang và cộng sự, (2002) tận d ng thuộc
tính Apriori phát triển thuật tốn để tìm tất cả các p-clusters
2.3.3.3 Phân lớp (Classification)
Phân lớp cũng là một cơng c phân tích dữ liệu rất mạnh Trong bài tốn phân lớp, chiều của đối tượng được chia thành hai kiểu Một chiều ghi lại kiểu lớp của đối tượng và phần cịn lại ghi các thuộc tính M c đích phân lớp là xây dựng một mơ hình thu thập các mối quan hệ thực giữa kiểu lớp và các thuộc tính sao cho
kiểu lớp (chưa biết) cĩ thể dự đốn chính xác từ các giá trị thuộc tính Với m c đích
này, dữ liệu thường được chia thành một tập huấn luyện và tập kiểm tra, trong đĩ tập huấn luyện dùng để xây dựng phân lớp được xác định bởi tập kiểm tra Cĩ một vài mơ hình được phát triển để phân lớp dữ liệu nhiều chiều, ví d , nạve Bayesian,
mạng nơron, cây quyết định (Mitchell, 1997), SVM, phân loại dựa trên luật, v.v Máy vector hỗ trợ (Supporting vector machine - SVM) (Vapnik, 1998) là một
trong những mơ hình phân lớp Sự thành cơng của SVM trong thực tế được rút ra bởi nền tảng cơ sở tốn học chuyển tải hai tính chất nổi bật sau đây (1) Hàm biên phân lớp của SVM cĩ lề cực đại , sẽ tối ưu hĩa hiệu năng chung cho tập dữ liệu huấn luyện (2) SVM xử lý phân lớp phi tuyến hiệu quả bằng cách sử d ng thủ thuật kernel biến đổi tồn bộ khơng gian đầu vào thành khơng gian đặc trưng nhiều chiều tương tự Tuy nhiên, VSM cĩ hai vấn đề Thứ nhất, độ phức tạp nhỏ nhất là O(N2
) trong đĩ N là số lượng các đối tượng trong tập dữ liệu huấn luyện Cĩ thể quá tốn
k m khi tập dữ liệu huấn luyện lớn Thứ hai, về cơ bản khi SVM cố gắng siêu phẳng trong khơng gian nhiều chiều được biến đổi, rất khĩ để xác định chiều gốc đáng tin cậy nhất để phân lớp
Phân lớp dựa trên luật (Liu và cộng sự, 2000) đưa ra một số khả năng để giải
quyết trên hai vấn đề trên Tập phân lớp dựa trên luật bao gồm một tập luật như sau:
A1 [l1, u1] ∩A2 [l2, u2] ∩ .∩Am [lm, um] → C, trong đĩ Ai [li, ui] là dãy giá trị thuộc tính Ai và C là kiểu lớp Nguyên tắc trên cĩ thể được giải thích như sau, nếu một đối
tượng cĩ giá trị thuộc tính rơi vào dãy phía bên trái, thì kiểu lớp của nĩ là C (với
một xác suất cao) Mỗi luật cũng được kết hợp với một mức tin cậy mơ tả xác suất
Khi một đối tượng đáp ứng một số luật, hoặc là luật cĩ độ tin cậy cao nhất (ví dụ:
CBA (Liu Et al, 2000)) hoặc phiếu cĩ trọng số của tất cả các luật hợp lệ (ví dụ,
Trang 37CPAR (Yin và Han, 2003)) có thể được sử d ng để dự đoán lớp Tuy nhiên, cả CBA
lẫn CPAR đều không nhắm tới dữ liệu nhiều chiều Một thuật toán gọi là FARMER
(Dong et al., 2004) được đề xuất để tạo phân lớp dựa trên luật cho tập dữ liệu nhiều
chiều Đầu tiên nó lượng tử hóa (quantizes) thuộc tính thành các tập túi Mỗi túi
được coi như là một m c FARMER tạo ra các tập m c phổ biến đóng bằng cách sử
d ng phương pháp tương tự như CARPENTER Những tập m c phổ biến đóng này
là cơ sở để tạo ra các luật Khi số chiều nhiều, số lượng các luật có thể có rất lớn trong phân lớp, FARMER nén tất cả các luật thành các nhóm luật
2.4 Khái quát về mẫu khổng lồ
Mẫu khổng lồ thường có khuynh hướng bao gồm nhiều m c khác nhau, hay nói cách khác nó được hợp lại từ những mẫu nhỏ hơn để tạo thành mẫu có chiều dài hoặc kích thước rất lớn
Mặc dù đã có các phương pháp nghiên cứu khai thác mẫu phổ biến trong nhiều tình huống khác nhau, nhiều ứng d ng có các mẫu ẩn rất khó để khai thác, chủ yếu là do chiều dài hoặc kích thước quá lớn X t dữ liệu tin sinh học, chủ yếu là phân tích dữ liệu DNA hoặc microarray Điều này liên quan đến chiến lược và phân tích chuổi protein và DNA rất dài Các nhà nghiên cứu quan tâm nhiều đến việc tìm kiếm các mẫu lớn, hơn là tìm kiếm các mẫu nhỏ vì các mẫu lớn thường mang ý nghĩa quan trọng hơn Những mẫu lớn này được gọi là những mẫu khổng lồ để phân biệt các mẫu này với các tập có độ hỗ trợ lớn
Việc tìm ra các mẫu khổng lồ đang gặp nhiều thách thức bởi vì việc khai thác
có khuynh hướng bị "chặn lại" bởi số lượng lớn các mẫu trung bình trước khi nó có thể đạt được những mẫu ứng viên có kích lớn
Một ví d minh họa về những thách thức cho việc khai thác mẫu khổng lồ:
X t một bảng vuông 40 40, trong đó mỗi hàng chứa các số nguyên từ 1 đến
40 theo thứ tự tăng dần Loại bỏ các số nguyên trên đường chéo, ta có được một bảng 40 39 Thêm 20 hàng giống nhau ở cuối bảng, mỗi hàng chứa các số nguyên
từ 41 đến 79 theo thứ tự tăng, kết quả là bảng 6039 (Hình 2.5) Xem mỗi hàng là
một giao dịch và đặt ngưỡng hỗ trợ tối thiểu là 20 Bảng có số lượng bậc mũ mẫu phổ biến đóng / tối đại trung bình với kích thước bằng 20, nhưng chỉ một trong số
Trang 38đó là khổng lồ: = (41, 42,…, 79) có kích thước 39 Không có thuật toán khai thác mẫu phổ biến nào cho đến nay có thể hoàn thành thực hiện trong một khoảng thời gian hợp lý
Hình 2.5 – Một ví d về mẫu khổng lồ Tập dữ liệu chứa hàm số số mũ các mẫu cỡ trung bình có kích thước 20, nhưng chỉ
có một số mẫu lớn, c thể là 41, 42,…, 79
Hình 2.6 – Dữ liệu tổng hợp có chứa một số mẫu khổng lồ
Dữ liệu tổng hợp có chứa một số mẫu khổng lồ, nhưng nhiều mẫu trung bình
theo cấp số nhân (hình 2.6)
Khái niệm mẫu khổng lồ được phát triển để giải quyết bài toán trên CSDL
nhiều chiều (trong đó có số lượng mục phổ biến rất lớn và minSup nhỏ) Tuy nhiên,
trong một số ứng d ng, tập mẫu cỡ nhỏ hoặc trung bình thường không cung cấp thông tin hữu ích và chúng ta chỉ có thể thu được thông tin hữu ích từ các tập mẫu
có kích thước rất lớn, gọi là tập mẫu khổng lồ [6, 9]
Trang 392.5 Lý thuyết khai thác mẫu khổng lồ trên CSDL nhiều chiều
2.5.1 Giới thiệu
Bài toán cơ bản để khai thác luật kết hợp là khai thác tập phổ biến Khai thác tập phổ biến tạo ra nhiều ứng d ng, bao gồm phân tích các hóa đơn của khách hàng, phân tích các mẫu truy cập web, nghiên cứu khoa học, y tế, và phân tích các chuổi DNA… Có nhiều cách khai thác khác nhau, các kiểu chính bao gồm: khai thác tập phổ biến, khai thác mẫu tuần tự, và khai thác đồ thị
Trong luận văn này, tập trung vào các itemset, để cho đơn giản, thuật ngữ
“mẫu (pattern)” và “tập m c (itemset)” là như nhau và được sử d ng để thay thế
cho nhau
Kể từ khi vấn đề khai thác luật kết hợp lần đầu tiên được đặt ra trong năm
1993, nhiều thuật toán khai thác tập phổ biến đã được đề xuất Các thuật toán này
có thể được phân thành ba loại chính [10, 11]:
− Loại thứ nhất: bao gồm các thuật toán tương tự như Apriori, được đề xuất bởi Rakesh Agrawal năm 1993, sử d ng phương pháp phát sinh ứng viên và thử để tìm ra tập phổ biến Phương pháp này phát sinh số lượng lớn các tập ứng viên và qu t lặp lại nhiều lần trên dữ liệu để kiểm tra tần số các ứng viên
− Loại thứ hai: FP-Growth (J Han năm 2000) và kế thừa của FP-Growth Trong đó, sử d ng một cấu trúc dữ liệu gọi là FP-tree để n n dữ liệu và tìm kiếm, phương pháp này không phát sinh ứng viên và không qu t nhiều trên
dữ liệu
Cả hai thể loại trên, dữ liệu được định dạng theo chiều ngang, mỗi giao tác có một id và một tập tất cả các m c
− Loại thứ ba: Được gọi là các thuật toán theo chiều dọc, chẳng hạn như các
thuật toán dựa trên IT (itemset tidset), các thuật toán dựa trên vectơ bit, các
thuật toán dựa trên N-lists và Nodesets Dữ liệu được định dạng theo chiều dọc, mỗi dòng của tập dữ liệu có một m c và một tập các id giao tác chứa
m c này
Tuy nhiên, các thuật toán này chỉ có hiệu quả khi CSDL có số lượng m c ít trong mỗi giao tác Khi số lượng m c nhiều và minSup lớn, dẫn đến không gian tìm
Trang 40kiếm rất lớn và thuật toán khi đó là không hiệu quả, thậm chí chúng không thể chạy
do hạn chế tài nguyên Mặt khác, kết quả đầu ra có số lượng lớn các mẫu kích thước nhỏ và trung bình thường không cung cấp thông tin phù hợp cho nhiều ứng d ng
Trong nhiều ứng d ng, chỉ có các mẫu kích thước lớn (colossal pattern – mẫu
khổng lồ) mới có thể áp d ng và cung cấp thông tin phù hợp
Do đó, trong những năm gần đây có vài ý tưởng tìm ra các phương pháp khai thác mà chỉ trích xuất duy nhất các mẫu khổng lồ, không khai thác những mẫu nhỏ
và vừa Đây là cách tiếp cận mới hơn để giải quyết vấn đề này
− Thuật toán đầu tiên khai thác tập mẫu khổng lồ là thuật toán Core pattern
fusion (core-fusion) được F Zhu, X Yan, J Hany, P S Yuz, H Cheng trình
bày trong năm 2007 Pattern-Fusion sử d ng phương pháp gần đúng để khai thác K mẫu phổ biến đúng Ý tưởng chính của phương pháp này là, trộn tất
cả tập mẫu con thuộc một mẫu lớn trong một bước thay vì mở rộng bằng
cách cộng thêm vào các m c đơn lẽ Điều này giúp pattern-fusion bỏ qua tập
mẫu có kích thước trung bình và có khả năng khai thác các mẫu khổng lồ [9,
10, 11]
− Năm 2010, M Dabbiru và M.Shashi đề xuất thuật toán CPM (Colossal Pattern Miner) để khai thác mẫu khổng lồ Phương pháp này tách tập mẫu con ra khỏi các tập khổng lồ dựa trên tính phổ biến của chúng, do đó dễ dàng bỏ qua số lượng rất lớn tập mẫu có kích thước trung bình [12]
− Sohrabi và Barforoush đề xuất một phương pháp để khai thác mẫu khổng lồ trên CSDL nhiều chiều trong năm 2012 Tác giả cũng đề xuất thuật toán BVBUC, trong đó sử d ng một chiến lược tìm kiếm từ dưới lên theo chiều
dọc dựa trên các giao tác Nghĩa là BVBUC kết (joins) dòng 1 với dòng 2
để tạo ra một tập dòng (rowset), và như vậy, cho đến khi số lượng dòng đạt đến minSup (khi đó, các mẫu trong tập dòng là phổ biến) BVBUC sử d ng bit wise (dùng toán tử AND thao tác trên số nhị phân giữa các bít vectơ) để
tìm kiếm mẫu khổng lồ phổ biến trên CSDL nhiều chiều Tác giả cũng đề xuất một công thức để tỉa các nhánh không thể mở rộng đạt đến minSup để giảm không gian tìm kiếm [10, 11]