Phức tạp thuật toán

Một phần của tài liệu 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 (đầy đủ) (Trang 120 - 149)

Khi nút {Y} đƣợc chèn v o d n, thuật toán chỉ duyệt qua các nút d n l nút cha của {Y}. Vì vậy, độ phức tạp của thuật toán đƣợc đề nghị l O(nk), trong đó n l số tập phổ biến đóng v k l trung bình cộng số lƣợng các tập con của tất cả các tập đóng. Nếu chúng ta sinh luật dựa tr n FCI, độ phức tạp sẽ l O(n2). Thông thƣờng k rất nhỏ so với n. Bảng 4.2 trình b y mối quan hệ giữa kn tr n các CSDL thử nghiệm.

Bảng 4.2. Mối quan hệ giữa kn trên các CSDL

CSDL minSup (%) n k Chess 85 1885 34 80 5083 62 75 11525 99 70 23892 141 Mushroom 30 427 15 25 688 18 20 1200 22 15 2265 27 Connect 96 481 24 94 1237 40 92 2212 64 90 3486 91 Accidents 80 149 10 70 529 16 60 2074 27 50 8057 47 Pumsb* 60 68 9 55 116 11 50 248 12 45 713 19 Pumsb 94 216 7

92 610 13 90 1465 20 88 3160 30 Retails 1 159 3 0.8 243 3 0.6 417 3 0.4 831 3

Từ bảng 4.2, có thể thấy k luôn luôn nhỏ hơn |FCI| tr n tất cả các thực nghiệm. Chẳng hạn, xét CSDL Chess với minSup = 70%, số tập đóng l 23892 và k là 141. Nếu chúng ta sinh luật trực tiếp từ FCI, độ phức tạp sẽ l (2389223891)/2 = 285401886, trong khi độ phức tạp của xây dựng FCIL chỉ l 23892141 = 3368772. Nhƣ đ đƣợc trình b y trong phần 3.1, thuật toán sinh luật từ d n l O(nk) và vì vậy, độ phức tạp của to n bộ quá trình xây dựng FCIL v sinh luật cũng sẽ l O(nk).

4.2. Sinh luật thiết yếu nhất dựa trên dàn tập phổ biến đóng

Nhƣ đ đƣợc trình b y ở tr n, khai thác luật thiết yếu nhất đƣợc trình b y v o năm 1998 [B5] dựa tr n tập phổ biến. Sau đó, năm 2004, Xia v các đồng sự [B93] dựa v o tập phổ biến tối đại để khai thác luật thiết yếu nhất. Một trong những khó khăn của các phƣơng pháp dựa v o tập phổ biến tối đại l xác định độ phổ biến của các tập con. Năm 2008, khai thác luật thiết yếu nhất dựa v o tập phổ biến đóng v tập sinh tối tiểu đƣợc đề nghị [A10]. Phần n y trình b y đóng góp của luận án trong việc khai thác luật thiết yếu nhất dựa v o dàn tập phổ biến đóng [A1].

4.2.1. Thuật toán sinh luật thiết yếu nhất từ dàn tập phổ biến đóng

Đầu vào: d n chứa các tập phổ biến đóng thỏa ngƣỡng phổ biến minSupCount với

nút gốc Lr v ngƣỡng tin cậy minConf .

Kết quả: tập EAR gồm tất cả các luật thiết yếu nhất thỏa minConf. Phương pháp thực hiện:

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

Thuật toán duyệt qua tất cả các nút con của nút gốc d n (dòng 2) v gọi thủ tục

EXTEND_EAR_LATTICE(Lc) (dòng 3), thủ tục n y duyệt qua các nút con của nút

hiện h nh Lc để sinh luật (dòng 5-6) v đánh dấu đ duyệt đối với nút n y (dòng 7). Dòng 8-9 dùng để gọi đệ qui xét các nút d n con của Lc.

Dựa v o mệnh đề 4.1.1, thủ tục FIND_EAR (đƣợc gọi ở dòng 6) sẽ xét các nút con

L (trực tiếp) của Ls để kiểm tra luật tạo ra giữa Lc và L có thỏa minConf hay không? Nếu có, nghĩa l vẫn còn luật thỏa minConf đƣợc suy ra từ Lc sang L, thì

MINING_EAR_LATTICE(Lr)

1. EAR = 

2. for all LcLr.Children do

3. EXTEND_EAR_LATTICE(Lc) 4. return EAR

EXTEND_EAR_LATTICE(Lc)

5. if Lc.flag = False then 6. FIND_EAR(Lc, Lc) 7. Lc.flag = True

8. for all LsLc.Children do

9. EXTEND_EAR_LATTICE(Ls)

FIND_ EAR(Lc, Ls)

10.If Ls is not Marked then 11. Mark Ls

12. f = True

13. for all LLs.Children do

14. if Sup(L)/ Sup(Lc)  minConf then 15. f = False

16. FIND_EAR(Lc, L) 17. if f = True then (adsbygoogle = window.adsbygoogle || []).push({});

18. conf = Sup(Ls) / Sup(Lc) 19. if conf  minConf then 20. for all Z  mG(Lc) do

21. if ESSENTIAL_RULE(Z, Ls.itemset \ Z) then 22. AR=AR{ZLs.itemset \ Z (Sup(Ls),conf)}

luật tạo ra giữa Lc và Ls không l luật thiết yếu nhất, tiếp tục gọi đệ qui thủ

FIND_EAR để xét luật đƣợc sinh ra từ Lc sang L (dòng 13-16). Ngƣợc lại thì tạo ra luật giữa mG(Lc) và Ls nếu các luật n y thỏa minConf v l luật thiết yếu nhất (dòng 17-22).

4.2.2. Một ví dụ minh họa

Hình 4.4 minh họa quá trình sinh luật từ dàn tập phổ biến đóng với minConf = 80%.

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

Với mỗi nút tr n d n, chúng ta chỉ cần duyệt qua các nút con của nó tr n dàn tập đóng để sinh luật.

Xét quá trình sinh luật từ nút C. Đầu ti n, thủ tục FIND_EAR đƣợc gọi với tham số là (C, C):

 Biến f đƣợc gán bằng True (Giả sử không có luật đƣợc tạo ra từ C đến các nút con trực tiếp của C, dòng 12).

 Xét các nút con của C: Ta thấy tồn tại nút CW thỏa điều kiện

Conf C CW min 6 5 ) ( ) (    

(thỏa dòng 14) nên thủ tục n y sẽ gán f = False (dòng

15) v gọi đệ qui thủ tục FIND_EAR (dòng 16) với tham số l (C, CW):

o f = True (Giả sử không có luật đƣợc tạo ra từ C đến các nút con trực tiếp của CW).

o Do luật tạo ra từ C đến tất cả các nút con (trực tiếp) của CW (Gồm CDW và ACW) đều không thỏa minConf n n f vẫn bằng True.

o Do f = True nên (dòng 17) nên:  Tính độ tin cậy conf =

6 5 ) ( ) (  C CW  

 Xét các tập sinh tối tiểu của C (chỉ có C), bổ sung v o tập luật một luật mới l C5 ,5/6 W

.

4.2.3. Kết quả thực nghiệm

Dựa tr n kết quả từ [A10], có thể thấy khai thác luật thiết yếu nhất dựa tr n FCI thƣờng nhanh hơn so với khai thác luật truyền thống. Vì vậy, để thấy rõ tính hiệu quả của khai thác luật từ dàn tập đóng, phần n y sẽ so sánh thời gian khai thác luật dựa tr n FCI v dựa tr n FCIL.

Bảng 4.3. Thời gian khai thác luật thiết yếu nhất dựa tr n FCI v FCIL8

CSDL minSup (%)

Theo FCI (giây) Theo dàn (giây) Tỉ lệ(5) % 100 ) 1 ( ) 3 (  Tỉ lệ (6) % 100 ) 2 ( ) 4 (  FCI + Luật (1) Luật (2) FCI+ Dàn + Luật (3) Luật (4) Chess 80 7.78 7.61 8.12 5.03 104.4 66.1 70 270.28 255.16 285.31 183.5 105.6 71.9 Mushroom 30 0.39 0.1 0.42 0.09 107.7 90 20 1.13 0.52 1.36 0.5 120.4 96.2 Pumsb 95 0.34 0.1 0.33 0.02 97.1 20 90 2.17 1.41 2.66 1.47 122.6 104.3 Pumsb* 50 1.23 0.016 1.22 0.021 99.2 131.3 45 2.67 0.17 2.55 0.05 95.5 29.4 Accidents 70 3.75 0.08 3.71 0.03 98.9 37.5 60 8.91 1.05 8.84 0.36 99.2 34.3 Retail 0.4 9.42 0.11 9.42 0.02 100 18.2 0.2 42.81 1.53 42.75 0.27 99.9 17.6 Connect 97 0.36 0.03 0.39 0.03 108.3 100 92 4.36 2.94 4.38 2.88 100.5 98

Kết quả từ bảng 4.3 cho thấy thời gian khai thác luật từ d n thƣờng nhanh hơn so với khai thác trực tiếp từ tập phổ biến đóng (cột (4) so với cột (2)). Nếu tính luôn cả việc khai thác tập phổ biến đóng v xây dựng d n thì tổng thời gian khai thác luật từ d n đôi khi có chậm hơn đôi chút so với khai thác trực tiếp từ FCI. Tuy nhi n, nếu chúng ta tiếp tục khai thác tr n d n với các minConf khác thì thời gian khai thác từ d n sẽ hiệu quả hơn. Cột (6) tr n bảng 4.3 chứng tỏ khai thác luật thiết yếu nhất từ d n có lúc chỉ bằng 17.6% so với khai thác trực tiếp từ FCI (chẳng hạn tr n CSDL Retail với minSup = 0.2%).

4.3. Kết luận

Chƣơng n y trình b y các đóng góp của luận án li n quan đến ứng dụng dàn tập phổ biến đóng trong khai thác luật kết hợp. Cụ thể l khai thác luật thiết yếu nhất.

8 Thực nghiệm được chạy trên máy có cấu hình: Core2duo, 22.0 GHz, 1GB RAM, Windows XP. Các thuật toán được cài đặt trên C# (2005). Kết quả là trung bình cộng của 5 lần chạy.

Đầu ti n, thuật toán xây dựng dàn tập phổ biến đóng từ danh sách các tập đóng đƣợc đề nghị. Thuật toán đề nghị có độ phức tạp l O(nk) với n l số tập phổ biến đóng v k l trung bình cộng các tập con của các tập phổ biến đóng. Thuật toán sinh luật thiết yếu nhất dựa tr n dàn tập phổ biến đóng cũng đƣợc đề xuất. Thực nghiệm chứng tỏ tính hiệu quả của thuật toán đề nghị so với khai thác luật thiết yếu nhất từ tập phổ biến đóng cũng nhƣ khai thác luật truyền thống. (adsbygoogle = window.adsbygoogle || []).push({});

Chƣơng 5. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN

5.1. Kết luận

Luận án đ ho n th nh đƣợc các mục ti u đặt ra ban đầu l “Nâng cao tính 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” với đóng góp chính l sử dụng d n trong khai thác luật. Các đóng góp cụ thể nhƣ sau:

1. Đề nghị thuật toán xây dựng dàn tập phổ biến: Dàn tập phổ biến chứa tất cả các tập phổ biến đƣợc khai thác với quan hệ thứ tự. Vì vậy, quá trình xây dựng d n tuy có tốn thời gian để cập nhật mối quan hệ n y nhƣng sử dụng d n để khai thác luật kết hợp lại rất hiệu quả.

2. Đề nghị thuật toán xây dựng d n (sửa đổi) phục vụ cho khai thác luật không dƣ thừa tối tiểu.

3. Đề nghị thuật toán xây dựng dàn tập phổ biến đóng.

4. Đề nghị thuật toán sinh luật truyền thống từ d n. Thuật toán mới giảm đáng kể thời gian khai thác luật. Có thể thực thi đƣợc khi số lƣợng tập phổ biến l n đến h ng trăm ng n.

5. Đề nghị thuật toán sinh luật từ các độ đo thú vị dựa tr n dàn tập phổ biến v bảng băm.

6. Đề nghị thuật toán sinh luật không dƣ thừa tối tiểu từ d n (sửa đổi). Thuật toán mới thƣờng hiệu quả hơn thuật toán sinh luật không dƣ thừa tối tiểu dựa tr n tập phổ biến đóng (chỉ kém hiệu quả khi độ lệch giữa số lƣợng tập phổ biến v tập phổ biến đóng lớn).

7. Đề nghị thuật toán sinh luật thiết yếu nhất dựa tr n dàn tập phổ biến đóng. Ngoài ra, để khai thác luật không dƣ thừa tối tiểu, luật thiết yếu nhất, luật tổng quát nhất, cần phải khai thác tập sinh tối tiểu. Luận án cũng đ đề xuất thuật toán khai

thác nhanh tập sinh tối tiểu phục vụ cho các mục đích n y [A13]. Việc rút gọn tập luật không dƣ thừa tối tiểu cũng đ đƣợc đề xuất [A18]. Khái niệm luật tổng quát nhất (MGAR) đƣợc trình b y v thuật toán để sinh MGAR dựa tr n tập phổ biến đóng cũng đ đƣợc đề nghị.

Các phân tích về mặt lý thuyết cũng nhƣ những kết quả thực nghiệm trong chƣơng 3 và chƣơng 4 chứng tỏ tính hiệu quả của các thuật toán đƣợc đề xuất.

Luận án chú trọng đến b i toán ứng dụng d n trong khai thác luật kết hợp v bƣớc đầu đ cho kết quả khả quan. Đặc điểm thú vị của d n l mối quan hệ cha con giữa các nút tr n d n, vì vậy với mỗi nút {X} tr n d n, chúng ta chỉ cần duyệt qua các nút con của nó để tìm các tập cha của X m không cần thao tác kiểm tra tập con. Do tr n mỗi nút d n, chúng ta đ lƣu trữ độ phổ biến của itemset tƣơng ứng n n việc tính độ tin cậy của luật diễn ra nhanh chóng. Một đặc điểm nữa của d n l tính tái sử dụng: Chúng ta chỉ cần xây dựng d n một lần v sau đó dùng nó để sinh luật nhiều lần với các ngƣỡng độ tin cậy tối thiểu khác nhau, thậm chí với các ngƣỡng độ phổ biến tối thiểu khác nhau (với điều kiện độ phổ biến tối thiểu n y phải lớn hơn hay bằng độ phổ biến tối thiểu khi xây dựng d n, các thuật toán sinh luật từ d n cũng phải đƣợc sửa đổi cho phù hợp).

Do chỉ quan tâm đến việc ứng dụng d n trong khai thác luật n n luận án chƣa đi sâu nghi n cứu về mặt lý thuyết của cấu trúc d n v các khía cạnh toán học của chúng, chƣa tìm hiểu kỹ về d n khái niệm để có thể so sánh với cách tiếp cận của luận án. Một khuyết điểm nữa của luận án l dựa v o thực nghiệm, chƣa có nhiều đóng góp trong việc phân tích lý thuyết cũng nhƣ việc ứng dụng các kết quả đạt đƣợc trong các CSDL thực tế.

5.2. Hướng phát triển

Hiện nay, nói đến khai thác luật kết hợp, có 3 loại CSDL cần khai thác, đó l : CSDL giao dịch nhị phân; CSDL số lƣợng; v CSDL nhiều chiều. Tác giả sẽ tiếp

tục đi sâu tìm hiểu cách thức khai thác tr n các loại cơ sở dữ liệu n y. Cụ thể nhƣ sau:

1) Đối với CSDL giao dịch nhị phân: Tiếp tục nghi n cứu về mặt lý thuyết của d n khái niệm, dàn tập đóng để từ đó có thể hiểu rõ hơn cũng nhƣ có các đóng góp tốt hơn trong việc sử dụng d n để khai thác luật. Ngo i ra, phƣơng pháp khai thác luật tr n CSDL tăng trƣởng đƣợc phát triển mạnh trong thời gian gần đây [B40, B42, B43, B53]. Trong hầu hết các nghi n cứu n y, các tác giả tập trung v o l m thế n o để cập nhật lại cây FP một cách nhanh nhất khi CSDL thay đổi (th m, xóa, sửa). Trong thực tế, việc xây dựng cây FP mới chỉ l bƣớc đầu ti n trong quá trình khai thác tập phổ biến, giai đoạn khai thác tập phổ biến từ cây FP thƣờng chiếm nhiều thời gian hơn. Chính vì thế, tác giả sẽ tiếp tục tìm hiểu cách thức ứng dụng các đóng góp của luận án trong việc khai thác tập phổ biến, tập phổ biến đóng v xây dựng d n khi CSDL thay đổi. B n cạnh đó, khai thác luật kết hợp tr n CSDL có yếu tố thời gian cũng đ v đang đƣợc phát triển [B3, B30, B41, B50], tác giả cũng muốn thử nghiệm các đóng góp của luận án v o mục đích n y. Việc phát triển các thuật toán hiệu quả hơn để khai thác tập phổ biến v tập phổ biến đóng cũng sẽ đƣợc nghi n cứu. Bƣớc đầu, luận án đƣa ra đƣợc cấu trúc vectơ bit động v đề nghị thuật toán khai thác tập phổ biến dựa trên vectơ bit động. Kế đến sẽ nghi n cứu cách thức khai thác tập phổ biến đóng và xây dựng d n dựa tr n vectơ bit động.

2) CSDL số lƣợng: Đây là một loại dữ liệu thƣờng gặp trong thực tế. Thông thƣờng, một khách h ng mua các mặt h ng với số lƣợng có thể khác nhau v lợi nhuận thu đƣợc cho si u thị tr n các mặt h ng cũng có thể khác nhau. Ví dụ: Trong cùng một giao dịch, khách h ng có thể mua hai ổ bánh mì với giá mỗi ổ là 2000đ v một lon sữa với giá 12000đ. Có thể thấy, doanh thu m si u thị có đƣợc từ giao dịch tr n l 16000đ. Khi chúng ta quan tâm đến doanh thu, các phƣơng pháp khai thác luật kết hợp tr n CSDL giao dịch nhị phân khó có thể áp

dụng đƣợc. Do đó, phát triển các thuật toán khai thác cho CSDL số lƣợng l cần thiết. Hiện nay, tr n thế giới cũng đ có một số đóng góp tr n loại CSDL n y: Đầu ti n, các nghi n cứu chú ý đến trọng số của các mặt h ng (chẳng hạn giá bán) v đề nghị các phƣơng pháp khai thác tập đƣợc đánh trọng phổ biến (frequent weighted itemsets) tr n loại CSDL n y [B19, B46, B71, B75, B85]. Sau đó, số lƣợng của các mặt h ng cũng đƣợc quan tâm [B28, B29, B46, B58, B86, B87, B88, B89, B90]. Có hai hƣớng chính: i) Khai thác tập đƣợc đánh trọng hữu ích phổ biến (frequent weighted utility itemsets) [B46, B58]; ii) Khai thác tập hữu ích cao (high utility itemsets) [B28, B29, B56, B86, B87, B88, B89, B90]. Với khai thác tập đƣợc đánh trọng hữu ích phổ biến, các tác giả quan tâm đến trung bình cộng lợi ích thu đƣợc tr n mỗi giao dịch trong khi khai thác tập hữu ích cao quan tâm đến lợi ích của từng itemset. Tùy theo y u cầu ngƣời dùng, chúng ta có thể chọn lựa cách thức khai thác phù hợp. Tác giả luận án cũng đ tham gia trong các nghi n cứu li n quan đến CSDL số lƣợng [A14, A15, A16, A19, A20] v sẽ tiếp tục phát triển các thuật toán hiệu quả để khai thác tập đƣợc đánh trọng phổ biến, tập đƣợc đánh trọng hữu ích phổ biến và tập hữu ích cao. Ngo i ra, khai thác luật từ các loại tập n y cũng sẽ đƣợc quan tâm

Một phần của tài liệu 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 (đầy đủ) (Trang 120 - 149)