Khai phá dãy sử dụng kỹ thuật phân vùng (thuật toán Dynamic DISC-all)

Một phần của tài liệu Một số thuật toán khai phá luật dãy và ứng dụng thử nghiệm vào hệ thống quản lý khách hàng và tính hóa đơn nước (Trang 36)

Thuật toán Dynamic DISC-all bao gồm hai giai đoạn, phân vùng (partitioning) và so sánh [10]. Ban đầu, một lƣợc đồ phân vùng đƣợc sử dụng để sinh một cách đệ quy các phân vùng cấp k, ở đó có thể khai phá đƣợc các dãy k thƣờng xuyên. Phép đo về cách phân vùng sẽ giúp ích cho nhiệm vụ khai phá trên mỗi phân vùng nhƣ thế nào sẽ đƣợc tính toán để quyết định liệu có nên chuyển sang giai đoạn so sánh hay không. Ví dụ, nhƣ trong hình 2.19, một giai đoạn chuyển đổi xuất hiện sau các dãy-3 thƣờng xuyên, trong phân vùng một, mức 3 đƣợc khai phá.

Trong giai đoạn phân vùng, chúng ta có thể áp dụng bất kỳ chiến lƣợc DP nào nhƣ lƣợc đồ phân vùng đa cấp trong [Chiu, D.Y., Wu, Y.H., Chen, A.L.P. (2004)] và lƣợc đồ quy chiếu CSDL trong [Pei, J.,Han, J.W., Mortazavi-Asl,B., Pinto, H.,Chen, Q.,Dayal,U., Hsu, M.C. (2001)]. Trong giai đoạn so sánh, chúng ta áp dụng lƣợc đồ

Khám phá dãy-k thường xuyên [Chiu, D.Y., Wu, Y.H., Chen, A.L.P. (2004)], là lƣợc đồ kết hợp chiến lƣợc DISC với chiến lƣợc CP để đạt đƣợc hiệu suất tốt hơn. Trong phần này, chúng ta giới thiệu phƣơng pháp tiếp cận cho việc chuyển tiếp giai đoạn động và cây-AVL cách vị trí (locative AVL-tree) hỗ trợ chiến lƣợc DISC.

Hình 2.19: Thuật toán Dynamic DISC-all

 Sự chuyển tiếp giai đoạn động

Các chiến lƣợc DP [Ho, C.C., Li, H.F., Kuo, F.F., Lee, S.Y. (2006)] giảm chi phí cho việc liệt kê các dãy con nhƣng phải chịu các chi phí chung cho việc phân vùng. Việc sử dụng chiến lƣợc DP đơn lẻ không áp dụng cho các trƣờng hợp có nhiều phân

Khai phá luật dãy Nguyễn Đình Văn vùng gần giống nhƣ là phân vùng cha mẹ của chúng. Trong những trƣờng hợp này, Dynamic DISC-all nên chuyển sang giai đoạn so sánh. Do đó, việc có một chỉ dẫn tốt để có thể kích hoạt sự chuyển tiếp giai đoạn đúng thời điểm là rất cần thiết.

Cho tổng số dãy khách hàng trong phân vùng P đƣợc ký hiệu là Size(P). Để quyết định xem việc phân vùng sẽ mang lại lợi ích nhiều hơn chi phí, một ý tƣởng cơ bản là xem xét tỷ lệ của Size(P) với Size(Q), trong đó Q là phân vùng cha của P.

Vì tổng số hỗ trợ đếm đƣợc của một phần tử trong Q có nghĩa là số lƣợng các dãy khách hàng hỗ trợ phần tử đó, Size(P) có thể thu đƣợc ngay lập tức khi tổng số hỗ trợ đếm đƣợc của các phần tử trong Q đƣợc tính toán. Hơn nữa, vì chiến lƣợc DP thao tác trên phân vùng cha Q và sau đó tạo ra các phân vùng con, nên có thể thu đƣợc Size(P) mà không cần quá nhiều chi phí. Bây giờ hãy xem xét tỷ lệ của Size(P) với Size(Q). Tỷ lệ càng cao, thì phân vùng Q sẽ mang lại càng ít lợi ích. Trƣờng hợp xấu nhất là khi tỷ lệ này bằng 1. Dựa trên ý tƣởng này, có ba thƣớc đo có thể đƣợc xem nhƣ là định hƣớng cho giai đoạn chuyển tiếp. Chúng ta lấy hình 2.20 nhƣ một minh hoạ, nơi mà tất cả các phân vùng cấp-k đã đƣợc tạo ra.

Hình 2.20: Ba thƣớc đo kích hoạt sự chuyển tiếp giai đoạn

Tiếp theo, chúng ta lần lƣợt thảo luận về những hạn chế của thƣớc đo dựa trên phân vùng con (child-based measure) và thƣớc đo dựa trên phân vùng anh em (sibling- based measure). Trƣớc tiên, child-based measure tạo ra quyết định riêng lẻ cho mỗi phân vùng con. Việc tạo ra quyết định cho một phân vùng cần quét toàn bộ phân vùng cha của nó.

Một cách tƣơng phản, child-based measure phải quét phân vùng cha nhiều lần, trong khi parent-based measure tạo ra tất cả các phân vùng con bằng cách quét các phân vùng cha chỉ một lần. Thứ hai, khi các sibling-based measure đƣợc lựa chọn, hai phân vùng anh em Q1 và Q2 có thể thích hợp với các chiến lƣợc khác nhau.

Giả sử rằng chỉ có hai phân vùng con, P11 và P12, chúng có các kích thƣớc gần với Size(Q1). Điều đó ngụ ý rằng Q1 sẽ không phù hợp với chiến lƣợc DP. Mặt khác, Q2 có thể thích hợp với chiến lƣợc DP. Kết quả là, sibling-based measure cần dàn xếp mâu thuẫn giữa Q1 và Q2. So sánh với các thƣớc đo khác, parent-based measure chỉ xem xét tỷ lệ giữa các phân vùng cha và các phân vùng con của nó. Do vậy, trong

Khai phá luật dãy Nguyễn Đình Văn Dynamic DISC-all chúng ta áp dụng tiêu chuẩn thƣớc đo parent-based measure, biện pháp dựa vào cha, đƣợc gọi là tỷ lệ rút gọn, nhƣ một chỉ dẫn cho việc chuyển tiếp giai đoạn.

Tỷ lệ rút gọn (Reduction rate): Cho một phân vùng Q, tổng số phân vùng con của nó đƣợc biểu diễn là NQ. Tỷ lệ rút gọn của Q (viết tắt là RRQ) có nghĩa là tỷ số của sự khác biệt trung bình giữa Size(Q) và kích thƣớc của phân vùng con của nó với Size(Q), đƣợc tính toán theo công thức sau:

Cho một ngƣỡng γ , nếu RRQ cao hơn γ , giai đoạn phân vùng sẽ đƣợc tiếp tục; nếu không thì một sự chuyển đổi giai đoạn sẽ xuất hiện. Ta gọi γ là tỷ lệ rút gọn tối thiểu. Hình 2.21 là thuật toán chính của Dynamic DISC-all, bao gồm các phép tính của tỷ lệ rút gọn (bƣớc 2) và giai đoạn so sánh (các bƣớc 3–5). Tại bƣớc 2, tỷ lệ rút gọn của một phân vùng P(S) đƣợc tính bởi công thức (2), sử dụng tổng số hỗ trợ đếm đƣợc, thu đƣợc trong bƣớc 1. Tại bƣớc 4, ta áp dụng phƣơng pháp tiếp cận từ dƣới lên và gọi lƣợc đồ khai phá dãy k thƣờng xuyên để tìm các dãy phổ biến còn lại với tiền tố S. Lƣu ý rằng trong các bƣớc ban đầu, P(S) là CSDL ban đầu và k = 0. Có nghĩa là thuật toán Dynamic DISC-all luôn quét các CSDL ban đầu một lần để tìm tất cả các dãy 1 thƣờng xuyên.

Sau đó, nó tính toán tỷ lệ rút gọn để quyết định liệu có nên tiếp tục giai đoạn phân vùng hay chuyển sang giai đoạn so sánh.

Hình 2.21: Giải thuật chính của Dynamic DISC-all

Một phần của tài liệu Một số thuật toán khai phá luật dãy và ứng dụng thử nghiệm vào hệ thống quản lý khách hàng và tính hóa đơn nước (Trang 36)