1. Trang chủ
  2. » Công Nghệ Thông Tin

Khai phá tập mục lợi ích cao và ứng dụng tại công ty cổ phần siêu thị VHSC (Luận văn thạc sĩ)

80 440 3
Tài liệu đã được kiểm tra trùng lặp

Đ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 80
Dung lượng 3 MB

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

Nội dung

Khai phá tập mục lợi ích cao và ứng dụng tại công ty cổ phần siêu thị VHSCKhai phá tập mục lợi ích cao và ứng dụng tại công ty cổ phần siêu thị VHSCKhai phá tập mục lợi ích cao và ứng dụng tại công ty cổ phần siêu thị VHSCKhai phá tập mục lợi ích cao và ứng dụng tại công ty cổ phần siêu thị VHSCKhai phá tập mục lợi ích cao và ứng dụng tại công ty cổ phần siêu thị VHSCKhai phá tập mục lợi ích cao và ứng dụng tại công ty cổ phần siêu thị VHSCKhai phá tập mục lợi ích cao và ứng dụng tại công ty cổ phần siêu thị VHSCKhai phá tập mục lợi ích cao và ứng dụng tại công ty cổ phần siêu thị VHSCKhai phá tập mục lợi ích cao và ứng dụng tại công ty cổ phần siêu thị VHSCKhai phá tập mục lợi ích cao và ứng dụng tại công ty cổ phần siêu thị VHSCKhai phá tập mục lợi ích cao và ứng dụng tại công ty cổ phần siêu thị VHSC

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan nội dung và kết quả trong luận văn "Khai phá tập mục lợi ích cao và ứng dụng tại công ty Cổ phần siêu thị VHSC" này là công trình của riêng tôi dưới sự hướng dẫn của GS.TS Vũ Đức Thi là trung thực và không trùng lặp với các đề tài khác Trong toàn bộ luận văn, những điều được trình bày là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu Tôi cũng xin cam đoan tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp

Hà nội, tháng 10 năm 2017

Tác giả

Nguyễn Trọng Thắng

Trang 4

LỜI CẢM ƠN

Lời đầu tiên tôi xin gửi lời cảm ơn chân thành và biết ơn sâu sắc tới GS.TS

Vũ Đức Thi - Viện trưởng Viện Công nghệ Thông tin - Trường Đại học Quốc gia Hà nội, người thầy đã chỉ bảo và hướng dẫn tận tình cho tôi trong suốt quá trình hướng dẫn nghiên cứu khoa học và thực hiện luận văn này

Tôi xin chân thành cảm ơn các thầy, cô giáo Khoa công nghệ thông tin 1- Học viện Bưu chính Viễn thông đã tham gia giảng dạy, tạo mọi điều kiện cho tôi được học tập, nâng cao trình độ kiến thức để phục vụ cho công tác của tôi hiện tại và sau này

Tôi xin cảm ơn Ban lãnh đạo, các cán bộ chuyên môn phòng ban chức năng tại Công ty cổ phần siêu thị VHSC, đã tạo điều kiện cho tôi tiếp xúc trực tiếp tìm hiểu các thông tin liên quan đến chuyên môn trong ngành và giúp tôi tiếp cận với kho dữ liệu bán hàng tại Công ty

Cuối cùng, tôi xin gửi lời cảm ơn tới gia đình, bạn bè, đồng nghiệp đã luôn động viên, hỗ trợ tôi trong quá trình học tập và nghiên cứu đề tài

Mặc dù đã rất cố gắng, song luận văn này không thể tránh khỏi những thiếu sót, kính mong được sự chỉ dẫn, góp ý của các Quý thầy cô và các bạn

Tôi xin trân trọng cảm ơn !

Hà nội, tháng 10 năm 2017

Tác giả

Nguyễn Trọng Thắng

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v

DANH SÁCH BẢNG vii

DANH SÁCH HÌNH VẼ viii

MỞ ĐẦU 1

Chương 1 - CƠ SỞ LÝ THUYẾT 4

1.1 Mở đầu 4

1.1.1 Quy trình khai phá dữ liệu và phát hiện tri thức 4

1.1.2 Các phương pháp chính trong khai phá dữ liệu 5

1.1.3 Các cơ sở dữ liệu có thể khai phá 6

1.1.4 Kiến trúc của một hệ thống khai phá dữ liệu 7

1.1.5 Khai phá dữ liệu và một số lĩnh vực liên quan 8

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

1.1.7 Các vấn đề về cơ sở dữ liệu 9

1.2 Giới thiệu bài toán khai phá tập mục lợi ích cao 11

1.2.1 Khai phá tập mục thường xuyên 11

1.2.2 Giới thiệu bài toán khai thác tập lợi ích cao 12

1.2.3 Cách tiếp cận trong khai thác tập lợi ích cao 13

1.3 Các định nghĩa và quy ước trong khai thác tập mục lợi ích cao 13

1.4 Kết luận chương 1 16

Chương 2 - THUẬT TOÁN KHAI PHÁ TẬP MỤC LỢI ÍCH CAO 17

2.1 Thuật toán FHM 17

2.1.1 Đặt vấn đề 17

2.1.2 Nội dung thuật toán FHM 18

2.2 Thuật toán FHN 22

Trang 6

2.2.1 Đặt vấn đề 22

2.2.2 Nội dung thuật toán FHN 26

2.3 Thuật toán PHM 31

2.3.1 Đặt vấn đề 31

2.3.2 Nội dung thuật toán PHM 37

2.4 Thuật toán FOSHU 41

2.4.1 Đặt vấn đề 41

2.4.2 Nội dung thuật toán FOSHU 45

2.5 Kết luận chương 2 52

Chương 3 - CÀI ĐẶT ỨNG DỤNG THỬ NGHIỆM 53

3.1 Phát biểu bài toán 53

3.2 Thông tin cơ sở dữ liệu mẫu 53

3.3 Lựa chọn công cụ phát triển 54

3.4 Quy trình xây dựng ứng dụng khai phá tập mục lợi ích cao 56

3.5 Áp dụng khai phá tập mục lợi ích cao 57

3.5.1 Lựa chọn dữ liệu giao dịch 57

3.5.2 Thu thập và tiền xử lý dữ liệu 57

3.5.3 Thực hiện chương trình khai phá lợi ích cao 59

3.5.4 Kết quả thu được khi sử dụng thuật toán 60

3.5.5 Đánh giá kết quả chương trình 64

3.6 Kết luận chương 3 65

KẾT LUẬN 66

TÀI LIỆU THAM KHẢO 67

Trang 7

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

ALC Abandoning List

Construction early

Ngừng xây dựng danh sách lợi ích của một tập nếu một điều kiện cụ thể được đáp ứng

EAPP

Estimated Average Periodicity Pruning

Phương pháp ước lượng chu kì trung bình

EUCP

Estimated Utility Cooccurrence Pruning

Phương pháp ước lượng giá trị lợi ích đồng thời

Tên thuật toán khai thác tập mục lợi ích cao sử dụng phương pháp cắt tỉa đồng thời

FHN

Efficient Mining of Utility Itemsets with Negative Unit Profits

High-Khai phá hiệu quả tập mục lợi ích cao với lợi nhuận đơn vị dương và

âm FIM Frequent Itemset Mining Khai phá tập mục xuyên

FOSHU

Faster On-Shelf High Utility Itemset Mining – with or without Negative Unit Profit

Khai phá hiệu quả tập mục lợi ích cao có yêu tố thời gian bán với lợi nhuận đơn vị dương và âm

HOUs High on-shelf utility itemset Tập mục lợi ích cao có yếu tố thời

gian HUIs High utility itemsets Tập mục lợi ích cao

HUIM High utility itemset mining Khai thác tập mục lợi ích cao

Trang 8

MIUTI Minimum item utility Độ lợi ích tối thiểu

MINULTI Min utility Giá trị ngưỡng tối thiểu

PFP Periodic frequent patterns Mẫu thường xuyên định kỳ

PHM Mining Periodic High-Utility

Itemsets

Khai thác tập mục lợi ích cao theo chu kỳ

PHUIs Periodic high-utility itemsets Tập mục lợi ích cao theo chu kỳ

TID Transaction Item Database Giao tác

TU Transaction Utility Độ lợi ích của giao tác

TWDCP

Transaction-weighted Downward Closure Property Trọng số giao dịch đóng giảm

TWU

Transaction – Weighted Utilization Trọng số độ lợi ích của giao tác

UL Utility-list Danh sách giá trị lợi ích

UP – Growth Utility Pattern Growth Thuật toán UP – Growth

UP – Tree Utility Pattern Tree Cây Up – tree

WIT – Tree

Weighted Itemset – Tidset Tree

Cây WIT – Tree

TWD Transaction-Weighted Giao dịch có trọng số giảm

Trang 9

DANH SÁCH BẢNG

Bảng 1.1: Cơ sở dữ liệu (trái) và giá trị lợi ích bên ngoài (phải) 13

Bảng 1.2: Lợi ích giao tác (trái), các giá trị TWU (giữa) và EUCS (phải) 14

Bảng 2.1: Cơ sở dữ liệu (trái) và giá trị lợi ích bên ngoài (phải) 23

Bảng 2.2: Lợi ích giao tác (trái), giá trị TWU mục đơn (giữa), EUCS (phải) 25

Bảng 2.3: Tập các PHUI 35

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

Bảng 2.5: Giá trị lợi nhuận ngoài (lợi nhuận theo đơn vị) 42

Bảng 3.1: Bảng mẫu hóa đơn bán lẻ 54

Bảng 3.2: Cơ sở dữ liệu giao dịch mẫu 54

Bảng 3.3: Dữ liệu sau khi lọc thông tin 58

Bảng 3.4: Dữ liệu đầu vào (mẫu) cho các thuật toán FHN, FHM,PHM 58

Bảng 3.5: Dữ liệu đầu vào thuật toán FOSHU 59

Bảng 3.6: Dữ liệu đầu ra thuật toán FHM 61

Bảng 3.7: Dữ liệu đầu ra thuật toán FHN 61

Bảng 3.8: Bảng dữ liệu đầu ra thuật toán PHM 62

Bảng 3.9: Dữ liệu đầu ra thuật toán FOSHU 63

Trang 10

DANH SÁCH HÌNH VẼ

Hình 1.1: Quy trình phát hiện tri thức 4

Hình 1.2: Kiến trúc của một hệ khai phá dữ liệu điển hình 7

Hình 1.3: Khai phá dữ liệu và các lĩnh vực có liên quan 9

Hình 2.1: Thuận toán FHM 18

Hình 2.2: Thuật toán Seach 20

Hình 2.3: Thuật toán Construct 21

Hình 2.4: Thuật toán FHN 26

Hình 2.5:Thuật toán Seach 27

Hình 2.6: Thuật toán Construct 30

Hình 2.7: Thuật toán PHM 37

Hình 2.8: Thuật toán Seach 39

Hình 2.9: Thuật toán Construct 40

Hình 2.10: Thuật toán FOSHU 47

Hình 2.11: Thuật toán Seach 48

Hình 2.12: Thuật toán Construct 50

Hình 3.1: Giao diện chính chương trình 55

Hình 3.2: Giao diện chọn tệp dữ liệu đầu vào với các thuật toán 55

Hình 3.3: Quy trình ứng dụng khai phá tập mục lợi ích cao 56

Hình 3.4: Chương trình với thuật toán FHM 59

Hình 3.5: Chương trình với thuật toán FHN 60

Hình 3.6: Chương trình với thuật toán PHM 60

Hình 3.7: Chương trình với thuật toán FOSHU 60

Trang 11

MỞ ĐẦU

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

Phân tích qua trình bán hàng, mua sắm của khách hàng là một trong yêu cầu quan trọng trong lĩnh vực hoạt động bán lẻ Trong đó, thông tin giao dịch thể hiện qua từng hóa đơn và dữ liệu trên các hóa đơn là rất quan trọng để các nhà quản lý rút ra được thông tin có giá trị về qua trình hàng bán ra, nhu cầu mua sắm của khách hàng để xây dựng chiến lược khác nhau trong quá trình hoạt động sản xuất kinh doanh Vấn đề làm thế nào để có thể rút ra được những thông tin có giá trị từ dữ liệu hóa đơn bán hàng với số lượng hóa đơn lên tới hàng triệu hóa đơn là quá trình dễ sai sót và tốn quá nhiều thời gian nếu như thực hiện thủ công Vì vậy, tác giả tập trung tìm hiểu, phân tích các quá trình giao dịch bán hàng dựa trên các tập dữ liệu giao dịch tìm ra các nhóm mặt hàng được bán, theo chu kỳ, định kỳ, và tìm ra được các nhóm mặt hàng đưa ra lợi nhuận

Từ ý nghĩa khoa học và thực tiễn nêu trên tác giả chọn đề tài: “Khai phá tập mục lợi ích cao và ứng dụng tại công ty Cổ phần siêu thị VHSC”

2.Tổng quan về vấn đề nghiên cứu

Sự phát triển nhanh chóng của các ứng dụng công nghệ thông tin và Internet vào nhiều lĩnh vực đời sống xã hội như quản lý kinh tế, quản lý nhân sự, khoa học kỹ thuật…đã mở ra nhiều cơ hội cho các tổ chức, doanh nghiệp trong việc thu thập và

xử lý thông tin Để khai thác có hiệu quả nguồn thông tin từ các cơ sở dữ liệu khổng

lồ, yêu cầu cấp thiết đặt ra là cần phải có những kỹ thuật, công cụ để chuyển đổi kho

dữ liệu khổng lồ thành những tri thức có ích Từ đó các kỹ thuật khai phá dữ liệu trở thành một lĩnh vực được đặc biệt quan tâm trong ngành Công nghệ thông tin

Trong lĩnh vực kinh doanh siêu thị việc phát hiện phân tích lợi nhuận dựa trên giao dịch hóa đơn khách hàng là vô cùng cấp thiết Trên cơ sở đó, luận văn xác định một số nội dung trọng tâm cần giải quyết như sau:

Trang 12

- Cần tìm ra những thuật toán hiệu quả cho việc phát hiện các nhóm hàng bán

ra đem lại lợi nhuận cao dựa trên hóa đơn giao dịch

- Cần tìm ra những thuật toán hiệu quả cho việc phát hiện nhu cầu mua hàng của khách hàng thường xuyên đem lại lợi nhuận cao dựa trên hóa đơn giao dịch

- Nghiên cứu, khả năng ứng dụng tại công ty Cổ phần siêu thị VHSC

3.Mục tiêu nghiên cứu

Mục tiêu tổng quát:

 Nghiên cứu tập mục lợi ích cao

 Khảo sát các nhu cầu thực tế tại Cổ phần siêu thị VHSC như: các mặt hàng bán được với lợi nhuận thu được dựa trên giao dịch, chu kỳ bán hàng hóa đem lại lợi nhuận thông qua các giao dịch… qua đó đưa ra phương pháp khai phá tập mục lợi ích cao phù hợp

 Mục tiêu cụ thể:

 Tìm hiểu thuật toán khai phá tập mục lợi ích cao có thể áp dụng vào nhu cầu thực tế tại Công ty Cổ phần siêu thị VHSC

 Cài đặt chương trình thử nghiệm khai phá tập mục lợi ích cao

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

 Đối tượng nghiên cứu:

 Một số vấn đề cơ bản khai phá tập mục lợi ích cao

 Một số thuật toán khai phá các tập mục lợi ích cao như: thuật toán FHM, thuật toán FHN, thuật toán PHM, thuật toán FOSHU và khả năng áp dụng tại công

ty cổ phần Siêu thị VHSC

 Phạm vi nghiên cứu

 Vì có nhiều khó khăn và hạn chế khách quan, nên giai đoạn này tác giả tìm hiểu các thuật toán khai phá tập mục lợi ích cao trên dữ liệu tĩnh Việc xử lý

dữ liệu theo hướng tập trung (chưa nghiên cứu hướng phân tán)

 Nghiên cứu khả năng ứng dụng các thuật toán khai phá tập mục lợi ích cao tại công ty cổ phần Siêu thị VHSC như: Thuật toán FHM, thuật toán FHN, thuật toán PHM, thuật toán FOSHU

Trang 13

 Không đi sâu nghiên cứu chi tiết và đánh giá hiệu suất các thuật toán

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

 Nghiên cứu lý thuyết:

 Luận văn sử dụng phương pháp thu thập, phân tích, tổng hợp thông tin các kiến thức nền tảng, các công bố khoa học và các ứng dụng của vấn đề khai phá tập mục lợi ích cao từ các nguồn tài liệu trên Internet và các nguồn tài liệu khác như các bài báo khoa học trên các kỷ yếu hội thảo, tạp chí chuyên ngành…

 Nghiên cứu thực nghiệm:

 Cài đặt thực nghiệm thuật toán

 Đánh giá khả năng áp dụng khai phá các thuật toán khai phá tập mục lợi ích cao tại Công ty cổ phần Siêu thị VHSC

6 Kết cấu của luận văn

dung như sau:

Chương 1- Cơ sở lý thuyết: Trình bày tổng quan về khai phá dữ liệu, khái quát

về khai phá tập mục thường xuyên, khai phá dữ liệu lợi ích cao, định nghĩa đối với bài toán khai phá tập mục lợi ích cao

Chương 2 - Thuật toán khai phá tập mục lợi ích cao: Trình bày các thuật toán khai phá tập mục lợi ích cao như thuật toán FHM, thuật toán FHN, thuật toán PHM

và thuật toán FOSHU

Chương 3 - Cài đặt ứng dụng thử nghiệm: Xây dựng ứng dụng trên cơ sở các thuật toán đã trình bày, kiểm tra với mẫu số liệu cụ thể, đánh giá khả năng ứng dụng

và áp dụng tại Công ty cổ phần siêu thị VHSC

Trang 14

Chương 1 - CƠ SỞ LÝ THUYẾT

1.1 Mở đầu

Trong kỷ nguyên bùng nổ công nghệ thông tin, các công nghệ lưu trữ dữ liệu ngày càng phát triển tạo điều kiện cho việc thu thập, lưu trữ dữ liệu tốt hơn Đặc biệt trong lĩnh vực kinh doanh, các doanh nghiệp đã nhận thức được tầm quan trọng của việc nắm bắt và xử lý thông tin, nhằm giúp các chủ doanh nghiệp trong việc vạch ra các chiến lược kinh doanh, kịp thời mang lại lợi nhuận to lớn Từ đó, khiến các tổ chức doanh nghiệp xây dựng một lượng dữ liệu khổng lồ cho riêng mình Các kho dữ liệu ngày càng lớn thì trong đó càng tiềm ẩn nhiều thông tin có ích

Khai phá dữ liệu (Data mining) là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong khối lượng lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu, 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ư: Khai phá tri thức từ CSDL (Knowledge mining from databases), trích lọc dữ liệu (Knowledge extraction), phân tích dữ liệu/mẫu (data/pattern analysis)…

1.1.1 Quy trình khai phá dữ liệu và phát hiện tri thức

Hình 1.1: Quy trình phát hiện tri thức

Từ dữ liệu thô quá trình khám phá tri thức có thể phân thành các bước sau:

Bước thứ nhất: Lựa chọn dữ liệu Là bước tuyển chọn những tập dữ liệu cần

Trang 15

được khai phá từ các tập dữ liệu lớn (databases, data warehouses, data repositories) ban đầu theo một số tiêu chí nhất định

Bước thứ hai: Thu thập và tiền xử lý dữ liệu Là bước làm sạch dữ liệu (xử lý

dữ liệu thiếu, dữ liệu nhiễu, dữ liệu không nhất quán, ), tổng hợp dữ liệu, rời rạc hóa dữ liệu, Biến đổi dữ liệu Đâ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 Sau bước tiền xử lý này, dữ liệu sẽ nhất quán, đầy

đủ, được rút gọn và rời rạc hóa

Bước thứ ba: Khai phá dữ liệu Là bước áp dụng những kỹ thuật phân tích

(phần nhiều là các kỹ thuật học máy) nhằm khai thác dữ liệu, trích lọc những mẫu tin (information patterns), những mối quan hệ đặc biệt trong dữ liệu

Bước thứ tư: Đánh giá và biểu diễn tri thức Những mẫu thông tin và mối quan

hệ trong dữ liệu đã được phát hiện ở bước khai phá dữ liệu được đánh giá theo những tiêu chí nhất định và được biểu diễn ở dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật,

Bước thứ năm: Tri thức Là hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ

các mô tả và dự đoán

Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện

1.1.2 Các phương pháp chính trong khai phá dữ liệu

Các phương pháp chính trong KPDL có thể được phân chia theo chức năng hay lớp các bài toán khác nhau như sau:

- Phân lớp và dự đoán (classicfication and prediction): Xếp một đối tượng

vào một trong những lớp đã biết trước Hướng tiếp cận này thường sử dụng các kỹ thuật như học máy (Machine learning), cây quyết định (Decision tree), mạng nơ ron nhân tạo (Neural network) Với phương pháp này còn được gọi là học có giám sát

- Luật kết hợp (Association rules): Là dạng luật biểu diễn tri thức ở dạng

khá đơn giản Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu Luật kết hợp được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin sinh học, tài chính, thị trường chứng khoán

Trang 16

- Khai phá chuỗi theo thời gian: Tương tự như khai phá dữ liệu bằng luật

kết hợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán bởi vì chúng có tính

dự báo cao

- Phân cụm và phân đoạn: Sắp xếp các đối tượng theo từng cụm dữ liệu

tự nhiên (số lượng và tên của cụm chưa được biết trước) Các đối tượng được gom cụm sao cho mức độ tương tự giữa các đối tượng trong cùng một cụm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các cụm khác nhau là nhỏ nhất Lớp bài toán phân cụm còn được gọi là học không giám sát (Unsupervised learning)

- Khái niệm và tổng hợp hóa: Liên quan đến các phương pháp tìm kiếm một

mô tả cho một tập con dữ liệu Các kỹ thuật tóm tắt thường được áp dụng cho các phân tích dữ liệu tương tác có tính thăm dò và tạo báo cáo tự động

1.1.3 Các cơ sở dữ liệu có thể khai phá

KPDL được ứng dụng rộng rãi nên có rất nhiều dạng dữ liệu khác nhau có thể khai phá Sau đây là một số dữ liệu điển hình:

- Cơ sở dữ liệu quan hệ: Là cơ sở dữ liệu tác nghiệp được tổ chức theo mô

hình quan hệ, có cấu trúc cao, dữ liệu được mô tả bởi một tập những thuộc tính và lưu trong những bảng

- Cơ sở dữ liệu giao tác: Cơ sở dữ liệu giao tác là tập hợp những bản ghi

giao tác, trong đa số các trường hợp chúng là những bản ghi các dữ liệu hoạt động của doanh nghiệp, tổ chức

- CSDL đa chiều: Là các kho dữ liệu được tập hợp, chọn lọc từ nhiều nguồn

khác nhau CSDL đa chiều có mang tính lịch sử (mang tính thời gian) và chủ yếu phục vụ cho quá trình phân tích cũng như khai phá tri thức nhằm hỗ trợ quá trình

ra quyết định

- CSDL hướng đối tượng: Dữ liệu cũng được lưu trữ trong các bảng dữ liệu

nhưng các bảng có bổ sung thêm các tính năng hướng đối tượng như lưu trữ thêm các hành vi, nhằm thể hiện hành vi của đối tượng

- CSDL không gian: Bao gồm hai phần: Phần thứ nhất là dữ liệu quan hệ

Trang 17

hay giao tác, phần thứ hai là thông tin định vị hoặc thông tin địa lý Những luật kết hợp trên cơ sở dữ liệu không gian mô tả mối quan hệ giữa các đặc trưng trong cơ sở

dữ liệu không gian

- CSDL có yếu tố thời gian: Giống như cơ sở dữ liệu không gian, cơ sở dữ

liệu có yếu tố thời gian bao gồm hai phần: Phần thứ nhất là dữ liệu quan hệ hay giao tác, phần thứ hai là thông tin về thời gian xuất hiện dữ liệu ở phần thứ nhất Những luật kết hợp có yếu tố thời gian có nhiều thông tin hơn những luật kết hợp cơ bản

- CSDL đa phương tiện: CSDL được tích hợp gồm nhiều dạng khác nhau

như: âm thanh, hình ảnh, văn bản

1.1.4 Kiến trúc của một hệ thống khai phá dữ liệu

Hình 1.2: Kiến trúc của một hệ khai phá dữ liệu điển hình

Kiến trúc của một hệ thống KPDL điển hình có thể có thành phần được mô tả trong hình Hình 1.2

CSDL, kho dữ liệu hoặc các lưu trữ thông tin khác: một hay một tập các CSDL,

các kho dữ liệu, các trang tính hay các dạng lưu trữ thông tin khác Kỹ thuật làm sạch

dữ liệu và tích hợp dữ liệu có thể được thể hiện trên những dữ liệu này

Máy chủ CSDL hay máy chủ kho dữ liệu: Máy chủ này có trách nhiệm lấy

Trang 18

những dữ liệu thích hợp dựa trên các yêu cầu khai phá của người dùng

Cơ sở tri thức: Đây là miền tri thức được dùng để hướng dẫn việc tìm kiếm

hay đánh giá độ quan trọng của các hình mẫu kết quả

Máy KPDL: Một hệ thống KPDL cần phải có một tập các modun chức năng

để thực hiện công việc như: đặc trưng hoá, kết hợp, phân lớp, phân cụm, phân tích sự tiến hoá

Modun đánh giá mẫu: Bộ phận này tương tác với các modun KPDL để duyệt

tìm các mẫu đáng được quan tâm Nó có thể dùng các ngưỡng về độ quan tâm để lọc mẫu đã khám phá được Cũng có thể modun đánh giá mẫu được tích hợp vào modun khai phá, tuỳ theo sự cài đặt của phương pháp khai phá được dùng

Giao diện đồ họa người dùng: Bộ phận này cho phép người dùng giao tiếp với

hệ thống KPDL Ngoài ra, bộ phận này còn cho phép người dùng xem các lược đồ CSDL, lược đồ kho dữ liệu (hay các cấu trúc dữ liệu), các đánh giá mẫu và hiển thị các mẫu trong khuôn dạng khác nhau

1.1.5 Khai phá dữ liệu và một số lĩnh vực liên quan

Khai phá dữ liệu được coi là trung tâm của nhiều ngành khoa học, nó liên quan đến rất nhiều ngành, nhiều lĩnh vực khác nhau như tài chính, ngân hàng, thương mại,

y tế, giáo dục, thống kê, máy móc, trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán, tính toán song song, thu nhận tri thức trong các hệ chuyên gia, quan sát dữ liệu

Lĩnh vực học máy và nhận dạng mẫu là giống nhau trong khai phá dữ liệu nghiên cứu các lý thuyết và thuật toán của hệ thống trích ra các mẫu và mô hình dữ liệu Khai phá dữ liệu tập trung vào việc mở rộng lý thuyết và thuật toán cho các vấn

đề về tìm ra các mẫu đặc biệt, đây được coi là những mẫu hữu ích hoặc tri thức quan trọng tập dữ liệu lớn

Đặc biệt, phát hiện tri thức và khai phá dữ liệu rất gần gũi với lĩnh vực thống

kê, sử dụng các phương pháp thống kê để mô hình dữ liệu và phát hiện các mẫu, luật…, kho dữ liệu và các công cụ xử lý trực tuyến (OLAP – online analytical processing) tập trung vào phân tích dữ liệu đa chiều, tốt hơn SQL trong tính toán và phân tích thống kê đa chiều cũng liên quan chặt chẽ đến khai phá dữ liệu Các phương

Trang 19

pháp khai phá dữ liệu không có gì là mới và hoàn toàn dựa trên các phương pháp cơ bản đã biết Nhưng có một số điểm khác biệt và ưu thế hơn so với các phương pháp

cơ bản như sau:

+ Học máy

+ Phương pháp hệ chuyên gia

+ Phát kiến khoa học

+ Phương pháp thống kê

Hình 1.3: Khai phá dữ liệu và các lĩnh vực có liên quan

Đặc trưng của hệ thống khai phá dữ liệu là nhờ vào các phương pháp thuật toán và kỹ thuật từ những lĩnh vực khác nhau, với mục đích cuối cùng là trích rút ra

tri thức có ích trong CSDL khổng lồ

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

+ Phân tích dữ liệu gen và sinh học y học

+ Phân tích dữ liệu tài chính

+ Phân tích các mẫu gian lận và xác định các mẫu khác thường

1.1.7 Các vấn đề về cơ sở dữ liệu

Dữ liệu lớn: Cho đến nay, các cơ sở dữ liệu với hàng trăm trường và bảng,

hàng triệu bản ghi và với kích thước đến gigabytes đã là chuyện bình thường Hiện nay đã bắt đầu xuất hiện các cơ sở dữ liệu có kích thước tới terabytes Các phương

Y tế

Thuật toán Giáo dục

Trang 20

pháp giải quyết hiện nay là đưa ra một ngưỡng cho cơ sở dữ liệu, lấy mẫu, các phương pháp xấp xỉ, xử lý song song (Agrawal et al, Holsheimer et al)

Kích thước lớn: không chỉ có số lượng bản ghi lớn mà số các trường trong cơ

sở dữ liệu cũng nhiều Vì vậy mà kích thước của bài toán trở nên lớn hơn Một tập dữ liệu có kích thước lớn sinh ra vấn đề làm tăng không gian tìm kiếm mô hình suy diễn Hơn nữa, nó cũng làm tăng khả năng một giải thuật khai phá dữ liệu có thể tìm thấy các mẫu giả

Dữ liệu động: Đặc điểm cơ bản của hầu hết các cơ sở dữ liệu là nội dung của

chúng thay đổi liên tục Dữ liệu có thể thay đổi theo thời gian và việc khai phá dữ liệu cũng bị ảnh hưởng bởi thời điểm quan sát dữ liệu Vậy thay đổi dữ liệu nhanh chóng có thể làm cho các mẫu khai thác được trước đó mất giá trị Hơn nữa, các biến trong cơ sở dữ liệu của ứng dụng đã cho cũng có thể bị thay đổi, bị xóa hoặc là tăng lên theo thời gian

Các trường không phù hợp: Một đặc điểm quan trọng khác là tính không thích

hợp của dữ liệu, nghĩa là mục dữ liệu trở thành không thích hợp với trọng tâm hiện tại của việc khai thác Một khía cạnh khác đôi khi cũng liên quan đến độ phù hợp là tính ứng dụng của một thuộc tính đối với một tập con của cơ sở dữ liệu

Các giá trị bị thiếu: Sự có mặt hay vắng mặt của giá trị các thuộc tính dữ liệu

phù hợp có thể ảnh hưởng đến việc khai phá dữ liệu Trong hệ thống tương tác, sự thiếu vắng dữ liệu quan trọng có thể dẫn đến việc yêu cầu cho giá trị của nó hoặc kiểm tra để xác định giá trị của nó Hoặc cũng có thể sự vắng mặt của dữ liệu được coi như một điều kiện, thuộc tính bị mất có thể được coi như một giá trị trung gian và

là giá trị không biết

Các trường bị thiếu: Một quan sát không đầy đủ cơ sở dữ liệu có thể làm cho

các dữ liệu có giá trị bị xem như có lỗi Việc quan sát cơ sở dữ liệu phải phát hiện được toàn bộ các thuộc tính có thể dùng để giải thuật khai phá dữ liệu có thể áp dụng nhằm giải quyết bài toán

Độ nhiễu và không chắc chắn: Đối với các thuộc tính đã thích hợp, độ nghiêm

trọng của lỗi phụ thuộc vào kiểu dữ liệu của các giá trị cho phép Các giá trị của các

Trang 21

thuộc tính khác nhau có thể là các số thực, số nguyên, chuỗi và có thể thuộc vào tập các giá trị định danh Các giá trị định danh này có thể sắp xếp theo thứ tự từng phần hoặc toàn phần, thậm chí có thể có cấu trúc ngữ nghĩa

Mối quan hệ phức tạp giữa các trường: các thuộc tính hoặc các giá trị có cấu

trúc phân cấp, các mối quan hệ giữa các thuộc tính và các phương tiện phức tạp để diễn tả tri thức về nội dung của cơ sở dữ liệu yêu cầu các giải thuật phải có khả năng

sử dụng một cách hiệu quả các thông tin này

1.2 Giới thiệu bài toán khai phá tập mục lợi ích cao

1.2.1 Khai phá tập mục thường xuyên

Bài toán truyền thống (hay còn gọi bài toán nhị phân) khai phá luật kết hợp do

R Agrawal, T Imielinski và A N Swami đề xuất và nghiên cứu lần đầu tiên vào năm 1993 Mục đích của nó là phát hiện các tập mục thường xuyên, từ đó tạo các luật kết hợp

Một hướng mở rộng của bài toán có nhiều ứng dụng là quan tâm đến cấu trúc

dữ liệu và mức độ khác nhau của các mục dữ liệu, các thuộc tính trong cơ sở dữ liệu Một số mô hình mở rộng của bài toán đã được nghiên cứu là:

- Quan tâm đến mức độ khác nhau của các mục dữ liệu bằng cách gán cho mỗi mục một giá trị gọi là trọng số Độ hỗ trợ và và tin cậy của luật kết hợp khi đó trở thành độ hỗ trợ và độ tin cậy có trọng số Luật kết hợp có độ hỗ trợ và độ tin cậy trọng

số hóa được gọi là luật kết hợp có trọng số

- Quan tâm tới các kiểu thuộc tính khác nhau trong cơ sở dữ liệu như nhị phân,

đa phân, định lượng Luật kết hợp lúc đó được gọi là luật kết hợp định lượng Để tìm các luật kết hợp định lượng người ta đưa bài toán về dạng nhị phân bằng cách phân khoảng các giá trị thuộc tính, sau đó có thể sử dụng các thuật toán khai phá dữ liệu nhị phân đã biết

- Chú ý đến cả cấu trúc dữ liệu lẫn mức độ quan trọng khác nhau của các thuộc tính trong cơ sở dữ liệu Theo hướng này, nhiều nhà nghiên cứu đã đề xuất các mô hình mở rộng: khai phá tập mục cổ phần cao đánh giá sự đóng góp của tập mục trong tổng số các mục của cơ sở dữ liệu; khai phá tập mục lợi ích cao, đánh giá lợi ích mà

Trang 22

tập mục mang lại trong cơ sở dữ liệu

Trong khai phá luật kết hợp cơ bản, các thuật toán khám phá tập mục thường xuyên được xây dựng theo phương pháp tìm kiếm từng bước Cơ sở của các thuật toán này là tính chất Apriori hay còn gọi là tính chất phản đơn điệu, tính chất đóng xuống của tập mục thường xuyên Đó là tập con khác rỗng của một tập mục thường xuyên phải là tập thường xuyên

Gần đây, nhằm khắc phục hạn chế của bài toán cơ bản khai phá luật kết hợp, người ta đã mở rộng nó theo nhiều hướng khác nhau Theo tác giả Vũ đức Thi [1], đã trình bày bài toán khai phá tập mục lợi ích cao Khai phá tập mục lợi ích cao là khám

phá tất cả tập mục X đem lại lợi ích xác định bởi người sử dụng

1.2.2 Giới thiệu bài toán khai thác tập lợi ích cao

Trong mô hình khai thác lợi ích cao, giá trị của mục dữ liệu trong giao tác là một số (chẳng hạn như số lượng đã bán của mặt hàng), 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 đó, do người quản lý kinh doanh

xác định Lợi ích của một tập mục là số đo lợi nhuận của tập mục đó trong CSDL, nó

có thể là tổng lợi nhuận, là tổng chi phí của tập mục

Khai thác lợi ích cao là khai thác tất cả các tập mục X có lợi ích, không nhỏ hơn giá trị ngưỡng tối thiểu quy định bởi người sử dụng Các thuật toán khám phá tập mục thường xuyên được xây dựng theo phương pháp tìm kiếm từng bước Cơ sở của các thuật toán này là tính chất Apriori hay còn gọi là tính chất phản đơn điệu (anti monotone) của tập mục thường xuyên Tính chất đó là “tập con khác rỗng của một tập mục thường xuyên phải là tập thường xuyên” Điều này có nghĩa các (k+1)-tập mục thường xuyên chỉ có thể sinh ra từ các k tập mục thường xuyên Tính chất Apriori cho phép loại bỏ được các tổ hợp tập mục không thường xuyên ra khỏi không gian tìm kiếm tại mỗi bước Đáng tiếc là các tập mục lợi ích cao không thỏa mãn tính chất Apriori Do đó, việc rút gọn không gian tìm kiếm, phát hiện tập mục lợi ích cao không thể thực hiện đựợc như trong khai thác tập mục thường xuyên.Vì thế thách thức trong việc khai thác lợi ích là giới hạn kích thước của tập ứng viên và đơn giản việc tính toán để tính lợi ích

Trang 23

1.2.3 Cách tiếp cận trong khai thác tập lợi ích cao

-Dựa vào biên trên của độ có ích: công thức chặn trên của độ có ích, đồng thời

phát triển thuật toán UMining_H để tìm tập lợi ích cao

-Dựa vào định nghĩa về TWU: TWU thỏa tính chất Apriori để từ đó hình thành

nên thuật toán Two-Phase dựa trên thuật toán Apriori

-Dựa trên TWU và FP-tree, phát triển thuật toán HUIs dựa vào FP-tree -Dựa trên TWU và phương pháp cắt tỉa bằng cách ước lượng giá trị lợi ích

đồng thời mang tên EUCP

1.3 Các định nghĩa và quy ước trong khai thác tập mục lợi ích cao

Định nghĩa 1.1: Cơ sở dữ liệu giao tác: Cho tập các mục I= {i1,i2,…in} Một

giao tác T c là tập con của I,T c ∈ I Cơ sở dữ liệu giao tác là một tập các giao tác D =

{T1, T2, , T n }.Mỗi một giao tác T c , T c ∈ I và c được gán một định danh gọi là TID Mỗi mục i ∈ I liên quan đến một số dương 𝑝(𝑖) được gọi là lợi ích bên ngoài (ví dụ đơn vị lợi nhuận hay còn gọi là giá trị chủ quan ) Đối với mỗi giao tác T c mà

i ∈ T c là một số dương q(i, T c ) được gọi là lợi ích trong của i (ví dụ như số lượng

hàng hóa bán hay còn gọi là giá trị khách quan)

Ví dụ 1.1: Xem xét cơ sở dữ liệu của Bảng 1.1 (bên trái) Cơ sở dữ liệu này có

5 giao tác T1, T2, T 3 , T4 T5 Giao tác 𝑇2 cho thấy các mục 𝑎, 𝑐, 𝑒 và 𝑔 xuất hiện trong giao tác này cùng với lợi ích trong tương ứng (số lượng hàng hóa bán ) là: 2, 6, 2 và

5 Bảng 1.1 cho thấy các lợi ích bên ngoài (đơn vị lợi nhuận) của các mục tương ứng

5 2 1 2 3 1 1

Trang 24

Định nghĩa 1.2: Lợi ích của một mục/tập mục trong giao tác: Lợi ích của một

mục i trong một giao tác Tc được ký hiệu là u(i,T c ) và được định nghĩa là: 𝑝(𝑖) × 𝑞(𝑖, 𝑇𝑐) Lợi ích của tập mục 𝑋 (một nhóm tập mục 𝑋 ⊆ 𝐼) trong một giao tác 𝑇𝑐được ký hiệu là: 𝑢(𝑋, 𝑇𝑐) là tổng lợi ích của tất cả các mục i c thuộc X tại giao tác T c, tức là 𝑢(𝑋, 𝑇𝑐) =∑𝑖∈𝑋𝑢(𝑖, 𝑇𝑐) Ví dụ 1.2 Lợi ích của mục 𝑎 trong 𝑇2 là 𝑢(𝑎, 𝑇2) = 5

x 2 = 10 Lợi ích của tập mục {𝑎, 𝑐} trong 𝑇2 là 𝑢({𝑎, 𝑐}, 𝑇2) = 𝑢(𝑎, 𝑇2) + 𝑢(𝑐, 𝑇2) = 5 x 2 + 1 x 6 = 16

Định nghĩa 1.3: Lợi ích của một tập mục trong cơ sở dữ liệu giao tác: Lợi ích

của một tập mục 𝑋 được ký hiệu là 𝑢(𝑋) và được xác định là 𝑢(𝑋) =

∑𝑇𝑐∈𝑔(𝑋)𝑢(𝑋, 𝑇𝑐) khi 𝑔(𝑋) là tập hợp các giao tác chứa 𝑋 Ví dụ 1.3 Lợi ích của tập mục {𝑎, 𝑐} là 𝑢({𝑎, 𝑐}) = 𝑢(𝑎) + 𝑢(𝑐) = 𝑢(𝑎, 𝑇1) + 𝑢(𝑎, 𝑇2) + 𝑢(𝑎, 𝑇3) + 𝑢(𝑐, 𝑇1) + 𝑢(𝑐, 𝑇2) + 𝑢(𝑐, 𝑇3) = 5 + 10 + 5 + 1 + 6 + 1 =28

Định nghĩa 1.4: Khai phá tập mục lợi ích cao: Vấn đề của khai phá tập mục

lợi ích cao là phát hiện ra tất cả các tập mục có lợi ích cao Một tập 𝑋 được coi là tập mục lợi ích cao nếu độ lợi ích của nó 𝑢(𝑋) không nhỏ hơn ngưỡng lợi ích tối đa 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 do người dùng đặt ra Nếu không nó là tập lợi ích thấp

Ví dụ 1.4: Nếu 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 = 30, các tập mục lợi ích cao trong dữ liệu ở ví dụ này

Trang 25

Định nghĩa 1.5: Lợi ích giao tác: lợi ích giao tác (TU) của một giao tác 𝑇𝑐 là tổng lợi ích của các mục từ 𝑇𝑐thuộc 𝑇𝑐 Tức là:

𝑇𝑈(𝑇𝑐) = ∑ 𝑢(𝑥, 𝑇𝑐)

𝑥∈𝑇 𝑐

Ví dụ 1.5 Bảng 1.2 (trái) cho thấy TU của các giao tác 𝑇1, 𝑇2, 𝑇3, 𝑇4, 𝑇5

Định nghĩa 1.6: Lợi ích trọng số của giao tác: trọng số độ lợi ích của giao tác

(TWU) của một tập mục X được xác định là tổng lợi ích giao tác của các giao tác chứa X, tức là:

𝑇𝑊𝑈 (𝑋) = ∑ 𝑇𝑈 (𝑇𝑐)

𝑇𝑐∈𝑔(𝑋)

Ví dụ 1.6 Bảng 1.2 (giữa) cho thấy TWU của các mục đơn 𝑎, 𝑏, 𝑐, 𝑑, 𝑒, 𝑓, 𝑔

Xét mục 𝑎 𝑇𝑊𝑈(𝐴) = 𝑇𝑈(𝑇1) + 𝑇𝑈(𝑇2) + 𝑇𝑈(𝑇3) = 8 + 27 + 30 = 65

Thuật toán TWU có ba tính chất quan trọng để cắt tỉa không gian tìm kiếm

Tính chất 1.1: Trọng số độ lợi ích của giao tác đối với tập mục 𝑋 lớn hơn hoặc bằng với lợi ích của nó, ví dụ: 𝑇𝑊𝑈 (𝑋) ≥ 𝑢(𝑋)

Tính chất 1.2: Thuật toán TWU chống đơn điệu Coi như 𝑋 và 𝑌 là hai tập mục Nếu 𝑋 ⊂ 𝑌 thì 𝑇𝑊𝑈(𝑋) ≥ 𝑇𝑊𝑈(𝑌)

Tính chất 1.3: Coi 𝑋 là một tập mục Nếu 𝑇𝑊𝑈(𝑋) < 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 thì tập 𝑋 là tập mục lợi ích thấp như tất cả các tập con khác rỗng của nó Chứng minh Được áp

dụng trực tiếp từ tính chất 1.1 và tính chất 1.2

Định nghĩa 1.7: Danh sách lợi ích: Xét ≻ là tổng thứ tự toàn phần các hạng

mục trong 𝐼 Danh sách lợi ích (utility-list) của một mục 𝑋 trong cơ sở dữ liệu 𝐷 là

một tập hợp các bộ, theo đó có 1 bộ (𝑡𝑖𝑑, 𝑖𝑢𝑡𝑖𝑙, 𝑟𝑢𝑡𝑖𝑙) đối với mỗi giao tác 𝑇𝑡𝑖𝑑chứa

𝑋 Mục 𝑖𝑢𝑡𝑖𝑙 của 1 bộ là lợi ích của 𝑋 trong 𝑇𝑡𝑖𝑑 là: u(X,T tid) Mục 𝑟𝑢𝑡𝑖𝑙 của một bộ được xác định là:

∑𝑖∈𝑇𝑡𝑖𝑑∧𝑖∈𝑋𝑈(𝑖, 𝑇𝑡𝑖𝑑) Ký hiệu UL(X)

Ví dụ 1.7 Danh sách lợi ích của {𝑎} là {(𝑇1, 5, 3)(𝑇2, 10, 17), (𝑇3, 5, 25)} Danh sách lợi ích của {𝑒} là {(𝑇2, 6, 5)(𝑇3, 3, 5), (𝑇4, 3, 0)} Danh sách lợi ích của {𝑎, 𝑒} là {(𝑇2, 16, 5), (𝑇3, 8, 5)}

Trang 26

Tính chất 1.4: Tổng iutils Gọi 𝑋 là một tập mục Nếu tổng các giá trị của

𝑖𝑢𝑡𝑖𝑙 trong danh sách lợi ích của 𝑋 lớn hơn hoặc bằng 𝑚𝑖𝑛𝑢𝑡𝑖𝑙, khi đó 𝑋 là một tập lợi ích cao Ngược lại, nó sẽ là lợi ích thấp

Tính chất 1.5: Sử dụng danh sách lợi ích để tính toán lợi ích của một tập

mục.Lợi ích của một tập mục là tổng các giá trị 𝑖𝑢𝑡𝑖𝑙 trong danh sách lợi ích

Tính chất 1.6: Tổng iutils và rutils Gọi 𝑋 là một tập mục Gọi những phần

mở rộng của 𝑋 là những tập mục có được bằng cách thêm một mục 𝑦 vào 𝑋 sao cho

𝑦 ≻ 𝑖 đối với tất cả các mục 𝑖 trong 𝑋 Nếu tổng giá trị của 𝑖𝑢𝑡𝑖𝑙 và 𝑟𝑢𝑡𝑖𝑙 trong danh sách lợi ích của 𝑥 nhỏ hơn 𝑚𝑖𝑛𝑢𝑡𝑖𝑙, tất cả các phần mở rộng của 𝑋 và phần mở rộng chuyển tiếp (bắc cầu) là các tập mục lợi ích thấp

Tính chất 1.7: Sử dụng danh sách lợi ích để tỉa không gian tìm kiếm Xét 𝑋

là một tập mục Coi phần mở rộng của 𝑋 là các tập mục thu về bằng cách thêm một mục 𝑦 vào 𝑋 sao cho 𝑦 ≻ 𝑖, ∀𝑖 ∈ 𝑋 Nếu tổng các giá trị của 𝑖𝑢𝑡𝑖𝑙 và 𝑟𝑢𝑡𝑖𝑙 trong 𝑢𝑙(𝑋) nhỏ hơn 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 thì 𝑋 và phần mở rộng của nó là lợi ích thấp

Tính chất 1.8: Cho một tập X Lợi ích u(X) bằng với tổng các giá trị iutil trong

ul (X) [12]

Tính chất 1.9: Cho một tập X Tổng các giá trị iutil và rutil trong ul(X) là một

giới hạn trên của u(X) Hơn nữa, có thể chứng minh rằng giới hạn trên này chặt chẽ

hơn TWU(X)

1.4 Kết luận chương 1

Chương 1 đã trình bày tổng quan về KPDL và KDD, trình bày khái quát về bài toán khai phá tập mục thường xuyên, khai phá dữ liệu lợi ích cao, một số định nghĩa, tính chất đối với bài toán khai phá tập mục lợi ích cao sử dụng cho các chương tiếp theo

Trang 27

Chương 2 - THUẬT TOÁN KHAI PHÁ

có tầm quan trọng như nhau (trọng số, lợi nhuận đơn vị hoặc giá trị) Những giả định này thường không có trong thực tế Ví dụ, hãy xét một cơ sở dữ liệu các giao tác của khách hàng có chứa thông tin về số lượng các mặt hàng trong mỗi giao tác và lợi nhuận đơn vị của mỗi mặt hàng Các thuật toán khai thác FIM sẽ loại bỏ thông tin này và do đó có thể phát hiện ra nhiều tập thường xuyên tạo ra lợi nhuận thấp nhưng không phát hiện ra những tập ít thường xuyên nhưng có lợi nhuận cao

Để giải quyết tình trạng này, vấn đề của FIM đã được xác định lại là việc khai phá các tập mục lợi ích cao (HUIM) nhằm xem xét trường hợp các mục có thể xuất hiện nhiều lần trong mỗi giao tác và mỗi mục có một trọng số (ví dụ: đơn vị lợi nhuận) Mục tiêu của HUIM là phát hiện các tập mục có lợi ích cao (ví dụ: tạo ra lợi nhuận cao) HUIM có nhiều ứng dụng như phân tích luồng nhấp chuột trang web, tiếp thị chéo trong các cửa hàng bán lẻ và các ứng dụng y sinh học [7, 24, 29] HUIM cũng dựa trên ý tưởng từ một số công việc khai phá dữ liệu quan trọng như khai phá

mô hình có trình tự lợi ích cao [36] và khai phá dòng lợi ích cao [28]

Vấn đề của HUIM được đánh giá là khó khăn hơn vấn đề của FIM Trong FIM, mọi tập con khác rỗng của tập thường xuyên cũng là tập thường xuyên và mọi tập chứa tập không thường xuyên đều là tập không thường xuyên Tính chất này vô cùng hiệu quả để cắt tỉa không gian tìm kiếm Còn đối với HUIM, lợi ích của một tập mục

Trang 28

không đơn điệu cũng không chống đơn điệu, đó là một tập lợi ích cao bao gồm một tập con với lợi ích thấp hơn, bằng hoặc lớn hơn [6] Chính vì vậy, các kỹ thuật để tỉa không gian tìm kiếm được phát triển trong FIM không áp dụng đối với HUIM

Nhiều nghiên cứu đã được tiến hành với mục đích phát triển thuật toán HUIM [7, 24, 27, 29] Một cách tiếp cận phổ biến tới HUIM là phát hiện các tập mục lợi ích cao trong hai giai đoạn bằng cách sử dụng mô hình đóng của trọng số giao tác [27, 7, 29] Giai đoạn 1, các thuật toán được tạo ra một tập hợp các tập lợi ích cao thông qua việc ước tính vượt mức lợi ích của chúng Sau đó, ở giai đoạn 2, các thuật toán tiến hành quét cơ sở dữ liệu để tính chính xác độ lợi ích của các ứng viên và sàng lọc các tập lợi ích thấp

Để giảm số lượng các kết nối được thực hiện, một chiến lược cắt tỉa mới có tên là EUCP (Tỉa đồng thời lợi ích ước tính) cho phép tỉa các tập mục mà không cần thực hiện phép nối Chiến lược này rất dễ triển khai và rất hiệu quả và được sử dụng

trong thuật toán FHM (Fast High-utility Miner)

2.1.2 Nội dung thuật toán FHM

Hình 2.1: Thuận toán FHM

Thủ tục chính (Hình 2.1) lấy giá trị lợi ích là ngưỡng 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 làm đầu vào của

cở sở dữ liệu Đầu tiên nó quét cơ sở dữ liệu để tính TWU của mỗi mục Sau đó nó xác định tập hợp 𝐼∗ của tất cả các mục có một TWU không nhỏ hơn 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 (các mục khác bị bỏ qua vì chúng không thể là một phần của một tập mục lợi ích cao theo tính chất 1.1) Giá trị TWU của các mục sau đó được sử dụng để thiết lập một thứ tự toàn phần ≻ trên các mục, đó là thứ tự tăng dần của các giá trị TWU (được gợi ý

Trang 29

[26]) Việc phát hiện HUIs bằng cách thực hiện quét cơ sở dữ liệu đơn để thiết lập những danh sách lợi ích của các mẫu có chứa các mục đơn Sau đó, ta thu được các mẫu dài hơn bằng cách thực hiện các hoạt động nối các danh sách lợi ích của mẫu ngắn Hoạt động kết nối các mục đơn được thực hiện như sau:

Xét hai mục 𝑥, 𝑦 sao cho 𝑥 ≻ 𝑦 và các danh sách lợi ích của nó là 𝑢𝑙({𝑥})và 𝑢𝑙({𝑦}).Danh sách lợi ích của {𝑥, 𝑦} được tính bằng cách tạo một bộ (𝑒𝑥 𝑡𝑖𝑑, 𝑒𝑥 𝑖𝑢𝑡𝑖𝑙 + 𝑒𝑦 𝑖𝑢𝑡𝑖𝑙, 𝑒𝑦 𝑟𝑢𝑡𝑖𝑙) cho mỗi cặp bộ 𝑒𝑥 ∈ 𝑢𝑙({𝑥}) và 𝑒𝑦 ∈𝑢𝑙({𝑦}) sao cho 𝑒𝑥 𝑡𝑖𝑑 = 𝑒𝑦 𝑡𝑖𝑑 Hoạt động kết nối hai tập mục 𝑃 ∪ {𝑥} và 𝑃 ∪ {𝑦} sao cho 𝑥 ≻ 𝑦 được thực hiện như sau Coi 𝑢𝑙(𝑃), 𝑢𝑙({𝑥}) và 𝑢𝑙({𝑦}) là những danh sách lợi ích của 𝑃, {𝑥}và {𝑦} Danh sách lợi ích của 𝑃 ∪ {𝑥, 𝑦} có được thông qua việc tạo một bộ (𝑒𝑥 𝑡𝑖𝑑, 𝑒𝑥 𝑖𝑢𝑡𝑖𝑙 + 𝑒𝑦 𝑖𝑢𝑡𝑖𝑙 − 𝑒𝑝 𝑖𝑢𝑡𝑖𝑙, 𝑒𝑦 𝑟𝑢𝑡𝑖𝑙) đối với mỗi bộ 𝑒𝑥 ∈𝑢𝑙({𝑥}), 𝑒𝑦 ∈ 𝑢𝑙({𝑦}), 𝑒𝑝 ∈ 𝑢𝑙(𝑃) sao cho 𝑒𝑥 𝑡𝑖𝑑 = 𝑒𝑦 𝑡𝑖𝑑 = 𝑒𝑝 𝑡𝑖𝑑

Sau đó thực hiện quét cơ sở dữ liệu lần thứ 2 Trong quá trình quét cơ sở dữ liệu này, các mục trong giao tác được sắp xếp lại theo thứ tự toàn phần ≻, danh sách

lợi ích của mỗi mục i ∈ I* được xây dựng và cấu trúc đó được đặt tên là EUCS (Cấu

trúc ước lượng giá trị lợi ích đồng thời) Cấu trúc mới này được định nghĩa là một bộ

ba có dạng (𝑎, 𝑏, 𝑐) ∈ 𝐼∗× 𝐼∗× 𝑅 Một bộ ba (𝑎, 𝑏, 𝑐) chỉ ra TWU({𝑎, 𝑏}) = 𝑐 EUCS

có thể được thực hiện như một ma trận tam giác được thể hiện trên Bảng 1.2 (bên

phải) hoặc như một bản đồ băm với các bộ có dạng (𝑎, 𝑏, 𝑐) sao cho 𝑐 ≠ 0 Xây dựng EUCS vô cùng nhanh (nó được thực hiện với một cơ sở dữ liệu quét duy nhất) và chiếm một lượng nhỏ bộ nhớ, được giới hạn bởi |𝐼∗| × |𝐼∗|, dù trong thực tế kích thước nhỏ hơn rất nhiều bởi vì số lượng các cặp mục đồng thời xảy ra trong các giao tác Sau khi xây dựng EUCS, thuật toán tìm kiếm theo chiều sâu của các tập mục bắt

đầu gọi thủ tục đệ quy Search với tập mục rỗng ∅, tập hợp các mục đơn 𝐼∗, 𝑚𝑖𝑛𝑢𝑡𝑖𝑙

và EUCS

Thủ tục Search (Hình 2.2) lấy đầu vào: (1) là một tập mục 𝑃, (2) phần mở rộng

của 𝑃 có dạng Pz nghĩa là có được Pz bằng cách thêm mục 𝑧 vào 𝑃, (3) 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 và (4) EUCS

Trang 30

Thủ tục Search được thực hiện như sau: Đối với mỗi phần mở rộng 𝑃𝑥 của 𝑃,

nếu tổng các giá trị 𝑖𝑢𝑡𝑖𝑙 của danh sách lợi ích của 𝑃𝑥 không nhỏ hơn 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 thì 𝑃𝑥

là một tập mục lợi ích cao và là đầu ra (tính chất 1.4) Sau đó, nếu tổng của các giá trị 𝑖𝑢𝑡𝑖𝑙 và 𝑟𝑢𝑡𝑖𝑙 trong danh sách lợi ích của 𝑃𝑥 không nhỏ hơn 𝑚𝑖𝑛𝑢𝑡𝑖𝑙, điều này có nghĩa là những phần mở rộng của 𝑃𝑥 cần được khám phá Việc này được thực hiện bằng cách gộp 𝑃𝑥 với tất cả phần mở rộng của 𝑃𝑦 thuộc 𝑃 sao cho 𝑦 ≻ 𝑥 để hình thành các phần mở rộng có dạng 𝑃𝑥𝑦 chứa |𝑃𝑥| + 1 mục Danh sách lợi ích của 𝑃𝑥𝑦

sau đó được xây dựng bằng cách gọi thủ tục Construct (Hình 2.3) để nối các danh sách lợi ích của 𝑃, 𝑃𝑥 và 𝑃𝑦 Sau đó, gọi đệ quy 𝑃𝑥𝑦 tới thủ tục Search được thực hiện nhằm tính độ lợi ích của 𝑃𝑥𝑦 và khám phá các tập mở rộng của nó

Hình 2.2: Thuật toán Seach

Thủ tục Search bắt đầu từ các hạng mục đơn, nó sẽ tiến hành thăm dò đệ quy

không gian tìm kiếm của các tập mục bằng cách nối các mục đơn và chỉ tỉa không gian tìm kiếm theo như tính chất 1.5 Có thể dễ dàng thấy được, theo tính chất 1.4 và

Trang 31

tính chất 1.5, thủ tục này chính xác và hoàn thành việc thăm dò tất cả các tập tin lợi ích cao

Hình 2.3: Thuật toán Construct Cắt tỉa đồng thời Điểm mới của FHM là cơ chế cắt tỉa mới có tên là EUCP

(Tỉa đồng thời lợi ích ước tính), dựa vào cấu trúc mới EUCS EUCP dựa vào sự quan

sát rằng một trong những hoạt động tốn kém nhất của HUI-Miner là hoạt động kết nối EUCP là một chiến lược cắt tỉa để trực tiếp loại bỏ sự mở rộng lợi ích thấp 𝑃𝑥𝑦

và tất cả các mở rộng chuyển tiếp mà không cần xây dựng danh sách lợi ích của

chúng Điều này được thực hiện ở dòng 8 trong thủ tục Search Điều kiện cắt tỉa là

nếu không có bộ (𝑥, 𝑦, 𝑐) trong EUCS sao cho 𝑐 ≥ 𝑚𝑖𝑛𝑢𝑡𝑖𝑙, sau đó 𝑃𝑥𝑦 và tất cả các mục khác rỗng đều là các tập lợi ích thấp và không cần phải khám phá Chiến lược này vô cùng chính xác (chỉ tỉa các tập lợi ích thấp) Bằng chứng là theo tính chất 1.1, nếu một tập 𝑋 chứa tập 𝑌 khác sao cho 𝑇𝑊𝑈(𝑌) < 𝑚𝑖𝑛𝑢𝑡𝑖𝑙, và theo đó, 𝑋 và các mục khác rỗng là các tập lợi ích thấp

Một câu hỏi quan trọng về chiến lược EUCP được đặt ra là: Chúng ta không những kiểm tra điều kiện của 𝑥, 𝑦 trong mỗi cuộc gọi để thủ tục Search mà còn phải kiểm tra điều kiện của tất cả các cặp mục khác sao cho 𝑎, 𝑏 ∈ 𝑃𝑥𝑦? Câu trả lời là

Trang 32

không vì thủ tục Search là duy nhất và do đó tất cả các cặp mục khác trong 𝑃𝑥𝑦 đã được kiểm tra ở những lần trước trong thủ tục Search đến 𝑃𝑥𝑦 Ví dụ, xét một tập

𝑍 = {𝑎1, 𝑎2, 𝑎3, 𝑎4} Để tạo ra được tập này, thủ tục Search phải kết hợp {𝑎1, 𝑎2, 𝑎3}

và {𝑎1, 𝑎2, 𝑎4}, thu được bằng cách kết hợp {𝑎1, 𝑎2} với {𝑎1, 𝑎3} và {𝑎1, 𝑎2} với {𝑎1, 𝑎4}, thu được bằng cách kết hợp các mục đơn Nó có thể thu được dễ dàng khi tạo ra 𝑍 tất cả các cặp mục trong 𝑍 được EUCP kiểm tra lại ngoại trừ {𝑎3, 𝑎4}

2.2 Thuật toán FHN

2.2.1 Đặt vấn đề

Nhiều nghiên cứu đã được thực hiện để phát triển các thuật toán HUIM một cách hiệu quả [7, 24, 10, 26, 27, 29, 32] Tuy nhiên, các thuật toán này không được

thiết kế để xử lý các mục có trọng số hoặc lợi nhuận đơn vị âm, mặc dù các mục đó

xuất hiện nhiều trong cơ sở dữ liệu giao tác thực tế.Ví dụ, thông thường các cửa hàng bán lẻ sẽ bán lỗ vốn một mặt hàng nào đó (ví dụ như máy in) để kích thích việc bán các mặt hàng có liên quan khác (ví dụ như hộp mực máy in độc quyền) Điều này chứng minh rằng nếu các thuật toán HUIM cổ điển được áp dụng cho các cơ sở dữ liệu chứa các mục có lợi nhuận đơn vị, họ có thể tạo ra các tập mục không hoàn chỉnh [5] Lý do là các thuật toán này đã ước tính quá mức lợi ích của các tập dữ liệu nhằm cắt tỉa không gian tìm kiếm Tuy nhiên, khi các mục có lợi nhuận âm được xem xét, các ước tính này có thể bị đánh giá thấp, và do đó các tập HUIs có thể được cắt tỉa

Trong mục này, tác giả trình bày một thuật toán có tên là FHN (Khai phá hiệu

quả tập mục lợi ích cao với lợi nhuận đơn vị âm) để khai phá HUIs trong khi xem xét

cả lợi nhuận đơn vị dương và âm Nó mở rộng thuật toán FHM [10] để xử lý các khoản lợi nhuận âm một cách triệt để

Để thực hiện thuật toán khi sử dụng đơn vị lợi nhuận âm ta cần định nghĩa lại như lợi ích bên ngoài chấp nhận hai giá trị dương và âm

Định nghĩa 2.1: (cơ sở dữ liệu giao tác): Cho tập các mục I= {i1,i2,…in} Một

giao tác T c là tập con của I,T c ∈ I Cơ sở dữ liệu giao tác là một tập các giao tác D =

{T1, T2, , T n }.Mỗi một giao tác T c , T c ∈ I và c được gán một định danh gọi là TID Mỗi mục i ∈ I liên quan đến một số dương hoặc một số âm 𝑝(𝑖) được gọi là lợi

Trang 33

ích bên ngoài (ví dụ đơn vị lợi nhuận) Đối với mỗi giao tác T c mà i ∈ T c là một số

dương q(i, T c ) được gọi là lợi ích trong của i (số lượng hàng hóa bán)

Bảng 2.1: Cơ sở dữ liệu (trái) và giá trị lợi ích bên ngoài (phải)

Ví dụ 2.1: Xem xét cơ sở dữ liệu của Bảng 2.1 (bên trái), sẽ được sử dụng

làm ví dụ thực tế Cơ sở dữ liệu này có 5 giao tác (𝑇1, 𝑇2, … , 𝑇5) Giao tác 𝑇2 cho thấy các mục 𝑎, 𝑐, 𝑒 và 𝑔 xuất hiện trong giao tác này cùng với lợi ích trong tương ứng của

2, 6, 2 và 5 Bảng 2.1 (bên phải) cho thấy các lợi ích bên ngoài của các mục tương

ứng là -5, 1, 3 và 1 Như vậy mục 𝑎 sẽ bị bán lỗ

Định nghĩa 2.2: Vấn đề của việc khai phá HUI có/không có lợi nhuận âm:

Coi 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 là một ngưỡng mà người dùng đặt ra Một tập mục sẽ là một tập mục lợi ích cao nếu 𝑢(𝑋) ≥ 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 Ngược lại 𝑋 là tập mục lợi ích thấp

Ví dụ 2.2: Nếu 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 = 20, hai mươi HUIs sẽ được tìm thấy trong cơ sở dữ

liệu Cụ thể:{𝑎, 𝑏, 𝑐, 𝑑, 𝑒, 𝑓}:20, {𝑏, 𝑑, 𝑓}:21, {𝑏, 𝑑, 𝑒, 𝑓}:24, {𝑏, 𝑐, 𝑑, 𝑒, 𝑓}:25, {𝑏, 𝑐, 𝑑, 𝑓}:22, {𝑑, 𝑒, 𝑓}:20, {𝑐, 𝑑, 𝑒, 𝑓}:21, {𝑐, 𝑒, 𝑔}:24, {𝑑}:20, {𝑏, 𝑑}:30, {𝑏, 𝑑, 𝑒}:36, {𝑏, 𝑐, 𝑑, 𝑒}:40, {𝑏, 𝑐, 𝑑}:34, {𝑑, 𝑒}:24, {𝑐, 𝑑, 𝑒}:28, {𝑐, 𝑑}:25, {𝑏, 𝑒}:25, {𝑏, 𝑐, 𝑒}:31, {𝑏, 𝑐}:22 và {𝑐, 𝑒}:27, trong đó số lượng mỗi tập mục sau là giá tri lợi ích của nó

Hai tính chất HUIs với các mục có lợi nhuận đơn vị âm là như sau:

Tính chất 2.1: Một HUI có thể chứa các mục có giá trị lợi ích bên ngoài âm

Ta có thể thấy rõ ràng từ ví dụ là HUI có thể chứa các mục có giá trị lợi ích bên ngoài

âm Ví dụ, {𝑎, 𝑏, 𝑐, 𝑑, 𝑒, 𝑓} chứa a, trong đó có một lợi ích bên ngoài là -5

Tính chất 2.2: Một HUI phải chứa ít nhất một mục có lợi ích bên ngoài dương

[5] Mặc dù một HUI có thể hoặc không thể chứa những mục có những giá trị lợi ích

-5 2 1 2 3 1 1

Trang 34

bên ngoài âm, một HUI cần phải chứa ít nhất một mục có giá trị lợi ích bên ngoài dương (nếu không lợi ích của nó sẽ mang giá trị âm và nó sẽ không phải là một HUI)

Có thể chứng minh các phương pháp hữu ích không hề đơn điệu hoặc chống lại sự đơn điệu Nói cách khác, một tập mục có thể có một lợi ích thấp hơn, bằng hoặc lớn hơn lợi ích của các tập con của nó Do đó các chiến lược đã được sử dụng trong FIM để tỉa không gian tìm kiếm dựa trên tính chống đơn điệu của độ hỗ trợ không thể áp dụng trực tiếp để phát hiện các tập mục lợi ích cao.Một số thuật toán HUIM

đã gây rắc rối cho vấn đề này bằng cách đánh giá quá cao lợi ích của các tập dữ liệu thông qua việc sử dụng một thuật toán gọi là trọng số độ lợi ích của giao tác (TWU) [7, 27, 29], đó là tính phản đơn điệu.Thuật toán TWU giả định rằng tất cả các mục có giá trị lợi ích bên ngoài dương

Thuật toán TWU có ba tính chất quan trọng được áp dụng để cắt tỉa không gian tìm kiếm Các tính chất này chỉ giữ lại nếu giá trị lợi ích bên ngoài của chúng là dương [5] Như tính chất 1.1, như tính chất 1.2 và như tính chất 1.3

Phần lớn các thuật toán khai phá lợi ích cao chỉ xử lý các giá trị lợi ích bên ngoài dương (ví dụ Two-Phase [27], IHUP [7] và UPGrowth [29] sử dụng tính chất 1.3 để tỉa không gian tìm kiếm Chúng hoạt động dựa trên 2 giai đoạn Giai đoạn 1,

họ xác định những ứng viên thuộc các tập mục lợi ích cao bằng cách sử dụng thuật toán TWU Ở giai đoạn 2, họ quét cơ sở dữ liệu để tính toán chính xác lợi ích của các ứng viên được tìm thấy trong giai đoạn 1 để loại bỏ các tập mục lợi ích thấp.Tuy nhiên, nếu những thuật toán này được áp dụng trên cơ sở dữ liệu có chứa lợi nhuận

âm thì một số HUIs sẽ không thể xuất ra.Ví dụ, hãy xem xét các ví dụ đang thực hiện Nếu mục 𝑎 có một lợi ích là -5 thay vì 5 như chúng ta đã từng xét, 𝑇𝑊𝑈({𝑐, 𝑒, 𝑔}) =𝑇𝑊𝑈(𝑇2) = 7 và 𝑢({𝑐, 𝑒, 𝑔}) = 17, thì nó sẽ mâu thuẫn với tính chất 1.2 và chỉ ra TWU của một tập mục là việc đánh giá quá cao lợi ích của nó Kết quả là nếu 𝑚𝑖𝑛𝑢𝑡𝑖𝑙

= 10, tập mục {𝑐, 𝑒, 𝑔} sẽ không được xuất ra bằng các thuật toán dựa trên tính chất này mặc dù tập mục này là HUI (nó sẽ được tỉa vì 𝑇𝑊𝑈({𝑐, 𝑒, 𝑔}) < 𝑚𝑖𝑛𝑢𝑡𝑖𝑙)

Để khai phá các tập mục lợi ích cao khi xem xét lợi nhuận cả dương và âm và đưa ra toàn bộ các tập hợp HUIs, thuật toán đương đại sẽ là HUINIV-Mine [5] Đó

Trang 35

là một phần mở rộng của thuật toán Two-Phrase [27] Để giải quyết các vấn đề nêu trên, HUINIV-Mine xác định lại khái niệm về lợi ích giao tác như sau

Bảng 2.2: Lợi ích giao tác (trái), giá trị TWU mục đơn (giữa), EUCS (phải)

Định nghĩa 2.3: Lợi ích giao tác được xác định lại của một giao tác 𝑇𝑐 là tổng lợi ích của các mục trong 𝑇𝑐 có lợi ích bên ngoài dương.Tức là:

𝑇𝑈(𝑇𝑐) = ∑𝑥∈𝑇𝑐∧𝑝(𝑥)>0𝑢(𝑥, 𝑇𝑐)

Ví dụ 2.3 Bảng 2.2 (bên trái) đã cho thấy lợi ích giao tác xác định lại của các

giao tác 𝑇1, 𝑇2, 𝑇3, 𝑇4, 𝑇5 đối với ví dụ đang thực hiện Bảng 2.2 (bên phải) đã chỉ ra

TWU của các mục đơn dựa vào các giá trị lợi ích giao tác xác định lại Xét các tập mục {𝑐, 𝑒, 𝑔}và {𝑒, 𝑔} Các giá trị 𝑇𝑊𝑈({𝑐, 𝑒, 𝑔}) và 𝑇𝑊𝑈({𝑒, 𝑔}) đều bằng 17, đó

là sự ước tính quá cao của 𝑢({𝑐, 𝑒, 𝑔}) = 17 và 𝑢({𝑒, 𝑔}) = 11

Sử dụng lợi ích giao tác xác định lại để khôi phục tính chất 1.5 Nó cho phép HUINIV-Mine tìm ra tập hợp hoàn chỉnh các HUIs.Tuy nhiên, vấn đề chính được đặt

ra là công việc khai phá HUIs khi xét cả lợi nhuận đơn vị dương và âm vẫn mất rất nhiều thời gian thực hiện và bộ nhớ, đặc biết đối với các bộ dữ liệu chứa dày đặc các giao tác Do đó, đây cũng là một thách thức lớn trong việc xây dựng các thuật toán một cách hiệu quả hơn Để giải quyết vấn đề này, tác giả tìm hiểu một thuật toán có tên là FHN, là một biến thể của thuật toán FHM

Minh họa bằng một ví dụ để chứng minh rằng tính chất tỉa được thuật toán FHM và HUI-Miner áp dụng không hợp lệ nếu cả giá trị lợi ích bên ngoài dương và

Trang 36

âm đều xuất hiện trong cơ sở dữ liệu Xét mục 𝑎 và 𝑑 ở trong ví dụ này có giá trị lợi ích bên ngoài lần lượt là 5 và -2, và 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 = 10 Danh sách lợi ích của {𝑎, 𝑏} theo

đó sẽ chứa một mục đơn, đó là {(𝑇3, 9, −3) Theo tính chất 12, vì tổng giá trị của 𝑖𝑢𝑡𝑖𝑙 và 𝑟𝑢𝑡𝑖𝑙 trong 𝑢𝑙({𝑎, 𝑏}) bằng 6, nhỏ hơn 𝑚𝑖𝑛𝑢𝑡𝑖𝑙, {𝑎, 𝑏} và phần mở rộng của

nó sẽ là lợi ích thấp Tuy nhiên, đây không phải là lựa chọn vì tập mục 𝑢({𝑎, 𝑏, 𝑓}) =

14 Chính vì vậy, FHM và HUI-Miner sẽ không phát hiện ra HUI

Hình 2.4: Thuật toán FHN

2.2.2 Nội dung thuật toán FHN

Đầu tiên, mô tả thủ tục chính, từ thuật toán FHM [10] Thủ tục này chỉ có thể

xử lý các giá trị lợi ích bên ngoài dương Sau đó sẽ xử lý lợi nhuận đơn vị âm mà không mất bất kỳ HUIs nào

Thủ tục chính (Hình 2.4) lấy giá trị lợi ích là ngưỡng 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 làm đầu vào của

cở sở dữ liệu Đầu tiên nó quét cơ sở dữ liệu để tính TWU của mỗi mục Sau đó nó xác định tập hợp 𝐼∗ của tất cả các mục có một TWU không nhỏ hơn 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 (các mục khác bị bỏ qua vì chúng không thể là một phần của một tập mục lợi ích cao theo tính chất 1.1) Giá trị TWU của các mục sau đó được sử dụng để thiết lập một thứ tự toàn phần ≻ trên các mục, đó là thứ tự của các giá trị TWU tăng Sau đó thực hiện quét cơ sở dữ liệu thứ hai Trong quá trình quét cơ sở dữ liệu này, các mục trong giao tác được sắp xếp lại theo thứ tự toàn phần ≻, danh sách lợi ích của mỗi mục 𝑖 ∈ 𝐼∗ và một cấu trúc tên là EUCS được thiết lập Cấu trúc thứ hai lưu trữ TWU của tất cả các cặp mục{𝑎, 𝑏}sao cho 𝑢({𝑎, 𝑏}) ≠ 0 Như đã trình bày trong FHM, EUCS được thực hiện như là một bảng băm dữ liệu (hashmap) vì trên thực tế số lượng các cặp mục

Trang 37

giới hạn xảy ra đồng thời trong các giao tác Việc xây dựng EUCS vô cùng nhanh (nó được thực hiện với một cơ sở dữ liệu quét duy nhất) và chiếm một lượng nhỏ bộ nhớ, được giới hạn bởi |𝐼∗| × |𝐼∗|, mặc dù trong thực tế kích thước nhỏ hơn nhiều bởi vì

số lượng các cặp mục giới hạn đồng thời xảy ra trong các giao tác Sau khi xây dựng EUCS, việc thăm dò tìm kiếm theo chiều sâu của các tập mục bắt đầu khởi động bằng

cách khớp thủ tục đệ quy Search là tập mục rỗng ∅, tập hợp các mục đơn 𝐼∗, 𝑚𝑖𝑛𝑢𝑡𝑖𝑙

và EUCS

Hình 2.5:Thuật toán Seach

Thủ tục Search (Hình 2.5) lấy đầu vào (1) là một tập mục 𝑃, (2) phần mở rộng

của 𝑃 có dạng 𝑃𝑧 nghĩa là có được 𝑃𝑧 bằng cách thêm mục 𝑧 vào 𝑃, (3) 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 và

(4) EUCS Thủ tục Search được thực hiện như sau Đối với mỗi phần mở rộng 𝑃𝑥 của

𝑃, nếu tổng các giá trị 𝑖𝑢𝑡𝑖𝑙 của danh sách lợi ích của 𝑃𝑥 không nhỏ hơn 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 thì 𝑃𝑥 là một tập mục lợi ích cao và là đầu ra (xem tính chất 1.2) Sau đó, nếu tổng của các giá trị 𝑖𝑢𝑡𝑖𝑙 và 𝑟𝑢𝑡𝑖𝑙 trong danh sách lợi ích của 𝑃𝑥 không nhỏ hơn 𝑚𝑖𝑛𝑢𝑡𝑖𝑙, điều này có nghĩa là những phần mở rộng của 𝑃𝑥 cần được thăm dò (xem tính chất 1.3) Việc này được thực hiện bằng cách hợp nhất 𝑃𝑥 với tất cả phần mở rộng của 𝑃𝑦 thuộc 𝑃 sao cho 𝑦 ≻ 𝑥 và 𝑇𝑊𝑈({𝑥, 𝑦}) ≥ 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 để hình thành các phần mở rộng

Trang 38

có dạng 𝑃𝑥𝑦 chứa |𝑃𝑥| + 1 các hạng mục Danh sách lợi ích của 𝑃𝑥𝑦 sau đó được

xây dựng như trong FHM bằng cách gọi thủ tục Construct (Hình 2.6 ) để nối các danh

sách lợi ích của 𝑃, 𝑃𝑥 và 𝑃𝑦 Thủ tục thứ 2 giống như trong FHM [10] và không nêu chi tiết ở đây Sau đó, một cuộc gọi đệ quy 𝑃𝑥𝑦 tới thủ tục Search được thực hiện nhằm tính độ lợi ích của nó và thăm dò phần mở rộng của nó Kể từ khi thủ tục Search

khởi động từ các hạng mục đơn lẻ, nó sẽ tiến hành thăm dò đệ quy không gian tìm kiếm của các tập mục bằng cách nối các mục đơn và chỉ tỉa không gian tìm kiếm theo như tính chất 1.3 Có thể dễ dàng thấy được,theo tính chất 1.1 và tính chất 1.2, thủ tục này chính xác và hoàn thành việc thăm dò tất cả các tập tin lợi ích cao

+ Điều chỉnh thuật toán để xử lý các khoản lợi nhuận đơn vị âm

Tiếp theo chúng ta sẽ giải thích cách thức sửa đổi điều chỉnh thuật toán để xử

lý các khoản lợi nhuận đơn vị âm

Gọi các thuật ngữ “các mục dương” và “các mục âm” biểu thị cho các hạng mục có các giá trị lợi ích bên ngoài dương và các giá trị lợi ích bên ngoài âm

Trước hết chúng ta phải xác định thứ tự toàn phần ≻ sao cho các hạng mục âm luôn cùng tất cả các hạng mục dương Bây giờ hãy xét một tập 𝑋 Cho 𝑢𝑝(𝑋) ⊆ 𝑋 là tập hợp tất cả các mục dương trong 𝑋 Ngoài ra, gọi 𝑢𝑛(𝑋) ⊆ 𝑋 là tập hợp tất cả các mục âm thuộc 𝑋 Chúng có một số tính chất quan trọng sau

Tính chất 2.3: Cận trên về lợi ích sử dụng mục dương: Gọi 𝑋 là một tập mục

Nó đáp ứng điều kiện 𝑢(𝑋) ≤ 𝑢(𝑢𝑝(𝑋)) Lý do Tính chất này có được bởi vì 𝑋 ∖𝑢𝑝(𝑋) = 𝑢𝑛(𝑋) và mục âm chỉ có thể giảm lợi ích của 𝑋

Tính chất 2.4: Đóng việc mở rộng mục âm: Gọi 𝑋 là một tập mục và 𝑧 là một mục âm sao cho 𝑧 ∉ 𝑋 Nó tuân theo quy tắc 𝑢(𝑢𝑝(𝑋 ∪ {𝑧})) ≤ 𝑢(𝑢𝑝(𝑋)) Rõ ràng

ta thấy 𝑢𝑝(𝑋) = 𝑢𝑝(𝑋 ∪ {𝑧}) Ngoài ra, số lượng các giao tác chứa 𝑋 ∪ {𝑧} chỉ có thể nhỏ hơn số lượng các giao tác chứa 𝑋 Chính vì điều này và 𝑧 là một mục âm, lợi ích của 𝑢𝑝(𝑋 ∪ {𝑧}) chỉ có thể bằng hoặc ít hơn lợi ích của 𝑢𝑝(𝑋) Những lưu ý rằng 𝑢(𝑋)có thể nhỏ hơn, lớn hơn hoặc bằng 𝑢(𝑋 ∪ {𝑧})

Tính chất trước có thể được khái quát hóa đối với các phần mở rộng liên tiếp của một tập với các mục âm

Trang 39

Tính chất 2.5: Việc đóng sự mở rộng chuyển tiếp đối với mục âm: Gọi 𝑋 là một tập mục Đối với bất kỳ tập mục 𝑌 kết quả từ phần mở rộng chuyển tiếp của 𝑋 với các mục âm sao cho 𝑢(𝑢𝑝(𝑌)) ≤ 𝑢(𝑢𝑝(𝑋))

Dựa trên sự quan sát này, chúng ta có thể sử dụng điều kiện cắt tỉa sau

Tính chất 2.6: điều kiện cắt tỉa đối với các tập mục chứa các mục âm dựa vào

thứ tự toàn phần ≻: Coi 𝑋 là một tập mục sao cho 𝑢𝑝(𝑋) < 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 và chỉ các mục

âm có thể được sử dụng để mở rộng 𝑋 dựa vào thứ tự toàn phần ≻ Do đó, tất cả các

sự mở rộng chuyển tiếp của 𝑋 đối với những mục này sẽ là lợi ích thấp có thể bị cắt tỉa Lý do Điều kiện cắt tỉa trực tiếp tuân theo những tính chất trước

Tuy nhiên việc sử dụng điều kiện cắt tỉa vào trong thuật toán yêu cầu tính toán 𝑢(𝑢𝑝(𝑋)) một cách hiệu quả Giải pháp là chia các giá trị 𝑖𝑢𝑡𝑖𝑙 trong danh sách lợi ích thành hai giá trị là 𝑖𝑝𝑢𝑡𝑖𝑙và 𝑖𝑛𝑢𝑡𝑖𝑙 Đối với một giao tác 𝑇𝑐 đã đưa ra, 𝑖𝑝𝑢𝑡𝑖𝑙 và 𝑖𝑛𝑢𝑡𝑖𝑙 bây giờ đưa ra 𝑢(𝑢𝑝(𝑋), 𝑇𝑐)và 𝑢(𝑢𝑛(𝑋), 𝑇𝑐) Khi có những giá trị này, ta có thể dễ dàng tính 𝑢(𝑢𝑝(𝑋)) và 𝑢(𝑋) bằng cách tổng hợp lần lượt từng giá trị 𝑖𝑝𝑢𝑡𝑖𝑙

và tổng hợp cả hai giá trị 𝑖𝑝𝑢𝑡𝑖𝑙 và 𝑖𝑛𝑢𝑡𝑖𝑙 Dựa vào những ý tưởng trên, thuật toán FHN có thể được tạo ra bằng cách điều chỉnh sau đây

Thứ nhất, thay vì tính TWU ban đầu, TWU được xác định lại sẽ được sử dụng

để ngăn chặn việc đánh giá thấp độ lợi ích của HUI chứa các mục dương

Thứ hai, danh sách lợi ích được xác định lại sao cho các yếu tố 𝑖𝑝𝑢𝑡𝑖𝑙 và 𝑖𝑛𝑢𝑡𝑖𝑙 được sử dụng Hơn nữa, giá trị 𝑟𝑢𝑡𝑖𝑙 của danh sách lợi ích chỉ chứa các giá trị lợi ích của các mục dương Lý do là các thuật toán có thể bỏ sót một số HUIs nếu giá trị 𝑟𝑢𝑡𝑖𝑙 của các mục âm không nằm trong danh sách lợi ích

Thứ ba, thứ tự toàn phần được xác định lại sao cho tất cả các mục âm áp đảo

các mục dương

Thứ tư, điều kiện cắt tỉa TWU 𝑇𝑊𝑈({𝑥, 𝑦}) < 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 sử dụng cấu trúc EUCS chỉ áp dụng cho các mục dương

Thứ năm, điều kiện cắt tỉa áp dụng duy nhất để quyết định liệu một tập mục

có nên mở rộng các mục âm hay không

Trang 40

Thứ sáu, điều kiện cắt tỉa các mục dương dựa trên tổng các giá trị 𝑖𝑛𝑢𝑡𝑖𝑙 và 𝑟𝑢𝑡𝑖𝑙 được định nghĩa lại như tổng các giá trị 𝑖𝑝𝑢𝑡𝑖𝑙 và 𝑟𝑢𝑡𝑖𝑙

Hình 2.6: Thuật toán Construct

Bây giờ chúng ta sẽ thảo luận về sự đúng đắn của những sửa đổi này để tìm ra tất cả HUIs khi sử dụng các mục âm và mục dương Ta chia phần giải thích này thành hai phần (1) thuật toán trước tiên mở rộng tập mục bằng cách thêm các hạng mục dương và (2) sau đó thuật toán nối các hạng mục âm (trên cơ sở ≻ ) Trong phần đầu tiên, FHN đúng vì nó hoạt động như một thuật toán khai thác HUI thông thường để phát hiện các HUI chỉ chứa các mục dương Điều này đúng bởi vì các mặt hàng âm luôn luôn được thêm sau các mặt hàng dương (do đó các mục âm không được xét khi các HUIs chỉ chứa các mục dương) Hơn nữa, điều kiện cắt tỉa phải đảm bảo tổng các giá trị 𝑟𝑢𝑡𝑖𝑙 và 𝑖𝑝𝑢𝑡𝑖𝑙 phải lớn hơn 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 vì các giá trị 𝑟𝑢𝑡𝑖𝑙 của các mục âm không được xét trong danh sách lợi ích khi thuật toán TWU chỉ chứa các mục dương Việc cắt tỉa phải đảm bảo sao cho việc mở rộng 𝑃𝑥𝑦 không được khám phá nếu 𝑇𝑊𝑈(𝑥, 𝑦) < 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 là chính xác vì sử dụng TWU được định nghĩa lại Ở phần thứ hai (khi các mục âm được kết nối), ta chỉ sử dụng điều kiện cắt tỉa theo như tính chất 2.4 Chính vì vậy, không có HUIs chứa các mục âm bị bỏ sót

Ngày đăng: 28/02/2018, 11:45

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Huy Đức, Vũ đức Thi, Khai phá hiệu quả tập mục lợi ích cao trong cơ sở dữ liệu lớn, Tạp chí Tin học và điều khiển học, 2008 Sách, tạp chí
Tiêu đề: Khai phá hiệu quả tập mục lợi ích cao trong cơ sở dữ liệu lớn
[2]. Nguyễn Huy Đức,Vũ Đức Thi, (2008),“Thuật toán hiệu quả khai phá tập mục lợi ích cao trên cấu trúc dữ liệu cây”, Tạp chí tin học và điều khiển học, 24(3), tr 204- 216 Sách, tạp chí
Tiêu đề: Thuật toán hiệu quả khai phá tập mục lợi ích cao trên cấu trúc dữ liệu cây”, "T"ạ"p chí tin h"ọ"c và "đ"i"ề"u khi"ể"n h"ọ"c
Tác giả: Nguyễn Huy Đức,Vũ Đức Thi
Năm: 2008
[3]. Nguyễn Huy Đức (2009), “Khai phá tập mục cổ phần cao và lợi ích cao trong cơ sở dữ liệu”, Luận án tiến sỹ toán học, Mã số: 62.46.35.01, Hà Nội, Việt Nam Sách, tạp chí
Tiêu đề: Khai phá tập mục cổ phần cao và lợi ích cao trong cơ sở dữ liệu”, "Lu"ậ"n án ti"ế"n s"ỹ" toán h"ọ"c
Tác giả: Nguyễn Huy Đức
Năm: 2009
[5]. Chu, C.-J., Tseng, V. S., Liang, T.: An efficient algorithm for mining high utility itemsets with negative item values in large databases. In: Applied Math. Comput., 215, pp. 767-778 (2009) Sách, tạp chí
Tiêu đề: Applied Math. Comput
[6]. Agrawal, R., Srikant, R.: Fast algorithms for mining association rules in large databases. In: Proc. Int. Conf. Very Large Databases, pp. 487–499 (1994) Sách, tạp chí
Tiêu đề: In: Proc. Int. Conf. Very Large Databases
[7]. Ahmed, C. F., Tanbeer, S. K., Jeong, B.-S., Lee, Y.-K.: Efficient Tree Structures for High-utility Pattern Mining in Incremental Databases. In: IEEE Trans. Knowl.Data Eng. 21(12), pp. 1708–1721 (2009) Sách, tạp chí
Tiêu đề: IEEE Trans. Knowl. "Data Eng
[8]. Amphawan, K., Lenca, P., Surarerks, A.: Mining top-k periodic-frequent pattern from transactional databases without support threshold. In: Proc. 3rd Intern. Conf.on Advances in Information Technology, pp. 18–29 (2009) Sách, tạp chí
Tiêu đề: Proc. 3rd Intern. Conf. "on Advances in Information Technology
[9]. Amphawan, K., Surarerks, A., Lenca, P.: Mining periodic-frequent itemsets with approximate periodicity using interval transaction-ids list tree. In: Proc. 2010 Third Intern. Conf. on Knowledge Discovery and Data Mining, pp. 245-248 (2010) Sách, tạp chí
Tiêu đề: Proc. 2010 Third Intern. Conf. on Knowledge Discovery and Data Mining
[13]. Fournier-Viger, P., Wu, C.-W., Tseng, V. S.: Novel Concise Representations of High Utility Itemsets using Generator Patterns. In: Proc. 10th International Conference on Advanced Data Mining and Applications, Springer LNAI, 14 pages (2014) Sách, tạp chí
Tiêu đề: Proc. 10th International Conference on Advanced Data Mining and Applications
[14].Fournier-Viger. FHN: Efficient Mining of High-Utility Itemsets with Negative Unit Profits. In Proc. 10th International Conference on Advanced Data Mining and Applications, Springer, 2014 Sách, tạp chí
Tiêu đề: In Proc. 10th International Conference on Advanced Data Mining and Applications
[15]. Fournier-Viger, A. Gomariz, A. Soltani, T. Gueniche, C.W. Wu., V.S. Tseng. SPMF: a Java Open-Source Pattern Mining Library. In Journal of Machine Learning Research. 15:,2014 Sách, tạp chí
Tiêu đề: In Journal of Machine Learning Research
[19]. Lan, G. C., Hong, T. P and. Tseng V.S. Discovery of high utility itemsets from on-shelf time periods of products. In Expert Systems with Applications.38:5851–5857, 2011 Sách, tạp chí
Tiêu đề: In Expert Systems with Applications
[20].Lan, G. C., Hong, T. P, Tseng, and V.S. Tseng. On-shelf utility mining with negative item values. In Expert Systems with Applications. 41:3450–3459, 2014 Sách, tạp chí
Tiêu đề: In Expert Systems with Applications
[21].Lan, G. C., Hong, T. P., Tseng, V. S.: An efficient projection-based indexing ap- proach for mining high utility itemsets. Knowl. and Inform. Syst. 38(1), 85–107 (2014) Sách, tạp chí
Tiêu đề: Knowl. and Inform. Syst
[22].Kiran, R. U., Reddy, P. K.: Mining Rare Periodic-Frequent Patterns Using Multiple Minimum Supports. In: Proc. 15th Intern. Conf. on Management of Data (2009) Sách, tạp chí
Tiêu đề: Proc. 15th Intern. Conf. on Management of Data
[23].Uday, U. R., Kitsuregawa, M., Reddy, P. K.: Efficient Discovery of Periodic- Frequent Patterns in Very Large Databases. Journal of Systems and Software, 112, 110–121 (2015) Sách, tạp chí
Tiêu đề: Journal of Systems and Software
[24].Li, Y.-C., Yeh, J.-S., Chang, C.-C.: Isolated items discarding strategy for discovering high utility itemsets. In: Data &amp; Knowledge Engineering. 64(1), pp. 198–217 (2008) Sách, tạp chí
Tiêu đề: Data & Knowledge Engineering
[25].Song, W., Liu, Y., Li, J.: BAHUI: Fast and memory efficient mining of high utility itemsets based on bitmap. Intern. Journal of Data Warehousing and Mining.10(1), 1–15 (2014) Sách, tạp chí
Tiêu đề: Intern. Journal of Data Warehousing and Mining
[26].Liu, M., Qu, J.:Mining High Utility Itemsets without Candidate Generation. In Proceedings of CIKM12, pp. 55–64 (2012) Sách, tạp chí
Tiêu đề: In Proceedings of CIKM12
[27].Liu, Y., Liao, W., Choudhary, A.: A two-phase algorithm for fast discovery of high utility itemsets. In: Proc. PAKDD 2005, pp. 689–695 (2005) Sách, tạp chí
Tiêu đề: Proc. PAKDD 2005

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