DANH MỤC CÁC TỪ VIẾT TẮT lợi ích cao theo phương pháp Apriori theo phương pháp PrefixSpan PrefixSpan Prefix-Projected Sequential Patterns Mining Algorithm Thuật toán khai phá mẫu dãy thư
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC
VÀ CÔNG NGHỆ VIỆT NAM
HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC
VÀ CÔNG NGHỆ VIỆT NAM
HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ
LUẬN ÁN TIẾN SĨ NGÀNH MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC:
1 TS Nguyễn Trường Thắng
2 GS.TS Vũ Đức Thi
Hà Nội – Năm 2021
Trang 3i
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của tôi và những kết quả trình bày trong luận án là mới, trung thực và chưa từng được công bố trong bất kỳ công trình của người khác Những kết quả viết chung với cán bộ hướng dẫn và các tác giả khác đều được sự đồng ý khi đưa vào luận án Việc tham khảo các nguồn tài liệu, bài viết được thực hiện trích dẫn và ghi nguồn tham khảo theo đúng quy định
Tác giả luận án
NCS Trần Huy Dương
Trang 4ii
LỜI CẢM ƠN
Lời đầu tiên, tôi xin gửi lời cảm ơn sâu sắc tới TS.Nguyễn Trường Thắng và GS.TS.Vũ Đức Thi đã tận tình hướng dẫn, giúp đỡ tôi trong quá trình nghiên cứu, đăng bài và hoàn thành luận án này
Tôi cũng xin chân thành cảm ơn Ban lãnh đạo Viện Công nghệ thông tin - Viện Hàn lâm Khoa học và Công nghệ Việt Nam, lãnh đạo Học viện Khoa học và Công nghệ đã tạo điều kiện thuận lợi cho quá trình nghiên cứu của tôi, cảm ơn các cán bộ của phòng Công nghệ phần mềm trong quản lý đã nhiệt tình trong công tác, giúp tôi dành thời gian tập trung nghiên cứu và hoàn thành luận án
Cuối cùng, tôi xin cảm ơn gia đình, bạn bè, đồng nghiệp đã luôn là nguồn động viên, ủng hộ, giúp tôi thêm động lực để hoàn thành luận án này
Người thực hiện
Trần Huy Dương
Trang 5MỤC LỤC
DANH MỤC HÌNH VẼ 3
DANH MỤC BẢNG BIỂU 4
DANH MỤC CÁC TỪ VIẾT TẮT 6
MỞ ĐẦU 7
CHƯƠNG 1 TỔNG QUAN KHAI PHÁ MẪU DÃY CÓ TRỌNG SỐ TRONG CƠ SỞ DỮ LIỆU DÃY 15
1.1 Tổng quan tình hình nghiên cứu 15
1.2 Khai phá mẫu dãy có trọng số trong CSDL dãy 25
1.3 Khai phá mẫu dãy có trọng số trong CSDL dãy với khoảng cách thời gian
32
1.4 Khai phá mẫu dãy lợi ích cao trong CSDL định lượng có khoảng cách thời gian 47
Kết luận Chương 1 61
CHƯƠNG 2 KHAI PHÁ MẪU DÃY CÓ TRỌNG SỐ TRONG CƠ SỞ DỮ LIỆU DÃY CÓ KHOẢNG CÁCH THỜI GIAN 63
2.1 Giới thiệu 63
2.2 Thuật toán khai phá top-k mẫu dãy thường xuyên trọng số với khoảng cách thời gian (TopKWFP) 65
2.2.1 Bài toán đặt ra 65
2.2.2 Ý tưởng thuật toán 66
2.2.3 Thuật toán TopKWFP 67
2.2.4 Phân tích thuật toán TopKWFP 70
2.2.5 Thử nghiệm thuật toán 78
Kết luận Chương 2 86
CHƯƠNG 3 KHAI PHÁ MẪU DÃY LỢI ÍCH CAO TRONG CƠ SỞ DỮ LIỆU DÃY CÓ KHOẢNG CÁCH THỜI GIAN 87
3.1 Giới thiệu 87
3.2 Thuật toán khai phá mẫu dãy lợi ích cao có khoảng cách thời gian (UIPrefixSpan) 89
3.2.1 Bài toán đặt ra 89
3.2.2 Ý tưởng thuật toán 90
3.2.3 Thuật toán UIPrefixSpan 90
3.2.4 Phân tích thuật toán UIPrefixSpan 92
Trang 63.2.5 Thử nghiệm thuật toán 103
3.3 Thuật toán khai phá mẫu dãy lợi ích cao có khoảng cách thời gian 1 pha (HUISP) 109
3.3.1 Bài toán đặt ra 109
3.3.2 Ý tưởng thuật toán 110
3.3.3 Thuật toán HUISP 112
3.3.4 Phân tích thuật toán HUISP 114
3.3.5 Thử nghiệm thuật toán 126
Kết luận Chương 3 133
KẾT LUẬN VÀ KIẾN NGHỊ 134
DANH MỤC CÔNG TRÌNH ĐÃ CÔNG BỐ 137
TÀI LIỆU THAM KHẢO 138
Trang 7DANH MỤC HÌNH VẼ
Hình 1.1 Các vấn đề nghiên cứu của luận án 25
Hình 2.1 Ảnh hưởng của tham số k 80
Hình 2.2 Ảnh hưởng của chiến lược tối ưu lên thời gian chạy 81
Hình 2.3 Ảnh hưởng của chiến lược tối ưu lên số ứng viên tạo ra 82
Hình 2.4 So sánh 2 thuật toán WIPrefixSpan và TopKWFP 85
Hình 3.1 Biểu đồ phân phối giá trị lợi nhuận của 1000 mục (UIPrefixSpan) 104
Hình 3.2 Thời gian chạy UIPrefixSpan 106
Hình 3.3 Bộ nhớ sử dụng UIPrefixSpan 107
Hình 3.4 Số mẫu dãy lợi ích cao UIPrefixSpan 109
Hình 3.5 Biểu đồ phân phối giá trị lợi nhuận của 1000 mục (HUISP) 127
Hình 3.6 Thời gian chạy HUISP 128
Hình 3.7 Bộ nhớ sử dụng HUISP 129
Hình 3.8 Ảnh hưởng của số lượng mẫu dãy với thời gian chạy và bộ nhớ 132
Trang 8DANH MỤC BẢNG BIỂU
Bảng 1.1 Danh sách một số công trình liên quan đến luận án 22
Bảng 1.2 CSDL dãy SDB 26
Bảng 1.3 Trọng số của các mục trong SDB 26
Bảng 1.4 CSDL dãy iSDB với khoảng cách thời gian 33
Bảng 1.5 Trọng số của các mục trong iSDB 34
Bảng 1.6 CSDL dãy QiSDB với khoảng cách thời gian 48
Bảng 1.7 Trọng số của các mục trong QiSDB 49
Bảng 1.8 Bảng lợi ích QiSDB 56
Bảng 1.9 Bảng chỉ mục 56
Bảng 2.1 CSDL dãy iSDB với khoảng cách thời gian 75
Bảng 2.2 Trọng số của các mục trong iSDB 75
Bảng 2.3 CSDL chiếu của dãy <0,c> 77
Bảng 2.4 Các bộ dữ liệu thực nghiệm 79
Bảng 2.5 Thống kê chi tiết số lượng mẫu dãy ứng viên tạo ra 83
Bảng 3.1 Cơ sở dữ liệu điều kiện với tiền tố <0,a> 97
Bảng 3.2 Cơ sở dữ liệu điều kiện với tiền tố <0,a><1, b > 97
Bảng 3.3 Cơ sở dữ liệu điều kiện với tiền tố <0,a><1, b ><2, a> 98
Bảng 3.4 Cơ sở dữ liệu điều kiện với tiền tố <0,a><1, b ><2, ab> 98
Bảng 3.5 Các mẫu dãy ứng viên ứng với tiền tố <0, a> 99
Bảng 3.6 Bảng thống kê khai phá mẫu dãy lợi ích cao với khoảng cách thời gian trong QiSDB .100
Bảng 3.7 Lợi ích của mẫu dãy 1 phần tử 118
Trang 9Bảng 3.8 Lợi ích của các dãu đầu vào 119
Bảng 3.9 Bảng lợi ích của các mẫu dãy 1 phần tử 119
Bảng 3.10 Bảng chỉ mục trong QiSDB 120
Bảng 3.11 CSDL chiếu của <0,a> QiSDB|<0,a> 121
Bảng 3.12 Bảng lợi ích của các mẫu ứng viên độ dài 2 với tiền tố <0,a> 122
Bảng 3.13 CSDL chiếu của <0,a><1,b> QiSDB|<0,a><1,b> 122
Bảng 3.14 Bảng lợi ích của các mục ứng viên độ dài 3 với tiền tố <0,a><1,b> 123
Bảng 3.15 CSDL chiếu của <0,a><1,b><2,a> QiSDB|<0,a><1,b><2,a> 123
Bảng 3.16 Bảng lợi ích của các mục ứng viên độ dài 4 với tiền tố <0,a><1,b><2,a> .124
Bảng 3.17 Bảng mẫu dãy lợi ích cao tìm được với tiền tố <0,a> 124
Bảng 3.18 Bảng mẫu dãy lợi ích cao với khoảng cách thời gian của QiSDB 125
Bảng 3.19 Bảng thống kê số lượng mẫu dãy ứng viên và số mẫu dãy lợi ích cao của UIPrefixSpan và HUISP 130
Trang 10DANH MỤC CÁC TỪ VIẾT TẮT
lợi ích cao theo phương pháp Apriori
theo phương pháp PrefixSpan PrefixSpan Prefix-Projected Sequential
Patterns Mining Algorithm
Thuật toán khai phá mẫu dãy thường xuyên theo phương pháp tăng trưởng mẫu dãy TopKWFP Top-k weighted sequential
pattern mining with item interval Algorithm
Thuật toán khai phá top-k mẫu dãy trọng số có khoảng cách thời gian
WIPrefixSpan Weighted sequential pattern
mining with item interval Algorithm
Thuật toán khai phá mẫu dãy trọng số có khoảng cách thời gian
UIPrefixSpan High Utility Sequential Patterns
with Time Interval Algorithm
Thuật toán khai phá mẫu dãy lợi ích cao có khoảng cách thời gian theo phương pháp 2 pha HUISP High Utility Item Interval
Sequential Pattern Algorithm
Thuật toán khai phá mẫu dãy lợi ích cao có khoảng cách thời gian theo phương pháp sử dụng bảng lợi ích
GSP Generalized Sequential Pattern Thuật toán khai phá mẫu dãy
tổng quát
iSDB Sequence Database with item
interval
Cơ sở dữ liệu dãy có khoảng cách thời gian
QiSDB Quantitative Sequence Database
with item interval
Cơ sở dữ liệu dãy định lượng
có khoảng cách thời gian
Trang 11MỞ ĐẦU
1 Tổng quan
Khai phá dữ liệu được định nghĩa là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu, kho dữ liệu Khai phá tập mục thường xuyên là một hướng cơ bản trong khai phá dữ liệu Bài toán khai phá tập mục thường xuyên được Agrawal và Srikant giới thiệu trong [1] với mục đích tìm ra các mục thường xuất hiện cùng nhau trong CSDL giao dịch Ví
dụ như một tập mục thường xuyên {Máy in; Giấy} thể hiện rằng các sản phẩm này thường được mua cùng nhau Các tập mục thường xuyên có dạng đơn giản và dễ hiểu đối với con người nhưng lại rất hữu ích trong việc ra quyết định
Từ khi ra đời, lĩnh vực khai phá tập mục thường xuyên đã thu hút rất nhiều nhà nghiên cứu Rất nhiều công trình đã và đang tiếp tục được công bố nhằm phát triển các kỹ thuật khai phá tập mục thường xuyên cũng như mở rộng bài toán khai phá tập mục thường xuyên Tuy nhiên, trong bài toán này, thứ tự của các mục lại bị
bỏ qua Điều này có thể dẫn tới việc không tìm được các tập mục hữu ích hoặc các tập mục được tìm thấy không thực sự hữu ích Khai phá các mẫu dãy tiềm năng và
và hữu ích trong các cơ sở dữ liệu dãy là một trong những nội dung quan trọng trong khai phá dữ liệu cơ bản Những năm gần đây, các xu hướng nghiên cứu các vấn đề khai phá dữ liệu là đề xuất các thuật toán để khai phá các mẫu dãy trong các loại CSDL dữ liệu dãy Một trong những nội dung khai thác dữ liệu phổ biến nhất trên dãy là khai phá các mẫu dãy tuần tự Để có thể giải quyết vấn đề này, bài toán khai phá mẫu dãy thường xuyên đã được Agrawal và Srikant đề xuất trong [2] Nội dung theo hướng này bao gồm các việc khai phá các mẫu dãy tiềm năng, hữu ích trong một tập hợp các dãy dữ liệu, trong đó mức độ hữu ích của một dãy con có thể được tính toán và xác định theo nhiều tiêu chí khác nhau như tần suất xuất hiện, độ dài, trọng
số, lợi ích của dãy và khoảng thời gian xuất hiện giữa các dãy Khai phá các mẫu dãy
có rất nhiều ứng dụng trong thực tiễn hiện nay vì dữ liệu thu thập được cơ bản đã được mã hóa thành các dãy dữ liệu trong nhiều lĩnh vực như tin sinh học, đào tạo trực
Trang 12tuyến, phân tích thị trường, phân tích mua bán, phân tích văn bản và phân tích thông tin nhấp chuột trên trang web
Mối quan tâm đến các kỹ thuật khai phá mẫu dãy đến từ khả năng phát hiện ra các mẫu dãy có thể ẩn bên trong cơ sở dữ liệu dãy lớn và con người có thể giải thích được và rất hữu ích cho việc hiểu dữ liệu và ra các quyết định phù hợp Ví dụ, một mẫu dãy {Sữa, bánh quy} có thể được sử dụng để hiểu hành vi của khách hàng và đưa ra các quyết định chiến lược để tăng doanh số bán hàng, chẳng hạn như đồng quảng cáo sản phẩm và giảm giá
Một số kỹ thuật khai thác theo mẫu dãy như kỹ thuật khai thác tập mục phổ biến thường xuyên [1], [3], [4], [5], [6], [7] và khai phá các luật kết hợp [1] nhằm phân tích dữ liệu, trong đó thứ tự tuần tự của các sự kiện xuất hiện các mục không được tính đến Do đó, nếu các kỹ thuật khai phá mẫu dãy như vậy áp dụng trên các
dữ liệu có thông tin về thời gian hoặc thứ tự tuần tự thì các thông tin này sẽ bị bỏ qua Điều này có thể dẫn đến việc không khai phá ra được các mẫu dãy quan trọng trong
dữ liệu hoặc tìm kiếm các mẫu có thể không hữu ích vì chúng bỏ qua mối quan hệ tuần tự giữa các sự kiện hoặc các phần tử của dữ liệu Trong nhiều lĩnh vực, thứ tự của các sự kiện là đặc biệt quan trọng Ví dụ, để phân tích các văn bản, cần phải xem xét thứ tự của các từ trong câu [8] Trong phát hiện xâm nhập mạng, thứ tự của các
sự kiện xảy ra rất quan trọng [9] Một số phương pháp chính phân tích và khai phá
dữ liệu mẫu dãy tuần tự [2], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23] trong các phương pháp này bao gồm việc khám phá các dãy con tiềm năng và có ý nghĩa trong một tập hợp các dãy, trong đó mức độ tiềm năng của một dãy con có thể được đo lường theo các tiêu chí khác nhau như tần suất xuất hiện,
độ dài và lợi nhuận của dãy, khoảng cách thời gian Khai phá mẫu dãy tuần tự có nhiều ứng dụng trong đời thực do dữ liệu được mã hóa tự nhiên dưới dạng dãy ký hiệu trong nhiều lĩnh vực như tin sinh học [24], e-learning [25], [26], phân tích thị trường [10], phân tích văn bản [8], tiết kiệm năng lượng trong smarthomes [27], phân tích luồng nhấp chuột trên các trang web [28] Hơn nữa, khai phá các mẫu dãy cũng
có thể được áp dụng cho chuỗi thời gian (ví dụ: dữ liệu cổ phiếu), khi việc tùy chỉnh các tham số được thực hiện như một bước tiền xử lý [29]
Trang 13Thông thường, khai phá mẫu dãy thường xuyên được khai phá trong bài toán mua sắm thực hiện như ví dụ sau: một dãy dữ liệu <ab,b,bc> tương đương với tình huống khi khách hàng mua mặt hàng b sau khi đã mua mặt hàng a và b, sau đó họ mua tiếp mặt hàng b,c sau khi mua mặt hàng b Tuy nhiên, người quản lý bán hàng không biết được thời gian mà khách hàng đã mua các sản phẩm trên nếu chỉ thực hiện khai phá mẫu dãy thường xuyên mà không có thêm các thông tin mở rộng khác Trong thực tế, khoảng cách thời gian giữa các thành phần trong dãy cũng đóng vai trò rất quan trọng Dãy <ab,b> với khoảng cách thời gian là 1 ngày sẽ có ý nghĩa hơn rất nhiều dãy <ab,b> mà có khoảng cách là 1 năm Cũng với ví dụ trên, một dãy dữ liệu
<(0,ab), (1,b), (30,bc)> tương đương với tình huống khách hàng mua mặt hàng a và
b, sau đó 1 ngày khách hàng mua mặt hàng b, và sau 30 ngày tiếp theo khách hàng mua mặt hàng b và c Khi đó thông tin mở rộng của khai phá dãy có khoảng cách thời gian có ý nghĩa cho phép người quản lý bán hàng phân tích xem sau khoảng thời gian bao lâu, khách hàng sẽ mua các mặt hàng tiếp theo
Mặt khác, các giải thuật khai phá mẫu dãy sử dụng một ngưỡng hỗ trợ nhằm thu nhỏ không gian tìm kiếm các mẫu dãy thường xuyên Tuy nhiên, sau khi có mẫu dãy thường xuyên, không có cách nào để điều chỉnh số các dãy thường xuyên thông qua phản hồi của người sử dụng, ngoại trừ sự thay đổi ngưỡng hỗ trợ tối thiểu Một trong những hạn chế chính của phương pháp tiếp cận truyền thống các các thuật toán khai phá dãy thường xuyên là các mục trong dãy đều có giá trị như nhau, tuy nhiên trong thực tế, các mục lại có các mức độ quan trọng khác nhau Với ví dụ trên, với một dãy dữ liệu có thông tin khoảng cách thời gian <(0,ab), (1,b), (30,bc)>, việc người
sử dụng đưa thêm các giá trị trọng số của từng mục a, b, c khác nhau phản ánh mức
độ quan trọng của mục dữ liệu trong dãy đó, bởi vì nếu mục a là mặt hàng máy in (có giá trị cao, thông thường có số lượng mua ít) và mục b là mặt hàng giấy in (có giá trị
ít hơn, thông thường có số lượng mua nhiều) và mục c là mặt hàng hộp mực in (có giá trị trung bình, có số lượng mua trung bình) thì việc đưa trọng số của a (máy in) cao hơn trọng số của c (hộp mực in) và trọng số của b (giấy in) cho phép người sử dụng cân bằng được độ hỗ trợ (tần suất mua) và trọng số (mức độ quan trọng) của các mục (mặt hàng) đó
Trang 14Năm 1995, Agrawal và Srikant phát triển bài toán khai phá mẫu dãy thường xuyên và đề nghị thuật toán AprioriAll [2], một thuật toán dựa trên thuật toán Apriori
để khai thác mẫu dãy thường xuyên Cũng giống như Apriori, AproiriAll duyệt CSDL nhiều lần và dựa vào phương pháp sinh ứng viên nên tốn thời gian khai phá
Hiện nay trên thế giới có nhiều nhóm tác giả nghiên cứu đề xuất các thuật toán với các phương pháp tiếp cận khai phá mẫu dãy khác nhau như GSP [10], Spade [11], Spam [30], PrefixSpan [31]
Các thuật toán khai phá mẫu dãy nêu ở trên không quan tâm tới mức độ quan trọng của từng mục dữ liệu trong dãy (trọng số của dãy) Tuy nhiên trên thực tế, mỗi dãy dữ liệu đều có độ quan trọng khác nhau Một số công trình đã nghiên cứu về trọng số, đưa các giá trị trọng số khác nhau đến các mục trong dãy như MWSP [32], Wspan [33], WSPM [34]
Tuy nhiên trên thực tế, mỗi dãy dữ liệu xuất hiện đều có thông tin về khoảng cách thời gian giữa các dãy Có 2 hướng tiếp cận chính được các nhà nghiên cứu đề xuất trong khai phá mẫu dãy có khoảng cách thời gian: tiếp cận dựa trên ràng buộc cSpade [35], Prefix-growth [14] và tiếp cận dựa trên việc mở rộng cơ sở dữ liệu dãy [36] [37] [38] [39] [40] [41] Một số công trình tiêu biểu như cSpade [35], Prefix-growth [14], I-PrefixSpan [38] [39], TGSP [41], TiWS [36], Nhóm tác giả Y Hirate
và cộng sự [37]
Tuy nhiên, đến nay chưa có nhiều các nghiên cứu về khai phá mẫu dãy có trọng số trong CSDL dãy có khoảng cách thời gian trong đó quan tâm đến cả đến trọng số của mỗi mục trong dãy dữ liệu và khoảng cách thời gian giữa các dãy Việc phát hiện top-k mẫu dãy thường xuyên trên CSDL dãy được thực hiện bằng việc nghiên cứu giải quyết của thuật toán TKS [21] do Fournier-Viger và cộng sự đề xuất thực hiện khai phá top-k mẫu dãy thường xuyên trong CSDL dãy sử dụng biểu diễn CSDL theo chiều dọc và nghiên cứu Dương và cộng sự [40] đã đề xuất thuật toán khai phá mẫu dãy thường xuyên trọng số chuẩn hóa với khoảng cách thời gian trong CSDL dãy có khoảng cách thời gian và thuật toán WIPrefixSpan để khai phá mẫu dãy này Nhằm tiếp tục phát triển dựa trên các kết quả giải thuật TKS [21] và
Trang 15WIPrefixSpan [40] trong việc khai phá mẫu dãy trọng số trong CSDL dãy có khoảng cách thời gian, NCS đề xuất nội dung nghiên cứu và phát triển thuật toán trong Nội dung thứ 1
Nội dung thứ 1 trong việc xác định vấn đề nghiên cứu của luận án là phát
triển và đề xuất thuật toán khai phá top-k mẫu dãy thường xuyên trọng số với khoảng cách thời gian trong đó quan tâm đến cả đến trọng số của mỗi mục trong dãy dữ liệu
và khoảng cách thời gian giữa các dãy trong CSDL dãy có khoảng cách thời gian và
số lượng top-k mẫu dãy khai phá được
Bài toán khai phá mẫu dãy lợi ích cao là một mở rộng của bài toán khai phá mẫu dãy có trọng số Trong khai phá mẫu dãy lợi ích cao, các mục có thể có các giá trị khác nhau trong các lần xuất hiện khác nhau Ví dụ, xét một dãy dữ liệu như sau
<a[3] ><a[2] b[6] d[2]>, mẫu dãy a nhận 2 giá trị khác nhau (lần lượt là 3 và 2) trong
2 lần xuất hiện thể hiện mục a được mua với số lượng 3 và 2 trong 2 lần giao dịch liên tiếp CSDL dãy có chứa các giá trị số lượng như vậy được gọi là CSDL dãy định lượng Một số công bố tiêu biểu như UL, US [42], Uspan [43], PHUS [44], HuspExt [45], HUS-Span [46], HUSPM [47]
Tuy nhiên, đến nay chưa có nhiều các nghiên cứu về khai phá mẫu dãy lợi ích cao trong CSDL dãy định lượng có khoảng cách thời gian trong đó quan tâm đến cả đến trọng số của mỗi mục trong dãy dữ liệu, giá trị định lượng của các mục xuất hiện
và khoảng cách thời gian giữa các dãy trong CSDL dãy định lượng có khoảng cách thời gian Năm 2018, Phương và cộng sự [48] đề xuất thuật toán FSPFTIM phát hiện mẫu dãy cổ điển mờ với khoảng cách thời gian mờ trong các CSDL định lượng bằng cách sử dụng lý thuyết mờ đề chuyển đổi các thuộc tính định lượng, khoảng cách thời gian thành các khái niệm mờ và thực hiện khai phá giống như thuật toán Apriori, từ
đó tìm ra các mẫu dãy mờ với khoảng cách thời gian mờ Nhằm phát triển các giải thuật khai phá mẫu dãy lợi ích cao với khoảng cách thời gian trong CSDL dãy định lượng có khoảng cách thời gian, NCS đề xuất nội dung nghiên cứu và phát triển thuật toán trong Nội dung thứ 2
Trang 16Nội dung thứ 2 trong việc xác định vấn đề nghiên cứu của luận án là phát
triển và đề xuất các thuật toán khai phá mẫu dãy lợi ích cao trong CSDL dãy định lượng có khoảng cách thời gian trong đó quan tâm cả đến trọng số của mỗi mục trong dãy dữ liệu, giá trị định lượng của mỗi mục dữ liệu và khoảng cách thời gian giữa các dãy trong CSDL dãy định lượng có khoảng cách thời gian
Luận án này nhằm giải quyết 02 nội dung được xác định ở trên Việc nghiên cứu giải quyết những vấn đề đó là thực sự cần thiết không chỉ ở phương diện phát triển lý thuyết mà cả ở phương diện ứng dụng thực tế Đó là động lực để tác giả luận
án thực hiện nghiên cứu đề tài “Khai phá mẫu dãy có trọng số trong Cơ sở dữ liệu dãy” Cụ thể luận án đề xuất và giải quyết các vấn đề về khai phá các mẫu dãy thường xuyên có tính đến trọng số của từng mục dữ liệu, khoảng cách thời gian giữa các dãy
và giá trị định lượng của các mục dữ liệu xuất hiện trọng dãy
2 Mục tiêu của luận án
Mục tiêu của luận án là đề xuất giải pháp khai phá các mẫu dãy có trọng số có khoảng cách thời gian giữa các dãy trong các CSDL dãy có khoảng cách thời gian và CSDL dãy định lượng có khoảng cách thời gian
Cụ thể luận án tập trung đề xuất các giải pháp nhằm:
Phát hiện các mẫu dãy có trọng số trong các CSDL dãy khoảng cách thời gian Các mẫu dãy tìm được khi đó được gọi là mẫu dãy thường xuyên trọng số với khoảng cách thời gian
Phát hiện các mẫu dãy có trọng số trong các CSDL dãy định lượng có khoảng cách thời gian Các mẫu dãy tìm được khi đó được gọi là mẫu dãy thường xuyên lợi ích cao với khoảng cách thời gian
NCS tập trung vào nghiên cứu đề xuất các thuật toán mới để khai phá các mẫu mẫu dãy thường xuyên; chứng minh tính đúng đắn và tính đầy đủ, phân tích độ phức tạp tính toán của các thuật toán; thử nghiệm và phân tích ý nghĩa của mẫu dãy thường xuyên khai phá được
3 Đối tượng nghiên cứu
Trang 17Dữ liệu có giá trị trọng số trong Cơ sở dữ liệu dãy có khoảng cách thời gian
Dữ liệu có giá trị trọng số trong Cơ sở dữ liệu dãy định lượng có khoảng cách thời gian
Các thuật toán khai phá các mẫu mẫu dãy có trọng số, có tính đến khoảng cách thời gian trong các CSDL dãy có khoảng cách thời gian và CSDL dãy định lượng có khoảng cách thời gian
4 Phạm vi nghiên cứu
Luận án nghiên cứu các mẫu dãy, trọng số của các mục trong dãy, khoảng cách thời gian giữa các dãy, các CSDL dãy có khoảng cách thời gian và CSDL dãy định lượng có khoảng cách thời gian
Các nghiên cứu, thuật toán và phương pháp khai phá mẫu dãy hiện nay trên CSDL dãy, CSDL dãy định lượng có các yếu tố khoảng cách thời gian, trọng số, lợi ích cao
5 Phương pháp nghiên cứu
Phương pháp nghiên cứu của luận án là nghiên cứu lý thuyết và nghiên cứu thực nghiệm Về nghiên cứu lý thuyết: các định lý, mệnh đề trong luận án được chứng minh chặt chẽ dựa vào các kiến thức cơ bản và các kết quả nghiên cứu đã công bố
Về nghiên cứu thực nghiệm: luận án thực hiện cài đặt các thuật toán, chạy thử nghiệm thuật toán với các bộ số liệu lấy từ kho dữ liệu UCI, so sánh và đánh giá kết quả thực nghiệm so với kết quả nghiên cứu lý thuyết, từ đó kết luận tính đúng đắn của kết quả nghiên cứu Về nghiên cứu đánh giá độ phức tạp thuật toán được sử dụng để thiết kế thuật toán giải quyết bài toán cụ thể được đặt ra trong luận án và ước lượng độ phức tạp tính toán của các thuật toán này và việc đánh giá tính hiệu quả các thuật toán dựa vào các kết quả thực nghiệm
6 Các đóng góp chính của luận án
Những đóng góp chính của luận án là đề xuất và giải quyết các vấn đề sau:
Trang 18 Đề xuất 01 thuật toán khai phá top-k mẫu dãy có tính đến trọng số của các mục
và khoảng cách thời gian trong các CSDL dãy có khoảng cách thời gian Kết quả công trình được đăng trong kết quả tại [CT1]
Đề xuất 02 thuật toán khai phá mẫu dãy lợi ích cao có tính đến trọng số của các mục, giá trị định lượng của mỗi mục và khoảng cách thời gian trong các CSDL dãy định lượng có khoảng cách thời gian Kết quả công trình được đăng trong kết quả tại [CT2], [CT3], [CT4], [CT5]
7 Bố cục luận án
Luận án gồm phần mở đầu, 03 chương nội dung và phần kết luận:
Phần mở đầu: Trình bày tổng quan của luận án; mục tiêu, đối tượng, phạm vi nghiên cứu; phương pháp nghiên cứu; những đóng góp chính và cấu trúc của luận án
Chương 1: Tổng quan tình hình nghiên cứu và các vấn đề liên quan trong khai phá mẫu dãy có trọng số trong CSDL dãy, trong CSDL dãy có khoảng cách thời gian và trong CSDL dãy định lượng có khoảng cách thời gian Chương này trình bày các khái niệm, định nghĩa và các phương pháp khai phá các mẫu dãy liên quan của các nghiên cứu trước đó
Chương 2: Khai phá mẫu dãy có trọng số trong CSDL dãy có khoảng cách thời gian Chương này đặt vấn đề và đề xuất thuật toán khai phá top-k mẫu dãy thường xuyên trọng số trong CSDL dãy có khoảng cách thời gian Tính đúng đắn và đầy đủ của thuật toán, việc thực nghiệm thuật toán trên các bộ
dữ liệu thực và so sánh với các nghiên cứu trước đó
Chương 3: Khai phá mẫu dãy lợi ích cao trong CSDL dãy định lượng có khoảng cách thời gian Chương này này đặt vấn đề và đề xuất thuật toán khai phá mẫu dãy lợi ích cao trong CSDL dãy định lượng có khoảng cách thời gian Tính đúng đắn và đầy đủ của thuật toán, việc thực nghiệm thuật toán trên các bộ dữ liệu thực và so sánh với các nghiên cứu trước đó
Phần kết luận: Trình bày một số kết luận những đóng góp của luận án, hướng phát triển và những vấn đề quan tâm của NCS
Trang 19CHƯƠNG 1 TỔNG QUAN KHAI PHÁ MẪU DÃY CÓ TRỌNG SỐ TRONG
CƠ SỞ DỮ LIỆU DÃY
Chương này trình bày tổng quan tình hình nghiên cứu và những định nghĩa cơ bản những vấn đề khai phá các mẫu dãy có trọng số trong các CSDL dãy, mẫu dãy
có trọng số trong CSDL dãy có khoảng cách thời gian, mẫu dãy lợi ích cao trong CSDL dãy định lượng có khoảng cách thời gian Chương này cũng chỉ ra các khoảng trống chưa được giải quyết để từ đó xác định vấn đề nghiên cứu của luận án
Khai phá mẫu dãy là nhiệm vụ thực hiện tìm kiếm tất cả các mẫu dãy con thường xuyên trong cơ sở dữ liệu dãy Một dãy s được cho là một mẫu dãy thường xuyên nếu và chỉ khi độ hỗ trợ sup (s) ≥ minsup, vì ngưỡng minsup do người dùng đặt [10] Nhiệm vụ khai phá mẫu dãy là một bài toán liệt kê nhằm mục đích liệt kê tất cả các mẫu dãy con có độ hỗ trợ không thấp hơn ngưỡng hỗ trợ tối thiểu do người dùng đặt ra Do đó, luôn có một kết quả đúng duy nhất cho một bài toán khai phá mẫu dãy thường xuyên Để thực hiện khai phá các mẫu dãy thường xuyên, cách tiếp cận đơn giản là tính toán hỗ trợ của tất cả các mẫu dãy con có thể có trong cơ sở dữ liệu dãy
để sau đó chỉ đưa ra những mẫu dãy đáp ứng ràng buộc hỗ trợ tối thiểu do người dùng đặt ra Tuy nhiên, với cách tiếp cận như vậy sẽ ít hiệu quả vì thông thường số lượng dãy con tìm được có thể rất lớn Ví dụ như một dãy chứa q mục dữ liệu trong một CSDL dãy có thể có tối đa 2q-1 các mẫu dãy con riêng biệt Do đó, để giải quyết vấn
đề khai phá các mẫu dãy con đối với hầu hết các cơ sở dữ liệu dãy có trong thực tế là phức tạp và khó khăn Vì vậy, các nghiên cứu và phát triển các thuật toán hiệu quả khai phá mẫu dãy cần hạn chế phải khai phá không gian tìm kiếm của tất cả các dãy con có thể có trong CSDL dãy
Hiện nay có nhiều thuật toán đã được đề xuất để khai phá các mẫu dãy trong
cơ sở dữ liệu dãy Một số thuật toán phổ biến nhất là GSP [10], Spade [11], PrefixSpan [31], Spam [30], Lapin [18], CM-Spam và CM-Spade [17] Tất cả các thuật toán khai thác mẫu dãy này lấy đầu vào là cơ sở dữ liệu dãy và ngưỡng hỗ trợ tối thiểu (do người dùng chọn) và trả kết quả là tập hợp các mẫu dãy thường xuyên và luôn chỉ có một
Trang 20kết quả đúng cho nhiệm vụ khai phá mẫu dãy (đối với cơ sở dữ liệu dãy và giá trị ngưỡng) Do đó, tất cả các thuật toán khai phá mẫu dãy luôn trả về cùng một kết quả
là tập hợp các mẫu dãy nếu chúng được chạy với cùng một tham số trên cùng một cơ
sở dữ liệu Sự khác biệt giữa các thuật toán khác nhau không phải là đầu ra của chúng,
mà là cách mỗi thuật toán thực hiện khai phá ra các mẫu dãy Các thuật toán khác nhau
sử dụng các chiến lược và cấu trúc dữ liệu khác nhau để tìm kiếm và khai phá các mẫu dãy một cách hiệu quả, một số thuật toán hiệu quả hơn những thuật toán khác trong cùng mục đích khai phá mẫu dãy Hiện nay, các thuật toán khai phá mẫu dãy có thể được phân thành 02 loại là thuật toán tìm kiếm theo chiều sâu hoặc thuật toán tìm kiếm theo chiều rộng
AprioriAll là thuật toán khai phá mẫu dãy đầu tiên được đề xuất [2] Các tác giả của AprioriAll sau đó đã đề xuất một phiên bản cải tiến được gọi là GSP [10] Các thuật toán AprioriAll và GSP được đề xuất theo phương pháp của thuật toán Apriori nhằm khai phá tập mục thường xuyên [1] Đối với các thuật toán tìm kiếm theo chiều rộng như GSP tiến hành như sau Đầu tiên duyệt cơ sở dữ liệu để tìm mẫu dãy thường xuyên có độ dài 1 (các mẫu dãy chứa một mục) Sau đó, sẽ thực hiện sinh ra mẫu dãy
có độ dài 2 bằng cách thực hiện phần ghép cặp của các mẫu dãy độ dài 1 Sau đó mẫu dãy có độ dài 3 tiếp tục được tạo ra từ việc ghép cặp các mẫu dãy có độ dài 2 v.v cho đến khi không còn mẫu dãy nào có thể được tạo ra nữa Có thể thấy rằng với phương pháp tìm kiếm theo chiều rộng này thì không gian tìm kiếm có thể rất lớn Giả sử rằng dãy dài nhất trong cơ sở dữ liệu chứa m mục thì các thuật toán khai phá mẫu dãy thực hiện tìm kiếm theo chiều rộng trong trường hợp xấu nhất là tất cả các mẫu dãy có thể chứa m mục hoặc ít hơn Nếu một cơ sở dữ liệu dãy chứa m mục, thì các mẫu dãy phải khai phá có thể thể lớn hơn 2m
Trong những năm gần đây, nhiều thuật toán đã được chứng minh là hiệu quả hơn GSP do GSP thực hiện nhiều lần duyệt cơ sở dữ liệu để tính toán sự hỗ trợ của các mẫu dãy ứng viên Điều này có thể rất tốn kém tài nguyên đối với các cơ sở dữ liệu lớn, ngay cả khi một số tối ưu hóa có thể được thực hiện để giảm chi phí đó (ví dụ: bằng cách sắp xếp các dãy theo kích thước của chúng để tránh so sánh các mẫu dài với các dãy ngắn) Mặt khác GSP có thể tạo ra các mẫu không tồn tại trong cơ sở
Trang 21dữ liệu do việc tạo ra các ứng viên bằng cách kết hợp các mẫu nhỏ hơn mà không cần truy cập cơ sở dữ liệu GSP có thể tốn nhiều thời gian kiểm tra nhiều mẫu không tồn tại trong cơ sở dữ liệu Một vấn đề khác của thuật toán GSP là phải sử dụng bộ nhớ lớn vì tại bất kỳ thời điểm nào thuật toán cũng phải giữ tất cả các mẫu dãy thường xuyên có độ dài k trong bộ nhớ để có thể tạo ra các mẫu dãy có độ dài k + 1
Các thuật toán tìm kiếm theo chiều sâu như Spade [11], PrefixSpan [31], Spam [30], Lapin [18], CM-Spam và CM-Spade [17] thực hiện khai phá không gian tìm kiếm của các mẫu dãy bằng các cách khác nhau Bắt đầu từ các mẫu dãy chứa các mục đơn lẻ, sau đó thực hiện đệ quy đối với các mở rộng của các mẫu dãy này để tạo ra các mẫu dãy lớn hơn Sau đó, khi một mẫu dãy không thể được mở rộng nữa, thuật toán sẽ quay trở lại để tạo các mẫu dãy khác
Thuật toán Spade [11] là một thuật toán sử dụng phương pháp tìm kiếm theo chiều sâu và tránh một số nhược điểm của thuật toán GSP Thuật toán Spade được thực hiện theo phương pháp từ thuật toán Eclat [4] để khai phá tập mục thường xuyên Spade sử dụng biểu diễn cơ sở dữ liệu dọc thay thế biểu diễn cơ sở dữ liệu ngang ban đầu Biểu diễn theo chiều dọc của cơ sở dữ liệu dãy cho biết các tập hợp mục mà mỗi mục i xuất hiện trong cơ sở dữ liệu dãy Đối với một mặt hàng nhất định, thông tin này được gọi là IDList của mặt hàng đó Bằng cách sử dụng biểu diễn CSDL dọc, các thuật toán như Spade [11], Spam [30], CM-Spam và CMSpade [17] khai phá toàn bộ không gian tìm kiếm của các mẫu dãy bằng cách đọc cơ sở dữ liệu chỉ một lần để tạo IDLists duy nhất mặt hàng Sau đó, các IDLists của bất kỳ mẫu dãy nào gặp phải khi duyệt không gian tìm kiếm thu được bằng cách thực hiện phép nối các IDLists, cho phép tính toán hỗ trợ của mẫu dãy Vì vậy tất cả các mẫu dãy thường xuyên có thể được liệt kê mà không cần duyệt liên tục cơ sở dữ liệu và không cần duy trì một số lượng lớn các mẫu dãy trong bộ nhớ (trái ngược với các thuật toán tìm kiếm theo chiều rộng) Cách tiếp cận này được xem là một trong những cách hiệu quả để khai thác mẫu dãy hơn so với các thuật toán theo tiếp cận tìm kiếm theo chiều rộng
Bên cạnh thuật toán tìm kiếm theo chiều rộng và thuật toán khai thác theo chiều sâu sử dụng CSDL dọc, một phương pháp quan trọng khác để khai phá mẫu dãy là các thuật toán tăng trưởng mẫu dãy Các thuật toán tăng trưởng mẫu dãy thực hiện tìm
Trang 22kiếm theo chiều sâu, được thiết kế để giải quyết một hạn chế của các thuật toán được
mô tả trước đó vì có thể tạo ra các mẫu ứng cử viên không tồn tại trong cơ sở dữ liệu ban đầu Lý do là các thuật toán theo phương pháp tìm kiếm theo chiều rộng và thuật toán khai thác theo chiều sâu sử dụng CSDL dọc có thể tạo ra các mẫu dãy không xuất hiện trong cơ sở dữ liệu vì việc thực hiện tạo ra các mẫu dãy ứng viên bằng cách kết hợp các mẫu dãy nhỏ hơn nhưng quá trình này không liên quan đến việc truy cập cơ
sở dữ liệu
Các thuật toán theo phương pháp tăng trưởng mẫu dãy bằng cách duyệt đệ quy
cơ sở dữ liệu để tìm các mẫu dãy lớn hơn, vì vậy chỉ thực hiện khai phá các mẫu dãy thực sự tồn tại trong cơ sở dữ liệu Tuy nhiên, việc thực hiện duyệt cơ sở dữ liệu nhiều lần có thể gây tốn kém tài nguyên Để giảm chi phí duyệt cơ sở dữ liệu, thuật toán tăng trưởng mẫu dãy có đưa ra khái niệm cơ sở dữ liệu chiếu theo tiền tố nhằm mục đích giảm kích thước của cơ sở dữ liệu vì các mẫu lớn hơn được tìm kiếm theo chiều sâu
Thuật toán khai phá mẫu dãy tăng trưởng đầu tiên được đề xuất là FreeSpan [13], sau đó cùng một nhóm nghiên cứu đề xuất thuật toán PrefixSpan [31] theo phương pháp của thuật toán FPGrowth cho khai thác tập mục thường xuyên PrefixSpan thực hiện khai phá không gian tìm kiếm của các mẫu dãy bằng cách sử dụng phương pháp tìm kiếm theo chiều sâu Bắt đầu từ các mẫu dãy chứa một mục và khai phá các mẫu dãy lớn hơn bằng cách nối đệ quy các mục vào các mẫu dãy này để tạo ra các mẫu dãy lớn hơn Đầu tiên PrefixSpan sẽ duyệt cơ sở dữ liệu dãy ban đầu
để tính toán hỗ trợ của các mục đơn lẻ và xác định các mục thường xuyên (những mục
có hỗ trợ không thấp hơn ngưỡng minsup) Sau đó, PrefixSpan xuất ra từng mục này dưới dạng các mẫu dãy thường xuyên và coi các mẫu này là gốc để thực hiện tìm kiếm theo chiều sâu Trong quá trình tìm kiếm theo chiều sâu, đối với một mẫu dãy có độ dài k, PrefixSpan trước tiên tạo cơ sở dữ liệu chiếu của mẫu dãy tiền tố gốc Sau đó, PrefixSpan duyệt cơ sở dữ liệu chiếu đó để đếm sự hỗ trợ của các mục để tìm các mục
có thể được nối vào tiền tố gốc để tạo thành (k + 1)-mẫu dãy Quá trình này sau đó được lặp lại một cách đệ quy để thực hiện tìm kiếm theo chiều sâu để tìm tất cả các mẫu dãy thường xuyên
Trang 23Phương pháp tăng trưởng theo mẫu của PrefixSpan có ưu điểm là chỉ khai phá các mẫu dãy tổn tại trong cơ sở dữ liệu Tuy nhiên, một nhược điểm của PrefixSpan
và các thuật toán tăng trưởng theo mẫu dãy khác là tốn kém tài nguyên về thời gian chạy khi thực hiện duyệt cơ sở dữ liệu liên tục và tạo các cơ sở dữ liệu chiếu Mặt khác việc tạo các cơ sở dữ liệu chiếu có thể tiêu tốn một lượng lớn bộ nhớ, như trong trường hợp xấu nhất có thể yêu cầu sao chép gần như toàn bộ cơ sở dữ liệu cho mỗi phép chiếu trên cơ sở dữ liệu
Độ phức tạp về thời gian của các thuật toán khai phá mẫu dãy phụ thuộc vào
số lượng mẫu dãy trong không gian tìm kiếm và chi phí của các bước để tạo và xử lý từng tập hợp các mục Các thuật toán tăng trưởng mẫu dãy có lợi thế hơn các thuật toán khác là chỉ xem xét các mẫu thực sự tổn tại trong cơ sở dữ liệu Tuy nhiên, trên một số loại CSDL thì có thể thuật toán theo phương pháp tăng trưởng mẫu dãy chưa hiệu quả bằng phương pháp khác do chi phí duyệt cơ sở dữ liệu và thực hiện các phép chiếu là khá cao
Có ba loại chính của các thuật toán khai phá mẫu dãy: thuật toán theo chiều rộng thực hiện tạo ứng viên (ví dụ: AprioriAll và GSP), thuật toán tìm kiếm theo chiều sâu thực hiện tạo ứng viên bằng cách sử dụng cấu trúc IDList và các biến thể của nó (ví dụ: Spade, Spam, BitSpade, Fast, CM-Spam, CM-Spade) và các thuật toán tăng trưởng theo mẫu (ví dụ: FreeSpan, PrefixSpan) Hầu hết các thuật toán khai thác mẫu
là mở rộng theo ba cách tiếp cận chính này
Số lượng mẫu dãy trong không gian tìm kiếm phụ thuộc vào cách người dùng đặt ngưỡng minsup và mức độ tương tự của các mẫu dãy trong cơ sở dữ liệu dãy Khi ngưỡng minsup giảm, số lượng các mẫu dãy được tìm thấy bởi các thuật toán khai thác mẫu dãy có thể tăng theo cấp số nhân Không gian tìm kiếm cho khai phá mẫu dãy có thể rất lớn ngay cả đối với cơ sở dữ liệu dãy nhỏ chứa một vài mẫu dãy Ví dụ, một cơ sở dữ liệu dãy chỉ chứa hai dãy gồm 100 mục giống nhau có thể chứa tới 2100mẫu dãy con
Trang 24Để giảm số lượng các mẫu dãy được khai phá và tìm thấy các mẫu hữu ích hơn, các nhà nghiên cứu cũng đã đề xuất bổ sung và tích hợp các ràng buộc trong khai thác mẫu dãy [49] Ràng buộc là một tập hợp các tiêu chí bổ sung mà người dùng cung cấp
để chỉ ra chính xác hơn các loại mẫu dãy được tìm thấy Nhiều loại ràng buộc đã được nghiên cứu và đề xuất và cơ bản có hai cách để áp dụng các ràng buộc Cách thứ nhất
là áp dụng ràng buộc như một bước xử lý hậu kỳ trên tập hợp tất cả các mẫu dãy để lọc bớt các mẫu không thỏa mãn ràng buộc Tuy nhiên, một vấn đề với cách tiếp cận này là việc liệt kê tất cả các mẫu dãy có thể tiêu tốn rất nhiều thời gian và yêu cầu một lượng lớn bộ nhớ trong quá trình khai phá Cách thứ hai để giải quyết vấn đề này là đẩy các ràng buộc vào sâu trong quá trình khai phá các mẫu dãy Nói cách khác, các ràng buộc được áp dụng trong quá trình tìm kiếm các mẫu dãy nhằm để giảm không gian tìm kiếm Các thuật toán áp dụng cách tiếp cận này có thể nhanh hơn và tạo ra các mẫu dãy ít hơn nhiều so với các thuật toán khai thác mẫu dãy truyền thống, tùy thuộc vào các ràng buộc được sử dụng
Một trong những thuật toán khai phá mẫu dãy đầu tiên có tích hợp các ràng buộc là GSP [10] GSP đưa ra các ràng buộc về lượng thời gian tối thiểu và tối đa giữa hai tập hợp mục liên tiếp trong các mẫu dãy (ràng buộc khoảng cách thời gian), cũng như khoảng thời gian tối đa cho mỗi mẫu dãy Việc tích hợp các ràng buộc khoảng cách thời gian cũng là chủ đề của thuật toán Hirate và Yamana [37] và thuật toán Fournier-Viger [25], đã mở rộng thuật toán PrefixSpan và BIDE với các ràng buộc
về khoảng cách thời gian Pei và cộng sự đã nghiên cứu và tích hợp các ràng buộc khác nhau trong các thuật toán tăng trưởng theo mẫu dãy, chẳng hạn như các mặt hàng
sẽ xuất hiện hoặc không xuất hiện trong các mẫu dãy (ràng buộc mặt hàng), số lượng mặt hàng tối thiểu/tối đa trên mỗi mẫu dãy (ràng buộc theo độ dài dãy) và các ràng buộc tổng hợp về giá của các mặt hàng trong dãy chẳng hạn như trung bình, tối thiểu, tối đa, tổng và độ lệch chuẩn của giá cả (các ràng buộc tổng hợp) [49]
Pei và cộng sự [49] và các nhà nghiên cứu khác đã nghiên cứu đặc điểm của các ràng buộc có thể được đẩy sâu vào quá trình khai thác các mẫu dãy và các loại mẫu khác Ba loại ràng buộc chính thông thường được sử dụng như ngưỡng hỗ trợ tối thiểu, giới hạn độ dài và khoảng cách thời gian là cách phổ biến để tích hợp trong các
Trang 25thuật toán khai thác mẫu dãy, vì có thể được sử dụng nhằm tỉa bớt không gian tìm kiếm bằng cách áp dụng tính chất bao đóng (phản đơn điệu) trong quá trình khai phá Ràng buộc ngắn gọn là một ràng buộc có thể được kiểm tra cho một mẫu dãy bằng cách chỉ xem xét các mục mà mẫu dãy chứa Ví dụ, ràng buộc rằng tổng trọng số của một mẫu dãy không được lớn hơn hoặc không nhỏ hơn một giá trị nhất định có thể được kiểm tra bằng cách chỉ cần thêm trọng số của các mục của dãy
Một phần mở rộng khác của khai phá mẫu dãy là khai thác mẫu dãy top-k [21] nhằm khai phá k mẫu dãy thường xuyên nhất trong cơ sở dữ liệu dãy Lý do cho vấn
đề này là người dùng thường khó đặt ngưỡng minsup bằng cách sử dụng các thuật toán khai thác mẫu dãy truyền thống nếu người dùng không có kiến thức nền tảng về
cơ sở dữ liệu Nếu ngưỡng minsup được đặt quá thấp, quá nhiều mẫu dãy có thể được tìm thấy và các thuật toán có thể trở nên rất chậm và nếu ngưỡng minsup được đặt quá cao, có thể tìm thấy quá ít mẫu dãy Các thuật toán khai thác mẫu dãy top-k giải quyết vấn đề này bằng cách cho phép người dùng trực tiếp chỉ ra số lượng mẫu k được tìm thấy thay vì sử dụng tham số minsup Khai phá mẫu dãy top-k là một vấn đề khó hơn khai phá mẫu dãy thông thường [21]
Khai phá mẫu dãy có trọng số là một phần mở rộng của khai thác mẫu dãy trong đó các trọng số (thường được giả định là trong khoảng [0,1]) được gắn với mỗi mục dữ liệu để chỉ ra tầm quan trọng tương đối của chúng [36], [33], [50] Mục tiêu của khai phá mẫu dãy có trọng số là tìm các mẫu dãy có sự cân bằng giữa trọng số và
độ hỗ trợ đáp ứng ngưỡng tối thiểu
Khai phá mẫu dãy lợi ích cao (HUSP) là một phần mở rộng của khai thác mẫu dãy có trọng số, trong đó không chỉ xem xét trọng số của mặt hàng mà còn xem xét
số lượng mặt hàng trong dãy [42], [43], [44], [45] Thông thường khai phá mẫu dãy với đầu vào là cơ sở dữ liệu dãy trong đó số lượng mua là nhị phân, tức là mỗi mặt hàng có xuất hiện trong một tập phổ biến của một dãy hay không Đối với một số ứng dụng, giả định này không đúng hoặc chưa đầy đủ Ví dụ: Một cơ sở dữ liệu dãy các giao dịch của khách hàng trong đó khách hàng có thể đã mua 0, một hoặc một số đơn
vị của mỗi sản phẩm Không xem xét số lượng mua có thể dẫn đến việc phát hiện ra các mẫu dãy sai lệch Để giải quyết hạn chế này, HUSP tổng quát hóa vấn đề khai thác
Trang 26mô hình dãy bằng cách xem xét rằng mỗi mặt hàng xuất hiện 0, một lần hoặc nhiều lần trong mỗi nhóm mặt hàng (số lượng mua) và mỗi mặt hàng có trọng số cho biết tầm quan trọng tương đối của nó (ví dụ: lợi nhuận là bao nhiêu được tạo ra bởi mỗi đơn vị bán của mặt hàng) Mục tiêu của HUSP là tìm tất cả các mẫu dãy có lợi ích lớn hơn hoặc bằng ngưỡng lợi ích tối thiểu trong cơ sở dữ liệu dãy Mức độ lợi ích (lợi nhuận) của một mẫu dãy là tổng của mức độ lợi nhuận tối đa được tạo ra bởi mẫu trong mỗi dãy nơi nó xuất hiện [42], [43], [44], [45] Trong quá trình khai phá mẫu dãy lợi ích cao thường không sử dụng các yếu tố trực tiếp để cắt bớt không gian tìm kiếm Để giải quyết vấn đề này, các thuật toán HUSP đã đưa ra giới hạn trên về lợi ích của các mẫu dãy như thước đo SWU [42] là đơn điệu, để cắt bớt không gian tìm kiếm Một thách thức lớn trong HUSP là phát triển các giới hạn trên chặt chẽ hơn trên lợi ích của dãy để có thể cắt bớt một phần lớn hơn của không gian tìm kiếm và cải thiện hiệu suất của HUSP HUSP là một chủ đề nghiên cứu rất thú vị và nhiều thách thức Nhiều phần mở rộng khác nhau của vấn đề HUSP đã được nghiên cứu như để
ẩn các mẫu dãy lợi ích cao trong cơ sở dữ liệu để bảo vệ thông tin nhạy cảm [51] và khai phá các luật lợi ích cao [52]
Bảng 1.1 Danh sách một số công trình liên quan đến luận án
I Khai phá mẫu dãy thường xuyên
1.1 Các thuật toán khai phá mẫu dãy thường xuyên theo phương pháp
Apriori
1 R Agrawal and R Srikant (1995) AprioriAll
2 R Agrawal and R Srikant (1996) GSP
1.2 Các thuật toán khai phá mẫu dãy thường xuyên sử dụng dạng biểu diễn
dọc
Trang 27STT Công bố, năm xuất bản Thuật toán
4 Ayres.J, Gehrke.J, Yiu.T and Flannick.J
6 Fast Vertical Mining of Sequential Patterns
Using Co-occurrence Information (2014)
CM-ClaSP, CM-Spade, CM-Spam
1.3 Các thuật toán khai phá mẫu dãy thường xuyên sử dụng phương pháp
tăng trưởng mẫu dãy
7 J Han, J Pei, B Mortazavi-Asl, Q Chen,
U Dayal, and M C Hsu (2000)
FreeSpan
8 J Pei, J Han, B.M Asi, H Pino (2001) PrefixSpan
II Khai phá mẫu dãy có trọng số
9 U Yun, and J J Leggett (2006) WSpan
10 J D Ren, J Yang, and Y Li (2008) WCSpan
III Khai phá mẫu dãy lợi ích cao
11 C F Ahmed, S K Tanbeer, and B S
13 Yin, J., Zheng, Z., Cao, L (2012) USpan
14 Alkan, O K and Karagoz, P (2016) HuspExt
15 Wang, J.Z., Huang, J.L., Chen, Y.C (2016) HUS-Span
16 Truong-Chi T., Fournier-Viger P (2019) HUSPM
Trang 28STT Công bố, năm xuất bản Thuật toán
17 Feremans Len, Cule Boris, Goethals Bart
(2019)
QCSP
IV Khai phá mẫu dãy với khoảng cách thời gian
18 Chen Y.-L and Huang T.C.-H (2003) I-Apriori, I-PrefixSpan
19 Chen Y.-L., Chiang M.-C and Ko M.-T
(2005)
FTI-Apriori, PrefixSpan
20 Yu Hirate, Hayato Yamana (2006) Hirate & Yamana’s
algorithm
Bảng 1.1 cho thấy các nghiên cứu liên quan khai phá mẫu dãy thường xuyên, khai phá mẫu dãy có trọng số, khai phá mẫu dãy lợi ích cao, khai phá mẫu dãy với khoảng cách thời gian
Trang 29Hình 1.1 Các vấn đề nghiên cứu của luận án
Hình 1.1 trình bày các vấn đề nghiên cứu của luận án Luận án này tập trung trình bày việc giải quyết các bài toán thuộc hướng nghiên cứu khai phá mẫu dãy trọng
số với khoảng cách thời gian trong CSDL dãy có trọng số có khoảng cách thời gian
và khai phá mẫu dãy lợi ích cao với khoảng cách thời gian trong CSDL dãy định lượng có khoảng cách thời gian
Định nghĩa 1.1 Cơ sở dữ liệu dãy có trọng số SDB [2]
Trang 30Gọi I={i 1 , i 2 , …, i n } là tập hợp các mục Mỗi mục 𝑖𝑗 ∈ 𝐼được gán 1 giá trị
trọng số w j thể hiện mức độ quan trọng của mục i Một tập con khác rỗng của I được
gọi là một tập mục Một dãy dữ liệu S là một danh sách sắp xếp theo thứ tự của các tập mục, ký hiệu 𝑆 = 〈(𝑠1), (𝑠2), … , (𝑠𝑚)〉, trong đó s j là một tập mục hay một phần
tử của dãy
Một cơ sở dữ liệu dãy có trọng số SDB là một bộ <sid, S>, trong đó sid là một định danh của dãy và S k là một dãy dữ liệu, đồng thời mỗi mục 𝑖𝑗 ∈ 𝐼được gán 1 giá
trị trọng số w j thể hiện mức độ quan trọng của mục 𝑖𝑗 trong CSDL
Ví dụ: CSDL dãy có trọng số SDB được mô tả như trong Bảng 1.2 và giá trị trọng số của các mục được mô tả như trong Bảng 1.3
Trang 31Bảng 1.3 thể hiện giá trị trọng số của mỗi mục tương ứng với mỗi mặt hàng nhằm thể hiện mức độ quan trọng của các mục trong các giao dịch Trong đó, trọng
số mặt hàng c có giá trị 0,1 là thấp nhất (thể hiện mức độ quan trọng hoặc tỉ trọng giá của mặt hàng c thấp nhất), trọng số mặt hàng g có giá trị 0,8 là cao nhất (thể hiện mức
độ quan trọng hoặc tỉ trọng giá của mặt hàng g là cao nhất) Giá trị trọng số này có thể được thay đổi, điều chỉnh theo yêu cầu giúp cho cân bằng mức độ quan trọng của các mục với nhau trong các giao dịch
Định nghĩa 1.2 Kích thước của một dãy [2]
Kích thước của một dãy 𝑆 = 〈(𝑠1), (𝑠2), … , (𝑠𝑚)〉 được ký hiệu |S| là tổng số
dãy s j trong dãy S Ví dụ: dãy S= <(a)(abd)(f)(a)(d)> có kích thước |S| =5
Định nghĩa 1.3 Độ dài của một dãy [2]
Độ dài của một dãy 𝑆 = 〈(𝑠1), (𝑠2), … , (𝑠𝑚)〉 trong đó trong đó s j là một tập mục hay một phần tử của dãy (𝑠𝑗 ⊆ 𝐼) được ký hiệu l(S) là tổng số mục 𝑖𝑗 ∈ 𝐼 có trong dãy S Một dãy có độ dài l được gọi là l-sequence
Ví dụ: dãy S= <(a)(abd)(f)(a)(d)> có độ dài là l(S) =7
Định nghĩa 1.4 Dãy con và dãy chứa [2]
Dãy α = 〈(𝑆1), (𝑆2), … , (𝑆𝑚)〉 được gọi là dãy con của dãy 𝛽 =
〈(𝑆′1), (𝑆′2), … , (𝑆′𝑚), … , (𝑆′𝑛)〉 nếu và chỉ nếu 𝑆𝑖 ⊆ 𝑆′𝑖 Ký hiệu là 𝛼 ≼ 𝛽 Dãy β cũng được gọi là dãy chứa của dãy α
Trang 32Ví dụ: Dãy <(abd)(f)> và dãy <(ab)(d)> là một trong các các dãy con của dãy chứa <(a)(abd)(f)(a)(d)>
Định nghĩa 1.5 Độ hỗ trợ của một dãy trong CSDL dãy [2]
Độ hỗ trợ (tuyệt đối) của dãy α trong CSDL dãy SDB là tổng số dòng có chứa
α trong SDB, ký hiệu là sup(α)
𝑠𝑢𝑝(𝛼) = |{𝛼|𝛼 ≼ 𝑆𝑖 ∧ 𝑆𝑖 ∈ 𝑆𝐷𝐵}|
Ví dụ: Dãy <(bd)> trong CSDL SDB thể hiện tại Bảng 1.2 thì độ hỗ trợ sup(<(bd)>)= 2
Định nghĩa 1.6 Trọng số của dãy [33]
Cho I = {i 1 , i 2 , …, i n } là tập hợp các mục dữ liệu Mỗi mục i j I được gán một trọng số w j với j = 1, ,n Khi đó trọng số chuẩn hóa của một dãy α =
〈(𝑆1), (𝑆2), … , (𝑆𝑚)〉 có độ dài k và s j có dạng (i 1 i 2 … i k ) được tính bằng công thức
Định nghĩa 1.7 Độ hỗ trợ với trọng số của dãy [33]
Độ hỗ trợ với trọng số của dãy ký hiệu là 𝑁𝑊𝑠𝑢𝑝𝑝𝑜𝑟𝑡(𝛼):
Định nghĩa 1.8 Mẫu dãy thường xuyên trọng số [33]
Trang 33Cho một CSDL dãy SDB, mỗi mục ij I được gán một trọng số w j, một ngưỡng hỗ trợ tối thiểu wminsup Một dãy 𝛼 được gọi là mẫu dãy thường xuyên trọng
số nếu thỏa mãn tính chất:
NWSupport( 𝛼) wminsup
Ví dụ: Với dữ liệu trong Bảng 1.2 và Bảng 1.3
Độ hỗ trợ của dãy = <(b)(g)> là sup(<(b)(g)>) = 3 Giá trị trọng số chuẩn hóa của dãy <(b)(g)> là NWSupport(<(b)(g)>) = ((0,2+0,8)/2)*3 = 1,5
Với = <(b)> thì NWSupport(<(b)>) = 0,2*6=1,2
Với = <(g)> thì NWSupport(<(g)>) = 0,8*3=2,4
Như vậy, nếu cho trước một giá trị wminsup = 1,4 để kiểm tra Ta sẽ thấy NWSupport (<(b)(g)>) = 1.5 > 1,4 và NWSupport(<(g)>) = 2,4 > > 1,4 NWSupport(<(b)>) = 1,2 < 1,4
Vì vậy, hai dãy <(b)(g)> và <(g)> là mẫu dãy thường xuyên trọng số, còn dãy
<(b)> không phải là mẫu dãy thường xuyên trọng số
Qua ví dụ trên, ta thấy, một dãy có thể không phải là một mẫu dãy thường xuyên có trọng số (ví dụ dãy <(b)>) nhưng có thể kết hợp với các mục khác có độ hỗ trợ lớn hơn hoặc trọng số lớn hơn để trở thành mẫu dãy thường xuyên có trọng số trong các mẫu có độ dài lớn hơn (dãy <(b)(g)>
Định nghĩa 1.9 Bài toán khai phá mẫu dãy thường xuyên trọng số [33]
Mục tiêu của bài toán khai phá mẫu dãy thường xuyên trọng số là tìm tất cả các mẫu dãy thường xuyên có trọng số trong CSDL dãy SDB Bài toán như sau:
• Cho một CSDL dãy SDB, mỗi mục i j I được gán một trọng số w j, một ngưỡng
hỗ trợ tối thiểu wminsup Tìm tất cả các mẫu dãy thường xuyên trọng số trong SDB , tức là tìm tập L:
𝐿 = {𝑆𝑎 ≼ 𝑆| 𝑁𝑊𝑠𝑢𝑝𝑝𝑜𝑟𝑡(𝑆𝑎) ≥ 𝑤𝑚𝑖𝑛𝑠𝑢𝑝 ∧ 𝑆 ∈ 𝑆𝐷𝐵}
• Mẫu dãy thường xuyên trọng số không thỏa mãn tính chất phản đơn điệu, nghĩa
là tập con của một mẫu dãy thường xuyên trọng số không nhất thiết phải là mẫu dãy thường xuyên trọng số
Trang 34Các thuật toán khai phá mẫu dãy trọng số trong các CSDL dãy có thể được phân chia thành các nhóm chính:
- Thuật toán MWSP [32] do Wei và đồng sự đề xuất là một mở rộng của thuật toán AproiriAll, có bổ sung thông tin trọng số của các dãy dữ liệu, thuật toán sinh các dãy ứng viên cha theo phương pháp ghép nối từ các dãy ứng viên của dãy con và thực hiện duyệt CSDL dãy nhiều lần để kiểm tra dãy thường xuyên có trọng số
- Thuật toán Wspan [33] do Unil Yun và đồng sự đề xuất là một mở rộng của thuật toán PrefixSpan,bổ sung thông tin trọng số của các dãy dữ liệu, thuật toán sử dụng giá trị hằng số trọng số lớn nhất của các mục dữ liệu ban đầu và khai phá theo phương pháp tăng trưởng mẫu dãy, tuy nhiên các dãy thường xuyên khai phá được trong thuật toán WSpan chỉ cần đáp ứng điều kiện độ hỗ trợ với hằng số trọng số lớn nhất trong CSDL điều kiện
mà không quan tâm tới giá trị trọng số thực của từng dãy thường xuyên tìm được
- Thuật toán WSPM [34] do Tao đề xuất là một mở rộng của thuật toán WSpan, thuật toán sử dụng giá trị trọng số lớn nhất của một dãy bằng tích của trọng số lớn nhất của các mục dữ liệu ban đầu nhân với độ dài lớn nhất của các dãy dữ liệu trong CSDL và khai phá theo phương pháp tăng trưởng mẫu dãy để sinh tập dãy ứng viên Sau đó thực hiện sinh các CSDL điều kiện theo các dãy ứng viên và kiểm tra độ hỗ trợ nhân với trọng số thực của dãy để tìm các dãy thường xuyên có trọng số
Thuật toán PrefixSpan [31] là thuật toán cơ bản khai phá các mẫu dãy trong CSDL dãy thuộc nhóm khai phá theo phương pháp tăng trưởng mẫu dãy sử dụng tìm kiếm theo chiều sâu Phương pháp tăng trưởng mẫu dãy tránh được việc sinh ra và kiểm tra các mẫu dãy không tồn tại bằng cách duyệt đệ quy CSDL để sinh ứng viên
Định nghĩa 1.10 Tiền tố [31]
Trang 35Giả sử các mục dữ liệu trong các tập mục thuộc dãy được sắp xếp theo thứ tự chữ cái Cho một dãy = < e1e2 …en>, một dãy =<e’1e’2 …e’m> (m≤n) được gọi là tiền tố của nếu và chỉ nếu:
- e’i = ei với (i≤m-1)
Cho một dãy = <e 1 e 2 …e n>, một dãy = <e 1 e 2 … e m-1 e’ m> (m≤n) được gọi
là tiền tố của Dãy γ =<e’’ m e m+1 … e n> được gọi là hậu tố của với tiền tố , ký
hiệu là γ=/ với e’’ m = (e m –e’ m) Hay ký hiệu là = .µ Nếu không phải là dãy con của thì hậu tố của với tiền tố là rỗng
Ví dụ: Cho dãy s = <(ab)c(fg)g(e)>, khi đó <(_b)c(fg)g(e)> là hậu tố của s với tiền tố <a>, <c(fg)g(e)> là hậu tố của s với tiền tố <(ab)>, <(fg)g(e)> là hậu tố của
s với tiền tố <(ab)c>
Định nghĩa 1.12 Cơ sở dữ liệu chiếu [31]
Gọi là một mẫu dãy trong CSDL dãy SDB CSDL chiếu của ký hiệu là S|
được định nghĩa là tập hợp tất cả các hậu tố của các dãy trong SDB với tiền tố
Định nghĩa 1.13 Độ hỗ trợ trong CSDL chiếu [31]
Cho một dãy = <e 1 e 2 …e n> là một mẫu dãy của một CSDL dãy SDB và là dãy với tiền tố Độ hỗ trợ của trong CSDL chiếu S| ký hiệu là 𝑠𝑢𝑝𝑆|𝛼(𝛽) là số
lượng các dãy γ trong S| có chứa nghĩa là 𝛽 ⊆ 𝛼 𝛾
Theo thuật toán PrefixSpan [31], cách tiếp cận phương pháp tăng trưởng mẫu dãy của thuật toán này là nền tảng được sử dụng trong việc phát triển các kết quả của luận án này và được trình bày trong Thuật toán 1.1 sau đây:
Trang 36Thuật toán 1.1 Thuật toán PrefixSpan
- k là độ dài của dãy α
- SDB|α là CSDL chiếu của tiền tố α nếu α = thì SDB|α = SDB
1 Start
2 Duyệt SDB|α, tìm các mục thường xuyên sao cho:
(a) có thể được nối vào thành phần cuối cùng của α để tạo thành một mẫu dãy thường xuyên hoặc
(b) <> có thể được nhóm vào với α để tạo thành một mẫu dãy thường xuyên
Định nghĩa 1.14 Dãy dữ liệu có khoảng cách thời gian [37]
Một dãy dữ liệu S có khoảng cách thời gian có dạng:
S = <(t 1,1 ,s 1 ), (t 1,2 ,s 2 ), (t 1,3 ,s 3 ), , (t 1,m ,s m )>;
Trang 37Với t, , là khoảng cách thời gian giữa tập mục s và tập mục s có dạng:
t, = s.time - s.time;
Trong đó, s.time và s.time là thông tin thời gian xuất hiện của svà s
Ví dụ: Một dãy dữ liệu S= <(0, a)(2, abd)> bao gồm s1 = (a) và s2 = (abd), trong đó khoảng cách thời gian giữa s1 và s2 có giá trị là 2
Định nghĩa 1.15 Cơ sở dữ liệu dãy có trọng số iSDB với khoảng cách thời gian
[37]
Gọi I={i 1 , i 2 , …, i n } là tập hợp các mục Mỗi mục 𝑖𝑗 ∈ 𝐼được gán 1 giá trị
trọng số w j thể hiện mức độ quan trọng của mục i Một tập con khác rỗng của I được
gọi là một tập mục Một dãy dữ liệu S là một danh sách sắp xếp theo thứ tự của các tập mục, ký hiệu 𝑆 = 〈(𝑡1,1, 𝑠1), (𝑡1,2, 𝑠2), … , (𝑡1,𝑚, 𝑠𝑚)〉, trong đó s j là một tập mục hay một phần tử của dãy (𝑠𝑗 ⊆ 𝐼) và t, là khoảng cách thời gian giữa tập mục s và
s
Một cơ sở dữ liệu dãy có trọng số iSDB với khoảng cách thời gian là một bộ
<sid, S>, trong đó sid là một định danh của dãy và S k là một dãy dữ liệu với khoảng
cách thời gian, đồng thời mỗi mục 𝑖𝑗 ∈ 𝐼được gán 1 giá trị trọng số w j thể hiện mức
độ quan trọng của mục 𝑖𝑗 trong CSDL
Một dãy S k thường được biểu diễn bởi các chữ cái trong bảng chữ cái, mỗi chữ cái thể hiện một mục
Ví dụ: CSDL dãy có trọng số iSDB với khoảng khoảng cách thời gian được
mô tả trong Bảng 1.4 và giá trị trọng số của các mục được mô tả trong Bảng 1.5
Bảng 1.4 CSDL dãy iSDB với khoảng cách thời gian
S1 <(0, a)(1, abd)(2, f)(3, a)(4, d)>
S2 <(0, e)(1, ab)(2, d)(3, c)>
S3 <(0, cf)(1, b)(2, de)>
Trang 38S4 <(0, a)(1, bd)(2, ab)(3, e)>
S5 <(0, df)(1, c)(2, g)>
S6 <(0, d)(1, e)(2, ab)(3, d)(4, b)(5, e)>
Bảng 1.5 Trọng số của các mục trong iSDB
hàng 5 lần tại cửa hàng đó, lần đầu người này mua sản phẩm a; lần 2 mua 3 sản phẩm a,b và d sau đó 1 ngày (1 đơn vị khoảng cách thời gian); lần 3 mua sản phẩm f sau
đó 1 ngày; lần 4 mua sản phẩm a sau đó 1 ngày và lần 5 mua sản phẩm d sau đó 1
Trang 39của mặt hàng c thấp nhất), trọng số mặt hàng g có giá trị 0,8 là cao nhất (thể hiện mức
độ quan trọng hoặc tỉ trọng giá của mặt hàng g là cao nhất) Giá trị trọng số này có thể được thay đổi, điều chỉnh theo yêu cầu giúp cho cân bằng mức độ quan trọng của các mục với nhau trong các giao dịch
Định nghĩa 1.16 Kích thước của một dãy với khoảng cách thời gian [37]
Kích thước của một dãy 𝑆 = 〈(𝑡1,1, 𝑠1), (𝑡1,2, 𝑠2), … , (𝑡1,𝑚, 𝑠𝑚)〉 được ký hiệu
|S| là tổng số dãy s j trong dãy S
Ví dụ: dãy S1= <(0, a)(1, abd)(2, f)(3, a)(4, d)> có kích thước |S| =5
Định nghĩa 1.17 Độ dài của một dãy với khoảng cách thời gian [37]
Độ dài của một dãy 𝑆 = 〈(𝑡1,1, 𝑠1), (𝑡1,2, 𝑠2), … , (𝑡1,𝑚, 𝑠𝑚)〉 trong đó trong đó
s j là một tập mục hay một phần tử của dãy (𝑠𝑗 ⊆ 𝐼) và t, là khoảng cách thời gian
giữa tập mục s và s được ký hiệu l(S) là tổng số mục 𝑖𝑗 ∈ 𝐼 có trong dãy S Một dãy có độ dài l được gọi là l-sequence
Ví dụ: dãy S1= <(0, a)(1, abd)(2, f)(3, a)(4, d)> có độ dài là l(S1) =7
Định nghĩa 1.18 Dãy con và dãy chứa với khoảng cách thời gian [37]
Dãy α = 〈(𝑡1,1, 𝑆1), (𝑡1,2, 𝑆2), … , (𝑡1,𝑚, 𝑆𝑚)〉 được gọi là dãy con của dãy 𝛽 =
Ký hiệu là 𝛼 ≼ 𝛽 Dãy β cũng được gọi là dãy chứa của dãy α
Ví dụ: Dãy <(0, abd)(1, f)> và dãy <(0, ab)(3, d)> là một trong các dãy con của dãy S1=<(0, a)(1, abd)(2, f)(3, a)(4, d)>, và S1 được gọi là dãy chứa của hai dãy con trên
Định nghĩa 1.19 Độ hỗ trợ của một dãy trong CSDL dãy với khoảng cách thời
gian [37]
Độ hỗ trợ (tuyệt đối) của dãy α trong CSDL dãy iSDB là tổng số dòng có chứa
α trong iSDB, ký hiệu là sup(α)
Trang 40𝑠𝑢𝑝(𝛼) = |{𝛼|𝛼 ≼ 𝑆𝑖∧ 𝑆𝑖 ∈ i𝑆𝐷𝐵}|
Ví dụ: Dãy <(0,bd)(1,ab)> trong CSDL iSDB thể hiện tại Bảng 1.3 thì độ hỗ trợ sup(<(0,bd)(1,ab)>)= 1
Định nghĩa 1.20 Trọng số của dãy với khoảng cách thời gian [40]
Cho I = {i 1 , i 2 , …, i n } là tập hợp các mục dữ liệu Mỗi mục i j I được gán một trọng số w j với j = 1, ,n Khi đó trọng số của một dãy =
Ví dụ: Dãy <(0,bd)(1,ab)> trong CSDL iSDB thể hiện tại Bảng 1.4 thì trọng
số của dãy <(0,bd)(1,ab)> là NW(<(0,bd)(1,ab)>) = (0,2+0,6+0,3+0,2)/4 = 0,325
Định nghĩa 1.21 Độ hỗ trợ với trọng số của dãy với khoảng cách thời gian [40]
Độ hỗ trợ với trọng số của dãy ký hiệu là 𝑁𝑊𝑠𝑢𝑝𝑝𝑜𝑟𝑡(𝛼):
Định nghĩa 1.22 Ràng buộc khoảng cách thời gian trên CSDL dãy có trọng số
[37]
Cho một dãy S= <(t 1,1 ,s 1 ), (t 1,2 ,s 2 ), (t 1,3 ,s 3 ), , (t 1,m ,s m )>, các ràng buộc khoảng
cách thời gian giữa các dãy được định nghĩa:
C1 = min_time_interval là giá trị nhỏ nhất giữa hai dãy liền kề, tức là ti,i+1 C1
C2 = max_time_interval là giá trị lớn nhất giữa hai dãy liền kề, tức là ti,i+1 ≤ C2
C3 = min_whole_interval là giá trị nhỏ nhất giữa dãy đầu và dãy cuối, tức là
ti,mC3