Else if CF( i) < min_ỉmv then

Một phần của tài liệu Phương pháp luật kết hợp trong khai phá dữ liệu (Trang 35 - 42)

8. Cị := Cị9. RC := c,; 9. RC := c,; 11.for k:=2 to h 12.begin 13.for each Xp, Xq^ RCk- 1 14.ck :=Apriori-join(Xp, Xq); 3

15.for each TẳDB// duyệt cơ sở dữ liệu DB

16.tắnh giá trị lmv(X) và CF(X) của các ứng viên X trong ck; 17.for each X E Cfc 18.if lmv(X)> min_lmv 19.F. - F. u f x ) 20.else if CF(X)<min_lmv 21. 22. RC)i'Ồ Ck, 21.end 22.return F = ;

Ưu điểm và nhược điểm của thuật toán: ưu điểĩĩi:

Thuật toán có ưu điếm nối bật là sau khi thực hiện tìm được tập F chứa tất cả các tập mục cổ phần cao. Đây là một thuật toán tốt để khai phá tập mục cổ phần cao,

Nhược điểm:

Thuật toán sử dụng hàm tới hạn CF(X) để thu gọn tập các tập mục ứng viên nhưng thực tế sổ các tập mục của tập RCk vẫn còn lớn do giá trị hàm tới hạn CF(X) còn cao, chưa sát với giá trị thực của các tập mục trong RCk-

Để khắc phục nhược điểm của thuật toán FSM, luận văn trình bày một thuật toán hiệu quả phát triển từ thuật toán FSM, gọi là thuật toán AFSM (.Advanced

FSM).

3.4.Thuật toán AFSM

Như phần trên đã trình bày, ràng buộc cổ phần không có tắnh chất phản đơn điệu như tập mục thường xuyên, đây chắnh là trở ngại của bài toán khai phá tập mục cố phần cao. Đe khắc phục điểu này, luận văn trình bày khái niệm Ềgiá trị theo giao tác của tập mụcỂ, Ềtập mục cổ phần theo giao tác caoỂ và chửng minh tập mục cổ phần theo giao tác cao có tắnh chất phản đơn điệu (Anti Monotone), do đó có thể sử dụng để tỉa các tập mục ứng viên.

Định nghĩa 3.6: Cho tập mục X, dbx là tập các giao tác chứa X. Giá trị theo giao tác (transaction measure value) của tập mục X, ký hiệu tmv(X), là tổng giá trị của tất cả các giao tác chửa tập mục X , tức là tmv(X) = Tmv(đbỵ) = ^ tmv(T ).

r,s d bx

Vắ dụ: Xét cơ sở dữ liệu ở bảng 3.1: ắmv(A) = tmv(idO\) + tmvựdOĨ) = 9 + 6

= 15. Định nghĩa 3.7: Tập mục X được gọi là tập mục cố phẩn theo giatì

tấc cao nểu tmv{x) > mỉn_ỉmv. Trường hợp ngược lại, X được gọi là tập mục

co phần theo giao tác thấp.

Vắ dụ: Xét cơ sở dữ liệu ở bảng 3.1 với minShare=35%, min_ỉmv=21,0,

tmv(A) -ỉ5, îmv(E)=24, 1 -tập mục A là tập mục cố phẩn theo giao tác thấp còn

E là tập mục cổ phần theo giao tác cao.

Định lý 3.1: Tập mục cổ phần theo giao tác cao có tắnh chất phản đơn điệu (Anti

Monotone).

Chúng minh:

Xét hai tập mục X, Y sao cho Y с X , ta chứng minh nếu Y là tập mục co phần theo giao tác thấp thì X cũng là tập mục co phần theo giao tác thấp. Ta có Y а X nên

dby Z) dbỵ , do đó tmv(Y) = Tmv(dby ) > Tmvịdbỵ ) = tmv(X).

Nếu F là tập mục cổ phần theo giao tác thấp, tửc là tmv{Y)<min_lmv thì

Imvịx ) < imv(Y) < min_ìmv, X cũng là tập mục co phần theo giao tác thấp.

Định lỷ 3.1 cho biết các tập mục cổ phần theo giao tác cao có tắnh chất phản đơn điệu như tắnh chất của tập mục thường xuyên, do đó có thế sử dụng tắnh chất này để tỉa các ứng viên khi khai phá,

Định lý 3.2: Nếu tập mục X là tập mục cổ phần cao thì X cũng là tập mục cổ phần

theo giao tác cao.

Chứng minh: dbx là tập các giao tác chứa tập mục X, ta có:

ỉmv(X)= T4fidhỵ ẳ ịmv(X,T i / )= Y, Y, Tfdbxắ,eĩm v ^p' T ^- X mv(ỉ TvEắlhxi^T'p ,T q ) = tmv(X)

Do vậy, neu X là tập mục cổ phần cao, tức lmx(x) > min_tmv, thì X cũng là tập mục cổ phàn theo giao tác cao vì tmv(X ) > lmx(X) > min_lmv . Từ định lý 3.2 có thể suy ra tập các tập mục cổ phần cao chứa trong tập các tập mục cổ phần theo giao tác cao. Theo định lý 3.1, các tập mục cổ phần theo giao tác cao có tắnh chất phản đơn điệu như tập mục thường xuyên, do đó ta có thể áp dụng một số thuật toán khai phá tập mục thường xuyên đã có (như các thuật toán kiếu Apriori, thuật toán tìm kiếm theo chiểu sâu FP- growth), thay số lần xuẩt hiện của tập mục bởi giá trị theo giao tác của tập mục thì sẽ nhận được kết quả khai phá là các tập mục cố phần theo giao tác cao. Khi đó ta chỉ cần duyệt lại cơ sở dữ liệu để tắnh giá trị đóng góp thực sự của các tập mục cổ phần theo giao tác cao để nhận được các tập mục cổ phần cao.

Định lý 3.2 cũng cho ta một điều kiện cần để X là tập mục cổ phần cao, đó là X phải là tập mục cổ phần theo giao tác cao.

Áp dụng định ]ỹ 3.1 và định lý 3.2, luận văn trình bày cách tỉa các tập ứng viên trong thuật toán mới AFSM như sau:

ố bước lặp thứ k, neu X là tập mục co phần theo giao tác thấp thì X là tập mục

cổ phần thấp và mọi tập cha của X cũng là tập mục cỗ phần theo giao tác thấp. Do đó ta có thể loại bỏ tập ửng viên X, từ bước (k+1) trở đi không cần sinh ra các tập cha của X nữa.

Như vậy, điều kiện đế tỉa các ứng viên cho thuật toán mới AFSM là tmv(X ) <

min_ỉmv. Đe tiện trình bày khi so sánh với thuật toán FSM, ta cũng gọi giá trị

tmv(X) là hàm tới hạn của tập mục X. Ký hiệu CFF S M(X) và CFA F S M(X) tương ứng

là hàm tới hạn dùng cho thuật toán FSM và thuật toán mới AFSM:

CF F S 4 {X)-lmv{X) + ỉ m v { ỵ ) MVịML-k), CFA F S M(X) = tmv(X).

к

Định lý 3.3: Cho cơ sở dữ liệu DB và k-tập mục X. Khi đó: 1- CFA F S M(X)<CFF S M{X).

2. Giá trị hai hàm tới hạn luôn bang nhau khi cơ sở dữ liệu DB là bảng nhị phân với độ dài các giao tác bằng nhau.

Chứng minh: a )CFA F S M(X)<CFF S M(X): Ta có: CF A F S M (X) = tmv(X) = Tm.v(db x )= ỵ tmv{T q )= X Ц т ^р’ Т ч ) T^dbx TẦedbxir,€7, = z [Emv^’7^+ z 7;)] 7;,edi.* i,ẳ)( 1реТу\Х = z Zmv<iP’7i>+ z z mv(v7;)

7,e dhx ipẳ XT4e dbx ips Tq \ X

- l m v ( X ) + ẳ 2] m v ( i p , T q ) TẦçdby LeTAX \mv(i T ) < MV Vi I I (a) yT \x\<ML-k nên: CF A F S M (X)<lmv(X)+ ẳ MV.(ML-k) = lmv(X) + \db x \.MV.(ML-k) T^dbx Mặt khác, mvự , т )> 1 với ì' ỄỈ nên ta có: \dbx I < (b) /c Do đó: CFAFSM (X)<ỉmv(X) + \db x \.MV.(ML = k) l m v ( X ) ẦẦ (c) < /mv(X) + ^MV.(A/L- *) = CFraM(X). к 3

Vậy: CFA F S M (X) < CFF S M (X).

b) Xét điều kiện để CFA F S M ( X ) = CFF S M (X ) :

Từ chứng minh ở phần 1) trên ta thấy, CFA F S M(X) = CFF S M(X) khi xảy ra đồng thời hai dấu Ề=Ể trong bất đắng thức (c), tức là khi xảy ra dấu Ề=Ể của bất đẳng thức (a) và dấu Ề=Ể của bất đẳng thức (b).

, , Ị m v ( i p , T ) = M V, Vi p e T \ X

+ Xảy ra dâu Ề=Ể của bât đãng thức (a) khi: ị. .

[|r \ x \ = M L - k , vr € d b ỵ

+ Xét xảy ra dấu Ề=Ể của bất đắng thức (b) : không mất tắnh tổng quát, có thể giả sử k-tập mục X nằm trong \dbx\ giao tác của bảng cơ sả dữ liệu như sau:

Do đó, \dbỵ I = ^ mvự f T') = 1 với V/ e X , X c Ỉ 6 dbx

k

Vậy CFA F S M(X) = CFF S M(X) khi:

mv(i p ,T i i ) = MV, Vi p eT q \X \t\ = ML , VT e dbỵ

mvựp,Tắ/) = l V ipe x , x

Từ hệ điều kiện (#) trên ta thấy như sau:

- Thỏa mãn hệ điều kiện (#) là khó khăn. Với k-tập mục X, giá trị hai hàm tới hạn chỉ bằng nhau nếu cả 3 điều kiện của hệ điều kiện (#) được thỏa mãn, còn lại các trường hợp khác thì CFA F S M(X)< CFF S M (X).

- Trường hợp xấu nhẩt, giá trị hai hàm tới hạn luôn bang nhau xảy ra khi hệ điều kiện (#) được thỏa mãn với mọi k-tập mục X có k tăng dần từ 1, điều đó xảy ra khi cơ sở' dữ liệu DB là bảng nhị phân (0/1) có độ dài các giao tác bằng nhau.

Vắ dụ: Trong CSDL bảng 3.5a, độ dài giao tác dài nhất ML=3, giá trị lớn nhất của các mục dữ liệu trong CSDL là MV= 3, chỉ có một trường hợp hai hàm tới hạn bằng nhau, đó là với 2-tập mục X ={Ạ,5]. CFA F S M (AB) = tmv(AB) = Tmv(db, A st) = tmv(TŨỉ) + tmv(T02) = 5 + 5 = 10 Imv(AB) .MV.(ML-k) = 4 +Ồ.3.(3- 2) = 10. 3 CFfsm (a b) = ( \dbỵ\ dòng

CSDL ở bảng 3.5b minh họa cho trường hợp hai hàm tới hạn luôn bằng nhau. 0 đây, độ dài các giao tác là 3, tức độ dài giao tác dài nhất ML=3, giá trị lớn nhất của các mục dữ liệu trong CSDL là MV= 1.

Xét k= 1, mục ,4 có lmv(A;=3, db = [idO 1,Ỉd02,idQ5}

CFA F S M (A) = tmv( A) = Tmv(db ị A ] ) = 9

Định lý 3.3 cho thấy hai hàm tới hạn chỉ luôn bằng nhau trong truòng hợp rất đặc biệt của dữ liệu, ngoài trường hợp này, hàm tới hạn mới nhỏ hơn hàm tới hạn cũ, điều này đảm bảo cho thuật toán AFSM thực hiện hiệu quả hơn thuật toán FSM.

Thuật toán AFSM

Dựa trên ỷ tưởng của thuật toán FSM và cơ sở lý thuyết tình bày ở phần trên, luận vãn trình bày thuật toán mới AFSM như sau:

- Giữ nguyên các bước của thuật toán FSM. - Ở bước lặp thử k :

Hàm Apriori-gen nối các cặp (k-l)-tập mục trong RCk_t để được tập ứng viên

4

CFF S M (A) = lmv(A) + ỉ m v { A } .MV. (ML-k) = 3 + - .1 .(3 -1) = 9 ■

k 1

Bảng 3.6 là giá trị của hai hàm tới hạn với k=l. A B c D E Imv 3 3 3 1 2 CFAF SM 9 9 9 3 6 CFfS M 9 9 9 3 6

Bảng 3.5b: CSDL minh họa trường hợp hai hàm tới hạn luôn bằng nhau.

TỈD A B c D E t m iđOỈ 1 0 ] 0 1 3 id02 1 1 ] 0 0 3 id03 0 0 0 0 0 0 ỉd04 0 1 1 1 0 3 id05 1 1 0 0 1 3 imv 3 3 3 1 2 1 2 Bảng 3.5a: CSDL minh họa trường hợp hai hàm tới hạn bằng nhau. TID A B c D E t m idOỈ 1 1 3 0 0 5 iả02 1 1 0 0 3 5 id03 0 0 0 0 0 0 id04 0 1 ắ 1 0 3 id05 0 ] 0 0 1 2 imv 2 4 4 1 4 1 5

Ck, sau đó thuật toán tỉa ứng viên X G Ck nếu X có ắt nhất một tập mục con độ dài (k-1 ) không thuộc RCk_}.

Sau khi duyệt cơ sở dữ liệu đế tắnh giá trị lmv(X) và tmv(X) của các ứng viên XeCj, thuật toán tỉa ứng viên XeCt nếu tmvịx ) < min _ Imv .

Với ứng viên XeCj có tmv(X) > min_ỉmv thuật toán kiểm tra giá trị của

lmv(X), nếu lmv(X)>min_ỉmv thì X là tập mục cổ phần cao, X được kết nạp vào tập HSk.

Ở đây có một thay đổi so với thuật toán FSM là kiểm tra điều kiện tỉa

tmv(X)<min_lmv trước, nếu X không bị tỉa mới xét xem nó có phải tập mục cổ phần cao không.

- Có thể cải tiến bước sinh tập ứng viên Ck :

Có ba phương pháp thường dùng để sinh tập ứng viên Ck là:

+ Phương pháp Brute-Force, sinh ra mọi tập mục ứng viên độ dài k ;

+ Phươne pháp Fk lxF,, nối tập mục độ dài (k-1) với một mục đơn đế được tập mục độ dài k;

+ Phương pháp F^xF^, noi hai tập mục độ dài (k-1) nếu chúng có (k-2) mục đầu giổng nhau để được tập mục độ dài k;

Trong [12], tác giả cải tiến phương pháp sinh tập ứng viên Ck theo phương pháp Fs lxF,. nối mỗi (k-l)-tập mục trong RCk_i với một mục đơn trong RC/ đế được tập Cfc. Nếu các tập mục được sắp thứ tự, phương pháp Fk lxFk_, không sinh ra các tập mục ứng viên trùng lặp. Thuật toán AFSM sừ dụng cách sinh tập ứng viên theo phương pháp Fk lxFk l, tức là nối các cặp tập mục độ dài (k-1) trong RC^ nếu chúng có (k-2) mục đầu giống nhau.

Từ các cơ sở lý thuyết đã trình bày, luận vãn trình bày thuật toán AFSM như sau:

Thuật toán AFSM()

Input: Cơ sở dữ liệu giao tác DB, ngưỡng cố phần mìnShare (s%). Output: Tập HS gồm các tập mục cổ phần cao.

Method:

1. k:=l,HS,:=0,C,:=I;

2. foreachTeDB // duyệt cơ sở dữ liệu DB

3. tắnh lmv(ip) và tmv(i ) cho Vỉ G c, ; 4. foreach ip€C]

5. if tmv{ip)<minjmv then6. c,:=c,\{i,} 6. c,:=c,\{i,}

Một phần của tài liệu Phương pháp luật kết hợp trong khai phá dữ liệu (Trang 35 - 42)

Tải bản đầy đủ (DOCX)

(57 trang)
w