GIỚI THIỆU TỔNG QUAN Chương n y trình b y tổng quan về khai thác dữ liệu v các vấn đề m luận án sẽ đi sâu nghiên cứu như: Tập phổ biến, tập phổ biến đóng, d n khái niệm v luật kết hợp..
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
VÕ ĐÌNH BẢY
NÂNG CAO HIỆU QUẢ CỦA CÁC THUẬT TOÁN KHAI THÁC
LUẬT KẾT HỢP DỰA TRÊN DÀN
LUẬN ÁN TIẾN SĨ CÔNG NGHỆ THÔNG TIN
Tp Hồ Chí Minh – 2011
Trang 2ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
VÕ ĐÌNH BẢY
NÂNG CAO HIỆU QUẢ CỦA CÁC THUẬT TOÁN KHAI THÁC
LUẬT KẾT HỢP DỰA TRÊN DÀN
Chuy n ng nh : KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS TS L Ho i Bắc
Tp Hồ Chí Minh – 2011
Trang 3Lời cam đoan
Tôi xin cam đoan rằng nội dung của luận án này là kết quả nghiên cứu của chính bản thân Tất cả những tham khảo từ các nghiên cứu có liên quan đều được n u rõ nguồn gốc từ danh mục các t i liệu tham khảo trong luận án Những đóng góp trong luận án l các nghi n cứu của tác giả đ công bố trong các b i báo khoa học nêu trong phần danh mục các công trình nghi n cứu chưa được công bố trong bất kì công trình n o khác Các công trình nghi n cứu của nhiều tác giả được đưa v o nội dung luận án đều nhận được sự đồng ý trước đó của các đồng tác giả
Tác giả luận án
Võ Đình Bảy
Trang 4Lời cảm ơn
Lời đầu tiên, em xin bày tỏ lòng biết ơn sâu sắc đến Thầy, PGS TS Lê Hoài Bắc bởi nhờ sự động viên, chỉ bảo, hướng dẫn tận tình của Thầy, em mới có thể hoàn thành luận án này
Em cũng xin chân thành gửi lời cảm ơn đến các Thầy Cô trong khoa Công nghệ Thông tin trường Đại học Khoa học Tự nhiên Tp HCM đã tận tình dạy dỗ, chỉ bảo nhiều kiến thức quí báu giúp em hoàn thành khóa học đúng tiến độ
Xin cảm ơn Phòng Sau đại học về những hỗ trợ về mặt thủ tục, giấy tờ
Xin cảm ơn các đồng nghiệp, bạn bè đã động viên tôi trong suốt thời gian thực hiện luận án này Không có sự động viên kịp thời của các thầy – cô và các bạn, tôi khó hoàn thành luận án đúng hạn
Cuối cùng, xin chân thành cảm ơn cha mẹ, vợ con và anh chị em đã khích lệ, động viên, tạo điều kiện thuận lợi cho tôi trong suốt thời gian làm nghiên cứu sinh
Tp Hồ Chí Minh tháng 11 năm 2011
Tác giả
Võ Đình Bảy
Trang 5Lời cảm ơn ii
Danh mục các kí hiệu, chữ viết tắt vi
Danh mục các bảng viii
Danh mục các hình vẽ, đồ thị ix
Chương 1 GIỚI THIỆU TỔNG QUAN 1
1.1 Khai thác dữ liệu 1
1.2.Tập phổ biến v tập phổ biến đóng 2
1.3 Giới thiệu về d n 6
1.4 Luật kết hợp 7
1.5 Mục ti u của luận án 8
1.6 Kết luận 9
Chương 2 CƠ SỞ LÝ THUYẾT 11
2.1 Khai thác tập phổ biến 11
2.1.1 Một số khái niệm 11
2.1.2 Các thuật toán khai thác tập phổ biến 12
2.2 Khai thác tập phổ biến đóng 26
2.2.1 Một số định nghĩa v tính chất 26
2.2.2 Thuật toán CHARM 28
2.2.3 Sử dụng Diffset 34
2.3 Dàn 37
2.3.1 Một số khái niệm 37
2.3.2 Thuật toán xây dựng dàn tập phổ biến đóng (CHARM-L) 39
2.4 Khai thác luật kết hợp truyền thống 44
2.4.1 Một số tính chất của luật kết hợp truyền thống 44
2.4.2 Các thuật toán sinh luật kết hợp truyền thống 44
2.5 Khai thác luật kết hợp không dư thừa 51
2.5.1 Luật không dư thừa tối tiểu (MNAR) 51
Trang 62.5.2 Tập sinh tối tiểu (minimal Generator) 52
2.5.3 Thuật toán sinh luật không dư thừa tối tiểu từ FCI 52
2.5.4 Ví dụ minh họa 53
2.6 Kết luận 54
2.7 Tổng quan về các đóng góp của luận án 55
Chương 3 KHAI THÁC LUẬT KẾT HỢP DỰA TRÊN DÀN TẬP PHỔ BIẾN 58
3.1 Khai thác luật kết hợp truyền thống dựa tr n dàn tập phổ biến 58
3.1.1 Xây dựng dàn tập phổ biến 58
3.1.2 Sinh luật kết hợp truyền thống từ d n 61
3.1.4 Kết quả thực nghiệm 66
3.2 Khai thác luật từ các độ đo thú vị dựa v o d n v bảng băm 74
3.2.1 Thuật toán khai thác luật kết hợp với các độ đo thú vị 76
3.2.2 Một ví dụ minh họa 77
3.2.3 Kết quả thực nghiệm 80
3.3 Khai thác luật không dư thừa tối tiểu từ d n sửa đổi 88
3.3.1 Thuật toán xây dựng d n sửa đổi 90
3.3.2 Minh họa quá trình xây dựng d n sửa đổi 91
3.3.3 Thuật toán khai thác luật không dư thừa tối tiểu từ d n sửa đổi 93
3.3.4 Minh họa thuật toán 95
3.3.5 Kết quả thực nghiệm 97
3.4 Kết luận 101
Chương 4 KHAI THÁC LUẬT KẾT HỢP DỰA TRÊNDÀN TẬP PHỔ BIẾN ĐÓNG 103
4.1 Xây dựng dàn tập phổ biến đóng 104
4.1.1 Thuật toán 104
4.1.2 Minh họa 105
4.1.3 Độ phức tạp thuật toán 107
Trang 74.2 Sinh luật thiết yếu nhất dựa tr n dàn tập phổ biến đóng 108
4.3 Kết luận 112
Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 114
5.1 Kết luận 114
5.2 Hướng phát triển 115
DANH MỤC CÁC CÔNG TRÌNH CHÍNH 121
CÁC CÔNG TRÌNH CÓ ĐÓNG GÓP CỦA TÁC GIẢ 121
DANH MỤC CÁC ĐỀ TÀI 124
DANH MỤC CÁC TÀI LIỆU THAM KHẢO 125
Trang 8Danh mục các kí hiệu, chữ viết tắt
STT Từ viết tắt Tiếng Anh Nghĩa tiếng Việt
2 CHARM Closed Association Rule
Mining
Khai thác luật kết hợp từ tập đóng
3 Cidset Closed identifiers set Tập định danh đóng
4 Ck Cadidate k-itemsets Tập các ứng vi n chứa k item
6 Diffset Difference set Tập khác nhau giữa hai Tidset
7 Eclat Equivalence class
tranformation
Cây các lớp tương đương
8 FCI Frequent Closed Itemset(s) Tập đóng
9 FCIL Frequent Closed Itemset
Lattice
Dàn các tập đóng hay viết gọn hơn l d n tập đóng
11 FIL Frequent Itemset Lattice D n các tập phổ biến
12 FP-tree Frequent Pattern-tree Cây FP
14 IT-tree Itemset-Tidset tree Cây IT
15 Lk Large k-itemsets Tập các itemset phổ biến chứa
k item
16 MFIL Modification of Frequent
Itemset Lattice
D n sửa đổi (mở rộng)
17 minConf Minimum confidence Độ tin cậy tối thiểu
18 mG Minimal Generator Tập sinh tối tiểu
Trang 919 minSup Minimum support Độ phổ biến tối thiểu
20 minSupCount Minimum support count Độ phổ biến tối thiểu (tính theo
Luật không dƣ thừa
23 P(I) Power set of I Tập hợp các tập con của I
25 t(X) Transaction Identifiers
containing X
Các giao dịch có chứa X
26 Tidset Transactions identifier set Tập định danh các giao dịch
Trang 10Danh mục các bảng
Bảng 1.1 CSDL mẫu 10
Bảng 2.1 Tập các ký hiệu dùng trong thuật toán Apriori 13
Bảng 2.2 Kết quả chạy từng bước của thuật toán Apriori 15
Bảng 2.3 Danh sách các tập phổ biến với minSupCount = 3 16
Bảng 2.4 Bảng so sánh tỉ lệ trung bình giữa kích thước Tidset v Diffset 26
Bảng 2.5 Danh sách các FCI của CSDL tr n bảng 1.1 với minSupCount = 3 32
Bảng 2.6 Kết quả chạy thuật toán sinh AR với minConf = 80% 45
Bảng 2.7 Các bảng băm cho khai thác luật truyền thống 49
Bảng 2.8 Các MNAR của bảng 2.5 với minConf = 80% 54
Bảng 3.1 Kết quả sinh luật từ d n tr n hình 3.2 với minConf = 80% 64
Bảng 3.2 Cơ sở dữ liệu chuẩn dùng để thử nghiệm 66
Bảng 3.3 Số tập phổ biến v số lượng luật truyền thống 67
Bảng 3.4 Giá trị một số độ đo thú vị của luật AC TW 74
Bảng 3.5 Bảng băm cho các tập phổ biến trong bảng 2.3 75
Bảng 3.6 Bảng băm với khóa của các item đơn l số nguy n tố 76
Bảng 3.7 Kết quả sinh luật từ d n tr n hình 3.3 với độ đo thú vị l Lift 78
Bảng 3.8 Số lượng tập phổ biến v số lượng luật tr n các CSDL 80
Bảng 3.9 Kết quả sinh luật từ d n sửa đổi tr n hình 3.29 với minConf = 80% 96
Bảng 4.1 Các FCI với minSupCount = 3 106
Bảng 4.2 Mối quan hệ giữa k và n trên các CSDL 107
Bảng 4.3 Thời gian khai thác luật thiết yếu nhất dựa tr n FCI v FCIL 112
Bảng 5.1 CSDL số lượng 117
Bảng 5.2 Trọng số (lợi ích) của các item 117
Bảng 5.3 tw của các giao dịch trong bảng 5.1 118
Trang 11Danh mục các hình vẽ, đồ thị
Hình 2.1 – Thuật toán Apriori 14
Hình 2.2 – Kết nối Galois 17
Hình 2.3 – Cây IT-tree v các lớp tương đương 18
Hình 2.4 – Thuật toán khai thác tập phổ biến thỏa ngưỡng minSupCount 19
Hình 2.5 – Cây tìm kiếm tập FI thỏa ngưỡng minSupCount = 3 20
Hình 2.6 – Thuật toán khai thác FI có sắp xếp 21
Hình 2.7 – Cây tìm kiếm tập FI thỏa ngưỡng minSupCount = 3 có sắp xếp 22
Hình 2.8 – Các miền khác nhau của Tidset v Diffset 24
Hình 2.9 – Thuật toán sinh tập FI sử dụng Diffset 25
Hình 2.10 – Cây tìm kiếm IT-tree sử dụng Diffset với minSupCount = 3 26
Hình 2.11 – Các tính chất của IT-pair 28
Hình 2.12 – Thuật toán khai thác tập phổ biến đóng thỏa ngưỡng minSupCount 29
Hình 2.13 – Cây IT-tree tìm tập phổ biến đóng thỏa ngưỡng minSupCount 31
Hình 2.14 – Kiểm tra gộp nhanh 34
Hình 2.15 – Thuật toán dCHARM 35
Hình 2.16 – Cây tìm kiếm FCI sử dụng Diffset 36
Hình 2.17 – D n tập phổ biến (trong ngoặc l Tidset tương ứng) 38
Hình 2.18 – Thuật toán sinh dàn tập phổ biến đóng CHARM-L 40
Hình 2.19 – Kiểm tra gộp v cập nhật d n 41
Hình 2.20 – Minh họa quá trình xây dựng d n của thuật toán CHARM-L 43
Hình 2.21 – Thuật toán sinh luật từ tập FI theo quan hệ cha – con 45
Hình 2.22 – Thuật toán sinh luật từ tập FI dựa v o bảng băm 48
Hình 2.23 – Thuật toán sinh luật không dư thừa tối tiểu có độ tin cậy 100% 52
Hình 2.24 – Thuật toán sinh luật không dư thừa tối tiểu có độ tin cậy nhỏ hơn 100% 53
Hình 2.25 – Một số hướng tiếp cận khai thác luật hiện có 55
Trang 12Hình 2.26 – Các đóng góp của luận án trong khai thác luật kết hợp 57
Hình 3.1 – Thuật toán xây dựng d n tập phổ biến của CSDL D 59
Hình 3.2 – D n kết quả theo thuật toán LATTICE_FI của CSDL D với minSupCount = 3 60
Hình 3.3 – Khai thác luật truyền thống từ dàn tập phổ biến 63
Hình 3.4 – Thời gian khai thác dựa v o bảng băm v d n tr n CSDL Chess 68
Hình 3.5 – Thời gian khai thác dựa v o bảng băm v d n tr n CSDL Mushroom 68
Hình 3.6–Thời gian khai thác dựa v o bảng băm v d n tr n CSDL Pumsb 69
Hình 3.7–Thời gian khai thác dựa v o bảng băm v d n tr n CSDL Pumsb* 69
Hình 3.8–Thời gian khai thác dựa v o bảng băm v d n tr n CSDL Retail 69
Hình 3.9–Thời gian khai thác dựa v o bảng băm v d n tr n CSDL Connect 70
Hình 3.10 – Thời gian khai thác dựa v o bảng băm v d n tr n CSDL Accidents 70
Hình 3.11 – Thời gian sinh luật dựa v o bảng băm v dựa v o d n tr n CSDL Chess 71
Hình 3.12 –Thời gian sinh luật dựa v o bảng băm v dựa v o FIL tr n CSDL Mushroom 71
Hình 3.13 – Thời gian sinh luật dựa v o bảng băm v dựa v o d n tr n CSDL Pumsb 72 Hình 3.14 – Thời gian sinh luật dựa v o bảng băm v dựa v o d n tr n CSDL Pumsb*72 Hình 3.15 – Thời gian sinh luật dựa v o bảng băm v dựa v o d n tr n CSDL Retail 72
Hình 3.16 – Thời gian sinh luật dựa v o bảng băm v dựa v o d n tr n CSDL Connect73 Hình 3.17 –Thời gian sinh luật dựa v o bảng băm v dựa v o d n tr n CSDL Accidents73 Hình 3.18 – Thuật toán sinh luật kết hợp với độ đo thú vị dựa tr n FIL v bảng băm 77
Hình 3.19 – So sánh thời gian giữa HT v L+HT tr n CSDL Mushroom 82
Hình 3.20 – So sánh thời gian giữa HT v L+HT tr n CSDL Chess 83
Hình 3.21 – So sánh thời gian giữa HT v L+HT tr n CSDL Pumsb 84
Hình 3.22 – So sánh thời gian giữa HT v L+HT tr n CSDL Retail 84
Hình 2.23 – So sánh thời gian giữa HT v L+HT tr n CSDL Accidents 85
Hình 3.24 – So sánh thời gian giữa HT v L+HT tr n CSDL Mushroom 86
Trang 13Hình 3.25 – So sánh thời gian giữa HT v L+HT với đô đo Phi-coefficient 88
Hình 3.26 – Thuật toán xây dựng dàn tập phổ biến sửa đổi 91
Hình 3.27 – Mức 1 của d n sửa đổi (mỗi nút gồm: item, Tidset, ismG v isFCI) 92
Hình 3.28 – Cập nhật nút d n khi kết hợp {D} với các nút sau {D} (DT v DA có độ phổ biến không thỏa minSupCount n n chúng không đƣợc hiển thị tr n d n) 92
Hình 3.29 – D n sửa đổi của CSDL trong Bảng 2.1 với minSupCount = 3 93
Hình 3.30 – Thuật toán khai thác luật không dƣ thừa từ d n 94
Hình 3.31 – Thời gian khai thác dựa v o FCI v MFIL tr n CSDL Chess 97
Hình 3.32 – Thời gian khai thác dựa v o FCI v MFIL tr n CSDL Mushroom 97
Hình 3.33 – Thời gian khai thác dựa v o FCI v MFIL tr n CSDL Pumsb 98
Hình 3.34 – Thời gian khai thác dựa v o FCI v MFIL tr n CSDL Pumsb* 98
Hình 3.35 – Thời gian khai thác dựa v o FCI v MFIL tr n CSDL Connect 98
Hình 3.36 – Thời gian khai thác dựa v o FCI v MFIL tr n CSDL Accidents 99
Hình 3.37 – Thời gian sinh luật dựa v o FCI v dựa v o MFIL tr n CSDL Chess 99
Hình 3.38 – Thời gian sinh luật dựa v o FCI v dựa v o MFIL trên CSDL Mushroom100 Hình 3.39–Thời gian sinh luật dựa v o FCI v dựa v o MFIL tr n CSDL Pumsb 100
Hình 3.40 – Thời gian sinh luật dựa v o FCI v dựa v o MFIL tr n CSDL Pumsb* 100
Hình 3.41 – Thời gian sinh luật dựa v o FCI v dựa v o MFIL tr n CSDL Connect 101 Hình 3.42 – Thời gian sinh luật dựa v o FCI v dựa v o MFIL tr n CSDL Accidents101 Hình 4.1 – Thuật toán xây dựng dàn tập đóng (FCIL) từ FCI 105
Hình 4.2 – Quá trình xây dựng FCIL từ các FCI của bảng 4.1 106
Hình 4.3 – Thuật toán sinh luật thiết yếu nhất từ dàn tập phổ biến đóng 109
Hình 4.4 – Kết quả khai thác luật thiết yếu nhất từ dàn tập phổ biến đóng 110
Trang 14Chương 1 GIỚI THIỆU TỔNG QUAN
Chương n y trình b y tổng quan về khai thác dữ liệu v các vấn đề m luận án sẽ đi sâu nghiên cứu như: Tập phổ biến, tập phổ biến đóng, d n khái niệm v luật kết hợp Một số khảo sát về các đóng góp trong nước v quốc tế cũng sẽ được trình bày
1.1 Khai thác dữ liệu
Chúng ta đang sống trong thời đại thông tin H ng ng y, thông tin được lưu trữ với khối lượng khổng lồ nhưng công cụ để khai thác chúng chưa phát triển tương xứng Chính vì vậy, cần có phương pháp khai thác thích hợp mới có khả năng mang lại lợi ích thiết thực cho người sử dụng Lĩnh vực khám phá tri thức v khai thác dữ liệu được hình th nh v phát triển để đáp ứng nhu cầu n y B i toán khai thác luật kết hợp l một trong những chủ đề nhận được sự quan tâm nghi n cứu nhiều vì tính thiết thực của nó
Hiện nay, nói đến khai thác dữ liệu phải kể đến 3 bài toán chính được đề cập nhiều nhất, đó l : Khai thác luật kết hợp, phân lớp v gom nhóm dữ liệu Từ các b i toán
n y, các nhóm nghi n cứu đ mở rộng cho việc khai thác dữ liệu văn bản [B21], khai thác dữ liệu không gian, thời gian, khai thác dữ liệu Web, v.v…
Khai thác luật phân lớp l tìm ra các qui luật để từ đó dự đoán nh n của các mẫu chưa biết trước lớp Muốn vậy, từ cơ sở dữ liệu (CSDL) cần phân lớp, chúng ta khai thác các luật với vế phải l các giá trị của thuộc tính lớp để từ đó hình th nh n n bộ phân lớp nhằm phục vụ cho nhu cầu dự đoán Một số cách tiếp cận hiện nay như cây quyết định [B22, B70], ILA [B79, B80], phân lớp dựa v o luật kết hợp [A12, B11, B22, B24, B45, B52, B54, B76, B77, B92, B95], v.v
Trang 15Gom nhóm l gom các đối tượng “tương tự” nhau về cùng một nhóm Một số phương pháp điển hình như phân hoạch, phân cấp, gom nhóm dựa tr n mật độ, v.v Khai thác luật kết hợp l tìm ra các mối quan hệ giữa các item với nhau Khác với luật phân lớp, vế phải của luật kết hợp có thể chứa một hay nhiều item Vì vậy, độ phức tạp của b i toán khai thác luật kết hợp lớn hơn nhiều so với b i toán khai thác luật phân lớp Từ khi b i toán khai thác luật kết hợp được phát biểu v o năm 1993 bởi Agrawal v các đồng sự [B6] đến nay đ có khá nhiều thuật toán được phát triển nhằm l m tăng hiệu quả khai thác luật kết hợp như: Các thuật toán phát triển
từ Apriori [B7, B13, B15, B17, B64, B65], các thuật toán phát triển từ FP-tree [B16, B31, B38, B66, B91], các thuật toán phát triển từ IT-tree [B17, B96, B98, B103] Ngoài ra còn có các thuật toán như DCI [B57, B61, B62], LCM [B82], BitTableFI [B26] và Index-BitTableFI [B73], một cải tiến của BitTableFI để l m giảm thời gian khai thác tập phổ biến
Tuy các cách tiếp cận có khác nhau nhưng điểm chung của các thuật toán khai thác luật kết hợp l chia b i toán th nh hai giai đoạn:
i) Khai thác tất cả các tập phổ biến (FI – Frequent Itemsets) hay tập phổ biến đóng (FCI – Frequent Closed Itemsets)
ii) Sinh luật kết hợp từ FI/FCI của giai đoạn i)
Có thể nói, cùng với sự phát triển mạnh mẽ của công nghệ thông tin v truyền thông thì ng nh khai thác dữ liệu cũng đóng một vai trò không nhỏ trong việc khai thác và phân tích dữ liệu nhằm l m tăng tính hiệu quả cho người sử dụng chúng
1.2.Tập phổ biến và tập phổ biến đóng
Khai thác tập phổ biến l một trong những việc quan trọng v mất nhiều thời gian trong quá trình khai thác luật kết hợp Trong hầu hết các thuật toán khai thác luật, các tác giả đặc biệt chú ý đến vấn đề l m thế n o để khai thác nhanh tập phổ biến (hay tập phổ biến đóng) Chính vì vậy, có khá nhiều tác giả chỉ tập trung v o việc
Trang 16nghi n cứu nhằm tìm ra thuật toán hiệu quả cho b i toán khai thác FI/FCI [B7, B13, B15, B16, B17, B20, B26, B31, B36, B38, B57, B61, B62, B64, B65, B66, B73, B82, B91, B96, B98, B103] Trong số n y, có thể kể đến 3 phương pháp chính (đại diện l 3 thuật toán) được sử dụng nhiều nhất trong cộng đồng khai thác luật kết hợp đó l : 1) Apriori [B7]: Trong nghi n cứu n y, các tác giả trình b y một tính chất quan trọng (trùng với t n thuật toán) l m nền tảng cho các thuật toán khai thác tập phổ biến sau n y Thuật toán Apriori đ được phát triển với cách tiếp cận đơn giản l tìm các tập phổ biến 1-itemset, sau đó sinh các ứng vi n 2-itemset để dựa
v o đó tìm các tập phổ biến 2-itemset Thuật toán tiếp tục cho đến khi không còn ứng vi n n o được sinh ra Khuyết điểm chính của phương pháp n y l duyệt nhiều lần CSDL v tập ứng vi n sinh ra nhiều n n tốn chi phí cho việc loại bỏ ứng vi n
Để l m giảm chi phí kiểm tra ứng vi n, một phi n bản mở rộng đó l sử dụng bảng băm để lưu trữ danh sách các tập phổ biến k-itemset Việc giảm bớt số lần duyệt CSDL được thực hiện bằng cách sử dụng thuật toán AprioriTid [B7] 2) Eclat [B17, B96, B98, B103]: Phương pháp n y được đề xuất v o năm 1997 bởi Zaki và các đồng sự trong [B103] Tác giả định nghĩa khái niệm lớp tương đương để l m giảm ứng vi n cần xét B n cạnh đó, dựa v o phần giao giữa các Tidset (Transactions identifier set – Tập định danh các giao dịch) để xác định nhanh độ phổ biến của các itemset Vì vậy, phương pháp n y chỉ duyệt CSDL một lần Một cải tiến đáng kể của phương pháp n y được đề xuất v o năm 2003 [B98] bởi Zaki v Gouda, các tác
giả đề nghị sử dụng kỹ thuật Diffset (Difference set – hiệu của Tidset X với Tidset
Y trong đó X, Y l 2 tập phổ biến) thay cho Tidset để l m giảm thời gian tính độ phổ
biến v giảm không gian lưu trữ Thực nghiệm chứng tỏ sử dụng Diffset thường nhanh hơn so với Tidset [B98] 3) FP-Growth [B16, B31, B38, B66, B91]: Được đề xuất bởi Han v các đồng sự năm 2000 [B38] Phương pháp n y nén CSDL tr n cây
FP và sau đó chiếu tr n cây FP để tìm các tập phổ biến Ưu điểm của nó là không sinh ứng vi n v chỉ duyệt CSDL hai lần Cách thức c i đặt nhằm cải thiện thời
Trang 17gian thực thi của FP-Growth cũng đ được đề nghị trong [B16] Một phi n bản cải tiến của FP-Growth chính là FP-Growth* được đề xuất năm 2005 bởi Grahne và Zhu [B31] Các tác giả sử dụng mảng để lưu trữ số đếm của các cặp item v vì vậy, việc xây dựng cây cục bộ cho các lần chiếu sẽ ít mất thời gian hơn Gần đây, các thuật toán khai thác dựa tr n vectơ bit được quan tâm: Đầu ti n, BitTableFI [B26] được đề nghị v o năm 2007 Với mỗi item có trong CSDL, các tác giả duy trì một vectơ bit có kích thước bằng với số lượng giao dịch có trong CSDL Với n item, thuật toán n y sẽ sử dụng n vectơ bit được tổ chức dưới dạng một mảng hai chiều Khi muốn tính độ phổ biến của một itemset, thuật toán tính phần giao giữa các vectơ bit của các item chứa trong itemset v độ phổ biến chính l số bit 1 có trong vectơ bit kết quả Thuật toán các tác giả sử dụng để khai thác tập phổ biến l Apriori Sau đó, v o năm 2008, Index-BitTableFI được đề nghị [B73] Các tác giả đưa ra khái niệm subsume v dựa v o đó để tính nhanh độ phổ biến của các itemset chứa trong các subsume Một điểm mạnh nữa l thuật toán khai thác dựa v o phương pháp chia để trị n n nó khắc phục được các nhược điểm của cách tiếp cận trước đó Năm 2010, vectơ bit động (DBV - Dynamic Bit Vector) được phát triển
và một thuật toán khai thác nhanh tập phổ biến dựa tr n DBV cũng đ được đề nghị [A11]
Mặc dù có nhiều đóng góp trong việc cải thiện thời gian khai thác tập phổ biến Tuy nhi n, trong thực tế, nhiều CSDL chứa số lượng tập phổ biến khá lớn dẫn đến thời gian khai thác v khối lượng bộ nhớ để lưu trữ tập phổ biến khá lớn B n cạnh đó, khai thác luật kết hợp từ tập phổ biến sinh ra khá nhiều luật dư thừa cần loại bỏ Vì vậy, khái niệm tập phổ biến đóng được đề nghị [B64] Tập phổ biến đóng l một tập phổ biến thỏa điều kiện không tồn tại tập phổ biến cha có cùng độ phổ biến với
nó Điều kiện chặt hơn của tập phổ biến đóng so với tập phổ biến l m giảm đáng kể
số lượng tập được sinh ra v vì vậy, khai thác luật từ tập phổ biến đóng sẽ hiệu quả hơn Khái niệm tập phổ biến đóng được đưa ra lần đầu ti n v o năm 1999 [B64] bởi
Trang 18Pasquier v đồng sự Thuật toán Close cũng đ được phát triển, nó dựa tr n thuật toán Apriori để khai thác tập phổ biến đóng Một số thuật toán được phát triển sau
đó để cải tiến thời gian khai thác [B13, B31, B59, B61, B64, B65, B66, B72, B82, B91, B96, B98] Trong số n y có hai thuật toán được sử dụng nhiều nhất về sau đó
là i) CHARM [B96], một thuật toán dựa tr n IT-tree; và ii) Closet [B66], thuật toán dựa tr n FP-tree Kỹ thuật Diffset được phát triển v thuật toán dCHARM [B96, B98] cũng được đề nghị dCHARM cải thiện đáng kể thời gian khai thác cũng như không gian bộ nhớ lưu trữ (tạm) trong quá trình khai thác tập phổ biến Một v i cải tiến của Closet cũng đ được trình bày: Đầu ti n l Closet+ [B91] với mục đích cải tiến quá trình duyệt cây để tìm các tập đóng Sau đó, Grahne và Zhu [B31] trình bày một cải tiến của Closet để khai thác tập phổ biến đóng với chỉ một lần duyệt CSDL Một số công trình khảo sát về khai thác tập phổ biến v tập phổ biến đóng được trình b y chi tiết trong [B33, B49, B94]
Đối với các nghi n cứu trong nước, cũng đ có một số luận án tiến sĩ l m về lĩnh vực n y Chẳng hạn: Luận án của tác giả Đỗ Phúc [B1] phát triển thuật toán xây dựng d n khái niệm theo cách tiếp cận tăng trưởng (năm 2003) Luận án của tác giả Nguyễn Đình Thuân [B3] tập trung giải quyết b i toán khai thác tập phổ biến tr n CSDL có yếu tố thời gian (năm 2005) Luận án của tác giả Nguyễn Hữu Trọng [B4] nghi n cứu giải quyết b i toán khai thác tập phổ biến (đóng) tr n CSDL tăng trưởng (năm 2008)
Gần đây, tr n thế giới cũng đ có các luận án tiến sĩ khoa học máy tính được bảo
vệ Ví dụ: Luận án của tác giả Aljandal [B8] nghi n cứu phát triển một số độ đo thú
vị cho luật kết hợp (năm 2009) B n cạnh đó, tác giả ứng dụng v o b i toán dự đoán các li n kết Luận án của tác giả Page [B63] nghi n cứu khai thác itemset v luật kết hợp tr n CSDL quan hệ (năm 2009)
Trang 191.3 Giới thiệu về dàn
D n l một khái niệm được nhắc đến từ rất sớm trong lĩnh vực toán học Nó được
sử dụng trong khai thác luật kết hợp nhằm l m giảm thời gian khai thác Xây dựng
d n chính l xây dựng mối quan hệ cha – con trực tiếp giữa các tập phổ biến (hay phổ biến đóng) với nhau giúp cho quá trình sinh luật diễn ra nhanh hơn v trực quan hơn Theo tìm hiểu của tác giả, trước đây, ngoại trừ Zaki và Phoophakdee trong [B99] sử dụng d n để minh họa quá trình sinh luật vẫn chưa thấy một công trình n o đưa ra thuật toán sinh luật kết hợp dựa tr n d n Trong nước, ngoài các tiếp cận của luận án, hiện tại có nhóm tác giả Trương Chí Tín v Trần Ngọc Anh [B78] quan tâm đến d n để sinh luật kết hợp Chính vì vậy, việc ứng dụng d n để khai thác luật kết hợp được xem l một hướng đi mới mẻ trong bài toán khai thác hiệu quả luật kết hợp
Hiện nay, có hai hướng tiếp cận chính li n quan đến xây dựng d n:
i) Dàn tập phổ biến (đóng): Ngo i các tiếp cận của luận án, hiện tại chỉ có Zaki v Hsiao [B96] trình b y thuật toán xây dựng dàn tập đóng (CHARM-L, chi tiết được trình b y trong chương 2) Ngoài ra, luận án cũng đ phát triển một số thuật toán xây dựng dàn tập phổ biến [A2, A3, A4, A5] và dàn tập phổ biến đóng [A1, A6, A23] Sở dĩ hiện nay có ít thuật toán xây dựng d n vì giai đoạn sinh luật kết hợp gần như chưa được phát triển nhiều Đặc biệt l ứng dụng d n trong sinh luật kết hợp
ii) D n khái niệm: Tiếp cận theo hướng tăng cường để xây dựng d n khái niệm Một số đóng góp điển hình như: Kourie v đồng sự trình b y phương pháp tăng cường v hai biến thể để xây dựng d n [B47] Kuznetsov và Obiedkov trình bày tổng quan về Formal Concept Analysis (FCA) v so sánh kết quả thực thi giữa các thuật toán xây dựng d n khái niệm [B48] Liu v đồng sự đề nghị cách rút gọn d n khái niệm dựa v o lý thuyết tập thô [B55] Priss trình b y cách thức ứng dụng d n khái niệm v o rút trích thông tin [B68, B69] Choi [B23] trình bày
Trang 20một thuật toán xây dựng nhanh d n khái niệm Troy v các đồng sự [B81] trình
b y một thuật toán xây dựng d n khái niệm với độ phức tạp O(N2/logN) với N
l số lượng đối tượng cần xây dựng Ngo i ra, Valtchev v các đồng sự cũng đ
đề nghị cách thức tổng quát để xây dựng d n khái niệm [B83] v áp dụng cho khai thác dàn đóng [B84]
1.4 Luật kết hợp
Bài toán khai thác luật kết hợp [B6, B7] được phát biểu như sau: Cho trước tập n
item I = {i1, i2, …, in} v tập các giao dịch D trong đó mỗi giao dịch t I có một
định danh (Tid – Transaction identifier) duy nhất Luật kết hợp l biểu thức có dạng
X Y
Xq,p \ (X Y), trong đó q l độ phổ biến của luật v p l độ tin cậy của
luật
Khai thác luật kết hợp là sinh các luật từ CSDL D thỏa ngưỡng phổ biến v ngưỡng
tin cậy do người dùng chỉ định Trong số n y có thể kể đến các phương pháp dựa
v o độ phổ biến v độ tin cậy như: Khai thác luật truyền thống [A2, B6, B7], khai thác luật thu gọn (không sinh luật thỏa tính chất bắc cầu) [A5, A8], khai thác luật không dư thừa [A6, A7, B97, B101], khai thác luật không dư thừa tối tiểu [A3, A23, B13, B64, B65], khai thác luật thiết yếu nhất [A1, A10, B5, B93] và khai thác luật tổng quát nhất [A18] Việc rút gọn tập luật cũng được nhiều nhóm tác giả quan tâm [B13, B25, B35, B64, B65, B97] Ngo i ra, phương pháp khai thác cả luật khẳng định v luật phủ định cũng đ được đề nghị [B11, B12, B27]
Với cách khai thác luật kết hợp truyền thống, việc sinh tất cả các luật kết hợp từ
CSDL D thỏa minSup v minConf gặp nhiều bất lợi (do tính dư thừa của tập luật
hiểu theo nghĩa dựa tr n độ phổ biến, độ tin cậy) Do đó cần có một phương pháp thích hợp để khai thác với số luật ít hơn nhưng vẫn bảo đảm tích hợp đầy đủ tất cả các luật của phương pháp khai thác truyền thống Một cách tiếp cận l khai thác luật kết hợp không dư thừa dựa v o tập phổ biến đóng Phương pháp n y lần đầu
Trang 21ti n được đề nghị bởi Zaki và Ogihana (1998) [B102], các tác giả dựa v o d n khái niệm Galois để khai thác các luật không dư thừa Sau đó v o năm 2000, Zaki v các đồng sự đưa ra phương pháp khai thác luật không dư thừa tr n tập đóng dựa v o khái niệm tập sinh tối tiểu (minimal Generator - mG) [B101] Cùng thời điểm đó, Pasquier v các đồng sự cũng đề nghị phương pháp khai thác tập luật kết hợp không
dư thừa tối tiểu dựa v o tập phổ biến đóng với ý tưởng chỉ giữ lại các luật có vế trái nhỏ nhất v vế phải lớn nhất trong số các luật có cùng độ phổ biến v độ tin cậy [B13, B64, B65] Các phương pháp n y có ưu điểm l số luật thu được ít, có thể dùng các phép suy diễn tr n luật để suy ra tập tất cả các luật kết hợp còn lại Năm
2004, Zaki đ công bố lại công trình của ông một cách chi tiết hơn [B97]
Ngo i việc sử dụng độ tin cậy l m độ đo thú vị cho luật kết hợp, một số công trình còn quan tâm đến các độ đo thú vị khác để lượng giá luật kết hợp như Lift, Cosine, v.v…[B2, B9, B10, B14, B18, B32, B34, B39, B51, B60, B67, B74] Năm 1994, Agrawal v Srikant đề nghị sử dụng độ phổ biến v độ tin cậy l m độ đo thú vị cho luật kết hợp[B7] Thuật toán Apriori để khai thác luật dựa tr n hai độ đo n y cũng
đ được phát triển Lift v χ2 l các độ đo tương quan cũng được đề nghị sau đó (năm 1997) [B18] Hilderman và Hamilton [B39], Tan v các đồng sự [B74] đ so sánh các độ đo thú vị khác nhau v đưa ra khái niệm null-transaction Lee và các đồng sự [B51], Omiecinski [B60] chỉ ra rằng All-confidence, Coherence và Cosine
là các null-invariant v chúng l các độ đo tốt cho khai thác luật từ CSDL giao dịch Tan v các đồng sự [B74] đưa ra các tính chất của nhiều độ đo thú vị (khoảng 21 độ
đo tại thời điểm n y) v phân tích tác động của cách tỉa ứng vi n dựa tr n ngưỡng phổ biến tối thiểu Ngo i ra, một số công trình phân tích cách thức chọn độ đo phù hợp đối với một CSDL cho trước [B9, B32, B74]
1.5 Mục tiêu của luận án
Luận án nhằm giải quyết hai mục ti u chính sau:
Trang 22- Khai thác các thông tin thứ cấp (tập phổ biến, tập phổ biến đóng, tập sinh tối tiểu)
số lượng tập phổ biến hay phổ biến đóng tăng l n, thời gian để sinh luật kết hợp cũng tăng theo Vì vậy, việc ứng dụng d n để khai thác nhanh luật kết hợp được coi
l một công việc mới mẻ cần được nghi n cứu để đáp ứng các y u cầu của thế giới thực về thời gian khai thác
Hiện tại, lĩnh vực n y cũng đ v đang được các nhóm nghi n cứu tr n thế giới quan tâm Nhiều công trình cũng đ được xuất bản trong thời gian gần đây li n quan đến b i toán khai thác luật kết hợp Một số luận án tiến sĩ cũng đ ho n tất trong nước v tr n thế giới trong thời gian gần đây
Cấu trúc của luận án được trình b y như sau:
Chương 1: Giới thiệu tổng quan về khai thác dữ liệu, các khái niệm tập phổ biến,
tập phổ biến đóng, d n v luật kết hợp
Chương 2: Trình b y cơ sở lý thuyết li n quan đến khai thác tập phổ biến, khai thác
tập phổ biến đóng, thuật toán xây dựng dàn tập đóng, các thuật toán
Trang 23khai thác luật kết hợp hiện có l m cơ sở cho các đóng góp ở chương 3
Chương 5: Trình b y kết luận v hướng phát triển của luận án
Cuối mỗi chương sẽ có phần kết luận để tóm tắt lại các công việc đ trình bày Cuối cùng l phần danh mục các công trình có đóng góp của tác giả bao gồm các đóng chính v các đóng góp phụ trợ/mở rộng, các t i liệu tham khảo chính
Luận án sử dụng một CSDL trong bảng 1.1 để l m ví dụ xuy n suốt các chương
Bảng 1.1 CSDL mẫu a) Định dạng dữ liệu ngang b) Định dạng dữ liệu dọc
Định dạng dữ liệu ngang l loại định dạng thường thấy trong các giao dịch Mỗi giao dịch được thể hiện tr n một dòng cho biết giao dịch tương ứng chứa các item nào Định dạng dữ liệu dọc l một cách biểu diễn dữ liệu ngược lại so với định dạng
dữ liệu ngang, nó thể hiện danh sách các giao dịch có chứa item tương ứng Chẳng hạn: Các giao dịch có chứa item A l {1, 3, 4, 5} nghĩa l A chứa trong các giao dịch {1, 3, 4, 5} hay có thể viết gọn lại l 1345 Trong các chương sau, luận án sử dụng kiểu viết gọn 1345 thay cho tập hợp {1, 3, 4, 5}
Trang 24Chương 2 CƠ SỞ LÝ THUYẾT
Chương n y đi sâu tìm hiểu cơ sở lý thuyết từ các công trình được công bố trong những năm gần đây l m nền tảng cho các đóng góp ở chương 3 v chương 4 Các khái niệm, các thuật toán cơ sở sẽ được đề cập như: Khai thác tập phổ biến, tập phổ biến đóng, xây dựng dàn và phát sinh luật kết hợp
Ví dụ: Xét CSDL của bảng 1.1, ta có (A) = 4 vì A chứa trong 4 giao dịch l {1, 3,
4, 5} (hay được viết gọn l 1345), (AD) = 2 vì AD chứa trong các giao dịch 45
c) Tập phổ biến: X I được gọi l phổ biến nếu (X) minSupCount (với minSupCount l giá trị do người dùng chỉ định)
Ví dụ: Xét CSDL của bảng 1.1 với minSupCount = 3 thì A l tập phổ biến vì (A)
= 4 minSupCount nhưng AD không phải l tập phổ biến vì (AD) = 2 < minSupCount
d) Các tính chất của tập phổ biến (tính chất apriori) [B7]
i) Mọi tập con của một tập phổ biến cũng phổ biến Nghĩa l X Y, nếu (Y)
minSupCount thì (X) minSupCount
ii) Mọi tập cha của một tập không phổ biến cũng không phổ biến Nghĩa l Y
X, nếu (X) < minSupCount thì (Y) < minSupCount
Trang 252.1.2 Các thuật toán khai thác tập phổ biến
Các thuật toán khai thác tập phổ biến thường được sử dụng l Apriori [B7], Eclat [B103] và FP-Growth [B38] Phần n y trình b y chi tiết thuật toán Apriori v Eclat Apriori l thuật toán nền tảng còn Eclat l thuật toán được sử dụng để khai thác tập phổ biến phục vụ cho việc phát sinh luật trong chương 3 Ngo i ra, Eclat cũng được
sử dụng để xây dựng dàn tập phổ biến
2.1.2.1 Thuật toán Apriori
a) Ý tưởng của thuật toán
Thuật toán khai thác các tập phổ biến bằng cách thực hiện nhiều lần duyệt CSDL Duyệt lần thứ nhất để tính độ phổ biến của các 1-itemset v xác định các item phổ biến từ chúng, nghĩa là độ phổ biến thỏa ngưỡng phổ biến tối thiểu Trong các lần duyệt sau, thuật toán sẽ kết hợp các itemset phổ biến đ tìm được trong lần duyệt trước để tìm các tập ứng vi n Sau đó tính độ phổ biến thực sự của các tập ứng vi n
n y nhằm xác định itemset n o trong các tập ứng vi n l tập phổ biến thực sự Các itemset n y trở th nh các hạt giống cho lần duyệt tiếp theo Quá trình n y thực hiện cho đến khi không còn một tập phổ biến mới n o nữa được sinh ra
Thuật toán Apriori sinh ra các tập ứng vi n trong một lần duyệt bằng cách chỉ sử dụng các tập phổ biến đ được khai thác trong lần duyệt trước m không cần quan tâm đến các giao dịch trong cơ sở dữ liệu Tính chất apriori được áp dụng trong giai đoạn n y để tỉa bớt các ứng vi n Các ứng vi n k-itemset được sinh ra bằng cách kết hợp các tập phổ biến thuộc (k-1)-itemset v loại bỏ các ứng vi n có chứa tập con không phải l tập phổ biến Cách l m n y dẫn đến một lượng ít hơn nhiều các tập ứng vi n cần tính độ phổ biến v đây chính l cách tỉa ứng vi n của thuật toán Apriori
Qui ước: Giả sử các item trong mỗi giao dịch được lưu giữ theo thứ tự từ điển, nghĩa l A phải đứng trước B, B phải đứng trước C, v.v
Trang 26Bảng 2.1 Tập các ký hiệu dùng trong thuật toán Apriori
Ck Tập các tập ứng vi n có k-itemset (được gọi l tập các mẫu phổ
biến tiềm năng) Mỗi phần tử của tập n y có hai trường:
Bước n y nhằm tìm tập Lk bằng việc kết hợp các tập phổ biến trong Lk-1 với nhau
Kết quả l tập các ứng vi n Ck Hai tập phổ biến l1 và l2 thuộc Lk-1 sẽ được kết hợp với nhau nếu chúng thỏa đều kiện sau:
])1[]1[(])2[]2[(
])2[]2[(])1[]
1
[
(l1 l2 l1 l2 l1 k l2 k l1k l2 k (2.1) Kết quả sẽ l itemset:
]1[]1[]2[]
2[]1
Trang 27apriori để tỉa các ứng vi n (dòng 14 – 15), việc sinh các ứng vi n từ l1 và l2 phải
thỏa m n l1 và l2 có cùng tiền tố l (k-2)-itemset (dòng 12 – 13)
Đầu vào: Cơ sở dữ liệu giao dịch D v ngƣỡng độ phổ biến minSupCount
Kết quả: FI chứa danh sách các tập phổ biến trong D thỏa minSupCount
13 c = l1 l2 //bước kết hợp l 1 và l 2 sinh ra ứng viên c
14 if Has_infrequent_subset(c, Lk-1) = False then
Trang 28Bảng 2.2 Kết quả chạy từng bước của thuật toán Apriori
Trang 29Từ L3, chỉ có ACT v ACW có cùng tiền tố (l AC) n n kết hợp đƣợc với nhau tạo
th nh ACTW Xét ACTW, tất cả các tập phổ biến con của ACTW có 3-itemset đều
phổ biến Vì vậy, ACTW l một ứng vi n cần tính độ phổ biến Cuối cùng, do L4chỉ có 1 tập phổ biến n n C5 = L5 = , thuật toán dừng
Ta có danh sách các tập phổ biến đƣợc trình b y trong bảng 2.3
Bảng 2.3 Danh sách các tập phổ biến với minSupCount = 3
d) Hạn chế của thuật toán Apriori
- Chi phí lớn cho việc phát sinh các tập ứng vi n Ví dụ: Nếu có 104 item phổ biến thì thuật toán Apriori sẽ cần sinh ra hơn 107 các ứng vi n 2-itemset
- Lặp lại nhiều lần duyệt CSDL: Số lần duyệt CSDL của thuật toán Apriori bằng độ
d i của mẫu phổ biến d i nhất tìm đƣợc Thuật toán Apriori chỉ thích hợp cho các CSDL thƣa1, đối với các CSDL đặc2 thì thuật toán thực hiện kém hiệu quả
1 Mật độ trùng lặp của các item trên các giao dịch ít 2 Mật độ trùng lặp của các item trên các giao dịch nhiều
Trang 302.1.2.2 Thuật toán Eclat và dEclat
là Xt(X) v được gọi l IT-pair Tương tự đối với tập giao dịch Y và i(Y) là Yi(Y)
Hình 2.2 – Kết nối Galois [B97]
Ví dụ: Xét CSDL trong bảng 1.1, ta có:
134512345
1234561345
)()()()
t
Trang 31CW ACDTW ACTW
CDW i
i i
i( 235 ) ( 2 ) ( 3 ) ( 5 )
b) Cấu trúc IT-tree (Itemset Tidset – tree) và các lớp tương đương [B96]
Cho I l tập các item v X I, ta định nghĩa một h m p(X, k) chứa k phần tử đầu của X v một quan hệ tương đương dựa v o tiền tố K tr n itemset như sau:
) , ( ) , ( ,
b y trong hình 2.3, mỗi nút trong IT-tree đại diện cho một cặp Itemset-Tidset
Xt(X), thực tế l một lớp tiền tố Tất cả các nút con của nút X thuộc về lớp tương đương của nó bởi vì chúng chia sẻ cùng tiền tố X
Hình 2.3 – Cây IT-tree v các lớp tương đương [B96]
Lớp tương đương P được kí hiệu l [P] = {l1, l2,…, ln}, trong đó P l nút cha v mỗi
li l một item, đại diện cho nút Pl it(Pl i) Chẳng hạn, nút gốc của cây tương ứng với [] = {A, C, D, T, W}, nút trái cùng của nút gốc l lớp [A] chứa tất cả các itemset chứa A l tiền tố, nghĩa l tập {C, D, T, W} Việc tạo ra các nút con của
123456
A1345 C123456 D2456 T1356 W12345
AC1345 AD45 AT135 AW1345 CD2456 CT1356 CW12345 DT56 DW245 TW135
ACD45 ACT135 ACW1345 ADT45 ADW45 ATW135 CDT56 CDW245 CTW135 DTW5
ACDT5 ACDW4 5 ACTW13 5 ADTW4 5 CDTW56
ACDTW5
Trang 32một nút Pl it(Pl i) trong một lớp tương đương được thực hiện đơn giản bằng cách kết hợp Pl it(Pl i) với các nút đứng sau nó tr n cùng một lớp tương đương Quá trình n y sẽ được tiếp tục thực hiện đệ qui đối với các lớp tương đương mới cho đến khi không còn lớp tương đương n o được tạo ra
c) Thuật toán Eclat [B96, B98, B103]
Đầu vào: CSDL D v ngưỡng phổ biến minSupCount
Kết quả: IT-tree chứa tất cả các tập phổ biến của CSDL
Phương pháp thực hiện:
Hình 2.4 – Thuật toán khai thác tập phổ biến thỏa ngưỡng minSupCount
Đầu ti n, thuật toán khởi tạo lớp tương đương rỗng ([]) chứa các nút đơn (nút
chứa các 1-itemset) phổ biến (nghĩa l độ phổ biến của 1-itemset tương ứng lớn hơn
hay bằng minSupCount hay đơn giản hơn l |t(j)| minSupCount, dòng 1) Sau đó
nó gọi thủ tục ENUMERATE_FREQUENT với đầu v o l lớp tương đương rỗng
Thủ tục ENUMERATE_FREQUENT sẽ xét mỗi nút l i [P] (dòng 3) với các nút
l j [P] (dòng 5) đứng sau nó, với mỗi cặp (l i , l j ), thủ tục n y sẽ tính Y = t(l il j) =
Trang 33t(l i)t(l j ) (dòng 7), nếu |Y| minSupCount nghĩa l độ phổ biến của l il j thỏa minSupCount thì thêm nút X Y v o lớp tương đương [Pi] (được khởi tạo rỗng ở
dòng 4) Sau đó, gọi đệ qui thủ tục ENUMERATE_FREQUENT để sinh ra các
lớp tương đương con cho đến khi không còn lớp tương tương n o được tạo ra (dòng
10)
d) Minh họa thuật toán Eclat
Xét CSDL ở bảng 1.1 với minSupCount = 3, ta có cây tìm kiếm minh họa cho quá trình khai thác tập phổ biến như trong hình 2.5
Hình 2.5 – Cây tìm kiếm tập FI thỏa ngưỡng minSupCount = 3
Xét nút li = A1345 và lj = C123456, hai nút n y sẽ tạo ra nút mới l AC1345
(Y=1345), do |Y| 3 n n AC l tập phổ biến v nút AC1345 sẽ được th m v o lớp tương đương [A] Tương tự, xét A với D, do |t(A) t(D)| = |45| = 2 < minSupCount
n n AD không l tập phổ biến Sau khi tạo ra lớp tương đương [A] với các nút {AC1345, AT135, AW1345}, thuật toán gọi đệ qui thủ tục
ENUMERATE_FREQUENT với đầu v o l [A] Thuật toán tiếp tục xét mỗi nút
Trang 34trong [A] với các nút đứng sau nó để hình th nh n n các lớp tương đương mới như [AC], [AT], v.v
e) Nhận xét
Cây tìm kiếm IT-tree luôn lệch trái do:
i) Ứng với mỗi lớp tương đương li ta cần xét với mọi lj (j > i) cho n n i c ng nhỏ thì
số lượng j cần xét c ng lớn
ii) Khi |t(li)| > |t(lj)| thì phần giao nhau giữa t(li) với các phần tử của các lớp tương
đương khác thường sẽ lớn hơn phần giao của t(lj) với các lớp tương đương còn lại Với các nhận xét tr n, ta thấy i) không thể cải thiện; để cải tiến ii) ta chỉ cần sắp xếp
các li trong lớp tương đương [P] theo chiều tăng dần của độ phổ biến v với sự cải
tiến n y, IT-tree sẽ ít lệch trái hơn Ta có thuật toán cải tiến như trong hình 2.6 (các tham số đầu v o, đầu ra như trong thuật toán ở hình 2.4)
Hình 2.6 – Thuật toán khai thác FI có sắp xếp Hình 2.7 minh họa cây tìm kiếm IT-tree sử dụng phương pháp sắp xếp Có thể thấy cây ít lệch trái hơn (so với trong hình 2.5) v số itemset phát sinh không thỏa ngưỡng minSupCount cũng ít hơn (2 trong trường hợp có sắp xếp v 3 trong trường
Trang 35hợp không sắp xếp) Điều n y dẫn đến thời gian tính toán sẽ giảm v quá trình tìm kiếm ít tốn không gian bộ nhớ hơn (do cơ chế đệ qui cần phải lưu lại các nhánh con
b n phải để xử lý về sau trước khi gọi đệ qui) Tuy nhi n, có thể thấy các nút con sinh ra tr n cùng một mức của một nút cha n o đó thường đ thỏa điều kiện sắp tăng theo độ phổ biến n n ta chỉ cần sắp xếp ở mức 1 của cây, các mức còn lại không cần sắp xếp bởi vì chúng sẽ thừa hưởng kết quả từ mức trước đó (đây chỉ l một heuristic, mục đích để không cần sắp xếp ở mỗi lần gọi đệ qui)
Hình 2.7 – Cây tìm kiếm tập FI thỏa ngưỡng minSupCount = 3 có sắp xếp
f) Diffset để tính nhanh độ phổ biến [B96, B98]
Giả sử chúng ta đang thao tác tr n IT-tree sử dụng định dạng dữ liệu dọc Các thuật toán khai thác dữ liệu sử dụng định dạng dọc cho thấy rất hiệu quả v thực thi tốt hơn cách tiếp cận theo định dạng ngang [B98] Lợi ích chính của việc sử dụng định dạng dọc l :
i) Tính toán độ phổ biến đơn giản v nhanh hơn Chỉ cần tính phần giao giữa các Tidset v được hỗ trợ tốt bởi các CSDL hiện h nh
ii) Nó tự động tỉa các thông tin không li n quan, chỉ có các định danh giao dịch (tid)
có li n quan với tần số xác định được giữ lại sau mỗi lần giao Đối với những
Trang 36CSDL chứa nhiều giao dịch, phương pháp dọc l m giảm đáng kể số lần I/O tr n CSDL (thường chỉ tốn một lần I/O)
Mặc dù có nhiều ưu điểm trong phương pháp khai thác dựa tr n định dạng dữ liệu dọc, nhưng khi số lượng phần tử của mỗi Tidset lớn (mỗi itemset chứa trong nhiều giao dịch), phương pháp n y chịu tổn thất do thời gian tính phần giao quá lớn Hơn nữa, kích thước của các Tidset được sinh ra tức thời cũng rất lớn, đòi hỏi dữ liệu phải được lưu trữ lớn Tr n các CSDL đặc, với đặc điểm l có nhiều item với tần số xuất hiện cao, các ưu điểm của phương pháp dọc giảm đáng kể Chính vì vậy, Zaki
và Gouda đ đưa ra cách biểu diễn dữ liệu dọc có t n l Diffset [B98] Diffset lưu vết các sự khác nhau giữa các tid của các mẫu ứng vi n từ mẫu phổ biến cha của
nó Các khác nhau n y sẽ truyền đi theo mọi hướng từ một nút đến các con của nó bắt đầu từ gốc Diffset l m giảm kích thước bộ nhớ y u cầu để lưu kết quả tức thời
Vì thế, thậm chí khi CSDL đặc, các thuật toán khai thác theo định dạng dữ liệu dọc
có thể lưu trữ ho n to n trong bộ nhớ chính Vì Diffset l một phần nhỏ của kích thước Tidset n n thao tác tính phần khác nhau được thực thi khá hiệu quả
Một cách hình thức hơn, xét một lớp với tiền tố l P và gọi d(PX) l Diffset của PX Trong đó d(PX) được tính theo công thức:
Giả sử PX và PY l hai th nh vi n bất kì của lớp tương đương P Theo tính chất i)
của kết nối Galois (trang 17) thì t(PX)t(P) và t(PY)t(P) Hơn nữa, có thể
tính được độ phổ biến của PXY bằng cách tính số phần tử của
)()()
Trang 37Theo công thức (2.5) ta có d(PXY)t(PX)\t(PY), nhưng chúng ta chỉ có Diffset
v không có Tidset Vì vậy, có thể tính d(PXY) theo d(PX) và d(PY) như sau:
)(
\)()
Hình 2.8 – Các miền khác nhau của Tidset và Diffset [B98]
g) Thuật toán sinh tập phổ biến sử dụng Diffset (dEclat)
Sự khác nhau chính giữa Eclat v dEclat ở chỗ nó sử dụng Diffset thay cho Tidset Mức 1 của cây IT-tree vẫn lưu Tidset, từ mức 2 trở đi lưu trữ Diffset Do mức 1 lưu
Tidset n n việc tính toán Diffset cho mức 2 bằng cách lấy t(li) \ t(lj) theo công thức 2.5 (dòng 8 và 9), ngược lại, do từ mức 2 trở đi lưu trữ Diffset n n sử dụng công
thức 2.7 để tính Diffset (dòng 10 và 11) Độ phổ biến của X được tính bằng cách sử
dụng công thức 2.6 (dòng 12) Chi tiết của thuật toán được trình b y trong hình 2.9
Đầu vào: CSDL D v ngưỡng phổ biến minSupCount
Kết quả: IT-tree gồm tất cả các tập phổ biến của CSDL
Trang 38Phương pháp thực hiện:
Hình 2.9 – Thuật toán sinh tập FI sử dụng Diffset
h) Cây tìm kiếm IT-tree với Diffset
Hình 2.10 minh họa việc tìm kiếm tr n IT-tree của thuật toán khai thác tập phổ biến thỏa ngƣỡng minSupCount = 3 sử dụng Diffset Có thể thấy Y ứng với mỗi nút
Trang 39Hình 2.10 – Cây tìm kiếm IT-tree sử dụng Diffset với minSupCount = 3
So sánh độ d i trung bình giữa Tidset v Diffset [B96, B98]
Bảng 2.4 Bảng so sánh tỉ lệ trung bình giữa kích thước Tidset v Diffset
(%)
Độ d i trung bình Diffset
Độ d i trung bình Tidset
Tỉ lệ Tidset/Diffset
c(AW) = i(t(AW)) = i(1345) = ACW
c(ACW) = i(t(ACW)) = i(1345) = ACW
Toán tử đóng được định nghĩa như tr n luôn thỏa các tính chất sau [B97]:
Trang 401 Tính mở rộng: X c ( X)
2 Tính đơn điệu: Nếu X Y thì c(X) c(Y)
3 Tính lũy đẳng: c(c(X))c(X)
b) Tập phổ biến đóng: Cho X I , X được gọi l tập đóng khi v chỉ khi c(X) = X
Tập X vừa phổ biến vừa l tập đóng được gọi l tập phổ biến đóng
Ví dụ: xét CSDL được cho trong bảng 1.1 ta có:
Do c(AW) = i(t(AW)) = i(1345) = ACW AW không phải l tập đóng
Do c(ACW) = i(t(ACW)) = i(1345) = ACW ACW l tập đóng
c) Các tính chất của IT-pair
Định lý 2.2.1 [B96]: Cho X it(X i) và X jt(X j) l hai th nh vi n tùy ý của lớp
tương đương [P] Ta có 4 tính chất sau:
1 Theo tính chất 1, nếu phần giao của hai Tidset l bằng nhau thì |t(Xi)| = |t(Xj)| =
|t(Xi Xj)| mà Xi Xi Xj và Xj Xi Xj nên Xi, Xj không l tập đóng Vì vậy, Xi,