Khai phá luật kết hợp 2ồm hai bước: bước thứ nhất tìm tập của tất cá các tập mục phổ biến; bước thứ hai sinh ra các luật với độ tin cậy > = m inconf từ tập các tập mục phổ biến. Tronạ phần này sẽ chi ra rằng: không cần thiết phải khai phá tất cả các tập mục phổ biến tronạ bước thứ nhất mà chì cần khai phá tập các tập mục phổ biến đóng. Tập này nhỏ hơn rất nhiểu so với tập tất cả các tập mục phổ biến. Bất kỳ một luật nào được sinh ra từ các tập mục phổ biến cũng tương đương với các luật sinh ra từ các tập mục phổ biến đóng. Do vậy có thể loại bỏ các luật không cấn thiết. Thuật toán CHARM khai phá tất cà các tập mục phổ biến đóng, thực hiện với độ phức tạp tuyến tính với số các tác vụ và số các tập mục phổ biến đóng tìm được.
3.2.1 T ậ p mục phổ biến đóng
Định nghĩa 3 Cho s là một tập. Hàm c : P(S) I-» P(S) xác định giữa tập các tập con của s, là toán tử đóng (closure operator) trên s nếu với tất cá X . Y ç s. c thoả mãn các tính chất sau:
1} Mờ rộng (Extension): X Ç c ( X )
2) Đơn điệu (Monotonicity): nếu X ç Y , thì c ( X ) £ C(Y) 3} Idem potency: c ( c ( X ) ) = C(X)
48
Hình 3.3 Các tập mục phổ biến và tập đóng
Ví dụ hình 3.3 có 19 tập mục phổ biến được tổ chức thành dàn và 7 tập đóng được sinh ra hằng cách lấy hợp cùa các tập mục phổ biến có cùng tập định danh. Trong các lập đóng có 2 tập mục phổ biến cực đại: A CTW , CDW.
Định nghĩa 4 Cho quan hệ nhị phân ô Ç I X T là CSDL vào cho việc khai phá luật kết hợp. Cho X Q I và Y ç T. Khi đó ta có các ánh xạ
I: 11-> T . t( X ) = {y e T I (Vx e X ) X 5 y} i: T i—» U ( Y ) = { x e I I ( V y e Y ) x 5 y }
định nạhĩa một kết nối Galois giữa P(I) và P(T), tương ứng là tập các tập con cùa I và T. V í dụ kết nối Galois hình 3.4 ạ Hình 3.4 biểu diễn hai ánh xạ. Ánh xạ t(X ) là tập các tác vụ bao gồm các thuộc tính trons X . tươns tự i(Y ) là tập mục bao aổm các đối tượna trong Y . V í dụ t(A C W ) = 1345 và i(245) = CDW . t(X) = e x t(x) và i(Y ) = n v e V
i( v). Ví dụ t(A C W ) = t(A ) n t(C) n t(W ) = 1345 r\ 1 2 3 4 5 6 n 12345 = 1345. Tương tự 1(245) = i(2) n i(4) rs i(5 ) = C D W n A C D W n A C D T W = C D W .
Kết nối G alois thoả mãn tính chất sau (trong đó X , X|. x 2 € P(ỉ) và Y , Y|, Y2 e
P(T)>:
D X| ç X , => t(XJ ) 3 t(X->). Cho A C W çz A C T W . ta có t(A C W ) = 1345 3 135 = K A C TW ).
2) Y , Q Y2 = > i(Y|) 3 i ( Y 2). V í dụ. cho 2 4 5 ÇZ 2 4 5 6 . ta có i( 2 4 5 ) = C D W 2 C D =
i(2 4 5 6 ).
3) X ç i(t(X )) và Y Ç t( i( Y ) ). V í dụ. A C ç= i(t(A C )) = i(1 3 4 5 ) = A C W .
Với X ç I và Y ç T , C„(X) là ánh xạ hợp i 0 t(X ) = i(t(X )). Ngược lại c,ị(Y) = t ° i(Y ) = t(i(Y )) khi đó c it : P(I) l~> P(I) và c,i : P(T) í-> P(T) là các toán tử đóng trên các tập khái niệm thuộc tính và khái niệm đối tượng.
Tóm lại tập mục đóng X có X = C„(X). V í dụ A C W là tập mục đóng. Tập định danh cùa các tác vụ tidset là đóna nếu Y = c,j(Y ), ví dụ tçtp 1345 là lập định danh đóng. Na ười ta gọi i 0 t hoặc t ° i là round-trip. Hình 3.4 b biểu diễn round - trip với tập mục X. Ví dụ X = A C tính chất m ở rộng nói rang X C c ( X ) do vậy Cj,(AC) = i(t(A C }) = i( 1345) = A C W . V ì A C * Cị,(AC) = A C W nén A C không phải là đóng.
cac míiC các tác vu
neo
cốc muc các TÛC vu
50
Cho bất kỳ lập mục đónạ X nào đều tón tại một tập dịnh danh đónẹ Y , với Y = t(X) và X = i(Y ) (neược lại cho bất kỳ tập định danh đóng nào cũna tồn tại một tập mục đóng tương ứnẹ). X là tập mục đóng thì X = i(Y ) hơn nữa ta có Y = t(X), do vậy X = i(Y ) = i(t(X )) = C„(X). Một cạp X X Y trone đó X . Y là các tập đóng được gọi là khái niệm (concept). Tập X được gọi là khái niệm thuộc tính, tập Y được gọi là khái niệm đối iượng.
Khái niệm X| X Y ị là khái niệm con của x : x Y 2 được viết là X , X Y| < X 2 X Y 2 tương đương với X j Q X ; (tươna đương với Y-, Ç Y|).
Tập các tập mục phổ biến đóng nhò hơn rất nhiều so với tập các tập mục phổ biến. Phép hội và phép tuyển trên dàn khái niệm được định nghĩa như sau: Tập của tất cả các khái niệm irons C S D L quan hệ ồ B ((ỗ). < ) ỉà một dàn đầy đủ với các phép hội và phép tuyển được định nghĩa:
Phép tuyển : ( X J X Y| ) V ( X 2 x Y 2) = c lt(X| KJ X2 ) X (Y| n Y 2) Phép hội : ( X I X Y| ) A ( X 2 X Y 2) = (X| n X 3 ) X c,i(Y, u Y 2)
Tương tự đối với phép hội và phép tuyên tổna quát trên nhiểu khái niệm. Dàn khái niệm có thể dược biểu diễn bằng đồ thị Hassẹ trong đó mồi khái niệm kí hiệu một vòna tròn, khái niệm c , < c 2, c ó một đường nối siữa ch ú n s. với C| phía dưới Cọ. V í dụ
hình 3.5 a biếu diễn dàn Galois cho C SD L ví dụ về bán sách. Mỗi khái niệm gắn vói thuộc tính được gọi là khái niệm thuộc tính, gắn với đối tượng được gọi là khái niệm đối tượng. Quan sát trên một lược đồ có thể siúp cho việc nhìn ra và hiểu quan hệ °iữa các thuộc tính và các đối tượng một cách đễ dàns.
Ta xác định độ hỗ trợ cùa tập đóna X hay khái niệm X X Y là số các phần từ cùa tập định danh đóng Y = t(X ). supp (X ) = IYI = lt(X)l. Tập mục đóng hay khái niệm được eọi là phổ biến nếu độ hỗ trợ của nó lớn hơn độ hỗ trợ cực tiểu minsup. Hình 3.5 b là ví dụ tất cá các khái niệm phổ biến với minsupp = 50% . V í dụ, hội của hai khái niệm (ACDW X 4 5 ) V (C D T X 56) = c„(A C D W V CDT ) X (45 n 56) = A C D T W X 5.
Định lý 3 Độ hồ trợ của tập mục X bất kỳ bằng với độ hỗ trợ của toán tử đóng của nó supp (X ) = supp(c„(X)).
Chứns minh: Độ hỗ trợ của tập mục X là số phần từ của tập định danh t(X), supp (X ) = lt(X)l. Do đó supp(c„(X)) = lt(c„(X))l. để chứng minh điều này ta phải chí ra t(X) = t(c„(X))
Do Cị, là toán tử đóns, nó thoả mãn tính chất mở rộng t(X ) Ç c„(t(X)) = t(i(t(X))) = t(c„(X)). Do vậy t(X ) Ç t(c„ (X » . Mặt khác c„ cũnq là loán t ử dóng, X Q C„(X) suy ra t(X) D t(clt(X )) do tính chất 1 của kết nối Galois. Suy ra t(X ) = t(Cj,(X)).
Định lý này cho thấy tất cả các tập mục phổ biến được xác dịnh duy nhất bời các tập mục phổ biến đóng. Hơn nữa, tập các tập mục phổ biến đóns, nhỏ hơn rất nhiều so với tập các tập mục phổ biến.
V í dụ tập các tập mục phổ biến đóng trên hình 3.3. N °hién cứu này có thê trợ giúp phát triển các thuật toán hiệu quả từ đó chúng ta cán tính chỉ các tập mục phổ biến đóng, thav vì tính tất cả các tập mục phổ biến giống như hầu hết các thuật toán hiện tạị
3.2.3 Sinh luật
Luật kết hợp có thể là biểu thức suy diễn có đạns X| - ^ p X i, tronẹ đó X|. X ; ç I, Độ hồ trợ của nó bằng lt(X| u X 2)l. và độ tin cậy p = lt(XJ u X->)l/ lt(Xị)l. Naười la quan
52
láin đến các luật có độ tin cậỵ độ hỗ trợ lớn hơn hoặc hằng độ tin cậy cực tiểu (m;nconf). độ hỗ trợ cực tiểu (minsup) do nsười dùng dưa vàọ Ta cũng thấy rằng tập các luật kết hợp như vậy tàng rất nhanh. Bời vì nếu tập các tập mục phổ biên càng lớn thì số các luậl được sinh ra cà n s nhiềụ Tuy nhiên, người ta chi ra rằng khổno nhất thiết phai khai phá c á c luật từ tất cà c á c tập mục phổ biến, mà chì cần khai phá c á c luật sinh
ra từ các tập mục phổ biến đóng.
Định lý 4 Luật X j - » p X? tương đương với luật Ci,(Xt) C„(X2), trong đó q = p.
Chứng minh: T heo định lý 3 độ hỗ trợ cùa tập mục X bãn° với độ hồ trợ của toán tử đóng của nó c it(X ). Như vậy:
q = lt(Cj,(X|) u C„(X2))I / lt(Ci,(X,))l = lt(c„(X|)) n t(c„(X2))l / lt(Xị)l = Ỉ((X,) m (X 2)l / lt(X,)l = lt(X, u X, )l / lt(X,)l = p
Như vậy có nhiều lập mục phổ biến ánh xạ tới một tập mục phổ biến đóng. Giả sử S| là lập n lập mục (tập thuộc lính), tập các toán từ đóng của nó là c , và tập s 2 có m tập mục với tập toán tử c , , naười ta nói rằng có n. m -1 luật sinh ra rừ các tập không đón° của S| và s 2 là không cần thiết. Chúng đều tương đương với các luật Cị - » p c , Hơn nữa m.n-1 luật sinh trực tiếp từ Sị và s 2 cũng không cần thiết, chúng tương đương với c 2 C). Ví du hình 3.3 lập mục D và CD ánh xạ tới tập mục đóng CD, w và c w ánh xạ tới c w . Các luật D - > ' 4 w , D —>m c w và CD ~>Vi w tương đương với luật sinh ra từ tập đóng CD. c w là CD - » V4CW. Mặt khác xét các luật w - > v5 D, w - > V5CD, c w - > W D tươns đương với luật c w —»-V5 CD. Như vậv sử dụng các tập phổ biến đón2 ta sinh ra 2
luật thav vi 8 luật như ví dụ trên.
V í dụ đối với thử nghiệm trên CSDL về các loại nấm, với độ hỗ trợ cực tiểu m insup=10% , nsười ta tìm được 574513 tập mục phổ biến, trong đó chi có 4 8 9 7 tập mục phổ hiến đóng, gấp 100 lán !
Phán này trình bày thuật toán tìm các tập mục phổ biến đóng C H A R M . Đáy là thuật toán duyệl trên cả không gian các tập mục và không gian các tập định danh (tidset). Thuật toán tránh được việc tính toán để tìm tất cả các tập con có thê của tập đóna khi tìm các tập đóng, nó hiệu quà hon hẳn chiên lược tiếp cận từ dưới lén (bottum - up). Việc duvệt trên khòns sian các tập mục và khôna gian các tập định danh cho phép CHARM sử dụns cách ùm kiếm bó qua nhiéu bước để tìm các tập mục phổ biến đóns mội cách nhanh nhất mà không phải tính nhiều các tập con không đóns khác. Đồng thời CHARM sử dụns hai chiến lược tia: tỉa các tập ứng cử nếu lập con của nó Là không phổ biến đồng thời tỉa các nhánh dựa trên tính chất không đóne, (non closure property), hát k ỹ tập mục không đóng nào đều bị tiạ
Ỷ tường của thuật toán CH A RM là duyệt trên các nút của dàn để kiêm tra xem nút con có phài là tập phổ biến hay khônạ Tất cà các tập không phổ biến cũng như các nhánh khôn2 phải là tập đóng đểu bị tỉạ Mỗi một nút con của một nút được kết hợp với
các nút con khác cùng mức. V í dụ đối với C SD L vé bán sách đã được trình bày trên hình 3 . 1 nút A được kết hợp với các nút c , D. T và w để tạo AC. AD. A T và AW. Hiện lại có nhiéu chiến lược tìm kiếm như: ùm kiếm theo chiều rộng, chiều sâụ tìm kiếm tối ưu, các chiến lược lai, C H A R M thực hiện tìm kiếm theo chiều sáu trên các dàn con.
54
Thuật toán C H A R M
Già sư cho bát kỳ tập mục X nào ta đểu tìm dược tiđset t(X ) (tập định danh của các tác vụ chứa X ). và nsược lại cho bất kỳ tập tidset Y nào ta đều tìm được tập mục cùa nó i(Y>. Thuật toán C H A R M tính tất cà các khái niệm phổ biến từ C SD L vàọ Nhắc lại một khái niệm là cặp ký hiệu là X X Y tronc đó X = i(Y ) ià tập mục đóna và Y = t(X) là tập định danh (tiđset) đóng. Ta có thể hất đáu duyệt các khái niệm tronỉi không 2Ìan các tập
mục và khỏnạ sian tập địrih danh. Tuy nhiên sò các mục nhỏ hơn rất nhiều so với số các tác vụ, do vậy ta quan tâm đến các tập mục dónạ Ta bắt đầu với các mục đơn và kết hợp với tidset cùa chúnọ
Hình 3.7 Tính chất cơ bản của cặp tập mục và tidset
Tính ch á t c ơ bản củ a cậ p tập mục - tập định danh (tidset)
Cho f : P(I) ỉ—> N là ánh xạ 1 - 1 từ các tập mục tới các số nguyên. Cho hai tập mục bất kỳ X , và x ; , X , < X 2 nếu và chỉ nếu f ( X I > < f ( X 2). Nếu f sắp xếp cá c tập mục theo thứ tự từ điển thì AC < AD. Một ví dụ khác nếu f sắp xếp các tập mục theo thứ tự tãng của độ hồ trợ, khi đó A D < A C nếu supp(AD) < supp(AC).
Giả sử ta đang thực hiện trẽn nhánh X| X t(X j), và ta muốn kết hợp nó với nhánh khác cùn° mức x: X t ( X 2). Các tính toán chính của CH A RM dựa trên các tính chất sau:
1. Nêu t(X|) = t( X 2) thì t(X| x 2) = t(X|) n t( x 2) = t(X ị) = t( X 2). Do vậy ta có thể
thay xuất hiện cùa X , bằng X , X , . và loại bỏ X2 trong các tập sẽ sét sau nàỵ do vậy toán tử đóng của nó được thav thế bằng toán tử đóng của X| u X 2.
2. Nếu t(Xj ) c t( X 2) thì t(X) u Xọ) = t(X | )m ( x 2) = t(X|) * t(X 2). Ta có thể thay thế mỏi xuất hiện cúa X| với X] u X i, vì nếu X[ xuất hiện trong bất kỳ tác vụ nào thì X ; cũn2 xuất hiện. Nhưns đo t(X|) * t( X 2) ta không thể loại bò x2 .
3. Nếu t(X|) 3 t(X ,) thì t(Xị u x 2) = t(X |)nt( x 2) = t ( X 2) * t(X|). Trong trường hợp này la thay thế mỗi xuất hiện của X , với X| u X->. vì bất cứ khi nào X i xuất hiện Xị cũng xuất hiện. X| còn sinh ra một tập đóng khác , do nó phải được giữ lạị
4. Nếu 1(X|) t( X 2) thì t(X| u x 2) = t ( X j) n t ( X ; ) * t ( X 2) * t(X|). Trong trường hợp này không khử đi tập nào; cả X| và X ; đéu sinh ra các toán tử đóng khác.
Hình 3.7 mô tả 4 trường hợp trên. Ta thấy rằng chi những tidset đóng được duy trì sau khi ta kết hợp hai cặp tập mục - tidseị V í dụ nếu hai tập tidset bẳng nhau, một tập bị lia (tính chất 1). Nếu một tídset là tập con cúa tập khác, khi đó tập tidset kết qúa hằng với tập nhỏ hơn từ tập cha và ta loại bỏ tập cha đó (tính chất 2 và 3). Cuối cùng nếu các tidset không bằng nhau, thì hai tập này và tập giao của chúng là các lập đóng.
Ví dụ : irước khi trình bày thuật toán, ta xét xem các tính chất cơ bản trên được áp dụng trong thuật toán C H A R M đế khai phá các tập phổ biến đóng.
Xéi ví dụ trong hình 3.8 thực hiện đối với C SD L bán sách đã được trình bày trên hình 3.1. Ban đầu ta có năm nhánh, tương ứna với nărr. thuộc tính và các tập tidset của chúns trong C SD L ví dụ (sử dụng minsup = 3). Để sinh các nút con của mục A (cặp A X 1345) ta phải hợp A với tất cả các nút con cùng mức ké phía pháị Khi ta iấy hợp hai cặp X j X t(X ị) và X ; X t ( X 2) cặp kết quả là ( X j u X 2) X (t(Xj> n t ( X 2)). Nói cách khác ta
56
Hình 3.8 a) C H A R M theo thứ tự từ điển b) C H A R M theo chiều tãna cùa độ hỗ trợ Khi ta hợp A với c . ta thấy tính chất 2 thoả mãn. t(A) = 1345 Ç 123456 = t(C). Ta có thể thay thế A bởi tập AC.
Hợp A với D ta được tập không khổ biến ACD, ta loại bò tập nàỵ Hợp với T tạo thành cặp A C T X 135; thoá mãn tính chất 4 nên cặp này được giữ lạị Cuối cùng lấy hợp với vv la thấy t(A) ÇZ t(W ), iheo tính chất 2, AC được thay bans ACW và A CT được thay bans AC.TW, kết thúc trên nhánh với nút gốc là Ạ
Ta bắt đầu với nhánh c . Khi hợp c với D theo tính chất 3 ta có t(D) c t(C). có nghĩa là mỗi khi c xuất hiện đẻu xuất hiện D, do vậv nhánh D bị loại bò; nút con CD được thay thế D. Hoàn loàn tương tự đối với T và w . Cả hai nhánh này đều bị loại bỏ và được thay bời CT, c w (là con cùa C). Tiếp tục với nút CD, hợp với CT ta được tập không phổ biến CDT. loại bỏ nó. Kết hợp CD với c w ta được CDW theo tính chất 4 giữ lại tập nàỵ Tươnẹ tự hợp C T với c w ta được CTW . Cuối cùng ta loại bỏ C TW vì nó là tập con của A CTW X 135. Ta thấy rằng chỉ cần 10 bước để tìm ra 7 tập mục phổ biến đóng irons ví dụ trên.
Mô phỏng thuật to án C H A R M Hình 3.9 mô phònạ thuật toán CHARM . Thuật toán bắt đầu với việc khởi tạo các mục đơn (1- thuộc tính) và tập tidset của chúng trona dòng ỉ. Hàm C H A R M -E X T E N D trà lại các tập mục phổ biến đóng c. Hàm CH A RM -
EX TEN D có nhiệm vụ tìm các tập mục phổ biến đóns trên một nhánh nào đó. Hàm này mỏ' rộna mỗi cặp tập mục- tidset trong nút hiện lại với Nodes (X, X t(Xj)) dòng 3, và lấy hợp với các cặp cùn s mức khác kề phải (Xj X t(X,)> dòng 5 theo điểu kiện f() (f() là một sáp xếp theo trật tự nào đó. ví dụ hình 3.10). D òns 6 là phép hợp của hai cặp. Hàm C H A R M -PR O PER T Y ÍN odes, NevvN) kiểm tra ràng buộc về độ hỗ trợ và kiểm tra xem