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 phát hiện các luật kết hợp và các mẫu chuỗi, luật chuỗi chung có tính đến khoảng cách thời gian xảy ra giữa các giao dịch
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Ệ
-
TRƯƠNG ĐỨC PHƯƠNG
PHÁT HIỆN LUẬT KẾT HỢP VÀ LUẬT CHUỖI MỜ TRONG
CƠ SỞ DỮ LIỆU ĐỊNH LƯỢNG CÓ YẾU TỐ THỜI GIAN
LUẬN ÁN TIẾN SĨ MÁY TÍNH
HÀ NỘI – 2021
Trang 2VIỆ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Ệ
…… ….***…………
TRƯƠNG ĐỨC PHƯƠNG
PHÁT HIỆN LUẬT KẾT HỢP VÀ LUẬT CHUỖI MỜ TRONG
CƠ SỞ DỮ LIỆU ĐỊNH LƯỢNG CÓ YẾU TỐ THỜI GIAN
LUẬN ÁN TIẾN SĨ MÁY TÍNH
Chuyên ngành : Hệ thống thông tin
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các kết quả được viết chung với các tác giả khác đều được sự đồng ý của các đồng tác giả trước khi đưa vào luận án Các kết quả nêu trong luận án là trung thực và chưa từng được công bố trong các công trình nào khác
Luận án được hoàn thành trong thời gian tôi làm Nghiên cứu sinh tại Học viện Khoa học và Công nghệ, Viện Hàn lâm Khoa học và Công nghệ Việt Nam
Tác giả luận án
NCS Trương Đức Phương
Trang 4LỜI CẢM ƠN
Luận án Tiến sỹ “Phát hiện luật kết hợp và luật chuỗi mờ trong cơ sở
dữ liệu định lượng có yếu tố thời gian” được thực hiện dưới sự hướng dẫn
khoa học của PGS.TS Đỗ Văn Thành và PGS.TS Nguyễn Đức Dũng
Trước tiên tôi xin được bày tỏ lòng biết ơn sâu sắc tới các thầy hướng dẫn PGS TS Đỗ Văn Thành và PGS.TS Nguyễn Đức Dũng Trong quá trình thực hiện luận án, nghiên cứu sinh đã nhận được nhiều định hướng khoa học, những bài học quý báu, sự hướng dẫn nhiệt tình từ các thầy hướng dẫn Các thầy cũng đã luôn tận tâm động viên, khuyến khích và chỉ dẫn giúp đỡ nghiên cứu sinh hoàn thành được bản luận án này
Tôi xin chân thành cảm ơn các thầy cô Học viện Khoa học và Công nghệ đã tạo điều kiện thuận lợi cho tôi trong suốt quá trình nghiên cứu và thực hiện luận án
Tôi xin cảm ơn Ban Giám hiệu, tập thể cán bộ, giảng viên khoa Khoa học Tự nhiên và Công nghệ, trường Đại học Thủ đô Hà Nội đã tạo điều kiện giúp đỡ tôi trong suốt thời gian học tập và nghiên cứu
Nhân dịp này, tôi cũng xin bày tỏ lòng biết ơn sâu sắc tới gia đình và bạn bè đã cho tôi điểm tựa vững chắc, tạo động lực để tôi hoàn thành luận án này
Tác giả
NCS Trương Đức Phương
Trang 5MỤC LỤC
DANH MỤC HÌNH VẼ 4
DANH MỤC BẢNG BIỂU 6
DANH MỤC CÁC TỪ VIẾT TẮT 8
MỞ ĐẦU 9
CHƯƠNG 1 TỔNG QUAN VỀ LUẬT KẾT HỢP VÀ MẪU CHUỖI, LUẬT CHUỖI CHUNG 18
1.1 Luật kết hợp 18
1.1.1 Phát hiện luật kết hợp trong các CSDL giao dịch 18
1.1.2 Phát hiện luật kết hợp trong các CSDL định lượng 21
1.1.3 Phát hiện luật kết hợp tính đến khoảng cách thời gian xảy ra của các giao dịch trong các CSDL có yếu tố thời gian 23
1.2 Mẫu chuỗi 25
1.2.1 Phát hiện mẫu chuỗi trong các CSDL chuỗi giao dịch 25
1.2.2 Phát hiện mẫu chuỗi trong các CSDL chuỗi định lượng 29
1.2.3 Phát hiện mẫu chuỗi tính đến khoảng cách thời gian xảy ra của các giao dịch trong các CSDL chuỗi có yếu tố thời gian 31
1.3 Luật chuỗi chung 34
1.3.1 Khái niệm luật chuỗi chung 34
1.3.2 Phát hiện luật chuỗi chung 34
Kết luận Chương 1 38
CHƯƠNG 2 PHÁT HIỆN LUẬT KẾT HỢP CÓ TÍNH ĐẾN KHOẢNG CÁCH THỜI GIAN TRONG CÁC CSDL ĐỊNH LƯỢNG CÓ YẾU TỐ THỜI GIAN 42
2.1 Giới thiệu 42
2.2 Một số khái niệm cơ bản 44
2.3. Thuật toán phát hiện luật kết hợp mờ với khoảng cách thời gian mờ 52 2.3.1 Bài toán đặt ra 52
2.3.2 Ý tưởng thuật toán 53
2.3.3 Thuật toán FTQ 54
2.3.4 Tính đúng đắn và tính đầy đủ của thuật toán 58
2.3.5 Độ phức tạp thuật toán 60
Trang 62.3.6 Trường hợp suy biến của luật kết hợp mờ với khoảng cách thời gian
mờ 62
2.4 Thử nghiệm thuật toán 63
2.4.1 Dữ liệu thử nghiệm 63
2.4.2 Kết quả thử nghiệm 66
Kết luận Chương 2 72
CHƯƠNG 3 PHÁT HIỆN MẪU CHUỖI CÓ TÍNH ĐẾN KHOẢNG CÁCH THỜI GIAN TRONG CÁC CSDL CHUỖI ĐỊNH LƯỢNG CÓ YẾU TỐ THỜI GIAN 74
3.1 Giới thiệu 74
3.2 Một số khái niệm cơ bản 76
3.3. Thuật toán phát hiện mẫu chuỗi mờ với khoảng cách thời gian mờ 84
3.3.1 Bài toán đặt ra 84
3.3.2 Ý tưởng thuật toán 84
3.3.3 Thuật toán FSPFTIM 85
3.3.4 Tính đúng đắn và tính đầy đủ của thuật toán 88
3.3.5 Độ phức tạp thuật toán 90
3.3.6 Trường hợp suy biến của mẫu chuỗi mờ với khoảng cách thời gian mờ 91
3.3.7 Minh họa thuật toán 92
3.4 Thử nghiệm thuật toán 93
3.4.1 Dữ liệu thử nghiệm 93
3.4.2 Kết quả thử nghiệm 95
Kết luận Chương 3 100
CHƯƠNG 4 PHÁT HIỆN LUẬT CHUỖI CHUNG CÓ TÍNH ĐẾN KHOẢNG CÁCH THỜI GIAN TRONG CÁC CSDL CHUỖI ĐỊNH LƯỢNG CÓ YẾU TỐ THỜI GIAN 101
4.1 Giới thiệu 101
4.2 Một số khái niệm cơ bản 103
4.3. Thuật toán phát hiện luật chuỗi chung mờ với khoảng cách thời gian mờ 108
4.3.1 Bài toán đặt ra 108
4.3.2 Thuật toán IFERMiner 108
4.3.3 Tính đúng đắn và đầy đủ 112
Trang 74.3.4 Độ phức tạp của thuật toán IFERMiner 114
4.3.5 Trường hợp suy biến của luật chuỗi chung mờ với khoảng cách thời gian mờ 120
4.4 Thử nghiệm thuật toán 121
4.4.1 Dữ liệu thử nghiệm 121
4.4.2 Kết quả thử nghiệm 123
Kết luận Chương 4 129
KẾT LUẬN VÀ KIẾN NGHỊ 130
DANH MỤC CÔNG TRÌNH ĐÃ CÔNG BỐ 132
TÀI LIỆU THAM KHẢO 133
Trang 8DANH MỤC HÌNH VẼ
Hình 1.1 Các vấn đề liên quan đến nghiên cứu của luận án 41Hình 2.1 Các hàm thành viên của các tập mờ ứng với tỉ lệ tăng/giảm của các
mã chứng khoán 65Hình 2.2 Các hàm thành viên của các tập mờ của Tỉ lệ thay đổi chỉ số VN30 65Hình 2.3 Các hàm thành viên của các tập mờ thời gian 65Hình 2.4 Mối quan hệ giữa số lượng luật tìm được từ thuật toán FTQ và độ tin cậy cực tiểu min_conf trong các trường hợp khác nhau về độ hỗ trợ cực tiểu min_sup 66Hình 2.5 Mối quan hệ giữa số lượng luật tìm được và min_sup với min_conf khác nhau 67Hình 2.6 Chi phí thời gian thực hiện khi min_conf=70% 67Hình 2.7 So sánh số luật của phương pháp mờ hóa (A) và phương pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán FTQ 68Hình 2.8 So sánh thời gian chạy của phương pháp mờ hóa (A) và phương pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán FTQ 68Hình 3.1 Các hàm thành viên của các tập mờ thuộc LT 81Hình 3.2 Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời gian mờ với min_sup (a) và giữa thời gian chạy của thuật toán với min_sup (b) trong trường hợp số phân hoạch thuộc tính định lượng khác nhau khi thực hiện trên tập dữ liệu S100I1000T3D341K 95Hình 3.3 Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời gian mờ với min_sup (a) và giữa thời gian chạy của thuật toán với min_sup (b) trong trường hợp số phân hoạch thuộc tính định lượng khác nhau khi thực hiện trên tập dữ liệu Online Retail_France 96
Trang 9Hình 3.4 Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời gian mờ với min_sup (a) và giữa thời gian chạy của thuật toán với min_sup (b) trong trường hợp số phân hoạch khoảng cách thời gian (Kt) khác nhau đối với tập dữ liệu S100I1000T3D341K 97Hình 3.5 Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời gian mờ với min_sup (a) và giữa thời gian chạy của thuật toán với min_sup (b) trong trường hợp số phân hoạch khoảng cách thời gian (Kt) khác nhau đối với tập dữ liệu Online Retail_France 97Hình 3.6 So sánh số mẫu chuỗi của phương pháp mờ hóa (A) và phương pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán FSPFTIM 98Hình 3.7 So sánh thời gian chạy của phương pháp mờ hóa (A) và phương pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán FSPFTIM 98Hình 4.1 Mối quan hệ giữa số lượng các luật FCSI valid với min_sup và min_conf 124Hình 4.2 Mối quan hệ giữa thời gian thực hiện thuật toán với min_sup và min_conf 125Hình 4.3 So sánh số luật của phương pháp mờ hóa (A) và phương pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán IFERMiner 126Hình 4.4 So sánh thời gian chạy của phương pháp mờ hóa (A) và phương pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán IFERMiner 127
Trang 10DANH MỤC BẢNG BIỂU
Bảng 1.1 Ví dụ về CSDL giao dịch 18
Bảng 1.2 Ví dụ về CSDL định lượng 22
Bảng 1.3 Ví dụ về CSDL giao dịch mua hàng có yếu tố thời gian 24
Bảng 1.4 Một số nghiên cứu về phát hiện luật kết hợp có tính đến khoảng cách thời gian 24
Bảng 1.5 Ví dụ về CSDL chuỗi giao dịch 25
Bảng 1.6 Ví dụ CSDL chuỗi định lượng 29
Bảng 1.7 Ví dụ CSDL chuỗi giao dịch có yếu tố thời gian 31
Bảng 1.8 Một số nghiên cứu về phát hiện mẫu chuỗi có tính đến khoảng cách thời gian 32
Bảng 1.9 Một số nghiên cứu về phát hiện luật chuỗi chung 34
Bảng 2.1 Ví dụ về CSDL định lượng có yếu tố thời gian 44
Bảng 2.2 CSDL mờ có yếu tố thời gian DF 46
Bảng 2.3 Dữ liệu thử nghiệm ISTANBUL STOCK EXCHANGE 63
Bảng 2.4 Kết quả thử nghiệm thuật toán FTQ với min_sup=7% và min_con=70% 69
Bảng 2.5 Ý nghĩa các luật thu được đối với CSDL VNINDEX 70
Bảng 3.1 Ví dụ về CSDL chuỗi định lượng có yếu tố thời gian QSD 77
Bảng 3.2 CSDL chuỗi mờ có yếu tố thời gian FSD 78
Bảng 3.3 Dữ liệu thử nghiệm S100I1000T3D341K và Online Retail_France 94
Bảng 3.4 Các mẫu chuỗi mờ với khoảng cách thời gian mờ tìm được từ Online Retail_France 99
Bảng 4.1 Dữ liệu thử nghiệm thuật toán IFERMiner 122
Trang 11Bảng 4.2 Các luật FCSI valid có độ hỗ trợ cao nhất tương ứng với min_sup
= 3% và min_conf = 75% 128
Trang 12DANH MỤC CÁC TỪ VIẾT TẮT
FITARM Fuzzy Inter-Transaction Asociation Rules Mining
FTITS Fuzzy Time-Interval in Time Series
FTQ Fuzzy Time-interval in temporal Quantitative database algorithm FSPFTIM Fuzzy Sequential Patterns with Fuzzy Time-Intervals Mining FGBSPMA Fuzzy Grids Based Sequential Patterns Mining Algorithm
FQSP-MMS Fuzzy Quantitative Sequential Pattern with Multiple Minimum
Supports GSP Generalized Sequential Pattern
IQSP Incremental mining of Quantitative Sequential Pattern
FSPFTI Fuzzy Sequential Patterns with Fixed Time-Intervals
FCSI Fuzzy Common Sequence with time – Interval
Trang 13MỞ ĐẦU
1 Tính cấp thiết của luận án và động lực nghiên cứu
Phát hiện luật kết hợp và mẫu chuỗi, luật chuỗi nằm trong số những vấn
đề quan trọng trong lĩnh vực khai phá dữ liệu Đến nay, rất nhiều công trình nghiên cứu liên quan đến các lĩnh vực này Các luật kết hợp và mẫu chuỗi, luật chuỗi được đề xuất là rất đa dạng, chúng có thể là các luật, mẫu chuỗi giao dịch/định lượng; có trọng số/không trọng số; có yếu tố thời gian/không
có yếu tố thời gian;.v.v
Vấn đề phát hiện luật kết hợp trong các CSDL giao địch được đề xuất lần đầu vào năm 1993 [1] và đến nay đã có nhiều thuật toán được xây dựng theo rất nhiều cách tiếp cận khác nhau để phát hiện các luật này trong các CSDL giao dịch: APRIORI [2], PARTITION [3], A-CLOSE [4], A-CLOSE+ [5], CLOSE [6], CLOSET [7], CLOSET+ [8], CHARM [9], MAFIA [10], GENMAX [11], ECLAT [12], DIC [13], FP-GROWTH [14], CFPMINE [15],
ETARM [16], LRM [17], PARM [18], NEGFIN [19]
Tuy nhiên các CSDL trong thực tế thường có các thuộc tính nhận giá trị
số hoặc giá trị phân loại Những CSDL như vậy được gọi là CSDL định lượng Việc phát hiện các luật kết hợp trong CSDL định lượng thường sử dụng một trong 2 cách đó là: rời rạc hóa [20]–[23] và mờ hóa các thuộc tính định lượng [24]–[29] Bản chất của cách tiếp cận thứ nhất là đưa CSDL định lượng về CSDL giao dịch bằng cách chuyển các thuộc tính định lượng thành một số mục (item) tương ứng và sau đó áp dụng một trong các thuật toán phát hiện các luật kết hợp trong các CSDL giao dịch đã biết Ví dụ: xét thuộc tính
Tuổi, nếu chia độ tuổi thành 3 loại: “Trẻ” (dưới 30 tuổi), “Trung niên” (30 đến 59 tuổi), “Già” (từ 60 tuổi) thì người ở độ tuổi 15 tương ứng với “Trẻ”, tuổi 59 tương ứng với “Trung niên” trong CSDL giao dịch Cách tiếp cận này
có nhược điểm là không tự nhiên, gây ra hiện tượng “sắc nét” tại giáp ranh những điểm chia các thuộc tính định lượng Cách tiếp cận thứ hai nhằm khắc
Trang 14phục nhược điểm của cách tiếp cận thứ nhất, nhưng khi đó các thuật toán phát hiện các luật kết hợp trong các CSDL cần được cải tiến và phát triển tiếp CSDL có yếu tố thời gian (temporal database) là CSDL có lưu trữ thông tin về thời điểm xảy ra của các giao dịch [30] [31] Năm 1998, Lu và các cộng
sự [32] đã đề xuất luật kết hợp có tính đến độ chênh lệch về thời điểm (gọi là khoảng cách thời gian) xảy ra giữa các giao dịch trong các CSDL giao dịch có yếu tố thời gian, luật có dạng → với a, b là các tập mục dữ liệu Trong [32], hai thuật toán E-Apriori và EH-Apriori được đề xuất để phát hiện các luật dạng này Về ý tưởng chính, hai thuật toán E-Apriori, EH-Apriori dựa trên ý tưởng thuật toán Apriori và sử dụng cửa sổ trượt đối với khoảng cách thời gian Để phát hiện các luật kết hợp có tính đến khoảng cách thời gian trong các CSDL giao dịch có yếu tố thời gian, nhiều thuật toán tiếp tục được
đề xuất như: FITI [33], ITARM [34], ITP-Miner [35], IAR Miner [36], Miner [37], NCITPS-MINER [38] Việc phát hiện luật kết hợp có tính đến khoảng cách thời gian mới chỉ dừng lại đối với CSDL giao dịch có yếu tố thời gian mà chưa được thực hiện đối với các CSDL định lượng có yếu tố thời gian Đây là khoảng trống nghiên cứu mà luận án mong muốn giải quyết Luật chuỗi, mẫu chuỗi như được hiểu từ trước đến nay còn được gọi là luật chuỗi, mẫu chuỗi cổ điển để phân biệt với một loại luật chuỗi, mẫu chuỗi mới được đề xuất trong những năm gần đây Các mẫu chuỗi cổ điển (được gọi ngắn gọn là mẫu chuỗi) là các chuỗi cổ điển (nói gọn là chuỗi) phổ biến trong các CSDL chuỗi giao dịch Các mẫu chuỗi này biểu diễn mối quan hệ có trình
CITP-tự thời gian xảy ra giữa các giao dịch trong chuỗi Phát hiện mẫu chuỗi trong các CSDL chuỗi giao dịch được giới thiệu lần đầu năm 1995 [39] và đến nay
đã nhận được rất nhiều sự quan tâm Hiện đã có nhiều thuật toán phát hiện các mẫu chuỗi trong các CSDL chuỗi giao dịch như GSP [40], SPIRIT [41],
SPADE [42], SPAM [43], FAST [44], CM-SPADE [45], MAXSP [46],
GENMINER [47], FREESPAN [48], PREFIXSPAN [49], CLOSPAN [50], MSPIC-DBV [51], HSPREC [52],
Trang 15Các CSDL chuỗi trong đó các thuộc tính có thể nhận các giá trị số hoặc phân loại và khi đó, chúng được gọi là CSDL chuỗi định lượng Để phát hiện các mẫu chuỗi trong các CSDL chuỗi định lượng, phương pháp mờ hóa các thuộc tính định lượng được sử dụng và mẫu chuỗi được phát hiện được gọi là mẫu chuỗi mờ Các thuật toán phát hiện mẫu chuỗi mờ điển hình là SPEEDYFUZZY [53], MINIFUZZY [53], FGBSPMA [54], MST [55] FQSP-MMS [56], FUZZY APRIORISOME [57], IQSP [58], FSP [59],
Các CSDL chuỗi giao dịch có yếu tố thời gian là CSDL có lưu trữ thông tin về thời điểm xảy ra của các giao dịch Năm 2000, Yoshida và các cộng sự [60] đã đề xuất mẫu chuỗi có tính đến khoảng cách thời gian trong CSDL chuỗi giao dịch có yếu tố thời gian, mẫu chuỗi này có dạng
〈 〉 với a, b, c là các tập mục, [1−4] và [5−9] là khoảng thời gian có thể xảy ra lần lượt giữa a, b và giữa b, c Để phát hiện mẫu chuỗi
có tính đến khoảng cách thời gian, thuật toán Delta-Pattern đã được đề xuất trong [60] Phát hiện mẫu chuỗi có tính đến khoảng cách thời gian như trong [60] tiếp tục được giải quyết bởi các thuật toán I-Apriori và I-PrefixSpan [61], TAS [62] Năm 2005, để khắc phục hiện tượng “sắc nét” tại các điểm giáp danh của các khoảng chia đối với khoảng cách thời gian, Chen và Huang [63]
đã đề xuất mẫu chuỗi có tính đến khoảng cách thời gian mà ở đó khoảng cách thời gian là các tập mờ, mẫu chuỗi khi đó có dạng 〈 〉 với
Short, Long là các tập mờ, mỗi tập mờ có hàm thành viên tương ứng Trong
[63], hai thuật toán FTI-Apriori và FTI-PrefixSpan được đề xuất để phát hiện các mẫu chuỗi này Mẫu chuỗi này tiếp tục được phát hiện bởi thuật toán
FP Growth- PrefixSpan [64] Năm 2009, Chang và các cộng sự [65] [66] đề
xuất mẫu chuỗi 〈 〉 trong đó là các số mờ lần lượt thể hiện khoảng cách thời gian xảy ra giữa a với b và b với c Khác với đề xuất trong [63] với các tập mờ (cùng hàm thành viên) ứng với các khoảng cách thời gian là cho trước, các số mờ trong [65] [66] được xác định dựa trên
dữ liệu trong CSDL ban đầu Các thuật toán SPFTI [65] và ISPFTI [66] được
Trang 16đề xuất để phát hiện các mẫu chuỗi này Tuy nhiên, đến năm 2018 các nghiên cứu về phát hiện mẫu chuỗi có tính đến khoảng cách thời gian chỉ áp dụng đối với các CSDL chuỗi giao dịch có yếu tố thời gian mà chưa áp dụng đối với CSDL chuỗi định lượng có yếu tố thời gian Đây là khoảng trống thứ 2 trong việc xác định vấn đề nghiên cứu của luận án Năm 2019, Dương và các cộng
sự [67] đề xuất mẫu chuỗi có lợi ích cao tính đến khoảng cách thời gian trong các CSDL chuỗi định lượng có yếu tố thời gian và thuật toán UIPrefixSpan để phát hiện mẫu chuỗi lợi ích cao này Mẫu chuỗi có lợi ích cao tính đến khoảng cách thời gian tiếp tục được phát hiện bởi thuật toán HUISP [68] Khái niệm luật chuỗi chung mới được xuất hiện trong vài năm gần đây [69], [70] do Fournier-Viger và các cộng sự đề xuất Luật chuỗi chung được phát hiện trong các CSDL chuỗi giao dịch biểu diễn mối quan hệ của 2 tập mục, ở đó các mục ở các phần tiền đề (bên trái) và hệ quả (bên phải) của luật không cần sắp thứ tự mà chỉ cần thỏa mãn điều kiện các mục ở phần tiền đề phải được xảy ra trước các mục ở phần hệ quả Thuật toán phát hiện các luật chuỗi chung đầu tiên là CMRules [69] sau đó tiếp tục được phát triển bởi Rule Growth [71], ERMiner [72] Các luật chuỗi chung thực sự là có ích và
đã được ứng dụng trong thực tế [73] Luật chuỗi chung đến nay mới chỉ được phát hiện trong các CSDL chuỗi giao dịch mà chưa được áp dụng đối với CSDL chuỗi định lượng có yếu tố thời gian Đây là khoảng trống thứ 3 được xác định trong vấn đề nghiên cứu của luận án
Luận án này nhằm giải quyết 3 khoảng trống đượ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 “Phát hiện luật kết
hợp và luật chuỗi mờ trong cơ sở dữ liệu định lượng có yếu tố thời gian” Cụ
thể luận án đề xuất và giải quyết các vấn đề về phát hiện các luật kết hợp và mẫu chuỗi, luật chuỗi chung có tính đến khoảng cách thời gian xảy ra giữa
Trang 17các giao dịch tương ứng trong các CSDL định lượng có yếu tố thời gian và CSDL chuỗi định lượng có yếu tố thời gian
Luận án thực sự có đóng góp mới về mặt lý thuyết, cung cấp các giải pháp cho những vấn đề chưa được giải quyết trong hướng nghiên cứu về phát hiện các luật kết hợp và các mẫu chuỗi, luật chuỗi chung tương ứng trong CSDL định lượng và CSDL chuỗi định lượng cùng có yếu tố thời gian
2 Mục tiêu, đối tƣợng và phạm vi nghiên cứu của luận án
2.1 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 phát hiện các luật kết hợp và các mẫu chuỗi, luật chuỗi chung có tính đến khoảng cách thời gian xảy ra giữa các giao dịch tương ứng trong các CSDL định lượng và các CSDL chuỗi định lượng cùng có yếu tố thời gian
Các giải pháp như vậy cần quan tâm khắc phục hiện tượng không tự nhiên, “sắc nét” khi phân chia các giá trị định lượng, cũng như các khoảng cách thời gian xảy ra giữa các giao dịch thành các khoảng
Cụ thể luận án tập trung đề xuất các giải pháp nhằm:
Phát hiện các luật kết hợp có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL định lượng có yếu tố thời gian Các luật tìm được khi đó được gọi là các luật kết hợp mờ với khoảng cách thời gian
mờ
Phát hiện các mẫu chuỗi có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL chuỗi định lượng có yếu tố thời gian Các mẫu chuỗi tìm được khi đó được gọi là mẫu chuỗi mờ với khoảng cách thời gian mờ
Phát hiện các luật chuỗi chung (là luật chuỗi ở dạng tổng quát và chung hơn so với các luật chuỗi (cổ điển) như được biết từ trước đến nay) có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL chuỗi
Trang 18định lượng có yếu tố thời gian Các luật tìm được được gọi là các luật chuỗi chung mờ với khoảng cách thời gian mờ
Trong luận án, NCS tập trung vào nghiên cứu đề xuất các thuật toán mới
để phát hiện các luật kết hợp và các mẫu chuỗi, luật chuỗi chung; đánh giá tính đúng đắn và tính đầy đủ, tính độ phức tạp tính toán của thuật toán; thử nghiệm và phân tích ý nghĩa của các luật kết hợp, các mẫu chuỗi và luật chuỗi chung phát hiện được; so sánh kết quả thử nghiệm với phương pháp chia khoảng
Vấn đề đặt ra trong luận án là mới, chưa có nghiên cứu tương tự trước đó nên việc đánh giá và so sánh với các nghiên cứu trước đó sẽ được thực hiện bằng cách chỉ ra rằng các luật kết hợp và mẫu chuỗi, luật chuỗi chung tìm được trong các nghiên cứu trước đó chỉ là dạng riêng tương ứng của luật kết hợp và mẫu chuỗi, luật chuỗi chung được phát hiện bởi các thuật toán được đề xuất trong luận án này
2.2 Đối tượng nghiên cứu: là các thuật toán phát hiện các luật kết hợp,
và các mẫu chuỗi, luật chuỗi chung có tính đến khoảng cách thời gian trong các CSDL định lượng và CSDL chuỗi định lượng cùng có yếu tố thời gian
2.3 Phạm vi nghiên cứu:
Luận án nghiên cứu các luật kết hợp, các mẫu chuỗi, các luật chuỗi chung, các CSDL định lượng và CSDL chuỗi định lượng cùng có yếu tố thời gian
Các tập mờ được sử dụng như các tham số cho trước làm đầu vào cho các thuật toán đề xuất, luận án không tập trung nghiên cứu sâu về lý thuyết
mờ
Do các luật kết hợp, mẫu chuỗi, luật chuỗi chung được đề xuất trong luận
án là mới, nên các phần thực nghiệm của luận án không so sánh kết quả với các thuật toán khác
3 Phương pháp nghiên cứu
Luận án đã sử dụng các phương pháp nghiên cứu sau:
Trang 19 Phương pháp tổng hợp, phân tích: được sử dụng để tổng hợp và phân tích
các nghiên cứu về những vấn đề liên quan để phát hiện các khoảng trống nghiên cứu và xác định vấn đề nghiên cứu mà luận án cần giải quyết Phương pháp phân tích cũng thường được sử dụng khi đề xuất các khái niệm mới liên quan đến vấn đề nghiên cứu của luận án sao cho những khái niệm mới được phát triển dựa trên nhiều nhất có thể các khái niệm đã có liên quan
Phương pháp so sánh: được sử dụng để so sánh các kỹ thuật, thuật toán đã
được đề xuất để giải quyết những vấn đề nghiên cứu liên quan, từ đó hình
thành ý tưởng cho thuật toán mới cho vấn đề nghiên cứu
Phương pháp thiết kế và đá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
Phương pháp thực nghiệm: Các thuật toán được đề xuất đều được thực
nghiệm trên các tập dữ liệu thực để đánh giá sự đúng đắn và tính khả thi
của thuật toán
Đề xuất vấn đề và thuật toán phát hiện mẫu chuỗi (cổ điển) có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL chuỗi định lượng có yếu tố thời gian, ở đó các thuộc tính định lượng và khoảng cách thời gian xảy ra giữa các giao dịch cũng được chuyển thành các thuộc tính mờ và khoảng cách thời gian mờ [CT5]
Trang 20 Đề xuất vấn đề và thuật toán phát hiện luật chuỗi chung có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL chuỗi định lượng có yếu tố thời gian, ở đó các thuộc tính định lượng và khoảng cách thời gian cũng được chuyển thành các thuộc tính mờ và khoảng cách thời gian mờ [CT9]
5 Bố cục luận án
Luận án gồm phần mở đầu, 04 chương nội dung và phần kết luận:
Phần mở đầu: Trình bày sự cần thiết và động lực nghiên cứu của đề tài; 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 về luật kết hợp và mẫu chuỗi, luật chuỗi chung Chương này trình bày các khái niệm, phương pháp phát hiện các luật kết hợp, mẫu chuỗi, luật chuỗi chung của các nghiên cứu trước đó Từ đó xác định những các khoảng trống nghiên cứu và xác định vấn đề cụ thể trong luận án
Chương 2: Phát hiện luật kết hợp có tính đến khoảng cách thời gian trong các CSDL định lượng có yếu tố thời gian Chương này đề xuất vấn đề và thuật toán phát hiện các luật kết hợp có tính đến khoảng cách thời gian xảy
ra giữa các giao dịch trong các CSDL định lượng có yếu tố 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 tập dữ liệu thực, ý nghĩa của các luật kết hợp phát hiện được và so sánh với những nghiên cứu trước đó cũng được trình bày trong Chương
Chương 3: Phát hiện mẫu chuỗi có tính đến khoảng cách thời gian trong các CSDL chuỗi định lượng có yếu tố thời gian Chương này đề xuất vấn
đề và thuật toán phát hiện mẫu chuỗi có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL chuỗi định lượng có yếu tố thời gian Tính đúng đắn và tính đầy đủ, độ phức tạp tính toán của thuật toán được đề xuất, việc thực nghiệm thuật toán trên tập dữ liệu thực, ý nghĩa
Trang 21của các mẫu chuỗi phát hiện được và so sánh với những nghiên cứu liên quan trước đó cũng được trình bày trong Chương
Chương 4: Phát hiện luật chuỗi chung có tính đến khoảng cách thời gian trong các CSDL chuỗi định lượng có yếu tố thời gian Chương này đề xuất vấn đề và thuật toán phát hiện luật chuỗi chung có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL chuỗi định lượng có yếu tố thời gian Tính đúng đắn và tính đầy đủ, độ phức tạp tính toán của thuật toán, việc thực nghiệm thuật toán trên tập dữ liệu thực, ý nghĩa của các luật chuỗi chung phát hiện được và so sánh với luật chuỗi chung được phát hiện bởi các thuật toán trước đó cũng được trình bày trong Chương
Phần kết luận: Trình bày một số kết luận về ý nghĩa, đóng góp của luận án
và định hướng nghiên cứu trong tương lai
Trang 22CHƯƠNG 1 TỔNG QUAN VỀ LUẬT KẾT HỢP VÀ MẪU CHUỖI,
LUẬT CHUỖI CHUNG
Chương này trình bày tổng quan những vấn đề liên quan đến phát hiện các luật kết hợp và các mẫu chuỗi, luật chuỗi chung trong các CSDL giao dịch/định lượng không có hoặc có yếu tố 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
1.1 Luật kết hợp
1.1.1 Phát hiện luật kết hợp trong các CSDL giao dịch
Định nghĩa 1.1 CSDL giao dịch [2]: Giả sử I = { } là tập các
mục, D = { } là tập các giao dịch, (1jm) là tập các mục thỏa mãn I, biểu diễn mục xuất hiện trong giao dịch (hay tương ứng nhận giá trị 1 nếu xuất hiện trong giao dịch này), nói cách Khi đó, D
được gọi là CSDL giao dịch
Ví dụ về CSDL giao dịch được mô tả như Bảng 1.1
Bảng 1.1 biểu diễn CSDL giao dịch, trong đó I={a, b, c, d, e} là tập tên
các mặt hàng (hay là mục) và 5 giao dịch Mỗi giao dịch biểu diễn danh sách các mặt hàng được mua Chẳng hạn, giao dịch đầu tiên có các mặt hàng a và b được mua
Trang 23Định nghĩa 1.2 Luật kết hợp [1]: Giả sử X là tập mục, giao dịch T được
gọi là chứa X khi và chỉ khi XT Luật kết hợp là luật có dạng X Y với
XI, YI và XY= Trong đó X được gọi là tiền đề, Y là hệ quả của luật
Định nghĩa 1.3 Độ hỗ trợ và độ tin cậy của luật kết hợp [1]
Độ hỗ trợ (support) của tập mục X là tỉ lệ số giao dịch trong D chứa X, kí
Ví dụ: Xét CSDL trong Bảng 1.1, luật kết hợp {b, c} → {a} có nghĩa
“Trong cùng một giao dịch, nếu mặt hàng b và c được mua thì mặt hàng a cũng sẽ được mua” Luật này có độ hỗ trợ là 1/5=20% (tức là có 1 giao dịch chứa luật trong tổng số 5 giao dịch của CSDL) và độ tin cậy của luật là 1/2=50% (có 1 giao dịch cả b, c, a được mua và 2 giao dịch cả b và c được mua)
Việc phát hiện các luật kết hợp thường được chia làm 2 giai đoạn [1], [74]:
Giai đoạn 1: Tìm tất cả các tập phổ biến trong CSDL, ở đó các tập phổ biến là các tập có độ hỗ trợ không nhỏ hơn độ hỗ trợ cực tiểu (hay ngưỡng hỗ trợ) cho trước;
Trang 24 Giai đoạn 2: Sinh ra các luật kết hợp có độ tin cậy không nhỏ hơn độ tin cậy cực tiểu (hay ngưỡng tin cậy) cho trước từ các tập phổ biến đã tìm được ở giai đoạn 1
Trong hai giai đoạn trên thì giai đoạn 1 là phức tạp, đòi hỏi nhiều chi phí
về thời gian và tính toán Ở giai đoạn 2, các luật kết hợp được sinh ra từ các tập phổ biến tìm được là khá đơn giản nên đa phần các thuật toán phát hiện luật kết hợp chỉ tập trung vào giải quyết giai đoạn 1, tức là tập trung vào việc tìm các tập phổ biến
Các thuật toán phát hiện luật kết hợp được chia thành hai nhóm dựa vào phương pháp duyệt không gian tìm kiếm, đó là các phương pháp duyệt theo chiều rộng (Breadth First Search - BFS) và duyệt theo chiều sâu (Depth First Search - DFS) Duyệt theo chiều rộng là phương pháp duyệt tất cả các tập ứng
cử viên có k-1 mục trước khi xét đến các tập ứng cử viên có k mục Các thuật toán thực hiện theo cách tiếp cận này gồm: APRIORI [2], PARTITION [3], A-CLOSE [4], A-CLOSE+ [5], DIC [13], Duyệt theo chiều sâu là phương pháp duyệt xong các tập ứng cử viên liên quan với một tập mục phổ biến rồi mới chuyển sang xem xét đối với tập phổ biến cùng kích thước khác Các thuật toán thực hiện theo cách tiếp cận này là: CLOSE [6], CLOSET [7], CLOSET+ [8], CHARM [9], FP-GROWTH [14], ECLAT [12], CFPMINE [15]
APRIORI [2] là thuật toán đầu tiên phát hiện luật kết hợp trong CSDL giao dịch Thuật toán này được phát triển theo cách tiếp cận duyệt theo chiều rộng với việc sinh ra các tập ứng cử viên độ dài k bằng cách kết hợp hai tập phổ biến độ dài k-1 Thuật toán APRIORI được xếp vào tốp 10 thuật toán khai phá dữ liệu điển hình nhất [75], thuật toán được mô tả cơ bản như trong Thuật toán 1.1:
Trang 25Thuật toán 1.1 Thuật toán Apriori
Trong Thuật toán 1.1, T là tập các giao dịch, kết quả trả lại là các tập phổ
biến có độ hỗ trợ thỏa mãn độ hỗ trợ cực tiểu
Đến nay, đã có nhiều nghiên cứu phát hiện các luật kết hợp trong CSDL giao dịch và được ứng dụng trong thực tiễn như trong thị trường bán lẻ [76], [77], thị trường chứng khoán [78]–[80], y tế [81], [82],
1.1.2 Phát hiện luật kết hợp trong các CSDL định lượng
Định nghĩa 1.4 CSDL định lượng [24]: Giả sử I = { } là tập các
thuộc tính, D = { } là tập các giao dịch, (1jm) là tập các thuộc tính thỏa mãn I, các giá trị tương ứng với thuộc tính (1kn) trong giao dịch (1jm) nhận giá trị là số hoặc phân loại Khi đó,
D được gọi là CSDL định lượng
Ví dụ: Bảng 1.2 mô tả ví dụ về một CSDL định lượng
Trang 26là 2
Để phát hiện các luật kết hợp trong các CSDL định lượng người ta thường
sử dụng hai cách tiếp cận giải quyết như sau:
Thứ nhất: Rời rạc hóa các thuộc tính định lượng để chuyển CSDL định lượng ban đầu thành CSDL giao dịch rồi sử dụng các thuật toán đã có về phát hiện luật kết hợp trong các CSDL giao dịch để phát hiện luật kết hợp trong CSDL đã chuyển đổi [20]–[23] Chẳng hạn, trong nghiên cứu [20], mỗi thuộc tính định lượng được phân hoạch thành các đoạn khác nhau sau
đó ánh xạ các giá trị của thuộc tính đó vào các đoạn tương ứng, các đoạn này được đánh thứ tự bằng các số nguyên liên tiếp Sau đó phát hiện các tập phổ biến dựa trên các đoạn thu được Cuối cùng các luật kết hợp được phát hiện dựa trên các tập phổ biến Cách tiếp cận này có nhược điểm là xảy ra hiện tượng không tự nhiên, “sắc nét” tại các điểm giáp ranh giữa các khoảng chia [83] dẫn đến không phản ánh đúng tính chất của dữ liệu
Chẳng hạn, xét thuộc tính tuổi, nếu chia độ tuổi thành 3 loại: “Trẻ” (dưới
30 tuổi), “Trung niên” (30 đến 59 tuổi), “Già” (từ 60 tuổi) thì một người
ở độ tuổi 59 sẽ được gọi là “Trung niên” nhưng người ở độ tuổi 60 lại thuộc nhóm “Già” mặc dù khoảng chênh lệch tuổi chỉ là 1 tuổi trong khi
Trang 27người 30 tuổi và người 59 tuổi đều cùng là “Trung niên” với khoảng
chênh lệch về tuổi là 29
Thứ hai: Sử dụng lý thuyết tập mờ [84], [85] để chuyển các thuộc tính định lượng thành các thuật ngữ ngôn ngữ (linguistic terms) nhận giá trị tập mờ (gọi tắt là thuộc tính mờ) CSDL được chuyển đổi khi đó được gọi
là CSDL mờ Sau đó phát hiện các luật kết hợp trong CSDL mờ và các luật được phát hiện khi đó được gọi là luật kết hợp mờ [24]–[29] Về cơ bản, các thuật toán phát hiện luật kết hợp mờ đều sử dụng các hàm thành viên để chuyển đổi các giá trị định lượng thành các giá trị tập mờ tương ứng và sau đó tính toán độ hỗ trợ và độ tin cậy dựa trên các giá trị tập mờ thu được Cách tiếp cận thứ hai đã khắc phục được nhược điểm của cách tiếp cận thứ nhất là khắc phục được hiện tượng không tự nhiên, “sắc nét” tại điểm giáp ranh của các khoảng chia [83] Đến nay, vẫn chưa có cách tiếp cận nào ưu điểm hơn cách tiếp cận thứ 2 này trong việc phát hiện các luật kết hợp trong các CSDL định lượng Cách tiếp cận này cũng đã tiếp tục được áp dụng trong [86]–[88] Trong cách tiếp cận này, một luật kết hợp mờ nói chung có dạng { } { } ở đó là các tập mờ nhận được từ các thuộc tính định lượng b, c, a tương ứng trong CSDL định lượng bằng cách chuyển chúng thành các thuộc tính mờ (được gọi là mờ hóa các thuộc tính) Luật này có thể được diễn giải như
“Nếu mặt hàng b được mua với số lượng Ít và mặt hàng c được mua với
số lượng Nhiều thì mặt hàng a sẽ được mua với số lượng Ít trong cùng
một giao dịch”
1.1.3 Phát hiện luật kết hợp tính đến khoảng cách thời gian xảy ra của các
giao dịch trong các CSDL có yếu tố thời gian
Định nghĩa 1.5 CSDL có yếu tố thời gian là CSDL (giao dịch hoặc định
lượng) ở đó có thuộc tính thời gian nhận giá trị là thời điểm (hay timestamp) xảy ra của mỗi giao dịch
Bảng 1.3 là minh họa một CSDL giao dịch có yếu tố thời gian:
Trang 28Bảng 1.3 Ví dụ về CSDL giao dịch mua hàng có yếu tố thời gian
Trong Bảng 1.3, cột Thời gian biểu diễn thời điểm xảy ra của các giao
dịch Tập I={a, b, c, d, e} là tập mặt hàng được mua
Bảng 1.4 giới thiệu một số nghiên cứu về phát hiện luật kết hợp có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL có yếu
tố thời gian
→ Nếu mặt hàng a được mua thì mặt hàng b cũng sẽ
được mua sau 2 ngày tiếp
theo
Bảng 1.4 giới thiệu những công trình nghiên cứu về điển hình về phát hiện các luật kết hợp có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL giao dịch có yếu tố thời gian Các luật kết hợp tìm được khi đó cũng chỉ là các luật tìm được trong các CSDL giao dịch và với khoảng cách thời gian rõ Cách tiếp cận của các nghiên cứu sử dụng cửa sổ trượt (slide window) trong [32], [33], [34], [35], [36], [38] bị hạn chế là số lượng
Trang 29các mục sinh ra rất lớn khi kích thước cửa sổ trượt tăng và chỉ tìm được các luật kết hợp giới hạn với khoảng cách thời gian cho phép trong kích thước cửa
sổ trượt mà không thể thấy được đầy đủ các quan hệ giữa các tập mục theo mọi khoảng cách thời gian thực tế xảy ra giữa các giao dịch trong CSDL có yếu tố thời gian Nghiên cứu [89] đã đề xuất giải pháp phát hiện các luật kết hợp có tính đến khoảng cách thời gian trong các CSDL định lượng có yếu tố thời gian, theo cách tiếp cận mờ hóa các thuộc tính định lượng, khoảng cách thời gian là các số Các luật kết hợp tìm được khi đó được gọi là luật kết hợp với khoảng cách thời gian rõ Vì thế vấn đề phát hiện các luật kết hợp có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL định lượng có yếu tố thời gian theo cách tiếp cận mờ hóa cả các thuộc tính định lượng lẫn khoảng cách thời gian xảy ra giữa các giao dịch cần được tiếp tục nghiên cứu giải quyết
1.2 Mẫu chuỗi
1.2.1 Phát hiện mẫu chuỗi trong các CSDL chuỗi giao dịch
Định nghĩa 1.6 CSDL chuỗi giao dịch [39]: Giả sử I ={ } là tập các mục Một chuỗi s =〈 〉 là danh sách có thứ tự các tập mục với
Trang 30Bảng 1.5 thể hiện một CSDL chuỗi giao dịch của khách hàng trong dữ liệu bán hàng của một cửa hàng bán lẻ Trong đó, tập các mục chính là tập tên
của các mặt hàng I ={a, b, c, d, e, f, g}, ở đây mỗi chuỗi thể hiện tất cả các
giao dịch mà một khách hàng thực hiện Khách hàng thứ nhất thực hiện 5 giao dịch mua hàng lần lượt theo thứ tự {b, c}, {a}, {f, g}, {g}, {e}; khách hàng thứ 2 thực hiện 4 giao dịch là {b, d}, {a}, {c}, {b, c, e, f}; Các giao dịch có thể bao gồm 1 mặt hàng (giao dịch mua c {c} của khách hàng 4) hoặc nhiều mặt hàng (giao dịch mua f và g {f, g} cũng của khách hàng này)
Nếu xem mỗi mục trong chuỗi CSDL chuỗi giao dịch là một thuộc tính (mục xuất hiện/không xuất hiện trong CSDL này tương ứng với thuộc tính tương ứng nhận giá trị 1 hoặc 0), khi đó CSDL chuỗi nhận được được gọi là CSDL chuỗi nhị phân Nói cách khác CSDL chuỗi nhị phân và CSDL chuỗi giao dịch được xem là tương đương nhau Nên việc sử dụng 2 thuật ngữ này cũng không gây ra bất kỳ sự nhầm lẫn nào
Định nghĩa 1.7 Độ dài chuỗi [39]: Độ dài của chuỗi 〈 〉
là tổng số các tập mục của chuỗi Một chuỗi có độ dài k được gọi là k-chuỗi
Ví dụ: chuỗi 〈{ } { } { } { }〉 có độ dài 4, nó bao gồm 4 tập mục
hay 4 giao dịch là {b, d}, {a}, {c}, {b, c, e, f}
Định nghĩa 1.8 Chuỗi con [39]: Chuỗi 〈 〉 được gọi là chuỗi con của chuỗi 〈 〉 khi và chỉ khi tồn tại k số nguyên sao cho và được kí hiệu là Nói cách khác, chuỗi là chuỗi con của chuỗi nếu có thể nhận được từ sau khi bỏ đi một số giao dịch hoặc một số mục trong các giao dịch của Khi đó ta có thể gọi là chuỗi chứa chuỗi
Ví dụ: Chuỗi 〈{ } { }〉 là chuỗi con của chuỗi
〈{ } { } { } { }〉 nhưng chuỗi 〈{ } { }〉 không phải là chuỗi con của chuỗi 〈{ } { } { } { }〉
Trang 31Định nghĩa 1.9 Độ hỗ trợ của chuỗi [39]: Độ hỗ trợ của chuỗi trong
CSDL chuỗi SDB, kí hiệu là sup( ), là tỷ số của số chuỗi trong SDB chứa
và tổng số chuỗi trong CSDL này Độ hỗ trợ của chuỗi được tính theo công thức:
|{ | }|/|SDB| (1.4)
Chuỗi được gọi là phổ biến hay là mẫu chuỗi khi và chỉ khi độ hỗ trợ
của chuỗi s không nhỏ hơn độ hộ trợ cực tiểu min_sup cho trước, tức là
trước không vượt quá 50%
Một mẫu chuỗi thể hiện mối quan hệ giữa các giao dịch xảy ra theo chuỗi thời gian được thực hiện bởi cùng một đối tượng Chẳng hạn như mẫu chuỗi
〈{ } { } { }〉 có thể được diễn giải như sau “Nếu một khách hàng mua mặt
hàng a và sau đó mua mặt hàng b thì khách hàng đó sẽ mua mặt hàng c”
Các thuật toán phát hiện mẫu chuỗi trong các CSDL chuỗi giao dịch có thể được phân chia thành 3 nhóm chính:
Nhóm thứ nhất: Thực hiện sinh chuỗi ứng cử viên bằng phương pháp tìm kiếm theo bề rộng (breath-first search): Bắt đầu từ việc quét CSDL để tìm các chuỗi phổ biến độ dài 1 Tiếp đến, các chuỗi độ dài 2 được sinh ra dựa trên kết hợp các chuỗi phổ biến độ dài 1 (thông qua việc mở rộng tập và mở rộng chuỗi) Sau đó, các chuỗi độ dài 3 được sinh ra bằng cách kết hợp các chuỗi phổ biến độ dài 2 Tương tự, các chuỗi độ dài n được sinh ra bằng cách kết hợp các chuỗi phổ biến độ dài n-1 Quá trình này dừng lại khi không còn
Trang 32chuỗi mới được sinh ra Các thuật toán điển hình nhất được phát triển theo cách tiếp cận này gồm APRIORI ALL và APRIORI SOME [39], GSP [40], SPIRIT [41], APRIORIADJUST [90]
Nhóm thứ 2: Thực hiện sinh chuỗi ứng viên bằng phương pháp tìm kiếm theo chiều sâu (depth-first search): Bắt đầu từ từng chuỗi độ dài 1, thuật toán gọi đệ quy thực hiện mở rộng tập và mở rộng chuỗi để sinh ra các chuỗi
có độ dài lớn hơn Thuật toán quay lui khi không thể tạo ra chuỗi tiếp theo Các thuật toán được phát triển theo cách tiếp cận của nhóm này gồm SPADE [42], SPAM [43], FAST [44], LAPIN [91], CM-SPAM [45], CM-SPADE
[45], MAXSP [46], GENMINER [47], FEAT [92], FSGP [93], VGEN [94],
Nhóm thứ 3: Sử dụng phương pháp tìm kiếm theo chiều sâu và sử dụng CSDL chiếu (projected database) Các CSDL chiếu được tạo ra tương ứng với mỗi mẫu chuỗi Điều này làm giảm không gian tìm kiếm do chỉ tìm trên CSDL chiếu được sinh ra thay vì CSDL chuỗi ban đầu Tuy nhiên, các thuật toán được phát triển theo cách tiếp cận này thường đòi hỏi nhiều bộ nhớ do phát sinh ra nhiều CSDL chiếu trong quá trình xử lý Các thuật toán được phát triển theo cách tiếp cận của nhóm này gồm FREESPAN [48],
PREFIXSPAN [49], CLOSPAN [50], BIDE [95], CLASP [96], VMSP
[97],…
Thuật toán AprioriAll [39] phát hiện các mẫu chuỗi trong CSDL chuỗi giao dịch thuộc nhóm tìm kiếm theo bề rộng được trình bày trong Thuật toán 1.2 sau đây:
Thuật toán 1.2 Thuật toán AprioriAll
Trang 333 do while ≠ {
4 Sinh tập ứng cử viên (đây là tập các chuỗi ứng cử viên độ dài k được tạo từ tập các chuỗi phổ biến độ dài k-1, );
5 foreach chuỗi s trong CSDL SDB do {
6 Tăng cả biến đếm cho tất cả các chuỗi a trong nếu s hỗ trợ a
1.2.2 Phát hiện mẫu chuỗi trong các CSDL chuỗi định lượng
Định nghĩa 1.10 CSDL chuỗi định lượng: Giả sử I = { } là tập các
thuộc tính Một chuỗi định lượng s = 〈 〉 là danh sách có thứ tự các tập thuộc tính I (1km) và các thuộc tính a nhận giá trị là số hoặc phân loại
Một CSDL chuỗi định lượng là tập các chuỗi định lượng { }
Trang 34Trong Bảng 1.6, I = {a, b, c, d, e, f, g, h, i} là tập các thuộc tính, chuỗi
giao dịch đầu tiên là 〈 〉 bao gồm 3 giao dịch xảy ra theo
trình tự thời gian lần lượt gồm giao dịch thứ nhất ở đó thuộc tính a nhận giá trị 2, ở giao dịch thứ 2 thuộc tính b nhận giá trị 2 và ở giao dịch thứ 3 thuộc tính e nhận giá trị 5 Chuỗi giao dịch thứ 2 là 〈 〉 có SID là
2 cũng bao gồm 3 giao dịch được xác định theo cách xác định như trên, trong khi đó chuỗi giao dịch cuối cùng (SID=10) là 〈{ } 〉
gồm 3 giao dịch, ở đó giao dịch đầu tiên có 2 thuộc tính a, g tương ứng nhận
giá trị là 2 và 5, ở giao dịch thứ 2 thuộc tính b nhận giá trị 2, ở giao dịch thứ 3
thuộc tính e nhận giá trị 1
Cũng giống như phát hiện luật kết hợp trong CSDL định lượng, để phát hiện mẫu chuỗi trong các CSDL chuỗi định lượng, người ta thường sử dụng phương pháp mờ hóa để chuyển đổi các giá trị của thuộc tính định lượng thành các tập mờ rồi từ đó đề xuất thuật toán phát hiện các mẫu chuỗi mờ trong các CSDL chuỗi định lượng Một số thuật toán điển hình về phát hiện mẫu chuỗi trong các CSDL chuỗi định lượng được dựa trên việc mờ hóa các thuộc tính như: SPEEDYFUZZY [53], MINIFUZZY [53], FGBSPMA [54], MST [55] FQSP-MMS [56], FUZZY APRIORISOME [57], IQSP [58] và các thuật toán khác [104]–[106]
Mẫu chuỗi mờ được biểu diễn dưới dạng 〈 〉 trong đó
là các tập mờ gắn với các thuộc tính a, b, c Mẫu chuỗi
này có thể được diễn giải là “theo trình tự thời gian, một khách hàng mua một
lượng Nhiều mặt hàng a, một lượng Trung bình mặt hàng b và sau đó một lượng Ít mặt hàng c”
Trang 351.2.3 Phát hiện mẫu chuỗi tính đến khoảng cách thời gian xảy ra của các
giao dịch trong các CSDL chuỗi có yếu tố thời gian
Định nghĩa 1.11 CSDL chuỗi giao dịch/định lượng có yếu tố thời gian
[107]: là CSDL chuỗi giao dịch/định lượng ở đó có thêm thuộc tính thời gian nhận giá trị là thời điểm xảy ra của mọi giao dịch trong các chuỗi giao dịch Giả sử I = { } là tập các mục Một chuỗi 〈 〉 , ở đây là thời điểm xuất hiện của mục I (1 n) trong chuỗi Chuỗi giao dịch s cũng
có thể được viết dưới dạng s = 〈 〉
(1≤ j≤ k) và tương ứng là thời điểm xảy ra của các giao dịch mua các mặt hàng trong
Một CSDL chuỗi có yếu tố thời gian là tập tất cả các chuỗi có yếu tố thời gian { }
Trong CSDL trên, nếu các mục trong I được xem là các thuộc tính nhận
giá trị 1 hoặc 0 tương ứng với mục đó xuất hiện hay không xuất hiện thì CSDL chuỗi giao dịch có yếu tố thời gian trở thành CSDL chuỗi nhị phân có yếu tố thời gian
Nếu các thuộc tính trong I nhận các giá trị số hoặc giá trị phân loại thì
nhận được một CSDL được gọi là CSDL chuỗi định lượng có yếu tố thời gian
Bảng 1.7 ở dưới minh họa một CSDL chuỗi giao dịch có yếu tố thời gian
Bảng 1.7 Ví dụ CSDL chuỗi giao dịch có yếu tố thời gian
Trang 368 〈 〉
9 〈 〉
10 〈 〉
Trong Bảng 1.7, I = {a, b, c, d, e, f, g, h, i} là tập các mục (hay tên các
mặt hàng), thời gian xảy ra giao dịch được tính từ 0 Chuỗi giao dịch đầu tiên
là 〈 〉 có giá trị định danh SID là 1 và bao gồm 3 giao dịch: giao dịch thứ nhất xảy ra tại thời điểm 1 ở đó mặt hàng a được mua; giao dịch thứ 2 xảy ra tại thời điểm 4 ở đó mặt hàng b được mua và giao dịch thứ 3 xảy
ra tại thời điểm 29 ở đó mặt hàng e được mua Chuỗi giao dịch cuối cùng là
〈 〉 có giá trị định danh SID là 10 và bao gồm 3 giao dịch: các mặt hàng a và g xuất hiện trong cùng một giao dịch xảy ra tại thời điểm 0, mặt hàng b thuộc giao dịch thứ 2 xảy ra tại thời điểm 3 và mặt hàng e
thuộc giao dịch thứ 3 xảy ra tại thời điểm 30
Bảng 1.8 trình bày một số nghiên cứu điển hình về phát hiện mẫu chuỗi
có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong CSDL chuỗi giao dịch/chuỗi định lượng có yếu tố thời gian
Bảng 1.8 Một số nghiên cứu về phát hiện mẫu chuỗi có tính đến khoảng cách
thời gian
chuỗi giao dịch có yếu
tố thời gian
〈 〉 (khoảng cách thời gian là giá trị rõ)
Nếu một khách hàng mua a và
sau đó mua b sau thời gian I 1 thì
khách hàng đó sẽ mua c sau thời
gian I 2
FTI-Apriori,
FTI-CSDL chuỗi giao
〈 〉 (Khoảng cách thời
Nếu một khách hàng mua a và
mua b sau thời gian Short thì
Trang 37tố thời gian
〈 〉 (Khoảng cách thời gian là giá trị mờ)
Nếu một khách hàng mua a và mua b sau thời gian thì
khách hàng đó sẽ mua c sau thời
gian
Trong Bảng 1.8, a, b, c là các mục trong CSDL chuỗi giao dịch, các
khoảng cách thời gian xảy ra giữa các giao dịch là , Chẳng hạn là khoảng thời gian từ 3 đến 5 ngày, là khoảng thời gian từ 10 đến 12 ngày Tương tự như trường hợp phát hiện các luật kết hợp (Bảng 1.4), để phát hiện các mẫu chuỗi có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL chuỗi tác vụ có yếu tố thời gian, nhằm tránh hiện tượng không tự nhiên và sắc nét tại các điểm phân chia như trong [61], việc mờ hóa các khoảng cách thời gian đã được áp dụng [63] Khi đó, các mẫu chuỗi tìm được trong nghiên cứu [63] được gọi là mẫu chuỗi với khoảng cách thời gian
mờ và nó dạng 〈 〉, có nghĩa là “Nếu một khách hàng mua
a và mua b sau thời gian Short thì khách hàng đó sẽ mua c ở thời gian Long
tiếp theo” , ở đây Short và Long là các tập mờ thời gian Các thuật toán để tìm
các mẫu chuỗi với khoảng cách thời gian như vậy là Apriori và PrefixSpan [63] Hai thuật toán này được phát triển tương ứng dựa trên hai thuật toán Apriori và PrefixSpan Các nghiên cứu [65], [66] cũng nhằm tìm ra các mẫu chuỗi với khoảng cách thời gian mờ dạng 〈 〉 trong các CSDL chuỗi giao dịch có yếu tố thời gian, ở đây và là các số mờ, đó
FTI-là một dạng đặc biệt của tập mờ Các số mờ và dạng hình thang biểu diễn khoảng cách thời gian lần lượt giữa các cặp giao dịch trong mẫu chuỗi
(a, b) và (b, c) Giá trị của các số mờ trong mẫu chuỗi của các thuật toán
SPFTI [65] và ISPFTI [66] được tìm dựa trên tập dữ liệu đầu vào Nói cách khác phương pháp mờ hóa khoảng cách thời gian là hoàn toàn khác so với
Trang 38việc cho trước các tập mờ như trong [63] Các thuật toán SPFTI [65] và ISPFTI [66] được phát triển dựa trên thuật toán Apriori tuy nhiên mới dừng ở mức đề xuất ý tưởng Các thuật toán chưa được thực nghiệm để biết nó có khả thi và phù hợp với lý thuyết về mẫu chuỗi và với thực tế hay không Mẫu chuỗi 〈 〉 cũng được giải thích là “Nếu một khách hàng mua a
và mua b sau thời gian thì khách hàng đó sẽ mua c sau thời gian tiếp theo”
1.3 Luật chuỗi chung
1.3.1 Khái niệm luật chuỗi chung
Định nghĩa 1.12 Luật chuỗi chung [108]: Giả sử I = { } là tập các
mục, SD là CSDL chuỗi giao dịch, một luật chuỗi chung có dạng X⟹Y, trong
đó X, Y I thỏa mãn X Y=, X, Y ≠ và các mục trong Y phải xuất hiện sau các mục trong X
Ví dụ, luật {a, b} ⟹ {c} có nghĩa “Nếu một khách hàng đã từng mua cả
2 mặt hàng a và b thì sau đó khách hàng đó sẽ mua c”, giao dịch mua a và giao dịch mua b của khách hàng không cần theo thứ tự nhưng phải xảy ra trước giao dịch mua c
1.3.2 Phát hiện luật chuỗi chung
Luật chuỗi chung mới được xuất hiện trong vài năm gần đây [69] Các thuật toán để phát hiện các luật chuỗi chung trong các CSDL chuỗi chưa nhiều Bảng 1.9 sau đây giới thiệu các thuật toán như vậy
Bảng 1.9 Một số nghiên cứu về phát hiện luật chuỗi chung
Luật chuỗi chung:
{a, b} ⟹ {c}
Nếu một khách hàng mua a
và mua b thì khách hàng đó
sẽ mua c sau đó
Trang 39Bảng 1.9 cho thấy các thuật toán phát hiện luật chuỗi chung hiện có như CMRules [69] , RuleGrowth [71], ERMiner [72] chỉ cho phép phát hiện các luật này trong các CSDL chuỗi giao dịch không có yếu tố thời gian Như vậy vấn đề phát hiện luật chuỗi chung trong các CSDL chuỗi định lượng cũng như vấn đề phát hiện luật chuỗi chung có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL chuỗi giao dịch/chuỗi định lượng có yếu
tố thời gian vẫn chưa được quan tâm nghiên cứu
Trong các thuật toán hiện có về phát hiện luật chuỗi chung trong các CSDL chuỗi giao dịch, thuật toán ERMiner [72] là hiệu quả nhất do đã khắc phục được nhược điểm của các thuật toán CMRules và RuleGrowth trước đó Dưới đây sẽ trình bày về thuật toán này
Định nghĩa 1.13 Các lớp tương đương trái/phải [72]: Cho CSDL chuỗi
giao dịch, I là tập các mục trong CSDL này Một lớp tương đương trái được
kí hiệu là được xác định là = {W ⟹ Y | Y I |Y| = i} trong đó
W I và i là số tự nhiên Tương tự, một lớp tương đương phải kí hiệu là
được xác định là = {X ⟹ W | X I |X| = i} trong đó W I và
i là số nguyên
Ví dụ: { } = {{ } ⟹ { } { } ⟹ { }},
{ } = {{ } ⟹ { } { } ⟹ { } { } ⟹ { }}
Định nghĩa 1.14 Các phép hợp nhất trái/phải [72]: Giả sử là lớp
tương đương trái và hai luật r = W ⟹ X và s = W ⟹ Y đều thuộc và
| | | – | Một phép hợp trái của r và s là quá trình kết hợp r, s để nhận được luật ⟹ Tương tự, gọi là lớp tương đương phải và hai luật r = ⟹ và s = ⟹ thỏa mãn r, s và | |
| – | Một phép hợp phải của r và s là quá trình kết hợp r, s để được
⟹
Thuật toán ERMiner [72] được phát triển dựa trên các lớp tương đương trái, phải của các luật chuỗi chung phổ biến và các phép hợp nhất các luật trên
Trang 40các lớp tương đương này Thuật toán ERMiner được mô tả trong Thuật toán 1.3
Thuật toán 1.3 Thuật toán ERMiner
input: SDB: CSDL chuỗi giao dịch,
minsup và minconf: độ hỗ trợ cực tiểu và độ tin cậy cực tiểu
output: tập các luật chuỗi chung
7 foreach right equivalence class J EQ do
8 rightSearch (J, rules, leftStore);
Thủ tục leftSearch được mô tả trong Thuật toán 1.4
Thuật toán 1.4 Thủ tục leftSearch
input: LE: lớp tương đương trái,
rules: tập các luật đã tìm được,
minsup và minconf: độ hỗ trợ cực tiểu và độ tin cậy cực tiểu
1 foreach rule r LE do
2 LE’ ;