KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG CẤU TRÚC IT-TREE

18 1.4K 7
KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG CẤU TRÚC IT-TREE

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN CHUYÊN ĐỀ KHAI PHÁ DỮ LIỆU VÀ NHÀ KHO DỮ LIỆU BÀI THU HOẠCH KHAI THÁC TẬP PHỔ BIẾN ĐÓNG SỬ DỤNG CẤU TRÚC IT-TREE GIẢNG VIÊN GIẢNG DẠY PGS TS ĐỖ PHÚC HỌC VIÊN THỰC HIỆN LÊ CUNG TƯỞNG (CH1101152) Hồ Chí Minh, 11/2012 Page |1 Mục lục Mục lục Lời mở đầu Kiến thức 1.1 1.2 1.3 1.4 Cơ sở liệu giao dịch Tập phổ biến Luật kết hợp Bài toán khai thác tập phổ biến luật kết hợp Khai thác tập phổ biến đóng 2.1 2.2 2.2.1 2.2.2 2.2.3 2.3 2.3.1 2.3.2 2.3.3 2.4 2.4.1 2.4.2 2.4.3 2.4.4 Cấu trúc IT-tree (Itemset Tidset – tree) lớp tương đương Thuật toán Eclat Thuật toán Minh hoạ thuật toán Eclat Nhận xét Một số định nghĩa tính chất Tốn tử đóng Tập phổ biến đóng Các tính chất IT-Pair 10 Thuật toán CHARM 10 Giới thiệu 10 Thuật toán 11 Minh hoạ 13 Kiểm tra gộp nhanh 14 Cài đặt thuật toán CHARM 15 3.1 3.2 3.3 Cấu trúc tệp tin liệu 15 Chức 15 Hướng dẫn sử dụng 15 Kết luận .16 Tài liệu tham khảo .17 Page |2 Lời mở đầu Chúng ta sống thời đại bùng nổ Công nghệ Thông tin với khối lượng thông tin khổng lồ Điều địi hỏi người phải tìm kiếm phương pháp rút trích tri thức từ khối lượng liệu Lĩnh vực khai phá tri thức khai thác liệu hình thành phát triển nhằm đáp ứng nhu cầu Hiện nay, lĩnh vực khai thác liệu có tốn đề cập nhiều nhất: (1) khai thác luật kết hợp, (2) phân lớp (3) gom nhóm liệu Các tốn nhằm đáp ứng cho việc khai thác liệu văn bản, khai thác liệu không gian, thời gian, khai thác liệu Web Khai thác luật kết hợp tìm mối quan hệ item với Vế phải luật kết hợp chứa hay nhiều item Vì vậy, độ phức tạp toán khai thác luật kết hợp lớn Muốn khai thác luật kết hợp, trước tiên phải khai thác tập phổ biến Đã có nhiều thuật toán phát triển nhằm làm tăng hiệu khai thác tập phổ biến tập phổ biến đóng: thuật toán phát triển từ Apriori, thuật toán phát triển từ FP-tree, thuật toán phát triển từ IT-tree Trong thu hoạch này, tập trung tìm hiểu thuật tốn CHARM [5] đề suất Zaki cộng để khai thác tập phổ biến đóng dựa cấu trúc IT-tree Ngồi ra, tơi có sử dụng cách hiểu, ví dụ minh họa số cải tiến TS Võ Đình Bảy luận án Tiến Sĩ [6] cho thuật tốn CHARM Tơi tiến hành cài đặt thuật tốn CHARM mơi trường Visual Studio 2005 để minh họa cho tơi tìm hiểu thu hoạch Page |3 Kiến thức 1.1 Cơ sở liệu giao dịch Cơ sở liệu (CSDL) giao dịch gồm đơi tập item tập giao dịch Cơ sở liệu (CSDL) Bảng lấy làm ví dụ cho tồn viết Bảng Cơ sở liệu mẫu Giao tác 1.2 Danh mục A, C, T, W C, D, W A, C, T, W A, C, D, W A, C, D, T, W C, D, T Tập phổ biến Độ phổ biến: Cho CSDL giao dịch , kí hiệu itemset Độ phổ biến , số giao dịch mà X xuất D Ví dụ: Xét CSDL Bảng 1, ta có A chứa giao dịch 1345, AD chứa giao dịch 45 Tập phổ biến: gọi phổ biến (với giá trị người dùng định) Ví dụ: Xét CSDL Bảng với A tập phổ biến AD khơng phải tập phổ biến Tính chất - Mọi tập tập phổ biến phổ biến: , - Mọi tập cha tập không phổ biến khơng phổ biến: , Page |4 1.3 Luật kết hợp Luật kết hợp: biểu thức có dạng , độ phổ biến luật gọi gọi độ tin cậy luật Tập luật kết hợp từ CSDL thỏa gọi tập luật kết hợp truyền thống Một số tính chất luật kết hợp - Nếu luật kết hợp truyền thống truyền thống - Nếu luật kết hợp truyền thống truyền thống - Nếu luật kết hợp luật kết hợp không luật kết hợp khơng luật kết hợp 1.4 Bài toán khai thác tập phổ biến luật kết hợp Khai thác luật kết hợp bao gồm bước sau: Bước (tìm tập phổ biến): tìm tất tập phổ biến với độ hỗ trợ lớn độ hỗ trợ tối thiểu ( ) Đặt , tìm tập hợp tập phổ biến thỏa điều kiện Bảng Trong CDT, ACTW ACDW tập phổ biến tối đại (không tập tập phổ biến khác) Bảng Tập hợp tập danh mục phổ biến Độ tin cậy 100% 83% 67% 50% 33% Các tập danh mục phổ biến C W, CW A, D, T, AC, AW, CD, CT, ACW AT, DW, TW, ACT, ATW, CDW, CTW, ACTW AD, DT, CDT, ACD, ADW, ACDW Bước (phát sinh luật kết hợp): Luật kết hợp được tạo từ tập phổ biến tìm thấy bước thỏa mãn Ví dụ: từ tập phổ biến ACW tạo luật là: 0.67; : 0.8; : 1.0; : 1.0 : 1.0; : 0.8 : Page |5 Khai thác tập phổ biến đóng 2.1 Cấu trúc IT-tree (Itemset Tidset – tree) lớp tương đương Cho tập item , hàm tương đương dựa vào tiền tố chứa phần tử đầu quan hệ itemset định nghĩa sau: Nói cách khác, hai itemset thuộc lớp tương đương chúng có chung phần tử đầu phổ biến Xét IT-tree Hình 1, nút đại diện cho cặp Itemset-Tidset lớp tiền tố Tất nút nút X thuộc lớp tương đương nút X chúng có chung tiền tố X Hình Cây IT-tree lớp tương đương Lớp tương đương ký hiệu là: item, đại diện cho nút với , Ví dụ nút gốc IT-tree tương ứng , nút trái nút gốc lớp chứa nút cha chứa tất itemset tiền tố Việc tạo nút nút thực cách kết hợp lớp tương đương với nút đứng sau lớp tương đương Quá trình tiếp tục thực đệ qui lớp tương đương khơng cịn lớp tương đương tạo Page |6 2.2 Thuật toán Eclat 2.2.1 Thuật toán Eclat ( ) ENUMERATE_FREQUENT ([ ]) ENUMERATE_FREQUENT ( for all ) [ ]={ } for all , with j>i If then [ ]=[ ] { } ENUMERATE_FREQUENT ([ ]) Hình Thuật tốn khai thác tập phổ biến thỏa ngưỡng Đầu tiên, thuật toán Eclat [1, 2, 3] khởi tạo lớp tương đương rỗng ([ ]) chứa nút chứa 1-itemset phổ biến ( ) Sau thuật tốn gọi thủ tục ENUMERATE_FREQUENT với đầu vào lớp tương đương rỗng Thủ tục tính cặp thêm nút với vào lớp tương đương Nếu Sau đó, gọi đệ qui thủ tục ENUMERATE_FREQUENT để sinh lớp tương đương không sinh lớp tương đương 2.2.2 Minh hoạ thuật toán Eclat Xét CSDL Bảng với , ta có tìm kiếm minh họa cho trình khai thác tập phổ biến Hình Page |7 Hình Cây tìm kiếm tập FI thỏa ngưỡng Xét nút , thêm vào lớp tương đương , hai nút tạo nút nên AC tập phổ biến nút Xét A với D, nên AD không tập phổ biến Tiếp tục xét nút cịn lại, ta có lớp tương đương với nút Thuật toán gọi đệ qui thủ tục ENUMERATE_FREQUENT với đầu vào lớp tương đương , tiếp tục xét nút nên lớp tương đương 2.2.3 với nút đứng sau để hình thành , v.v Nhận xét Cây tìm kiếm IT-tree ln lệch trái do: (1) Ứng với lớp tương đương ta cần xét với (j > i) i nhỏ số lượng j lớn (2) Khi phần giao tương đương khác thường lớn phần giao lại với phần tử lớp với lớp tương đương Page |8 Để cải thiện (2) ta cần xếp lớp tương đương theo độ phổ biến tăng dần, IT-tree lệch trái Eclat_SORT ( ) [ ] = { } ENUMERATE_FREQUENT_SORT ([ ]) ENUMERATE_FREQUENT_SORT ([ ]) SORT_SUPPORT ( for all ) for all with j > i if then ENUMERATE_FREQUENT_SORT ( ) Hình Thuật toán khai thác tập phổ biến thỏa ngưỡng có xếp Cây tìm kiếm IT-tree sử dụng phương pháp xếp thể Hình lệch trái so với tìm kiếm IT-Tree sử dụng phương pháp thơng thường thể Hình Cây IT-Tree có số itemset phát sinh khơng thỏa ngưỡng hơn, thời gian tính tốn giảm q trình tìm kiếm tốn khơng gian nhớ Các nút sinh mức nút cha thường thỏa điều kiện tăng theo độ phổ biến nên ta cần xếp mức cây, mức lại khơng cần xếp chúng thừa hưởng kết từ mức trước Vì cần xếp mức không cần xếp lần gọi đệ qui Page |9 Hình Cây tìm kiếm tập FI thỏa ngưỡng 2.3 có xếp Một số định nghĩa tính chất 2.3.1 Tốn tử đóng Cho ánh xạ với Ánh xạ c gọi toán tử đóng Ví dụ: Xét sở liệu cho Bảng ta có: Tốn tử đóng định nghĩa ln thỏa tính chất sau [4]: Tính mở rộng Tính đơn điệu: Nếu Tính luỹ đẳng 2.3.2 Tập phổ biến đóng Cho , gọi tập đóng Tập vừa phổ biến vừa tập đóng gọi tập phổ biến đóng Ví dụ: Xét sở liệu cho Bảng ta có: nên khơng phải tập đóng Tương tự, nên tập đóng P a g e | 10 2.3.3 Các tính chất IT-Pair Cho hai thành viên tuỳ ý lớp tương đương Ta có tính chất sau [5]: Nếu Nếu Nếu Nếu Hình Các tính chất IT-pair 2.4 Thuật toán CHARM 2.4.1 Giới thiệu Thuật toán CHARM thuật tốn khai thác tập phổ biến đóng cải tiến từ thuật toán khai thác tập phổ biến Eclat dựa vào tính chất IT-pair Ý tưởng sau: Cho tập phổ biến , phổ biến đóng có tiền tố Như ta khơng cần xét tập cha lẫn cha ngồi thuộc tập Quá trình tiếp tục khám phá đệ qui cách tiếp tục xét tập P a g e | 11 2.4.2 Thuật toán CHARM ( ) CHARM_EXTEND ([ ], C = { }) Return C CHARM_EXTEND ([ ], C) for each in And For each in với j > i And CHARM_PROPERTY ( SUBSUMPTION_CHECK (C, CHARM_EXTEND ([ ], C) CHARM_PROPERTY ( if ) ) ) then if then Remove from [P] elseif then // tính chất elseif then // tính chất Remove from [P] add to [ ] 10 else // tính chất 11 add to [ ] Hình Thuật tốn khai thác tập phổ biến đóng thỏa ngưỡng Định nghĩa thứ tự : Ánh xạ số nguyên Với itemset Hàm đơn ánh từ tập itemset sang , ta nói định nghĩa thứ tự tổng thể tập tất itemset Ví dụ: thứ tự từ điển AC ≤ AC P a g e | 12 Thuật toán CHARM sử dụng tính chất IT-pair để khám phá nhanh tập phổ biến đóng Giả sử xử lý nút lớp tiền tố, gọi cặp IT-pair itemset thành viên Thuật tốn bắt đầu việc khởi tạo lớp tiền tố l-itemset phổ biến Tidset chúng xếp theo thứ tự , nút xét Giả sử phần tử Việc tính tốn thực thi thủ tục CHARM_EXTEND để trả tập itemset phổ biến đóng C CHARM_EXTEND xem xét kết hợp IT-pair xuất toán kết hợp IT-pair thứ tự Mỗi với IT-pair sinh tiền tố khác đứng sau theo thành lớp rỗng Dịng thủ tục này, hai IT-pair kết hợp để sinh cặp Thuật , Dịng kiểm tra tính chất IT-pair gọi thủ tục CHARM_PROPERTY Thủ tục thay đổi lớp hành cách xóa IT-pair gọp vào cặp khác Nó thêm vào IT-pair lớp thay đổi tiền tố itemset trường hợp thỏa tính chất Sau thêm vào tập itemset phổ biến đóng C với điều kiện tập đóng tìm thấy trước Khi tất khám phá đệ qui lớp tương đương không bị gộp xử lý, thuật toán theo chiều sâu Tái xếp tự động phần tử: theo thuật toán, thỏa tính chất tính chất ta khơng thêm nút vào tìm kiếm Với tính chất 1, bao đóng (sử dụng tốn tử đóng) hai itemset nhau, loại bỏ từ thay Với tính chất 2, thay Trong hai trường hợp trên, khơng thêm lớp Vì vậy, xảy trường hợp nhiều mức tìm kiếm thực thi Ngược lại, trường hợp phải thêm vào nút địi hỏi thêm mức xử lý IT Vì muốn (tính chất 1) (tính chất 2) nên cần xếp itemset tăng dần theo độ phổ biến Tại nút gốc xếp item tăng dần theo độ phổ biến chúng Với mức lại, phần tử P a g e | 13 thêm vào theo thứ tự xếp theo độ phổ biến lớp (dịng 19 21) Vì việc tái xếp thực đệ qui nút 2.4.3 Minh hoạ Hình Cây IT-tree tìm tập phổ biến đóng thỏa ngưỡng Q trình khai thác FCI thỏa ngưỡng phổ biến IT-tree thể Hình Đầu tiên, lớp tương đương xếp tăng dần độ phổ biến [ ] = {D, T, A, W, C} Khi , kết hợp với , nên khơng sinh Do DW nút Tiếp tục kết hợp D với C, nên thoả tính chất Thay D DC Quá trình tiếp tục khai thác đệ qui theo chiều sâu để tìm tập phổ biến đóng Mức tìm kiếm trường hợp khai thác FCI (Hình 8) giảm đáng kể so với khai thác FI (Hình 1), điều dẫn đến khơng gian nhớ yêu cầu nhỏ Để minh họa tính chất 1, xét nút TCA 135 với nút TCW 135: Do t(TCA) = t(TCW) = 135 nên TCA lẫn TCW khơng tập đóng Xóa nút TCW 135 khỏi lớp tương đương [TC] thay nút TCA 135 thành TCAW 135 Bảng Danh sách FCI CSDL Bảng với FCI CD CDW CT ACTW ACW CW C (theo thứ tự khám phá đệ qui)  4 P a g e | 14 2.4.4 Kiểm tra gộp nhanh Cho hai itemset, Trước thêm tập gộp và vào tập đóng hành C, thuật toán CHARM thực thủ tục SUBSUMPTION_CHECK để kiểm tra có bị gộp tập đóng C? Thủ tục kiểm tra xem sau thêm tập đóng Y vào C, khám phá nhánh khác, sinh tập X khác mà mở rộng thêm với Khi đó, X khơng tập đóng gộp Y khơng thêm vào C Do C tự động mở rộng suốt trình liệt kê mẫu đóng, cần tìm phương pháp để thực thi kiểm tra gộp có hiệu Rõ ràng, so sánh đến với tất tập C độ phức tạp lên Để rút trích nhanh tập đóng có liên hệ, giải pháp lưu C bảng băm Zaki đồng [5] đề nghị sử dụng tổng tid Tidset hàm băm, nghĩa Hàm băm tốt vì: (1) theo định nghĩa, tập đóng khơng có tập cha với độ phổ biến; điều dẫn đến phải có vài tid khơng xuất tập đóng khác Vì vậy, khóa tập đóng khác thường khác (2) chí có nhiều tập đóng với khóa, kiểm tra độ phổ biến (nếu ) giúp thực việc loại bỏ nhiều tập đóng có khóa giống thực tế chúng có độ phổ biến khác (3) hàm băm dễ tính tốn Năm 2010, TS Võ Đình Bảy [6] đề xuất sử dụng làm khóa độ phức tạp tính tốn hàm băm lớn số lượng tập có độ phổ biến C nhỏ (theo thực nghiệm TS Võ Đình Bảy [6], với |C| = 369450 CSDL Chess với khả trùng khóa tối đa 120) SUBSUMPTION_CHECK (C, ) for each If and then return FALSE C = C return TRUE Hình Kiểm tra gộp nhanh P a g e | 15 Cài đặt thuật toán CHARM 3.1 Cấu trúc tệp tin liệu (a) (b) Hình (a) Cấu trúc tệp tin liệu, (b) Chương trình minh họa thuật tốn CHARM Cấu trúc tập tin liệu hiển thị Hình (a) Dịng chứa thơng tin số lượng Item số lượng giao dịch Từ dòng thứ trở đi, dịng chứa thơng tin item giao dịch tương ứng cho dòng 3.2 Chức - Đọc tập tin Cơ sở liệu - Khai thác tập phổ biến đóng cách xây dựng IT-tree tập phổ biến đóng theo thuật tốn CHARM - 3.3 Hiển thị kết qua hình Hướng dẫn sử dụng Màn hình chương trình thể Hình (b) Để thực thi chương trình bao gồm bước sau: - Chọn đường dẫn tệp tin liệu - Nhập ngưỡng để khai thác tập phổ biến đóng - Nhấp chuột vào nút “CHARM” để chạy thuật toán - Nhận kết IT-tree tập phổ biến đóng hình P a g e | 16 Kết luận Bài tốn khai thác tập phổ biến, tập phổ biến đóng luật kết hợp tốn khó, có độ phức tạp cao Khi ứng dụng thực tế với sở liệu lớn (như liệu bán hàng siêu thị), giải thuật gốc áp dụng nguyên lý Apriori cịn số hạn chế khơng cho lời giải thời gian không gian nhớ hợp lý Do có nhiều cơng trình khoa học công bố để cải thiện độ phức tạp toán khai thác tập phổ biến, tập phổ biến đóng luật kết hợp Thuật tốn CHARM [5] dùng để khai thác tập phổ biến đóng dựa cấu trúc ITtree số cải tiến Trong thu hoạch này, tơi tìm hiểu thuật tốn CHARM Ngồi ra, tơi sử dụng cách hiểu số cải tiến TS Võ Đình Bảy luận án Tiến Sĩ [6] thuật tốn CHARM Cuối cùng, tơi tiến hành cài đặt thuật tốn CHARM mơi trường Visual Studio 2005 để minh họa cho tơi tìm hiểu thu hoạch Tôi xin gởi lời cảm ơn đến TS Võ Đình Bảy cung cấp Cơ sở liệu mẫu q trình cài đặt thuật tốn CHARM Tôi xin gởi lời cảm ơn đến PGS.TS Đỗ Phúc cho tơi kiến thức bổ ích học phần Khai Phá Dữ Liệu Nhà Kho Dữ Liệu P a g e | 17 Tài liệu tham khảo [1] Mohammed Javeed Zaki, Ching-Jui Hsiao Efficient algorithms for mining closed itemsets and their lattice structure IEEE Transactions on Knowledge and Data Engineering 17 (4), 462-478 ( 2005) [2] Mohammed Javeed Zaki, Karam Gouda Fast vertical mining using diffsets Proceedings of SIGKDD’03, Washington DC, USA, 326-335 (2003) [3] Mohammed Javeed Zaki, Srinivasan Parthasarathy, Mitsunori Ogihara, Wei Li New algorithms for fast discovery of association rules Proceedings of SIGKDD’97, California, USA, 283–286 (1997) [4] Mohammed Javeed Zaki Mining non-redundant association rules Data Mining and Knowledge Discovery (3), 223–248 (2004) [5] M J Zaki, C.J Hsiao (2005), Efficient Algorithms for Mining Closed Itemsets and Their Lattice Structure, IEEE Transactions on Knowledge and Data Engineering [6] Võ Đình Bảy Nâng cao hiệu thuật toán khai thác luật kết hợp dựa dàn Luận án tiến sĩ Công nghệ Thông tin, Đại học Khoa học Tự nhiên Tp.HCM (2011) ... để khai thác tập phổ biến đóng - Nhấp chuột vào nút “CHARM” để chạy thuật toán - Nhận kết IT-tree tập phổ biến đóng hình P a g e | 16 Kết luận Bài toán khai thác tập phổ biến, tập phổ biến đóng. .. định) Ví dụ: Xét CSDL Bảng với A tập phổ biến AD khơng phải tập phổ biến Tính chất - Mọi tập tập phổ biến phổ biến: , - Mọi tập cha tập không phổ biến khơng phổ biến: , Page |4 1.3 Luật kết hợp... tốn khai thác tập phổ biến đóng cải tiến từ thuật toán khai thác tập phổ biến Eclat dựa vào tính chất IT-pair Ý tưởng sau: Cho tập phổ biến , phổ biến đóng có tiền tố Như ta không cần xét tập

Ngày đăng: 10/04/2015, 00:13

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan