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

Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi

73 25 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 73
Dung lượng 5,57 MB

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

Nội dung

Kỹ thuật khai phá luật kết hợp được thực hiện qua 2 bước: Bước 1: Sử dụng thuật toán như Apriori để xác định tất cả các tập phổ biến dựa trên độ hỗ trợ của các tập phổ biến.. Khai phá tậ

Trang 1

PHẠM THỊ KIM PHƯỢNG

ỨNG DỤNG THUẬT TOÁN EFIM ĐỂ KHAI PHÁ TẬP MỤC HỮU ÍCH CAO TỪ

CƠ SỞ DỮ LIỆU BÁN HÀNG TẠI SIÊU THỊ

CO.OPMART QUẢNG NGÃI

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Đà Nẵng – Năm 2017

Trang 2

PHẠM THỊ KIM PHƯỢNG

ỨNG DỤNG THUẬT TOÁN EFIM ĐỂ KHAI PHÁ TẬP MỤC HỮU ÍCH CAO TỪ

CƠ SỞ DỮ LIỆU BÁN HÀNG TẠI SIÊU THỊ

CO.OPMART QUẢNG NGÃI

Chuyên ngành: HỆ THỐNG THÔNG TIN

Mã số: 61.49.01.06

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Người hướng dẫn khoa học: PGS.TSKH TRẦN QUỐC CHIẾN

Đà Nẵng – Năm 2017

Trang 3

Tôi xin cam đoan:

- Đây là công trình nghiên cứu của riêng tôi.

- Nội dung, 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

- Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực về tên tác giả, tên công trình, thời gian và địa điểm công bố

- Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm

Tác giả luận văn

Phạm Thị Kim Phượng

Trang 4

MỤC LỤC

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục tiêu và nhiệm vụ 2

3 Đối tượng và phạm vi nghiên cứu 3

4 Phương pháp nghiên cứu 3

5 Ý nghĩa của đề tài 3

6 Kết quả dự kiến 4

7 Bố cục luận văn 4

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VỀ KHAI PHÁ DỮ LIỆU 5

1.1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 5

1.1.1 Sơ lược về khai phá dữ liệu 5

1.1.2 Quá trình khám phá tri thức từ cơ sở dữ liệu 6

1.1.3 Các dạng dữ liệu có thể khai phá 7

1.1.4 Một số kỹ thuật khai phá dữ liệu 8

1.1.5 Một số ứng dụng của khai phá dữ liệu 9

1.1.6 Lợi thế của khai phá dữ liệu so với các phương pháp khác 10

1.1.7 Những thách thức trong khai phá dữ liệu 11

1.2 KỸ THUẬT KHAI PHÁ TẬP MỤC PHỔ BIẾN VÀ LUẬT KẾT HỢP12 1.2.1 Cơ sở dữ liệu giao tác 12

1.2.2 Tập mục phổ biến và luật kết hợp 13

1.2.3 Khai phá tập mục phổ biến - Frequent Itemset Mining 15

1.2.4 Khai phá luật kết hợp 16

1.3 KẾT CHƯƠNG 1 17

CHƯƠNG 2 KHAI PHÁ TẬP MỤC HỮU ÍCH CAO TỪ CƠ SỞ DỮ LIỆU GIAO TÁC 18

Trang 5

2.1 ĐẶT VẤN ĐỀ 18

2.2 TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU KHAI PHÁ TẬP MỤC HỮU ÍCH CAO 18

2.3 MỘT SỐ ĐỊNH NGHĨA CỦA BÀI TOÁN 20

2.4 MỘT SỐ THUẬT TOÁN KHAI PHÁ TẬP MỤC HỮU ÍCH CAO 22

2.4.1 Thuật toán Two-Phase 22

2.4.2 Thuật toán FHM 23

2.5 THUẬT TOÁN EFIM 23

2.5.1 Một số khái niệm 24

2.5.2 Thuật toán EFIM 32

2.6 ÁP DỤNG THUẬT TOÁN 34

2.7 KẾT CHƯƠNG 2 36

CHƯƠNG 3 CÀI ĐẶT THUẬT TOÁN EFIM VÀ ỨNG DỤNG KHAI PHÁ DỮ LIỆU BÁN HÀNG 37

3.1 GIỚI THIỆU HỆ THỐNG SIÊU THỊ 37

3.2 GIẢI PHÁP KHAI PHÁ TẬP MỤC HỮU ÍCH CAO TỪ CƠ SỞ DỮ LIỆU BÁN HÀNG TẠI SIÊU THỊ 38

3.3 THU THẬP VÀ XỬ LÝ DỮ LIỆU 38

3.3.1 Một số vấn đề liên quan đến lợi nhuận cao 38

3.3.2 Thu thập và xử lý dữ liệu 39

3.4 CÀI ĐẶT THUẬT TOÁN 42

3.4.1 Lớp Item 43

3.4.2 Lớp Transaction 43

3.4.3 Lớp DataAssistant 43

3.4.4 Lớp EFIM 44

3.5 THỬ NGHIỆM CHƯƠNG TRÌNH 44

3.6 ĐÁNH GIÁ THUẬT TOÁN 46

3.6.1 Kết quả đầu ra 46

3.6.2 Thời gian thực hiện 46

Trang 6

3.6.3 Sử dụng bộ nhớ 47

3.6.4 Tìm kiếm nút 48

3.7 KẾT CHƯƠNG 3 48

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 49 DANH MỤC TÀI LIỆU THAM KHẢO

QUYẾT ĐỊNH GIAO ĐỀ TÀI (BẢN SAO)

Trang 7

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

CÁC KÝ HIỆU

α – T Giao tác tham chiếu

conf(X→ Y) Độ tin cậy của luật X→ Y

D Cơ sở dữ liệu giao tác D

H Tập hợp các tập mục hữu ích cao

lu(α, z ) Giá trị hữu ích cục bộ z đối với α

minconf Độ tin cậy tối thiểu

minutil Ngưỡng hữu ích tối thiểu

minsup Độ hỗ trợ tối thiểu

re(X, Td) Giá trị hữu ích còn lại của X trong giao tác Td

su(α, z) Giá trị hữu ích của cây con z đối với α

sup(X) Độ hỗ trợ của tập mục X

sup(X→ Y) Độ hỗ trợ của luật X→ Y

tu Độ hữu ích của giao tác

TWU(X) Độ hữu ích trọng số của tập mục X

u(ij, Td) Giá trị hữu ích của tập mục ij trong giao tác

u(X) Giá trị hữu ích của tập mục X

Trang 8

FUC Fast Utility Counting

FUM Fast Utility Mining

HDP High-utility Database Projection

HTM High-utility Transaction Merging

KDD Knowledge Discovery in Databases

LUHF Low Utility and High Frequency

LULF Low Utility and Low Frequency

HUHF High Utility and High Frequency

HULF High Utility and Low Frequency

TWU Transaction Weighted Utilization

HUIM High Utility Itemset Mining

Trang 9

DANH MỤC CÁC BẢNG

2.2 Biểu diễn giá trị lợi nhuận của các mục trong

2.3 Bảng độ hữu ích các giao tác trong CSDL 24 2.4 TWU của các mục trong CSDL giao tác D 25

2.6 CSDL sau khi sắp xếp các giao tác 35

2.7 Hợp nhất giao tác trong CSDL tham chiếu {A}

3.3 Kết quả trả về của hai thuật toán 46

Trang 11

MỞ ĐẦU

1 Lý do chọn đề tài

Trong những năm gần đây, khai phá dữ liệu (Data mining) đã trở thành một trong những hướng nghiên cứu lớn nhất của lĩnh vực khoa học máy tính và công nghệ thông tin Khai phá dữ liệu là quá trình khai phá, trích xuất, khai thác và sử dụng những dữ liệu có giá trị tiềm ẩn từ bên trong lượng lớn dữ liệu được lưu trữ trong các Cơ Sở Dữ Liệu (CSDL), kho dữ liệu, trung tâm dữ liệu… dựa trên kĩ

thuật như mạng nơ ron, lý thuyết tập thô, tập mờ, biểu diễn tri thức… Khai phá dữ

liệu đang được áp dụng một cách rộng rãi trong nhiều lĩnh vực kinh doanh và đời sống khác nhau: Marketing, tài chính, ngân hàng, bảo hiểm, khoa học, y tế, giáo dục, an ninh

Khai phá luật kết hợp là một nhiệm vụ quan trọng của khai phá dữ liệu Kỹ thuật khai phá luật kết hợp được thực hiện qua 2 bước: Bước 1: Sử dụng thuật toán như Apriori để xác định tất cả các tập phổ biến dựa trên độ hỗ trợ của các tập phổ biến Bước 2: Sinh ra các luật kết hợp thỏa mãn độ tin cậy từ các tập phổ biến [12] Khai phá tập mục phổ biến thông thường tập trung chủ yếu vào việc tìm kiếm

và phát hiện các tập mục thường xuyên trong CSDL giao tác Mô hình khai phá tập mục phổ biến cơ bản có nhiều ứng dụng trong thực tế nhưng có những hạn chế, không đáp ứng đầy đủ yêu cầu của người sử Chính vì vậy mà một khái niệm mới ra đời, đó là khai phá tập mục hữu ích cao (High Utility Itemsets Mining) tức là mỗi một mục có xét đến yếu tố hữu ích của nó (ví dụ: Nhà kinh doanh họ chỉ quan tâm đến số lượng, lợi nhuận, doanh thu của mỗi mặt hàng là bao nhiêu trong mỗi lần giao dịch) Như vậy, khai phá tập mục hữu ích cao là tìm kiếm trong CSDL giao tác các tập mục có giá trị lớn hơn một ngưỡng hữu ích tối thiểu cho trước

Khai phá tập mục hữu ích cao là một mở rộng của bài toán khai phá tập mục phổ biến, đã được nhiều tác giả quan tâm với mục đích đánh giá ý nghĩa của các tập mục trong khai phá luật kết hợp Thuật toán EFIM là một trong các thuật toán khai phá tập mục hữu ích cao Thuật toán này được các nhà khoa học có tên

Trang 12

Souleymane Zida, Philippe Fournier Viger, Jerry Chun-Wei Lin, Cheng-Wei

Wu, Vincent S Tseng đề xuất vào năm 2015 tại hội nghị trí tuệ nhân tạo ở Mexico [14] đây là thuật toán mới có khả năng khắc phục các hạn chế của các thuật toán được đề xuất trước đó

Siêu thị Co.opMart Quảng Ngãi là một hệ thống siêu thị bán lẻ của Việt Nam trực thuộc Liên hiệp các hợp tác xã Thương mại thành phố Hồ Chí Minh Co.opMart trở thành nơi mua sắm đáng tin cậy của người tiêu dùng Quảng Ngãi Siêu thị cung cấp nhiều mặt hàng đảm bảo chất lượng và số lượng Tuy nhiên trong siêu thị có những mặt hàng tuy số lượng bán nhiều nhưng lợi nhuận mang lại khá thấp và ngược lại có những mặt hàng tuy số lượng bán ít nhưng mang lại lợi nhuận cao mà siêu thị chưa xác định được nên chưa có chiến lược kinh doanh dẫn đến doanh thu bán hàng thấp Ví dụ: Một ngày siêu thị bán được 100 bịch khăn giấy nhưng lợi nhuận không cao bằng bán 1 cái tivi

Từ đó ta có thể áp dụng kỹ thuật khai phá tập mục hữu ích cao để rút ra thông tin các mặt hàng bán kèm với nhau mang lại giá trị lợi nhuận cao cho siêu thị Coi mỗi mặt hàng là một mục, mỗi hóa đơn bán hàng là một giao tác Ứng với mỗi giao tác, mỗi mục có một giá trị hữu ích nội, chính là số lượng bán ra của mỗi mặt hàng trong từng hóa đơn, mỗi mặt hàng có giá trị lợi nhuận và được coi là giá trị hữu ích ngoại của mục

Từ những lý do trên, với sự hướng dẫn của thầy PGS.TSKH Trần Quốc

Chiến Tôi chọn hướng nghiên cứu và thực hiện đề tài: “Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị Co.opMart Quảng Ngãi”

2 Mục tiêu và nhiệm vụ

2.1 Mục tiêu

- Thu thập dữ liệu bán hàng tại siêu thị Co.opMart Quảng Ngãi

- Tìm hiểu thuật toán EFIM để khai phá tập mục hữu ích cao từ CSDL giao tác

- Ứng dụng thuật toán EFIM để tìm các tập mục hữu ích cao từ CSDL bán hàng tại siêu thị Co.opMart Quảng Ngãi

Trang 13

2.2 Nhiệm vụ

- Tìm hiểu các khái niệm cơ bản về khai phá dữ liệu và khái niệm khai phá luật kết hợp

- Tìm hiểu các thuật toán khai phá tập mục hữu ích cao trước đây

- Tìm hiểu thuật toán EFIM

- Thu nhập dữ liệu từ thực tế, tổng hợp phân tích dữ liệu

- Cài đặt thuật toán EFIM trên CSDL giao tác bán hàng và rút ra những tập mục hữu ích cao của mặt hàng thường bán kèm với nhau mang lại lợi nhuận cao cho siêu thị

- So sánh thuật toán EFIM so với thuật toán khác

3 Đối tượng và phạm vi nghiên cứu

3.1 Đối tượng

- Thuật toán EFIM để khai phá tập mục hữu ích cao

- Thông tin dữ liệu bán hàng tại siêu thị

4 Phương pháp nghiên cứu

4.1 Phương pháp nghiên cứu tài liệu

- Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến đề tài

- Nghiên cứu giải pháp xây dựng và cài đặt thuật toán EFIM

4.2 Phương pháp thực nghiệm

- Xây dựng cơ sở dữ liệu

- Cài đặt thuật toán và chạy thử nghiệm trên bộ dữ liệu giao tác

- Nhận xét và đánh giá kết quả thuật toán EFIM với thuật toán khác

5 Ý nghĩa của đề tài

5.1 Ý nghĩa khoa học

- Cài đặt thuật toán EFIM để rút ra các mặt hàng bán kèm có giá trị lợi nhuận

Trang 14

cao làm cơ sở để áp dụng thuật toán khai phá luật kết hợp từ tập mục hữu ích cao

- Đưa ra các ưu điểm so với các thuật toán khác

5.2 Ý nghĩa thực tiễn

Từ CSDL bán hàng rút ra các mặt hàng bán kèm mang lại lợi nhuận cao, từ đó định hướng kinh doanh cho siêu thị

6 Kết quả dự kiến

6.1 Kết quả của đề tài

- Nắm được lý thuyết khai phá tập mục hữu ích cao bằng thuật toán EFIM

- Ứng dụng trên CSDL giao tác bán hàng tại siêu thị Co.opMart Quảng Ngãi

6.2 Hướng phát triển của đề tài

- Nghiên cứu các thuật toán khai phá tập mục hữu ích cao khác

- Nghiên cứu thuật toán khai phá luật kết hợp từ tập mục hữu ích cao

7 Bố cục luận văn

Chương 1: Cơ sở lý thuyết về khai phá dữ liệu

Chương này trình bày các cơ sở lý thuyết bao gồm: Tổng quan về khai phá dữ liệu, kỹ thuật khai phá tập mục phổ biến và luật kết hợp trong CSDL giao tác

Chương 2: Khai phá tập mục hữu ích cao từ cơ sở dữ liệu giao tác

Trong chương 2 trình bày các khái niệm liên quan đến khai phá tập mục hữu ích cao và thuật toán EFIM trong CSDL giao tác

Chương 3: Cài đặt thuật toán EFIM và ứng dụng khai phá dữ liệu bán hàng

Chương 3 tập trung vào thuật toán EFIM, thu thập và xử lý dữ liệu bán hàng tại siêu thị Co.opMart Quảng Ngãi, cài đặt và thực nghiệm chương trình So sánh thuật toán EFIM với thuật toán khác

Cuối cùng, những đánh giá, kết luận và hướng phát triển của đề tài trong tương lai

Trang 15

CHƯƠNG 1

CƠ SỞ LÝ THUYẾT VỀ KHAI PHÁ DỮ LIỆU

1.1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

1.1.1 Sơ lược về khai phá dữ liệu

Khai phá dữ liệu đã thu hút rất nhiều sự chú ý trong ngành công nghiệp thông tin và toàn xã hội trong những năm gần đây, do sự sẵn có một lượng lớn dữ liệu và cần phải sắp xếp chuyển dữ liệu đó thành thông tin và kiến thức bổ ích Các thông tin và kiến thức thu được có thể được sử dụng cho các ứng dụng khác nhau, từ phân tích thị trường, phát hiện gian lận, và duy trì khách hàng, để kiểm soát sản xuất, v.v Khai Phá Dữ Liệu (KPDL) là một khái niệm xuất hiện vào những năm cuối của thập niên 80 Nó bao hàm các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các CSDL KPDL có một tiềm năng to lớn trong việc tạo ra những lợi nhuận đáng kể trong nền kinh tế

Có nhiều định nghĩa khác nhau về KPDL:

Khai phá dữ liệu – Data Mining là tiến trình khám phá tri thức tiềm ẩn trong các

cơ sở dữ liệu 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ơ sở dữ liệu lớn” [3]

Giáo sư Jiawei Han, Micheline Kamber, Jian Pei [7] đã đưa ra khái niệm về KPDL sau: “Khai phá dữ liệu là việc trích rút ra được các mẫu hoặc tri thức quan trọng từ một lượng dữ liệu rất lớn”

Theo Giáo sư Tom Mitchell [11] đã đưa ra định nghĩa về KPDL như sau:

“KPDL là việc sử dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện những quyết định trong tương lai”

Nói cách khác KPDL là quá trình khai phá, trích xuất và sử dụng những dữ liệu có giá trị tiềm ẩn từ bên trong một lượng lớn dữ liệu được lưu trữ trong các CSDL, kho dữ liệu…

Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: Khám phá tri thức từ CSDL (Knowledge

Trang 16

Discovery in Databases - KDD), trích lọc dữ liệu (Knowlegde extraction), phân tích

dữ liệu/mẫu (Data/pattern analysis), khảo cổ dữ liệu (Data archaeology) Mục đích thực tế thì khám phá tri thức từ cơ sở dữ liệu và KPDL được xem đồng nghĩa như nhau nhưng xét về mặt kỹ thuật thì KPDL là một tiến trình quan trọng trong toàn bộ quá trình KDD

1.1.2 Quá trình khám phá tri thức từ cơ sở dữ liệu

Quá trình khám phá tri thức có thể phân thành các bước sau:

Hình 1.1 Quá trình khám phá tri thức

✓ Trích lọc dữ liệu: Trích lọc dữ liệu là giai đoạn chọn lọc trích rút những tập

dữ liệu để phục vụ cho quá trình khai phá dữ liệu từ CSDL tác nghiệp

✓ Tiền xử lý dữ liệu: Tiền xử lý dữ liệu là giai đoạn làm sạch dữ liệu (xử lý

dữ liệu chứa lỗi, nhiễu, không đầy đủ, mâu thuẫn) thì các dữ liệu sẽ nhất quán, tin cậy Trong thực tế, giai đoạn này được thực hiện nhiều lần, vì dữ liệu lấy từ nhiều nguồn khác nhau, dễ gây nhầm lẫn nên giai đoạn này phải thực hiện nhiều lần mới phát hiện được tính bất thường trong dữ liệu

Trang 17

✓ Chuyển đổi dữ liệu: Sau khi dữ liệu làm sạch thì phải mã hóa, biến đổi kiểu

dữ liệu của các thông tin về những dạng thích hợp để áp dụng các kỹ thuật KPDL

✓ Khai phá dữ liệu: Là quá trình lựa chọn kỹ thật khai phá dữ liệu phù hợp

với mục đích và dữ liệu đã có, thực hiện việc khai phá dữ liệu để tìm được các mẫu

có ý nghĩa, các mẫu này được đánh giá và cập nhật liên tục trong quá trình khai phá, những mẫu có chất lượng sẽ được biểu diễn dưới dạng luật kết hợp, cây quyết định,

… tương ứng với ý nghĩa của nó Đây được xem là bước quan trọng và tiêu tốn thời gian nhất của toàn bộ quá trình KDD

✓ Đánh giá và biểu diễn tri thức: Là tiến trình kiểm tra và lọc nguồn tri thức

thu được ở bước khai phá dữ liệu để hỗ trợ việc đánh giá chất lượng dữ liệu, đánh giá mô hình dữ liệu được lựa chọn có phù hợp hay không và biểu diễn tri thức dưới dạng mô hình cây, đồ thị, các luật cho người dùng

1.1.3 Các dạng dữ liệu có thể khai phá

KPDL có thể được áp dụng cho bất kỳ dữ liệu nào miễn là dữ liệu có ý nghĩa cho một ứng dụng cụ thể Sau đây là một số dạng dữ liệu có thể được khai phá:

- Cơ sở dữ liệu quan hệ (Relational Database): Một hệ thống cơ sở dữ liệu,

cũng được gọi là một hệ thống quản lý CSDL, bao gồm một bộ sưu tập các dữ liệu liên quan với nhau, được biết đến như là một CSDL và một tập hợp các chương trình phần mềm để quản lý và truy cập dữ liệu Các chương trình phần mềm cung cấp cơ chế để xác định cấu trúc CSDL và lưu trữ dữ liệu, để xác định và quản lý đồng thời, chia sẻ, hoặc truy cập dữ liệu phân tán, đảm bảo tính thống nhất và an ninh thông tin lưu trữ bất chấp sự cố hệ thống hoặc các nỗ lực truy cập trái phép

- Cơ sở dữ liệu giao tác (Transaction Database): Là tập hợp những bản ghi giao dịch Khai phá dữ liệu trên CSDL giao tác tập trung vào khai phá luật kết hợp, tìm mối tương quan giữa những mục dữ liệu trong các bản ghi giao dịch Dạng dữ liệu này thường phổ biến trong lĩnh vực thương mại, ngân hàng, bán hàng,…

- Cơ sở dữ liệu đa chiều (Multidimention Structures, Data Warehouses, Data Mart): Các kho dữ liệu được tập hợp và chọn lọc từ nhiều nguồn dữ liệu khác nhau Dạng dữ liệu này chủ yếu phục vụ cho quá trình phân tích cũng như

Trang 18

khai phá tri thức và hỗ trợ quá trình ra quyết định

- Cơ sở dữ liệu quan hệ - hướng đối tượng (Object Relational Databases): Dạng dữ liệu kết hợp giữa hai mô hình quan hệ và hướng đối tượng Dữ liệu này được ứng dụng trong viễn thông,…

- Dữ liệu không gian và thời gian (Spatial, Temporal, and Time-series data): Dạng dữ liệu có tích hợp thuộc tính về không gian như dữ liệu bản đồ, mạng cáp điện thoại hoặc thời gian như dữ liệu cước điện thoại, phát hành báo chí

- Cơ sở dữ liệu đa phương tiện (Multimedia Databases): Dạng dữ liệu âm thanh (Audio), hình ảnh (Video)… Dữ liệu này rất phổ biến trên internet

1.1.4 Một số kỹ thuật khai phá dữ liệu

Kỹ thuật khai phá dữ liệu chia thành 2 nhóm [7]:

- Mô tả dữ liệu: Có nhiệm vụ mô tả đặc trưng cho các thuộc tính của dữ liệu trong một tập hợp dữ liệu hiện có Gồm có các kỹ thuật: Phân cụm (Clustering), tóm tắt (Summarization), luật kết hợp (Association rules), trực quan hóa (Visualization), …

Dự đoán dữ liệu: Đưa ra các dự đoán dựa vào các suy luận trên dữ liệu hiện tại

có, gồm các kỹ thuật phân lớp (Classification), hồi quy (Regression), phân cụm (Clustering),

Một số kỹ thuật thông dụng được sử dụng để khai phá dữ liệu:

a Khai phá tập phổ biến và luật kết hợp

Khai phá tập phổ biến là tìm các thuộc tính xuất hiện phổ biến của các đối tượng dữ liệu Từ tập phổ biến này ta tiến hành tạo ra các luật kết hợp nhằm phát hiện khả năng xuất hiện đồng thời của các thuộc tính trong tập các đối tượng

Trong lĩnh vực KPDL, mục đích của luật kết hợp (Association Rule) là tìm ra các mối quan hệ giữa các đối tượng trong khối lượng lớn dữ liệu, ví dụ như nhóm các món hàng thường được mua kèm với nhau trong siêu thị, mua bia sẽ mua thuốc lá

b Phân lớp

Phân lớp (Classification) là tiến trình xử lý nhằm xếp các mẫu dữ liệu hay các đối tượng vào một trong các lớp đã được định nghĩa trước, đây là kỹ thuật phổ biến trong KPDL Phân lớp còn được gọi là học có giám sát (Supervised learning),

Trang 19

hướng tiếp cận này thường sử dụng một số kỹ thuật như: Cây quyết định (Decision tree), mạng nơ-ron nhân tạo (Neural network), phương pháp dựa trên luật, phương pháp Naive Bayes

Ví dụ: Những bệnh nhân có các triệu chứng ho, lạnh, nhức đầu thì được phân lớp vào bệnh sốt rét

c Phân cụm

Phân cụm (Clustering): Là nhóm các đối tượng dữ liệu có tính chất giống nhau thành lớp các đối tượng tương tự Các đối tượng được gom cụm dựa trên nguyên tắc tối đa hóa các lớp tương tự trong cùng một cụm và giảm thiểu các lớp tương tự trên các cụm khác nhau [7] Các cụm có thể tách riêng nhau hoặc phân cấp hoặc gối lên nhau, nghĩa là một dữ liệu có thể vừa thuộc cụm này, vừa thuộc cụm kia Phân cụm

dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn ảnh, nghiên cứu thị trường, phân loại trang web, Ngoài ra, phân cụm còn được sử dụng như một bước tiền xử lý cho các thuật toán KPDL khác

d Hồi quy

Hồi quy (Regression): Là hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đoán có giá trị thực Nhiệm vụ của hồi quy giống như phân lớp nhưng điểm khác nhau là thuộc tính để dự báo là liên tục chứ không phải rời rạc Việc dự báo các giá trị số thường được làm bởi các phương pháp thống kê cổ điển, chẳng hạn như hồi quy tuyến tính

Ứng dụng của hồi quy vào trong cuộc sống như dự báo nhu cầu tiêu dùng của con người đối với một số sản phẩm dựa trên hoạt động quảng cáo

1.1.5 Một số ứng dụng của khai phá dữ liệu

KPDL đang được ứng dụng rộng rãi trong nhiều lĩnh vực đời sống và khoa học nhằm khai thác nguồn dữ liệu phong phú được lưu trữ trong các hệ thống thông tin:

- Marketing: Đây là một phương pháp phân tích CSDL khách hàng, tìm kiếm các mẫu trong số các khách hàng và sử dụng các mẫu này để lựa chọn các khách hàng trong tương lai

Trang 20

- Ngân hàng: Xây dựng mô hình dự báo rủi ro tín dụng Tìm kiếm tri thức, quy luật của thị trường chứng khoán, đầu tư bất động sản, phát hiện gian lận và cung cấp sản phẩm dựa trên phân tích của các khách hàng để duy trì tốt hơn mối quan hệ của khách hàng

- Thương mại điện tử: Tìm hiểu, định hướng thúc đẩy, giao tiếp với khách hàng 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 nhiều loại khách hàng

- Viễn thông:

+ Nhận biết các dấu hiệu của sự gian lận dịch vụ

+ Xu thế phát triển khách hàng, đối tượng, khu vực cần phát triển

- Thiên văn: Dự đoán đường đi các thiên thể, hành tinh,…

- Sinh học: Hệ thống tìm kiếm các mẫu trong cấu trúc phân tử, tìm ra các gen mới, cây con giống mới,…

- Y học: Dựa vào mối liên hệ các triệu chứng để chuẩn đoán bệnh và hướng điều trị

Ngoài ra KPDL còn ứng dụng vào trong rất nhiều lĩnh vực khác nhau giúp đưa

ra những giải pháp hiệu quả để giải quyết vấn đề trong đời sống

1.1.6 Lợi thế của khai phá dữ liệu so với các phương pháp khác

KPDL đã kết hợp nhiều phương pháp từ các lĩnh vực khác nhau như thống kê, máy học, nhận dạng mẫu, cơ sở dữ liệu, các hệ thống kho dữ liệu,… và KPDL có một số ưu điểm so với phương pháp khác:

- Phương pháp thống kê: Là một trong những nền tảng lý thuyết của khai phá

dữ liệu, khác so với KPDL là phương pháp thống kê hoạt động dựa theo dữ liệu, không sử dụng tri thức sẵn có về lĩnh vực và không phù hợp với dữ liệu có cấu trúc trong CSDL

- Phương pháp máy học: Đối với nhiệm vụ phân lớp và phân cụm dữ liệu, nghiên cứu máy học thường tập trung vào tính chính xác của mô hình, dựa trên CSDL đầy đủ Trong thực tế dữ liệu thường không đầy đủ nên các thuật toán máy học không hiệu quả, vì vậy KPDL tập trung vào vấn đề này Ngoài tính chính xác,

Trang 21

KPDL còn nhấn mạnh đến tính hiệu quả và tính mở rộng của các phương pháp KPDL trên các bộ dữ liệu lớn, cũng như các cách để xử lý các loại dữ liệu phức tạp

và khám phá các phương pháp mới thay thế

- Phương pháp hệ chuyên gia: Các hệ chuyên gia cố gắng nắm bắt các tri thức thích hợp với một bài toán nào đó Các kỹ thuật thu thập giúp cho việc lấy tri thức

từ chuyên gia con người Mỗi phương pháp đó là một cách suy diễn các luật từ các

ví dụ và giải pháp đối với bài toán chuyên gia đưa ra Khác với KPDL các ví dụ của chuyên gia thường ở mức chất lượng cao hơn rất nhiều so với các dữ liệu trong cơ

sở dữ liệu và chúng thường chỉ bao quát được các trường hợp quan trọng Hơn nữa, các chuyên gia sẽ xác nhận tính có giá trị và hữu dụng của các mẫu phát hiện được Cũng như với các công cụ quản trị CSDL, ở phương pháp này đòi hỏi có sự tham gia của con người trong việc phát hiện tri thức [1]

1.1.7 Những thách thức trong khai phá dữ liệu

KPDL gặp những khó khăn mà các nhà nghiên cứu đang tìm cách khắc phục Sau đây là những thách thức trong KPDL:

- Dữ liệu lớn: Các tập dữ liệu cần xử lý trong KPDL thường có kích thước cực

kỳ lớn về cả số lượng các bản ghi và số lượng các thuộc tính Hiện nay đã bắt đầu xuất hiện các CSDL có kích thước tới terabytes, đồng nghĩa làm tăng không gian tìm kiếm, tăng khả năng giải thuật KPDL tìm được các mẫu giả Để khắc phục vấn

đề này là đưa ra một ngưỡng cho CSDL, lấy mẫu, các phương pháp xấp xỉ, xử lý song song, giảm kích thước của bài toán

- Dữ liệu động: Các CSDL thay đổi liên tục dẫn đến dữ liệu có thể thay đổi theo thời gian và việc KPDL cũng bị ảnh hưởng bởi thời điểm quan sát dữ liệu Việc thay đổi dữ liệu nhanh chóng có thể làm cho các mẫu khai phá trước đó mất giá trị Vấn đề này được giải quyết bằng giải pháp tăng trưởng để nâng cấp các mẫu

và coi những thay đổi như là cơ hội để khai phá bằng cách sử dụng nó để tìm kiếm các mẫu bị thay đổi

- Dữ liệu nhiễu và không chắc chắn: Độ chính xác của dữ liệu cũng là một yếu

tố ảnh hưởng đến quá trình KPDL

Trang 22

1.2 KỸ THUẬT KHAI PHÁ TẬP MỤC PHỔ BIẾN VÀ LUẬT KẾT HỢP

Quá trình khai phá tập mục phổ biến đóng vai trò then chốt trong KPDL Khai phá tập mục phổ biến là một trong những bài toán quan trọng của khai phá luật kết hợp

Sau đây là một số khái niệm cơ bản:

1.2.1 Cơ sở dữ liệu giao tác

Giao tác (Transaction): Là tập hợp các mục trong cùng một đơn vị tương tác, mỗi giao tác được xử lý một cách nhất quán mà không phụ thuộc vào các giao tác khác

Cho tập mục (itemset) I = {i1, i2, …, in} Một giao tác (transaction) T là tập con của I, T ⊆ I CSDL giao tác là một tập các giao tác D = {T1, T2, …, Tm} Mỗi giao tác được gán một định danh TID (Transaction identification) Một tập mục con

X ⊆ I, gồm k mục phân biệt được gọi là tập mục mức k Giao tác T chứa tập mục X nếu X ⊆ T [6]

CSDL giao tác thường được biểu diễn dưới dạng biểu diễn ngang, biểu diễn dọc và biểu diễn ma trận giao tác

- Biểu diễn ngang: CSDL là một danh sách những giao tác Mỗi giao tác có một định danh TID và một danh sách những mục dữ liệu trong giao tác đó [2]

Bảng 1.1 Biểu diễn ngang

Trang 23

- Biểu diễn ma trận giao tác: CSDL giao tác D = {T1, T2, …, Tm} trên các mục

I = {i1, i2, …, in} Biểu diễn ma trận nhị phân m* n (trong đó: m dòng là m giao tác,

Trang 24

sup(X) = Số lượng giao tác hỗ trợ X

Ví dụ: Đối với CSDL giao tác trong bảng 1.1, xét tập mục {A, B},cho thấy:

- Số giao tác chứa tập mục {A, B} là 2

- Tổng số giao tác trong CSDL là 4

Vậy sup(A, B) = 24= 0,5 = 50%

c. Tập mục phổ biến (frequent itemset)

Cho tập mục X ⊆ I và độ hỗ trợ tối thiểu (minimum support) minsup ∈ [0,1];

minsup được xác định trước bởi người sử dụng X được gọi là tập mục phổ biến với

độ hỗ trợ tối thiểu minsup nếu: sup(X) ≥ minsup

Ví dụ: Đối với CSDL giao tác trong bảng 1.1, danh sách các tập mục phổ biến

có độ hỗ trợ tối thiểu là 50%, thể hiện trong bảng 1.4

d. Tính chất cơ bản của tập mục phổ biến

CSDL giao tác D và độ hỗ trợ tối thiểu minsup Các tập mục phổ biến có các tính chất sau:

- Nếu X, Y là các tập mục và X⊆Y thì sup(X) ≥ sup(Y)

Trang 25

- Nếu một tập mục không phải tập phổ biến thì mọi tập cha của nó cũng không phải tập phổ biến

- Nếu một tập mục là tập mục phổ biến thì mọi tập con khác rỗng của nó cũng

là tập mục phổ biến

e. Luật kết hợp

- Luật kết hợp

Luật kết hợp là biểu thức có dạng: X → Y, trong đó, X, Y là các tập mục, X,

Y  I và X  Y= ; X được gọi là tiền đề và Y được gọi là hệ quả của luật

- Độ hỗ trợ (Support)

Độ hỗ trợ của một luật kết hợp X → Y, kí hiệu là sup(X→Y), là độ hỗ trợ của tập mục X  Y

conf(X → Y) = sup (X ∪ Y) Như vậy, độ hỗ trợ của luật kết hợp X → Y chính là xác suất xuất hiện đồng

thời X và Y trong một giao tác

- Độ tin cậy (Confidence)

Độ tin cậy của một kết hợp X → Y, ký hiệu conf(X → Y) là tỷ lệ phần trăm giữa các giao tác chứa X  Y và số giao tác có chứa X trong CSDL giao tác D

Độ tin cậy conf(X → Y) chính là xác suất có điều kiện P(Y/X)

conf(X → Y) = sup (X  Y)

sup (X) Các luật kết hợp thoả mãn cả hai ngưỡng độ hỗ trợ tối thiểu (minsup) và độ tin cậy tối thiểu (minconf), sup(X → Y) ≥ minsup và conf(X → Y) ≥ minconf được gọi

là luật kết hợp mạnh

Ví dụ, theo khảo sát tại một cửa hàng điện tử cho thấy 70% khách hàng mua máy tính thì có khả năng mua một máy in, ở đây việc mua máy tính kéo theo mua máy in (70% là độ tin cậy của luật)

1.2.3 Khai phá tập mục phổ biến - Frequent Itemset Mining

Khai phá mục tập phổ biến là công việc rất quan trọng trong lĩnh vực KPDL

và được ứng dụng rộng rãi Khai phá tập mục phổ biến tìm trong CSDL giao tác các

Trang 26

tập mục xuất hiện thường xuyên trong giao tác theo một ngưỡng hữu ích tối thiểu

do người dùng xác định

Dựa trên tính chất của tập mục phổ biến, có 2 phương pháp tìm kiếm: Tìm kiếm theo chiều rộng phải duyệt toàn bộ CSDL để tính độ hỗ trợ của các tập mục, phương pháp này sử dụng thuật toán Apriori để tìm kiếm Tìm kiếm theo chiều sâu

là duyệt CSDL dưới dạng cây và sử dụng thuật toán FP-Growth

1.2.4 Khai phá luật kết hợp

Khai phá luật kết hợp là một kỹ thuật khai phá dữ liệu được sử dụng rất phổ biến Năm 1994, R Agrawal và cộng sự đề xuất ra một kỹ thuật khai phá luật kết hợp [4]

Khai phá luật kết hợp là tìm các tập mục phổ biến, sự kết hợp, sự tương quan giữa các tập mục trong các CSDL giao tác

Như vậy, quy trình khai phá luật kết hợp được thực hiện theo 2 bước sau:

- Bước 1: Tìm tất cả các tập mục phổ biến theo ngưỡng minsupp

- Bước 2: Xây dựng luật từ các tập mục phổ biến với độ tin cậy minconf + Đối với mỗi tập mục phổ biến X, tạo ra tất cả các tập con khác rỗng của X + Đối với mỗi tập con khác rỗng A của X: Luật A → X\A là luật kết hợp cần tìm nếu: conf(A → X\A) = sup (X)

sup (A) ≥ minconf

Ví dụ: Danh sách tập mục phổ biến trong bảng 1.4 với độ hỗ trợ tối thiểu minsup = 50% và độ tin cậy tối thiểu minconf = 80%

Trang 27

Khoa học, hoạt động kinh doanh, tài chính, y tế, Từ các luật kết hợp được trích rút

từ các CSDL giao tác, để từ đó thúc đẩy hoạt động kinh doanh của mình

Trong khai phá các luật kết hợp, người ta chỉ quan tâm đến các luật có độ hỗ trợ lớn hơn hoặc bằng một độ hỗ trợ tối thiểu (minsup) và độ tin cậy lớn hơn hoặc bằng độ tin cậy tối thiểu cho trước (minconf) gọi là các luật kết hợp phổ biến Ngoài ra, trong khai phá các luật kết hợp có phương pháp nghiên cứu mở rộng

đó là ẩn các luật kết hợp Khi cung cấp dữ liệu cho các trung tâm khai thác tri thức, một số cơ sở không muốn công bố các luật vi phạm đến tính riêng tư (các dữ liệu nhạy cảm) Ví dụ, trong ngân hàng có một số luật được tìm thấy nhưng lại rất nhạy cảm, ngân hàng không muốn tiết lộ ra vì nếu tiết lộ ra sẽ làm ảnh hưởng đến khách hàng hoặc ảnh hưởng đến ngân hàng Vì vậy trong bài toán khai phá luật kết hợp có đảm bảo tính riêng tư chúng ta cần tính đến việc ẩn đi các luật nhạy cảm, việc loại

bỏ này được thực hiện bằng cách sửa bảng giao tác sao cho độ hỗ trợ của luật hoặc

độ tin cậy của luật giảm xuống dưới ngưỡng nào đó Hướng nghiên cứu này là rất cần thiết khi muốn bảo vệ bí mật riêng tư trong khai phá dữ liệu

1.3 KẾT CHƯƠNG 1

Chương này đã trình bày các khái niệm về khai phá dữ liệu, khai phá luật kết hợp, cũng như độ tin cậy, độ hỗ trợ, tập mục để khai phá tập mục phổ biến, khai phá luật kết hợp trên CSDL giao tác và có nhiều thuật toán áp dụng cho bài toán khai phá tập mục phổ biến và luật kết hợp như Apriori, FP-Growth, Charm,… Tuy nhiên các thuật toán khai phá tập mục phổ biến bỏ qua giá trị hữu ích của các mục có thể dẫn đến thất bại trong khai phá các tập mục phổ biến có giá trị hữu ích cao nên đòi hỏi phải có phương pháp khai phá phù hợp

Trang 28

CHƯƠNG 2 KHAI PHÁ TẬP MỤC HỮU ÍCH CAO

TỪ CƠ SỞ DỮ LIỆU GIAO TÁC

2.1 ĐẶT VẤN ĐỀ

Mục tiêu của bài toán khai phá luật kết hợp là phát hiện các tập mục phổ biến

từ đó sinh ra các luật kết hợp Trong lĩnh vực kinh doanh, khai phá tập mục phổ biến từ CSDL giao tác chính là tìm ra những tập mục, thường xuất hiện trong các giao tác Tuy nhiên, lợi nhuận theo đơn vị sản phẩm và số lượng mua của các mục chưa đề cập trong khai phá tập mục phổ biến nên áp dụng vào trong thực tế chưa cao Ví dụ: Bán một viên kim cương thì lợi nhuận cao hơn nhiều so với bán một chai nước Vì vậy, để đáp ứng yêu cầu của thực tiễn, nhiều nhà nghiên cứu đã đưa

ra hướng mở rộng cho bài toán đó là khai phá tập mục hữu ích cao, nhằm khám phá

ra những tập mục có giá trị hữu ích hay lợi nhuận cao Khai phá tập mục hữu ích cao là hướng nghiên cứu quan trọng của KPDL trong những năm gần đây và được ứng dụng rộng rãi như phân tích giỏ hàng, thương mại di động, tiếp thị chéo…

2.2 TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU KHAI PHÁ TẬP MỤC HỮU ÍCH CAO

Khai phá tập mục hữu ích cao là phần mở rộng của bài toán khai phá tập mục phổ biến Khai phá tập mục hữu ích cao là tìm tất các tập mục có giá trị hữu ích lớn hơn ngưỡng hữu ích tối thiểu cho trước (do người dùng qui định) Mục đích của khai phá tập mục hữu ích cao là làm giảm thiểu kích thước của tập ứng viên và đơn giản hóa quá trình tính toán độ hữu ích các tập mục, từ đó giảm số lượng ứng viên cho tập mục hữu ích cao, giảm thời gian khai phá

Sau đây là tình hình nghiên cứu về khai phá tập mục hữu ích cao:

Agarwal và cộng sự [4] đã nghiên cứu khai phá luật kết hợp cho việc tìm kiếm các mối quan hệ giữa các mục dữ liệu trong CSDL lớn thông qua thuật toán Apriori Thuật toán này hoạt động theo nguyên tắc loại bỏ các tập mục không phải tập phổ

Trang 29

biến và các tập con của nó Apriori sinh ra rất nhiều tập phổ biến nên phải duyệt CSDL nhiều lần

Năm 2004, H Yao và cộng sự [5] đã đưa ra định nghĩa khai phá hữu ích và đề cập đến giá trị hữu ích giao tác và giá trị hữu ích ngoại của tập phổ biến trong CSDL giao tác Mô hình khai phá hữu ích được xác định qua 2 thuộc tính cơ bản là ràng buộc hữu ích và ràng buộc độ hỗ trợ

Năm 2006 H Yao và cộng sự [6] đã đưa ra chiến lược cắt tỉa nhằm giảm chi phí tìm kiếm các tập mục hữu ích cao Trong mô hình khai phá tập mục hữu ích cao, giá trị của mục dữ liệu trong giao tác là một số như số lượng đã bán của mặt hàng gọi là giá trị hữu ích nội, ngoài ra còn có bảng lợi ích cho biết lợi ích mang lại khi bán một đơn vị hàng đó gọi là giá trị hữu ích ngoại H Yao và cộng sự [6] đưa ra hai thuật toán Umining và Umining H để thực hiện chiến lược tỉa dựa trên các tính chất của ràng buộc hữu ích, tuy nhiên hai thuật toán này không mang lại hiệu quả cao

Y Liu và các cộng sự [8] đã đề xuất thuật toán 2 pha (Two-Phase) trong khai phá tập mục hữu ích cao, thuật toán này đề cập đến lợi ích của giao tác và lợi ích của tập mục theo các giao tác chứa nó gọi là độ hữu ích trọng số của giao tác TWU (Transaction Weighted Utilization) Thuật toán hai pha chỉ tập trung vào khai phá

dữ liệu truyền thống và không thích hợp trong khai phá dòng dữ liệu Thuật toán này tốn nhiều thời gian và chi phí cho việc tìm kiếm các tập mục hữu ích cao

Shankar và các cộng sự [13] đưa ra một thuật toán mới FUM (Fast Utility Mining), thuật toán này tìm tất cả các tập mục hữu ích cao dựa vào ngưỡng hữu ích cho trước Để tìm ra các tập mục khác, Shankar và các cộng sự đề xuất kỹ thuật như: Giá trị hữu ích thấp và tần số cao LUHF (Low Utility and High Frequency), giá trị hữu ích thấp và tần số thấp LULF (Low Utility and Low Frequency), giá trị hữu ích cao và tần số cao HUHF (High Utility and High Frequency), giá trị hữu ích cao và tần số thấp HULF (High Utility and Low Frequency)

Các thuật toán khai phá tập mục hữu ích cao khác nhau về: Kiểu dữ liệu được sử dụng, các loại ràng buộc và các chiến lược để tỉa không gian tìm kiếm Các thuật toán được đề xuất sau này nhằm giảm không gian tìm kiếm, số lượng

Trang 30

các tập ứng viên, giảm thời gian và dung lượng bộ nhớ trong quá trình khai phá tập mục hữu ích cao Thuật toán sau có hiệu năng hơn thuật toán trước

2.3 MỘT SỐ ĐỊNH NGHĨA CỦA BÀI TOÁN

Ví dụ: Cho một CSDL giao tác D, I= {A, B, C, D, E, F, G} lưu trữ dữ liệu bán hàng được biểu diễn như sau:

Bảng 2.1 Cơ sở dữ liệu giao tác

hàng trong mỗi lần giao dịch được gọi là giá trị hữu ích nội (internal utility) của mỗi

mục trong mỗi giao tác

Trong bảng 2.1, giá trị hữu ích nội của A trong giao tác T2 là 2

Bảng 2.2 Biểu diễn giá trị lợi nhuận của các mục trong CSDL

Trong bảng 2.2 đại diện cho lợi nhuận bán hàng của mỗi mặt hàng chính là giá

trị hữu ích ngoại (external utility) trong CSDL giao tác D

Ví dụ: Trong bảng 2.2, giá trị hữu ích ngoại của mục A là 5

Định nghĩa 1: Giá trị hữu ích của mục (item) ij trong giao tác Td, ký hiệu u(ij, Td) được xác định như sau:

u(ij, Td) = q(ij, Td) * p(ij) Trong đó:

+ q(ij, Td) là giá trị hữu ích nội

Trang 31

+ p(ij) là giá trị hữu ích ngoại

u(AC,T1) = u(A,T1) + u(C,T1) = 1 * 5 + 1 * 1 = 6

u(AC, T2) = u(A,T2) + u(C,T2) = 2*5 + 6*1 = 16

Định nghĩa 3: Giá trị hữu ích của tập mục X trong CSDL giao tác D, ký hiệu

u(X) được xác định bằng tổng các giá trị hữu ích của X trong tất cả các giao tác chứa X trong D

u(BE) = u(BE, T3) + u(BE, T4) + u(BE, T5) = 7 + 11 + 7 = 25

Định nghĩa 4: Một tập mục X được gọi là tập mục hữu ích cao nếu giá trị hữu

ích của X lớn hơn hoặc bằng ngưỡng hữu ích tối thiểu minutil do người dùng quy

định u(X) ≥ minutil Ngược lại, X được gọi là tập mục hữu ích thấp

Định nghĩa 5: Bài toán khai phá tập mục hữu ích cao – High Utility Itemset

Mining (HUIM) là bài toán tìm tất cả các tập mục có giá trị hữu ích cao lớn hơn hoặc bằng ngưỡng hữu ích tối thiểu

Trang 32

- u(BD) = 30 ≥ minutil, {BD} là tập mục hữu ích cao

- u(B) = 16, u(D) = 19, u(E) = 15; u(DE) = 24, u(BE) = 25, vậy các mục B, D,

2.4 MỘT SỐ THUẬT TOÁN KHAI PHÁ TẬP MỤC HỮU ÍCH CAO

2.4.1 Thuật toán Two-Phase

Thuật toán hai pha (Two-Phase) là một trong các thuật toán khai phá tập mục hữu ích cao Thuật toán này tỉa các tập ứng viên hiệu quả và đơn giản hóa việc tính toán giá trị hữu ích nhằm giảm không gian tìm kiếm và giảm chi phí bộ nhớ Thuật toán gồm 2 giai đoạn:

- Giai đoạn 1: Tìm các tập ứng viên có giá trị hữu ích cao bằng việc tính giá trị trọng số giao tác TWU để tỉa không gian tìm kiếm Nếu tập mục có giá trị trọng số giao tác lớn hơn ngưỡng tối thiểu do người dùng quy định thì đó là tập mục hữu ích cao và ngược lại

- Giai đoạn 2: Duyệt lại CSDL để tính chính xác giá trị hữu ích của tất cả

Trang 33

các tập ứng viên được tính trong giai đoạn 1 để loại bỏ những tập mục có giá trị hữu ích thấp

Tuy nhiên, thuật toán hai pha phát sinh ra các tập ứng viên với số lượng lớn nên đòi hỏi phải duyệt dữ liệu nhiều lần để tìm tập mục hữu ích cao

2.4.2 Thuật toán FHM

Để tránh phát sinh các tập ứng viên trong thuật toán Two-Phase, nhiều thuật toán mới được đề xuất để khai phá các tập mục hữu ích cao trong giai đoạn 1, thời gian thực hiện nhanh hơn 10 và 100 lần so với thuật toán hai pha như thuật toán HUI-Miner, thuật toán FHM nhanh gấp 6 lần so với HUI-Miner

Thuật toán FHM (Fast High-utility Miner) dùng để khai phá tập mục hữu ích cao do V Philippe Fournier và các cộng sự đề xuất năm 2014 [15] Tác giả đưa ý tưởng thuật toán:

- Giá trị đầu vào là CSDL giao tác D và ngưỡng hữu ích tối thiểu do người dùng quy định

- Đầu ra: Các tập mục có giá trị hữu ích cao

- Thuật toán sẽ tính giá trị TWU cho các mục thông qua việc quét CSDL D, sau đó tập hợp các mục có TWU lớn hơn ngưỡng hữu ích tối thiểu minutil, ký hiệu I’ và sắp xếp giá trị TWU của mỗi mục theo thứ tự tăng dần Quét CSDL D để xây dựng giá trị hữu ích của các mục trong I’ và cấu trúc EUCS (Estimated Utility Co-Occurrence Structure)

2.5 THUẬT TOÁN EFIM

Năm 2015, các nhà khoa học S Zida, P F Viger, J C-W Lin, C-W Wu, V

S Tseng [14] đề xuất thuật toán một pha có tên EFIM (EFficient high-utility Itemset Mining) Thuật toán EFIM đã cải thiện đáng kể về bộ nhớ và thời gian thực hiện so với thuật toán trước đó Bốn ý tưởng để thiết kế thuật toán EFIM:

- Thiết kế thuật toán một pha để tránh phát sinh các tập ứng viên trong thuật toán hai pha

- Sử dụng hai kỹ thuật: High-utility Database Projection(HDP) và High-utility Transaction Merging (HTM) tương ứng thực hiện CSDL tham chiếu và hợp nhất

Trang 34

các giao tác giống nhau trong CSDL tham chiếu Hai kỹ thuật này nhằm giảm kích thước và giảm chi phí quét CSDL

- EFIM tính toán giá trị hữu ích của tập mục dựa vào hai giá trị ràng buộc giá trị hữu ích cây con và giá trị hữu ích cụ bộ để tỉa không gian tìm kiếm

- Sử dụng mảng để tính toán các ràng buộc cho tất các phần mở rộng của tập mục

Sau đây là một số định nghĩa:

2.5.1 Một số khái niệm

- Độ hữu ích giao tác (Transaction Utility)

Độ hữu ích của giao tác Td, ký hiệu tu(Td) là tổng giá trị hữu ích của tất cả các mục chứa trong giao tác đó

𝑡𝑢(𝑇𝑑) = ∑𝑖𝑗∈𝑇𝑑𝑢(𝑖𝑗, 𝑇𝑑)

Ví dụ: Trong bảng 2.1 và bảng 2.2 tính độ hữu ích của giao tác T1, T2 trong trong CSDL giao tác D

tu(T1) = u(A, T1) + u(C, T1) + u(D, T1) = 1*5 + 1*1 + 1*2 = 8

tu(T2) = u(A, T2) + u(C, T2) + u(E, T2) + u(G, T2) = 2 * 5 + 6 + 2 * 3 + 5 = 27

Bảng 2.3 Bảng độ hữu ích các giao tác trong CSDL

- Độ hữu ích trọng số giao tác (Transaction Weighted Utilization - TWU)

Độ hữu ích trọng số giao tác của một tập mục X trong CSDL giao tác D, ký hiệu TWU(X) là tổng giá trị hữu ích của tất cả các giao tác chứa X trong D

TWU(X) = ∑ tu(Td)

Td∈D XTd

Trang 35

Ví dụ: Tính độ hữu ích trọng số của mục A trong bảng 2.1 và bảng 2.2 TWU(A) = tu(T1) + tu(T2) + tu(T3) = 65

Giá trị TWU của các mục thể hiện bảng 2.4

Bảng 2.4 TWU của các mục trong CSDL giao tác D

- Tính chất 1: Cho X là tập mục, TWU(X) lớn hơn hoặc bằng giá trị hữu

ích của X và các tập mục chứa X, tức là TWU(X) ≥ u(X) và TWU(X) ≥ u(Y), với (∀Y  X) [8]

- Tính chất 2: Nếu tập mục X có giá trị TWU(X) nhỏ hơn độ hữu ích tối thiểu

minutil, thì tất cả các tập mục chứa X là tập mục hữu ích thấp [4]

Ví dụ: Với minutil = 35, trong bảng 2.4 mục F và các tập mục chứa F đều là tập mục hữu ích thấp

- Giá trị hữu ích còn lại (Remaining utility)

Gọi ≻ là thứ tự sắp xếp bất kỳ các mục của I trong CSDL D (ví dụ theo alpha b hoặc theo giá trị TWU), X là tập mục trong giao tác Td Giá trị hữu ích còn lại của X trong một giao tác Td, ký hiệu re(X, Td) sau khi sắp xếp theo ≻, được tính như sau:

re(X, Td) = ∑i∈Td ˄ i≻x,∀x∈X u(i, Td)

Ví dụ: Dựa vào bảng 2.1 và bảng 2.2 tính re của {A, E} trong giao tác T2 Gọi ≻ sắp xếp theo thứ tự alpha b ta có: (G ≻ F ≻ E ≻ D ≻ C ≻ B ≻ A)

Giao tác T2 = {(A,2)(C,6)(E,2)(G,5)}

Sau khi sắp xếp các mục trong T2 theo ≻, T2= {G, E, C, A}

re({A, E}, T2) = u(G, T2) = 5

Gọi ≻ là thứ tự sắp xếp các mục của I, thứ tự sắp xếp tất cả các mục trong không gian tìm kiếm là 2I được biểu diễn dưới dạng cây Trong không gian tìm kiếm, thuật toán EFIM sử dụng phương pháp tìm kiếm theo chiều sâu: Đầu tiên đào sâu từ gốc (rỗng) tiếp đến là đào sâu các tập mục trên cây con theo thứ tự ≻

Trang 36

Ví dụ: Xét I = {A, B, C, D} và cây tìm kiếm được biểu diễn như sau:

Hình: 2.1 Biểu diễn cây tìm kiếm của I

Một số định nghĩa tìm kiếm các tập mục theo chiều sâu:

Gọi α là tập mục, Z là mục đơn mở rộng của α nếu Z = α  {z}, z  E(α)

Ví dụ: Xét CSDL D, bảng 2.1 bảng 2.2 Gọi ≻ sắp xếp theo thứ tự alpha Cho α = D, E(α) = {E, F, G} ta có mục đơn mở rộng của α: {D, E}, {D, F}, {D, G}

Để giảm chi phí quét CSDL cần phải giảm kích thước dữ liệu, EFIM sử dụng

Ngày đăng: 24/04/2022, 15:20

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Nguyễn Hữu Trọng (2007), “Thuật toán khai phá tập mục dữ liệu thường xuyên trong cơ sở dữ liệu gia tăng dựa trên phân lớp dữ liệu”, tạp chí Khoa học và Công nghệ Sách, tạp chí
Tiêu đề: Thuật toán khai phá tập mục dữ liệu thường xuyên trong cơ sở dữ liệu gia tăng dựa trên phân lớp dữ liệu
Tác giả: Nguyễn Hữu Trọng
Năm: 2007
[3] TS. Đỗ Phúc (2006), “Giáo trình khai thác dữ liệu”, NXB Đại học quốc gia TP Hồ Chí Minh.Tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình khai thác dữ liệu”
Tác giả: TS. Đỗ Phúc
Nhà XB: NXB Đại học quốc gia TP Hồ Chí Minh. Tiếng Anh
Năm: 2006
[4] R. Agrawal, R. Srikant (1994) “Fast algorithms for mining association rules in large databases”, Proceedings of 20th international conference on very large databases, Vol. 1215, pp. 487-499 Sách, tạp chí
Tiêu đề: Fast algorithms for mining association rules in large databases
[5] H. Yao, H. J. Hamilton, C. J. Butz, “A foundation approach to mining itemset utilities from databases”, in: Proceedings of the Third SIAM International Conference on Data Mining, Orlando, Florida, 2004, pp.482-486 Sách, tạp chí
Tiêu đề: A foundation approach to mining itemset utilities from databases
[6] H. Yao, H. J. Hamilton, L. Geng, “A Unified Framework for Utility Based Measures for Mining Itemsets”, UBDM06, Philadelphia, Pennsyl-vania, USA, August 2006 Sách, tạp chí
Tiêu đề: A Unified Framework for Utility Based Measures for Mining Itemsets
[7] Jiawei Han, Micheline Kamber; Jian Pei (2012) “Data Mining Concepts and Techniques” Third Edition Sách, tạp chí
Tiêu đề: Data Mining Concepts and Techniques
[8] Liu, Y. Liao, W. Choudhary. A: (2005) “A two-phase algorithm for fast discovery of high utility itemsets”, In: Proc. 9th Pacic-Asia Conf. on Knowl. Discovery and DataMining, pp. 689-695 (2005) Sách, tạp chí
Tiêu đề: A two-phase algorithm for fast discovery of high utility itemsets
[9] Liu, M. J. Qu, “Mining high utility itemsets without candidate generation”, In Sách, tạp chí
Tiêu đề: Mining high utility itemsets without candidate generation
[11] T. Mitchell (1999) “Machine Learning and Data Mining”, Communications of the ACM, Vol. 42, No. 11, pp. 30-36 Sách, tạp chí
Tiêu đề: Machine Learning and Data Mining
[12] Sudip Bhattacharya, Deepty Dubey “High Utility Itemset Mining”International Journal of Emerging Technology and Advanced Engineering 2012 pp. 476-481 Sách, tạp chí
Tiêu đề: High Utility Itemset Mining
[13] S. Shankar, T. P. Purusothoman, S. Jayanthi, N. Babu, “A fast agorithm for mining high utility itemsets”, in: Proceedings of IEEE International Advance Computing Conference (IACC 2009), Patiala, India, pp.1459- 1464 Sách, tạp chí
Tiêu đề: A fast agorithm formining high utility itemsets
[14] S. Zida, P. Fournier-Viger, J. C. W. Lin, C. W. Wu, VS. Tseng (2015) “EFIM:A Highly Efficient Algorithm for Mining High-Utility Itemsets mining”, Mexican International Conference on Artificial. 530-546 Sách, tạp chí
Tiêu đề: EFIM:"A Highly Efficient Algorithm for Mining High-Utility Itemsets mining
[15] V. Philippe Fournier, C. W. Wu, S. Zida,V. S. Tseng “FHM: Faster High- Utility Itemset Mining using Estimated Utility Co-occurrence Pruning”, 2014, pp. 83-92Trang Web Sách, tạp chí
Tiêu đề: FHM: Faster High-Utility Itemset Mining using Estimated Utility Co-occurrence Pruning
Proc. 22nd ACM Intern. Conf. Info. and Know. Management, pp. 55{64 (2012) Khác
[16] Siêu thị Co.opMart <http://www.co-opmart.com.vn/trangchu/ gioithieu/ gioi- thieu-ve-coopmart_2209.html > (Truy cập: 19/04/17) Khác

HÌNH ẢNH LIÊN QUAN

DANH MỤC CÁC BẢNG - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
DANH MỤC CÁC BẢNG (Trang 9)
Số hiệu bảng Tên bảng Trang - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
hi ệu bảng Tên bảng Trang (Trang 9)
DANH MỤC CÁC HÌNH - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
DANH MỤC CÁC HÌNH (Trang 10)
Hình 1.1. Quá trình khám phá tri thức - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
Hình 1.1. Quá trình khám phá tri thức (Trang 16)
Bảng 1.1. Biểu diễn ngang - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
Bảng 1.1. Biểu diễn ngang (Trang 22)
Bảng 1.2. Biểu diễn dọc - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
Bảng 1.2. Biểu diễn dọc (Trang 23)
Bảng 1.3. Biểu diễn ma trận giao tác - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
Bảng 1.3. Biểu diễn ma trận giao tác (Trang 23)
Ví dụ: Đối với CSDL giao tác trong bảng 1.1, xét tập mục {A, B},cho thấy: - Số giao tác chứa tập mục {A, B} là 2 - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
d ụ: Đối với CSDL giao tác trong bảng 1.1, xét tập mục {A, B},cho thấy: - Số giao tác chứa tập mục {A, B} là 2 (Trang 24)
Bảng 2.1. Cơ sở dữ liệu giao tác - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
Bảng 2.1. Cơ sở dữ liệu giao tác (Trang 30)
Ví dụ: Trong bảng 2.1 và bảng 2.2 tính độ hữu ích của giao tác T1, T2 trong trong CSDL giao tác D - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
d ụ: Trong bảng 2.1 và bảng 2.2 tính độ hữu ích của giao tác T1, T2 trong trong CSDL giao tác D (Trang 34)
Hình: 2.1. Biểu diễn cây tìm kiếm củ aI - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
nh 2.1. Biểu diễn cây tìm kiếm củ aI (Trang 36)
Bảng 2.5. Giá trị TWU bằng utility-bin - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
Bảng 2.5. Giá trị TWU bằng utility-bin (Trang 42)
2.5.2. Thuật toán EFIM - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
2.5.2. Thuật toán EFIM (Trang 42)
Bảng 2.6. CSDL sau khi sắp xếp các giao tác - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
Bảng 2.6. CSDL sau khi sắp xếp các giao tác (Trang 45)
Bảng 2.8. Tập mục hữu ích cao - Ứng dụng thuật toán EFIM để khai phá tập mục hữu ích cao từ cơ sở dữ liệu bán hàng tại siêu thị co opmart quảng ngãi
Bảng 2.8. Tập mục hữu ích cao (Trang 46)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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