Khám phá itemsets là công việc quan trọng trong khai thác dữ liệu. Nhờ đó mà ta có thể khai thác luật kết hợp từ các itemsets đó. Tuy nhiên, không gian tìm kiếm trong giai đoạn tìm các itemsets cần thiết thì rất lớn theo từng bước, độ dài k của các item.
IT-TREE VÀ THUẬT TỐN APRIORI TRẦN ĐÌNH NGHĨA(*), NGUYỄN QUỐC HUY(**) TĨM TẮT Khám phá itemsets cơng việc quan trọng khai thác liệu Nhờ mà ta khai thác luật kết hợp từ itemsets Tuy nhiên, khơng gian tìm kiếm giai đoạn tìm itemsets cần thiết lớn theo bước, độ dài k item Do vậy, cần phải quan tâm đến việc rút gọn không gian tìm kiếm Apriori (2,7) tính chất quan trọng, nhờ mà ta loại bỏ itemsets khơng cần thiết bước sau Thuật tốn Apriori (2,7) thuật toán kinh điển việc khai thác tập phổ biến IT-Tree (1,3,4,5) (tidset-itemset search tree) cấu trúc Zaki đồng nghiệp đưa ra, có nhiều điểm giống thuật tốn Apriori ABSTRACT Mining itemsets is significant work in data mining Therefore, we can mine association rules from these itemsets However, the search space in mining itemsets phase is very large if the length k of itemsets grows up Thus, it is necessary to interest in reducing the search space Apriori [2] is an important property from which we can remove unnecessary itemsets in the next steps Apriori algorithm [2] is a classic algorithm in mining frequent itemsets IT-Tree [1,3] (tidset-itemset search tree) is a tree structure proposed by Zaki et al with many factors the same as Apriori algorithm GIỚI THIỆU Khai thác itemsets công việc cần thiết lĩnh vực khai thác liệu phổ biến ứng dụng phân tích thị trường, thiết kế catalog, phân khúc khách hàng Bài toán khai thác itemsets lớn sở liệu lớn, khơng gian tìm kiếm lớn không thực thực tế Do vậy, vấn đề giảm khơng gian tìm kiếm cần thiết để thực toán thực tế Hiện thuật toán Apriori xem mẫu mực để giải toán này, gần cấu trúc IT-Tree đóng góp khơng nhỏ vào tốn khai thác itemsets Thuật toán Apriori sinh tập ứng viên để tính lần duyệt việc sử dụng itemsets thấy phổ biến lần duyệt trước mà không cần quan tâm đến giao tác sở liệu (CSDL) Cơ sở điều tập itemsets phổ biến phải phổ biến, tính chất Apriori Vì vậy, tập ứng cử có k-item sinh cách kết nối tập phổ biến có (k - 1)-item, xố tập ứng viên có chứa tập mà phổ biến Thủ tục nói chung dẫn đến số nhỏ nhiều tập ứng cử viên, nói cách khác hiệu việc "tỉa gọn" khơng gian tìm kiếm IT-Tree có cách tiếp cận đơn giản dựa phần giao tập giao tác để tính độ phổ biến khái niệm lớp tương đương nhằm chia không gian xử lý ban đầu thành tập không gian nhỏ độc lập giúp cho việc tìm kiếm nhanh Một điểm phương pháp IT-tree dựa phần khác Tidset tập liệu nhằm làm giảm kích thước nhớ yêu cầu giúp cho việc tính độ phổ biến nhanh , **)Th.S, Khoa Công nghệ thơng tin, Trường Đại học Sài Gòn (*) ( Để giảm kích thước nhớ lưu Tidset, tác giả IT-Tree Zaki Gouda đề nghị lưu Diffset (tập khác Tidset(X) so với Tidset(Y)), Diffset có kích thước nhỏ so với Tidset nên dung lượng nhớ giảm đáng kể IT-Tree thỏa tính chất Apriori Hình 1.1 Thuật toán Apriori Thuật toán Apriori sử dụng độ hỗ trợ tối thiểu (minsup) để loại bỏ ứng viên không thoả minsup Giá trị minsup người dùng đưa Định nghĩa Độ hỗ trợ itemset: Độ hỗ trợ (Support) tập X tập giao tác D, kí kiệu supp(X) xác định sau: supp(X) T D/T X D ; Miền giá trị: 0 Supp(X) 1 với tập X Định nghĩa Lớp tương đương: Cho I tập danh mục X I Gọi hàm p(X, k) = X[1:k] gồm k phần tử đầu X quan hệ tương đương dựa vào tiền tố K itemset sau: X , Y I , X k Y p( X , k ) p(Y , k ) Hai itemset có lớp tương đương chúng chia sẻ k phần tử đầu Mỗi nút IT-Tree đại diện cặp Itemset-Tidset X t (X ) , thực tế lớp tiền tố Tất nút nút X thuộc lớp tương đương chúng tiền tố X Bảng 1.1: Cơ sở liệu giao tác Mã giao tác t1 t2 t3 A 1 C 1 D T 1 W 1 t4 t5 t6 1 1 1 1 1 1 Kí hiệu lớp tương đương P l1 , l , , l n , P nút cha li mục liệu đơn, đại diện cho nút Pl i t ( Pl i ) Chẳng hạn, nút gốc tương ứng với lớp [] = {A,C,D,T,W}, nút trái gốc lớp [A] chứa tất itemset có A tiền tố, nghĩa tập {C,D,T,W} Như vậy, lớp thành viên đại diện cho nút cha Một lớp đại diện cho mục liệu mà mục liệu tiền tố để mở rộng thành lớp Rõ ràng, khơng có tiền tố khơng tồn xét Điểm mạnh phương pháp lớp tương đương khơng gian xử lí ban đầu chia thành phần nhỏ độc lập Đối với nút gốc nút X, xem vấn đề hồn tồn; nút sinh itemset bên Hình 1.2 Cấu trúc IT-Tree bảng 1.1 SO SÁNH Dựa vào tính chất Apriori, áp dụng để tỉa itemsets khơng cần thiết để giảm khơng gian tìm kiếm IT-Tree thoả tính Apriori Như hình vẽ 1.2, ta thấy nút xuất tập giao tác nút cha chắn xuất tập giao tác Ngược lại, nút cha cần không xuất giao tác tập – tập cha hợp với item – khơng xuất tồn sở liệu Từ ta tiên nghiệm nhờ vào tính chất để loại bỏ nhánh lớp tương đương có chứa tiền tố mà xác định khơng xuất sở liệu giao tác 2.1 Ý tưởng tỉa itemsets thuật toán Apriori IT-Tree Giải thuật phổ biến loại giải thuật Apriori, có trình bày tính chặn itemset thỏa minsup Giải thuật Apriori sử dụng tính chất cách tỉa bớt ứng viên thuộc tập khơng phổ biến trước tính độ phổ biến chúng Cách tối ưu thực giải thuật tìm kiếm ưu tiên theo chiều rộng (BFS) bảo đảm giá trị hỗ trợ tập ứng viên biết trước Giải thuật Apriori đếm tất ứng viên có k phần tử lần đọc CSDL Phần cốt lõi toán xác định ứng viên giao tác Thuật toán Apriori tỉa itemsets khơng phổ biến IT-Tree áp dụng lí thuyết lớp tương đương, dựa vào hình vẽ 1.2 minh hoạ bảng sở liệu giao tác 1.1, ta thấy lớp lớp là: itemsets gồm item Mỗi item xuất số giao tác, tập giao tác chứa item gọi tập giao tác (tidset) Một itemset gồm nhiều item, nên tidset itemset phần giao tidset Do vậy, IT-Tree khơng xuất itemset mà có tập tidset rỗng, điều tương đương với việc itemset khơng xuất CSDL vô nghĩa xét đến IT-Tree tỉa itemsets khơng xuất CSDL 2.2 Điểm yếu thuật toán Apriori điểm mạnh IT-Tree Như thuật tốn Apriori hình 1.1, dòng thủ tục apriori_gen dùng để sinh ứng viên Thủ tục apriori_gen sinh tập ứng viên k-itemsets từ (k-1)-itemsets, tham khảo hình 2.1 Trong thủ tục (k-1)-itemsets kết nối với item khác Lk-1 tạo ứng viên có k items tính độ hỗ trợ ứng viên Nếu ứng viên thoả độ hỗ trợ lưu vào tập Ck Để thấy rõ điểm yếu thuật toán Apriori, giả sử thực toán có độ hỗ trợ tối thiểu (minsup) Lúc sở liệu có n item có 2n ứng viên, n lớn số ứng viên lớn Lý thủ tục apriori_gen luôn phải thực công việc kết nối, item vô nghĩa kết nối với (k-1)-itemsets cho k-itemsets vơ nghĩa Sau phải tốn thao tác để tính độ hỗ trợ cho itemsets vơ nghĩa xác định itemsets khơng thuộc tập C k Ngoài ra, độ hỗ trợ tối thiểu minsup bị thay đổi thuật tốn phải thực lại từ đầu, điều thời gian Hình 2.1 Thủ tục apriori_gen Phương pháp IT-tree có số điểm mạnh sau: Đọc CSDL lần lưu vào tập [] = {1 – itemset}, sinh tập phổ biến khác mức kế, thuật toán đơn giản hợp hai tập phổ biến mức lại thành tập mới, Tidset tính cách giao hai Tidset tập tạo Như vậy, dung lượng nhớ đủ chứa phương pháp cần đọc CSDL lần ii) Không cần phải sinh ứng viên họ thuật tốn Apriori Điều kéo theo khơng cần phải có thao tác tính độ hỗ trợ khơng cần thiết để xác định ứng viên có phổ biến hay không Giả sử độ hỗ trơ tối thiểu (minsup) khơng ảnh hưởng đến việc sinh ứng viên iii) Có thể dùng thuật tốn song song để khai thác tập phổ biến i) 2,3 Ứng dụng tốn tìm luật kết hợp Bài tốn tìm luật kết hợp có giai đoạn Giai đoạn tìm tập phổ biến, giai đoạn tìm luật kết hợp từ tập phổ biến Trong việc tìm luật tập phổ biến có thuật tốn tiêu biểu sau Apriori, Apriori-Gen, Apriori-Tid, FP-Growth (2,7) Bài toán luật kết hợp [8,9,10,11,12] Cho tập giá trị I, sở liệu giao dịch D, độ hỗ trợ tối thiểu minsup, độ tin cậy mincof, tìm luật kết hợp dạng X Y D thoả mãn điều kiện Support(X Y) ≥ minsup Confidence(X Y) ≥ mincof Xác định tập phổ biến: Việc xác định tập phổ biến gồm có hai bước sau đây: - Xác định tập ứng viên (Ck) - Xác định tập phổ biến (L) dựa vào tập ứng viên Để xác định tập ứng viên, ta thực bước sau đây: - Tìm tập ứng viên itemset - Quét CSDL D để xác định độ hỗ trợ tập ứng cử viên Trong vòng đầu tiên, tập ứng cử viên tất mục có CSDL Tại vòng thứ k (k>1), tập ứng cử viên xác định dựa vào tập phổ biến xác định vòng k – 1, sử dụng hàm Apriori-gen() (2) Sau xác định tập ứng cử viên, thuật toán quét giao dịch CSDL để tính độ hỗ trợ tập ứng cử viên Quá trình xác định tập phổ biến kết thúc không xác định thêm tập phổ biến Nội dung hàm Apriori-gen() Hàm Apriori-gen() thực hai bước (2,9): - Bước đầu tiên, Lk – kết nối với thu Ck - Bước thứ hai, Apriori_gen() xố tất itemsets từ kết kết nối mà có số tập (k – 1) khơng có Lk – Sau trả itemsets phổ biến kích thước k lại Sinh luật kết hợp từ tập phổ biến: Việc phát tập phổ biến tốn mặt tính tốn Tuy nhiên, tìm tất tập phổ biến (l L), ta dễ dàng sinh luật kết hợp có bước sau: - Tìm tất tập không rỗng x, tập phổ biến l L - Với tập x tìm được, ta xuất luật dạng x (l - x) tỉ lệ Support(l)/Support(x) ≥ mincof ( %) Ứng dụng IT-Tree giai đoạn xác định tập phổ biến: Nhận xét thấy có itemset có tập giao tác khác rỗng xuất giao tác, lúc tính độ hỗ trợ so sánh với minsup Còn lại itemset có tập giao tác rỗng khơng xuất sở liệu Ví dụ tập hàng mà khơng bán lần hết tập hàng khơng xuất hố đơn bán hàng Do ta tỉa bớt tập q trình sinh tập k-itemsets từ tập (k-1)-itemsets để giảm bớt khơng gian xử lí Để ứng dụng IT-Tree ta cần thay hàm Apriori_gen thuật tốn Apriori thành hàm IT_Tree, hình 2.2, để sinh k-itemset từ hai (k-1)-itemsets ta cần phải xét đến hai yếu tố: Hai (k-1)-itemsets phải tiền tố Giao hai tập giao tác hai (k-1)-itemsets, tập giao khác rỗng k-itemset thêm vào tập Ck IT_Tree([P], minsup) for all li [P] [Pi] = for all lj [P], with j > i I = lj T = t(li) t(lj) if Pi Support() minsup then [Pi] = [Pi] { I T } IT_Tree ([Pi], minsup) Hình 2.2: Hàm IT_Tree tìm itemsets phổ biến Trong hàm IT_Tree [1,3,4,5,12] gọi P l1 , l , , l n là lớp tương đương, P nút cha li mục liệu đơn, đại diện cho nút Pl i t ( Pl i ) Dòng gọi đệ quy lại hàm IT_Tree để tính tiếp cho lớp tương đương tính từ nút [Pi] KẾT LUẬN IT-Tree hình ảnh minh họa trường hợp tổng quát thuật toán Apriori Nhưng với tổ chức IT-Tree, ta đọc CSDL lần sử dụng tập tidset để tính độ hỗ trợ cần Để giải thuật toán hiệu khai thác itemsets CSDL lớn, ta cần phải quan tâm đến vấn đề: - Rút gọn khơng gian tìm kiếm - Giảm thiểu việc đọc thông tin từ sở liệu IT-Tree xem cấu trúc liệu lí tưởng để cải tiến thuật tốn có liên quan đến khai thác itemsets, nên cơng cụ hữu ích làm việc với vấn đề khai thác luật kết hợp khai thác itemsets có ích Thuật tốn IT-Tree thay hồn tồn thuật toán họ Apriori để thực tối ưu giai đoạn tìm itemsets theo tiêu chí đó, ví dụ độ hỗ trợ độ có ích Chúng tơi tiến hành thử nghiệm thuật tốn khai thác itemsets phổ biến số CSDL giao tác tạo phương pháp tạo ma trận số ngẫu nhiên Căn vào kết thử nghiệm việc phân tích cấu trúc thuật tốn, chúng tơi nhận thấy thực theo IT-Tree có ưu điểm vượt trội so với thuật tốn họ Apriori Ngồi ra, tính chất Apriori kết hợp với ý tưởng IT-Tree áp dụng tốn khai thác đồ thị phổ biến toán nhiều người quan tâm nghiên cứu lĩnh vực khai thác liệu CHÚ THÍCH [1] Các từ khố: tập phổ biến, IT-Tree, tập có ích, itemsets TÀI LIỆU THAM KHẢO Nguyễn Quốc Huy (2008) , “Khai thác itemsets có ích từ sở liệu”, Luận văn thạc sĩ Tin học, ĐH KHTN, ĐHQG TP.HCM Nguyễn Thanh Thuỷ, Khai phá liệu – Kĩ thuật ứng dụng Bài giảng trường thu Hệ mờ ứng dụng, Hà Nội, tháng 8-2001 Le, B., Nguyen, H., Cao, T.A.,Vo, B.: A Novel Algorithm for Mining High Utility Itemsets In: IEEE 1st Asian Conference on Intelligent Information and Database Systems, April 1- 3, 2009, Quang Binh, Vietnam, pp 13 - 17 (2009) Bac Le., Huy Nguyen., Bay Vo.: Mining high Utility Itemsets from Vertical distributed Databases In: IEEE RIFV’09, July, 2009, Danang, Vietnam Bac Le., Tu Bao Ho., Huy Nguyen., Bay Vo.: Parallel Method for Mining High Utility Itemsets from Vertically Partitioned Distributed Databases In: Springer KES’09, Sep, 2009, Santiago, Chile C J Matheus and P K Chan and G Piatetsky-Shapiro, Systems for knowledge discovery in databases, Ieee Trans On Knowledge And Data Engineering, vol 5, pp 903-913, 1993 url=http://citeseer.nj.nec.com/177052.html Christian Borgelt and Rudolf Kruse, Department of Knowledge Processing and Language Engineering School of Computer Science Induction of Association Rules: AprioriImplementation.Otto-von-Guericke-UniversityofMagdeburg Universităatsplatz 2, D39106 Magdeburg, Germany Jiawei Han and Yongjian Fu, Dynamic Generation and Refinement of Concept Hierarchies for Knowledge Discovery in Databases,KDD Workshop, pp 157-168, 1994, url=http://citeseer.nj.nec.com/han94dynamic.html Jiawei Han, Jian Pei, Yiwen Yin Mining Frequent Patterns without Candidate Generation SIGMOD Conference 2000 10 Jiawei Han and Micheline Kamber, Data mining: Concepts and Techniques Academic Press 2001 11 J Han, Y Cai, and N Cercone Data-driven Discovery of Quantitative Rules in Relational Databases IEEE Trans Knowledge and Data Eng., 5:29 40, 1993 url=http://citeseer.nj.nec.com/agrawal93mining.html 12 R Agrawal and R Srikant Fast algorithms for mining association rules In Proc 1994 Int.Conf.VLDB,Santiago,Chile,Sept.1994 rl=citeseer.nj.nec.com/article/agrawal94fast.html ... Căn vào kết thử nghiệm việc phân tích cấu trúc thuật tốn, chúng tơi nhận thấy thực theo IT-Tree có ưu điểm vượt trội so với thuật toán họ Apriori Ngồi ra, tính chất Apriori kết hợp với ý tưởng IT-Tree. .. viên biết trước Giải thuật Apriori đếm tất ứng viên có k phần tử lần đọc CSDL Phần cốt lõi toán xác định ứng viên giao tác Thuật toán Apriori tỉa itemsets khơng phổ biến IT-Tree áp dụng lí thuyết... [Pi] KẾT LUẬN IT-Tree hình ảnh minh họa trường hợp tổng quát thuật toán Apriori Nhưng với tổ chức IT-Tree, ta đọc CSDL lần sử dụng tập tidset để tính độ hỗ trợ cần Để giải thuật toán hiệu khai