1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khai thác mẫu khổng lồ trên cơ sở dữ liệu nhiều chiều

83 24 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 83
Dung lượng 2,1 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 3

Cá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 4

TP 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 5

LỜ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 6

LỜ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 7

TÓ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 8

ABSTRACT

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 9

MỤ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 10

2.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 11

DANH 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 12

DANH 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 13

DANH 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 14

Hì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 15

CHƯƠ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 16

trong 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 17

1.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 18

CHƯƠ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 19

Tiề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 20

lặ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 21

2.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 23

Khai 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 24

sả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 27

a) 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 28

Ví 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 29

BCS 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 30

2.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 31

Xâ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 32

Hì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 33

vi 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 34

dị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 35

Agrawal 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 36

tạ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 37

CPAR (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 6039 (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 39

2.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 40

kiế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]

Ngày đăng: 05/03/2021, 15:27

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w