Phép hội ’

Một phần của tài liệu Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet (Trang 57)

Hàm T:[0,1]2 —> [0,1] là một t-chuẩn (chuẩn tam giác hay t-norm) nếu thỏa mãn các điều kiện sau:

- T ( l , x ) = X , v ớ i m ọ i 0 < x , y < 1,

- T có tính giao hoán, tức là T(x,y) = T(y,x), với mọi 0 < x,y < 1,

- T không giảm theo nghĩa T ( x ,y ) < T (u ,v ), vớ i mọi X < u, y < V,

- T có tính kết hợp: T(x,T(y,z)) = T(T(x,y),z) với mọi 0 < x,y,z < 1. Vài ví dụ về t-chuẩn:

- Dạng tích: T(x,y) = xy,

- t-chuẩn Lukasiewicz: T(x,y) = max {x+y-1,0}

• -1 * *rc A 1 n m \ TY [min(x,y)neu x + y >1

- min nilpotent (Fodor 1993) T(x,y) =<

[ 0 neu x + y ắ l

♦ u- * Ẵ A 4\ -7f \ - írnin(x,y) neu m a x (x ,y ) = 1

- t-chuân yêu nhat (drastic product): Z(x,y) = \

[ 0 n e u m a x (x ,y )< l

Ta có với mỗi t-chuẩn T thì:

Z(x,y) < T(x,y)< min(x,y) với mọi 0 < x,y < 1 3.1.2.3 Phép tuyển

Định nghĩa: Hàm S:[0,1 ]2 —* [0,1] gọi là phép tuyển (OR suy rộng) hay là t-đối chuẩn (t-conorm) nếu thỏa mãn các tiên đề sau:

- S ( 0 , x ) = X v ớ i m ọ i X € [ 0 , 1 ]

- s có tính giao hoán: S(x,y) = S(y,x) với mọi 0 < x,y < 1

- s không giảm: S(x,y) < S(u,v) với mọi 0 < X < u < 1 v à 0 < y < v < l - s có tính kết hợp S(x,S(y,z)) = S(S(x,y),z) với mọi 0 < x,y,z < 1

Định lý: Cho n là phép phủ định mạnh, T là một t-chuẩn, khi ấy hàm s xác định trên [0,1]2 bằng biểu thức:

S(x,y) = nT(nx,ny) với mọi 0 < x,y < 1 là một t-đối chuẩn 3.1.2.4 Luật De Morgan

Cho T là t-chuẩn, s là t-đối chuẩn, n là phép phủ định chặt. Bộ ba (T,s,n) là một bộ ba De Morgan nếu: n(S(x,y)) = T(nx,ny).

3.1.2.5 Phép kéo theo

Định nghĩa 1: Phép kéo theo (implication) là một hàm số I:[0,1]2 —► [0,1] ứiỏa mãn các điều kiện sau:

+ Nếu X < z thì I( x ,y ) > I(z ,y ) với mọi y e [0,1] + Nếu y < u thì I ( x ,y ) < I(x ,u ) vớ i mọi X e [0,1]

+ 1(0,x) = 1 với mọi X G [0,1]

+ I(x ,l) = 1 với mọi X 6 [0,1]

+1(1,0) = 0

Định nghĩa 2: Dạng kéo theo thứ nhất. Hàm ISi(x,y) xác định frên [0,1]2 bằng biểu thức: Isi(x,y) = s (n(x),y)

Định nghĩa 3: Với bất kỳ t-chuẩn T, t-đối chuẩn s và phép phủ định mạnh n nào,

Isi là một phép kéo theo thỏa mãn I(x,y) = S(T(x,y),nx) (adsbygoogle = window.adsbygoogle || []).push({});

Định nghĩa 4\ Cho (T ,s,n) là bộ ba De Morgan với n là phép phủ định mạnh, phép kéo theo thứ ba Is(x,y) xác định ừên [0,1]2 bằng biểu thức

Is(x,y) = S(T(x,y),n(x))

3.1.3 Áp dụng tập mờ để rời rạc hóa dữ liệu và các ưu điểm

Theo lý thuyết tập mờ, một phần tử vào một tập nào đó với một “mức độ thuộc” (membership value) nằm trong khoảng [0,1]. Giá trị này được xác định dựa vào hàm thuộc (membership function) tương ứng với mỗi tập mờ.

Các ưu điểm của áp dụng tập mờ để rời rạc hóa dữ liệu:

Ưu điểm thứ nhất: Giải quyết được vấn đề “điểm biên gãy” nhờ tập mờ có thể phân khoảng mịn hơn nhờ vào “độ trơn” của hàm thuộc.

Ưu điểm thứ hai: Rời rạc hóa bằng phân khoảng đôi khi tạo ra số khoảng rất lớn và do đó số thuộc tính nhị phân cũng rất lớn. Còn khi sử dụng tập mờ thì số lượng tập mờ gắn với mỗi thuộc tính là không đáng kể.

Ưu điểm thứ ba: Tập mờ cho phép chúng ta biểu diễn luật kết hợp dưới dạng tự

ư u điểm thứ tư: Giá trị thuộc tính sau khi rời rạc hóa (sau khi tính qua hàm phụ thuộc) biến thiên trong khoảng [0,1] cho biết “mức độ thuộc” ít hay nhiều trong khi đó các thuộc tính nhị phân trước đây chỉ có một trong hai giá trị 0,1. Điều này cho chúng ta khả năng ước lượng chính xác hơn “độ đóng góp” của các bản ghi trong cơ sở dữ liệu vào một tập phổ biến nào đó.

Ưu điểm thứ năm: Các thuộc tính mặc dầu đã được mờ hỏa, nhưng vẫn giữ nguyên được một số tính chất của thuộc tính nhị phân, do đó vẫn có thể áp dụng các thuật toán khai phá luật kết hợp mờ với một vài thay đổi. Ví dụ tính chất “một tập con khác rỗng của tập phổ biến cũng là tập phổ biến và mọi tập chứa tập không phổ biến đều là tập không phổ biến” vẫn còn đúng nếu chúng ta chọn được phép toán T- norm (T-chuẩn) phù hợp.

Một ưu điểm nữa đối với rời rạc hóa dựa vào tập mờ là nó có thể áp dụng tốt cho cả hai dạng cơ sở dữ liệu: cơ sở dữ liệu quan hệ (relation database) và cơ sờ dữ liệu dạng giao tác (transactional databases).

3.2 Các luật kết hợp mờ [3] [11]

Cho I = . .,in} là tập n thuộc tính, iu là thuộc tính thứ u trong I. T = {ti,t2,...,tm} là tập m bản ghi, ty là bản ghi thứ V trong T.

tv[ i j cho biết giá trị của thuộc tính iu tại bản ghi ty.

Áp dụng phương pháp mờ hóa thuộc tính ờ phẩn trên, gắn thuộc tính iu với một tập các tập mờ như sau: Fi„= Luật kết hợp mờ có dạng: X is A => Y is B Trong đó: X,Y c I là các tập mục (tập thuộc tính). x = {xi,x2,...,xp} X j* X j( n ế u i* j) Y = {yi,y2,...,yq} y i* y j( n ế u i* j)

A = { f x i , f x 2 , - - - , f x p } , B = { f y l , f y2, . . - , f y q } l à t ậ p c á c t ậ p m ờ t ư ơ n g ứ n g với các thuộc tính trong X và Y. fxi 6 Fxj và fyk e Fyk.

Có thể viết lại luật kết hợp mờ ở một trong hai dạng sau:

X = {xj, x2,...,xp} is A = {fxi, f*2,—»f*p} => Y = {yj, y2,...,yq} is B = {fyi, fy2,...,fyq}

(Xi is fxi) AND ... AND (Xp is fXp) => (yi is fyl) AND ... AND (yp is fyp)

Một tập thuộc tính mờ trong luật kết hợp mờ là một cặp <X,A> với A là tập các tập mờ tương ứng với các thuộc tính trong X v à X c I .

Độ hỗ ừợ (Fuzzy support) của tập mục <X,A> ký hiệu là fs(<X,A>) được xác định theo công thức:

f (<x A>) = £ í í i a*r(/,[*,])}

Trong đó:

- |T| (Lực lượng của T) là số bản ghi trong T và bằng m.

- X = {xi,x2,.. .,X p }: Tập các thuộc tính, Xi là thuộc tính thứ i trong X. - T = {ti,t2,...,tm}: Tập các giao tác, ty là giao tác thứ V trong T

- a xu(tv[xu]) được xác định theo công thức

u r Tk = í m *> D n e u m *‘ [*i ] )

a*i(tv[Xi]) = r . .

[0 neunguoclai

V ớ i: mxi là hàm ứiuộc của tập mờ fXj gắn vớ i ứiuộc tính Xj (adsbygoogle = window.adsbygoogle || []).push({});

wxi là ngưỡng (xác định bởi người dùng) của hàm thuộc mxi.

- ® là toán từ T-norm (T-chuẩn). Trong lý thuyết logic mờ, nó có vai trò giống như phép toán AND ứong logic cổ điển. Có nhiều cách lựa chọn phép toán T-norm như:

Phép lấy min: a ® b = min(a,b) Tích đại số: a ® b = ab Tích bị chặn: a ® b = max(0,a+b-l) Tích Drastic: a ® b = a (neu b - 1) b (neu a - 1) 0 {neu a,b< 1)

Phép giao: a <8> b = 1- min [l,((l-a)w + (l-b)w)1/w] (với w >0)

Phép lấy min và phép tính đại số là hai phép toán phù hợp nhất vì nó thuận tiện cho việc tính toán và thể hiện được mối liên hệ chặt chẽ giữa các thuộc tính trong các tập phổ biến.

Khi chọn phép lấy min cho toán tử T-norm, công thức trở thành dạng:

ơ, K ], « , 2 ơv [* 2])>-><*,p ơ* [ x p] }

f S < X , A > = — --- --- --- --- --- — | f |

Khi chọn phép tích đại số cho toán tử T-norm, công thức trở thành công thức sau:

fs<X,A>= — -i-i--- |r|

Một lý do khác để sử dụng hai phép toán lấy min và phép tích đại số cho toán từ T-norm lại liên quan đến ngữ nghĩa của luật kết hợp mờ. Trong logic cổ điển, phép kéo theo (—*■) của p —> Q liên kết hai mệnh đề p và Q với nội dung ngữ nghĩa là “nếu p thì Q”. Đây là một liên kết logic khá phức tạp, nhằm diễn tả một quan hệ nhân quả, tức là chỉ trong trường hợp p và Q có quan hệ phụ thuộc nhân quả với nhau. Nhưng khi hình thức hóa, người ta gán cho p —* Q một giá trị chân lý như là hàm của các giá trị chân lý của p và Q nên dễ khập khiễng về mặt giải thích ngữ nghĩa.

Trong logic mờ, phép kéo theo cho ta các mệnh đề phức dạng “ Nếu u là p thì V là Q ” , trong đó p , Q là hai tập mờ, ta có thể xem “ nếu u là p thì V là Q ” tương đương

với việ c (u ,v ) thuộc tập mờ nào đó trên tập không gian u X V , ta k í hiệu tập mờ đó

là p —> Q. Định nghĩa quan hệ kéo theo trong logic mờ có nghĩa là định nghĩa tập mờ p —► Q (hay xác định hàm thuộc mp_^q) từ các tập mờ p và Q (hay từ hàm thuộc mp của p và mq của Q). Một số cách xác định mp_q từ mp và mq như:

Theo logic cổ điển: V(u,v) e u X V: mp_-q(u,v) = ®(l-mp,mq)

Trong đó ® là toán tử S-norm (hay còn gọi là T-đối chuẩn). Nếu ® là phép lẩy max ta có mp^ q(u,v) = max(l-mp,mq) (dienes) Nếu ® là tổng xác suất ta có mp_ q(u,v) = 1-rrip + mp*mq (mizumoto) Nếu ® là phép lấy min ta có mp_ q(u,v) = min(mp,mq) (Mamdani) Nếu ® là phép lấy tích đại số ta có mp^q(u,v) = mp*mq (Mamdani)

Luật kết hợp mờ cũng là một trong những dạng luật kéo theo mờ, do đó nó cũng phải “tuân thủ” về mặt ngữ nghĩa của dạng luật này.

Tập phổ biến: một tập thuộc tính mờ <X,A> là phổ biến nếu độ hỗ ữợ của nó lớn hom hoặc bằng độ hỗ trợ tối thiểu fminsupp (fuzzy minimum support) do người dùng nhập vào: fs(<X,A>) > fminsup

Độ hỗ trợ của một luật mờ được tính theo công thức sau: fs(<x is A => Y is B>) = fs(<x u Y, A uB>)

Độ tin cậy của một luật kết hợp được xác định theo công thức sau: fc(<x is A =>Y is B>) = fs(<x is A => Y is B>)/fs(<X,A>)

M ột luật được gọi là phổ biến nếu độ hỗ trợ của nó lớn hơn hoặc bằng fminsupp, có nghĩa là fs(<x is A => Y is B>) > fminsupp

Một luật được xem là tin cậy nếu độ tin cậy của nó lớn hơn hoặc bằng độ tin cậy tối thiểu fminconf. fc(<x is A =>Y is B>) > fminconf. fminconf (fuzzy minimum confidence) được xác định bởi người dùng.

3.3 Các thuật toán khai phá luật kết hợp mờ

Thuật toán khai thác luật kết hợp mờ dựa trên thuật toán Apriori nhị phân và một số thay đổi ứong cài đặt thực tế nhằm cải thiện thời gian tìm luật. Thuật toán khai thác luật kết hợp mờ chia là ba pha chính như sau:

Pha 1: Chuyển đổi từ cơ sờ dữ liệu dạng quan hệ sang cơ sở dữ liệu mờ. Cơ sở dữ liệu mờ được tính toán từ cơ sở dữ liệu ban đầu thông qua hàm thuộc của các tập mờ tương ứng với từng thuộc tính.

Pha 2: Tìm tất cả các tập thuộc tính mờ phổ biến dạng <X,A> có độ hỗ trợ lớn hơn độ hỗ trợ cực tiểu của người dùng nhập vào fs(<X,A>) > fminsupp.

Pha 3: Sinh các luật kết hợp mờ tin cậy từ các tập phổ biến đã tìm thấy ở pha thứ nhất. Nếu <X,A> là một tập thuộc tính mờ phổ biến thì luật kết hợp mờ được sinh từ X có dạng: X is A —► x \ x is A \A . Trong đó:

X là tập con khác rỗng của X. x \ x là hiệu của hai tập hợp X và X .

fc là độ tin cậy của luật thỏa mãn fc > fminconf (do người dùng xác định)

A là tập con khác rỗng của A và là tập các tập mờ tương ứng với các thuộc tính trong X . A\A là hiệu của hai tập hợp A và A . (adsbygoogle = window.adsbygoogle || []).push({});

Đầu vào của thuật toán (inputs): cơ sở dữ liệu D với tập các thuộc tính I và các bản ghi T, ngưỡng hàm thuộc Wf, độ hỗ trợ tối thiểu fminsupp, độ tin cậy tối thiểu fminconf, và Toán tử T-norm (®).

Đầu ra của thuật toán (outputs): Tập tất cả các luật kết hợp mờ tin cậy. Bảng 4. Các ký hiệu sử dụng trong thuật toán khai phá luật kết hợp mờ

hiệu

D Cơ sở dữ liệu (dạng quan hệ giao tác)

I Tập các mục (thuộc tính) trong D

T Tập các giao tác (hoặc bản ghi) trong D

Dp Cơ sở dữ liệu mờ được tính toán từ cơ sở dữ liệu ban đầu thông qua hàm thuộc của các tập mờ tương ứng với từng thuộc tính.

Ip Tập các thuộc tính trong Dp, các thuộc tính trong mỗi bản ghi đã được chuyển sang một giá trị thuộc khoảng [0,1] nhờ hàm thuộc của các tập mờ tương ứng với từng thuộc tính.

Tf Tập các bản ghi trong Dp, các thuộc tính trong mỗi bản ghi đã được chuyển sang một giá trị thuộc khoảng [0,1] nhờ hàm thuộc của các tập mờ tương ứng với từng thuộc tính.

Fminsupp Độ hỗ trợ tối thiểu Fminconf Độ tin cậy tối thiểu

c k Tập các thuộc tính có kích thước k

Fk Tập các thuộc tính phổ biến có kích thước k F Tập tất cả các thuộc tính phổ biến

Fc Tập tất cả các luật mờ sinh ra từ Fk Thuật toán khai thác luật kết hợp mờ

1. Begin

3. F[ - Tạo_Fl(Dp, If Tf, fminsupp); 4. F = 0 ; CF = 0; 5. k = 2; 6. While (Fk_! * 0 ) 7. {Ck = Tạo_F_k(F k.,); 8. Fk = Tính_SP_K(Ck, Df, fminsupp); 9. CFk = Tìm_luật(F, Fk, fminconf); 10. F = F u F k; 11. CF = CF u CFk; 12. k = k+1;} 13. End

Thuật toán trên sử dụng một số chương trinh con sau đây:

Chương trình con MỜ_hóa_dữ_liệu(D,I,T): hàm này thực hiện nhiệm vụ chuyển đổi từ cơ sở dữ liệu gốc D ban đầu sang cơ sở dữ liệu mờ Dp, các thuộc tính của D được gắn thêm các tập mờ và giá trị của các thuộc tính ở các bản ghi T trong D được ánh xạ thành một giá trị thuộc khoảng [0,1] thông qua các hàm thuộc của các tập mờ tương ứng vói các thuộc tính.

Chương trình con Fj = Tao_Fi(D|ĩ, IF, fminsupp, Wf): hàm này sinh ra Fj là tập tất cả các tập phổ biến có một phần tò (lực lượng bằng 1). Các tập thuộc tính phổ biến này phải có độ hỗ trợ lớn hơn hoặc bằng fminsupp.

T h u ậ t g i ả i t ạ o F j : F ! = T ạ o _ F 1 ( D F, I F, f m in s u p p , W f )

1. Fi = 0

2. For each i e Ip

4. F, = F , u { i }

5. Endif

6. Endfor 7. Return F!

Chương trình con c k = Tạo_F_k(Fk_i): Hàm này thực hiện kết nối các cặp các thuộc tính mờ từ tập các thuộc tính mờ phổ biến Fk„i có k-1 phần tử (lực lượng k-1)

để sinh ra các tập thuộc tính mờ ứng cử viên c k có k phần tử (lực lượng k).

Thuật giải tạo Fk từ Fk.t: Insert into Ck

Select p.item_l, Q.item_l, p.item_2,..., p.item_k-l, Q.item_k-1 From Lk.i p, Lk_i Q

Where ( P. i t eml = Q.item 1) and ...(P.item_k-2 = Q.item_k-2) and (P.item_k-1 < Q.item_k-1)

P.item J và Q.item_j là thuộc tính mờ thứ j trong L|c-1 (adsbygoogle = window.adsbygoogle || []).push({});

P.item O J và Q.item O J là thuộc tính gốc của thuộc tính mờ thứ j ứong Lk_! Điều kiện (P.item_k-1 < Q.item_k-1) nhằm không phát sinh các bộ trùng nhau. Tuy nhiên thuật giải trên sẽ phát sinh các tập k thuộc tính mờ khác nhau nhưng có cùng thuộc tính gốc và các luật sinh ra từ các tập thuộc tính mờ có cùng thuộc tính gốc là vô nghĩa. Nên cần phải thay đổi điều kiện Where của thuật giải ở trên như sau:

Where (P.item l = Q.item l) and ...(P.item_k-2 = Q.item_k-2) and (P.item_k-1 < Q.item_k-1)

Điều kiện P.item_0_k-1 * Q.item_0jk-1 sẽ bảo đảm không phát sinh các bộ thuộc tính mờ có cùng thuộc tính gốc.

Chương trình con F k = Tính_SP_K(Ck, Df, fminsupp,Wf): chương trình này duyệt qua cơ sở dữ liệu Dp, chọn ngưỡng W f và toán tử T-norm để cập nhật độ hỗ trợ cho các thuộc tính trong c k. Sau khi duyệt xong, Tính_SP_K chỉ chọn những tập phổ biến có độ hỗ trợ lớn hơn hoặc bằng ôninsupp để đưa vào trong Fk.

Có thể tìm F_Fk theo thuật giải sau: 1. Fk = 0

2. For (each X e Fk.j) do

3. For (each Y G Fk.! and X * Y) do

4. Begin

5. S = X u Y

6. If (|SỊ = k and fs({S}) > fminsupp) then

7. Fk = Fku { S }

8. Endlf

9. End

10. Endfor 11. Endfor

Chương trình con CFk = Tim_luật(Fh fminconj): chương trình con này sinh luật kết hợp mờ tin cậy từ các tập phổ biến Fk.

1.CFk = 0

2. For all X 6 Fk do

3. For all Y c: X and X * Y and Y * 0 do 4. r = X\Y —->• Y

5. If (CF(r) > fminconf) then 6. CFk = Fku { r } 7. Endlf 8. EndFor 9. EndFor 3.4 L u ậ t kết hợp m ờ ở dạng phủ định Cho cơ sở dữ liệu mờ DF = (IF, Tp)

Cơ sở dữ liệu ~Dp = (If, ~Tp) là phủ định của cơ sở dữ liệu mờ DF = (Ip, Tp) Dùng thuật toán khai thác luật kết họp mờ vào cơ sờ dữ liệu ~Dp.

Như vậy theo cách định nghĩa trên ta phải duyệt qua toàn bộ dữ liệu Dp =

(If,Tf,R) để chuyển dữ liệu sang dữ liệu phủ định ~DF = (IF, ~TF, R) rất tốn thời

gian. Để khắc phục điều này ta có thể không cần chuyển từ Dp sang ~Dp mà chỉ cần sửa lại cách tính độ hỗ trợ của các thuộc tính. Thay vì tính độ hỗ trợ của thuộc tính Ik theo công thức SP(Ik) = SP(Ik) + Giá_trị(Ik) ta tính theo công thức là lấy phần bù cho dạng phủ định ~SP(~Ik) = ~SP(~I|<) + (l-Giá_trị(Ik)) thì vẫn cho ra cùng một kết quả giống nhau với thòi gian nhanh hơn.

3.5 Luật kết họp mờ với thuộc tính được đánh trọng số [5] [6] [11]

Mục đích của khai phá luật kết hợp mờ với thuộc tính được đánh trọng số là tìm cách gắn trọng số cho các thuộc tính để biệu thị mức độ quan trọng của chúng đối

với luật.

Chúng ta không thể phân tích một cách trực quan luật nào là thật sự có ích trong rất nhiều luật tìm được. Để giảm tối đa các luật thừa không thật sự có ích hoặc giữ

Một phần của tài liệu Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet (Trang 57)