Khai phá luật kết hợp có trọng số chuẩn hóa

Một phần của tài liệu Khai phá luật kết hợp có trọng số trong cơ sở dữ liệu lớn (Trang 43 - 91)

Mô hình bài toán khai phá luật kết hợp có trọng số chuẩn hóa là mô hình được đề xuất và nghiên cứu đầu tiên bởi Cai, C. H. [6,7]. Để có được sự cân bằng trọng số giữa các mục, trọng số của một tập mục được tính bằng trọng số trung bình của các mục thành viên.

2.3.1. Mô hình bài toán

Cho cơ sở dữ liệu (CSDL) giao tác DT. Giả sử cơ sở dữ liệu DT bao gồm N giao tác, tập tất cả các mục (thuộc tính) là I i1, ... ,iM và mỗi mục ij

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

trong I được gán một trọng số 0wj 1, j1, ... ,M . Trọng số wj phản ánh mức độ quan trọng của mục ij .

Định nghĩa 2.10. Cho k-tập mục XI. Đại lượng

( ) 1 j j i X NW X w k   

được gọi là trọng số chuẩn hóa của X.

Định nghĩa 2.11. Cho k-tập mụcXI. Ta gọi đại lượng NWsup xác định bởi 1 ( ) NWsup( ) ( ) sup( ) j j i X SC X X NW X X w kN           (2.13) là độ hỗ trợ có trọng số chuẩn hóa của X.

Ta có, 0NWsup( ) 1X  .

Định nghĩa 2.12. Cho k-tập mục XI và ngưỡng độ hỗ trợ tối thiểu

wminsup. X được gọi là tập mục thường xuyên có trọng số chuẩn hóa nếu NWsup(X)wminsup. (2.14) Trường hợp ngược lại, X được gọi là tập mục không thường xuyên có trọng số chuẩn hóa.

Định nghĩa 2.13. Cho hai tập mục X Y, I với X  Y . Độ hỗ trợ của luật kết hợp XY là độ hỗ trợ có trọng số chuẩn hóa NWsup(XY) của hợp hai tập mục XY.

Độ tin cậy của luật kết hợp XY được xác định theo nghĩa 2.7.

Định nghĩa 2.14. Cho trước ngưỡng hỗ trợ tối thiểu wminsup và độ tin cậy tối thiểu minconf. Luật XY được gọi là luật kết hợp lớn nếu thỏa mãn đồng thời hai điều kiện:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

(i) NWsup(XY)nwminsup (2.15) (ii) conf (XY)minconf (2.16) Với các khái niệm trên, bài toán khai phá luật kết hợp có trọng số chuẩn hóa được phát biểu như sau:

Cho CSDL giao tác DT, ngưỡng hỗ trợ tối thiểu nwminsup và độ tin cậy

tối thiểu minconf. Tìm tất cả các luật kết hợp lớn XY trong DT theo Định nghĩa 2.15.

Để tìm được các luật hấp dẫn, cần phải ấn trước định hai ngưỡng: độ hỗ trợ có trọng số chuẩn hóa tối thiểu nwminsup và độ tin cậy tối thiểu minconf.

Cũng giống như khai phá luật kết hợp nhị phân, quá trình khai phá luật kết hợp có trọng số chuẩn hóa được chia thành hai giai đoạn. Giai đoạn thứ nhất tìm tất cả các tập mục thoả mãn độ hỗ trợ tối thiểu, tức là tìm tất cả các tập mục thường xuyên có trọng số chuẩn hóa. Giai đoạn thứ hai, sử dụng các tập mục thường xuyên có trọng số chuẩn hóa tìm được, thực hiện việc sinh ra các luật kết hợp thoả mãn độ tin cậy tối thiểu minconf. Tất cả khó khăn nằm ở giai đoạn thứ nhất.

Cũng như tập mục thường xuyên có trọng số, tập mục thường xuyên có trọng số chuẩn hóa không thỏa mãn tính chất Apriori, nghĩa là tập con của một tập mục thường xuyên có trọng số chuẩn hóa không nhất thiết phải là tập mục thường xuyên có trọng số chuẩn hóa. Vì vậy, để khai phá các tập mục này, không thể áp dụng các kỹ thuật đã được đề xuất cho việc khai phá tập mục thường xuyên nhị phân. Mục 2.3.2 dưới đây trình bày một số tính chất của tập mục thường xuyên có trọng số chuẩn hóa, từ đó nêu thuật toán khai phá chúng và luật kết hợp lớn.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.3.2. Thuật toán MINWAL(W) khai phá tập mục thƣờng xuyên có trọng số chuẩn hóa

MINWAL(W) là thuật toán được Cai, C. H. [6, 7] đề xuất, dựa trên tư tưởng thuật toán Apriori khái phá tập mục thường xuyên nhị phân.

2.3.2.1. Cơ sở toán học

Cho CSDL giao tác DT. Ký hiệu I i1, ... ,iM là tập tất cả các mục (thuộc tính), N là số giao tác trong DTwj là trọng số được gán cho mục

,

j

i j1, ... ,M .

Định nghĩa 2.15. Cho tập mục Y i1, ... ,ik. Gọi w là giá trị nhỏ nhất trong số các trọng số của các mục thuộc Y. Tập mụcX  Y Z, trong đó mọi mục thuộc Z đều có trọng số không lớn hơn w, được gọi là tập cha bậc thấp (lower-order superset) của Y .

Định nghĩa 2.16. Cho tập mục X. Tập mục con Y của X mà mỗi mục trong Y

đều có trọng số lớn hơn hoặc bằng trọng số của mỗi mục trongXY, được gọi là tập con bậc cao (high-order subset) của X.

Mệnh đề 2.3. Nếu X là tập mục thường xuyên có trọng số chuẩn hóa thì bất kỳ một tập con bậc cao nào của X cũng sẽ là tập mục thường xuyên có trọng số chuẩn hóa.

Chứng minh. Giả sử Y là tập con bậc cao của X. Khi đó trọng số trung bình của Y sẽ lớn hơn trọng số trung bình của X. Độ hỗ trợ của Y cũng lớn hơn hoặc bằng độ hỗ trợ của X. Do đó, độ hỗ trợ có trọng số chuẩn hóa của Y cũng sẽ lớn hơn hoặc bằng độ hỗ trợ có trọng số chuẩn hóa của X. Suy ra, nếu X là tập mục thường xuyên có trọng số chuẩn hóa thì Y cũng sẽ là tập mục thường xuyên có trọng số chuẩn hóa. ■

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Mệnh đề 2.4. Nếu X là một (k +1)-tập mục thường xuyên có trọng số chuẩn hóa thì X phải là tập cha bậc thấp của một k-tập mục thường xuyên có trọng số chuẩn hóa Y.

Chứng minh. Nếu X là một (k +1)-tập mục thường xuyên có trọng số chuẩn hóa thì theo Mệnh đề 2.3 bất kỳ tập một con bậc cao nào của X cũng sẽ là tập mục thường xuyên có trọng số chuẩn hóa. Giả sử x là một mục trong X có trọng số nhỏ nhất. Khi đó, YXx là tập con bậc cao của XY sẽ phải là tập mục thường xuyên có trọng số chuẩn hóa. Do đó, X là tập cha bậc thấp của Y. ■

2.3.2.2. Thuật toán MINWAL(W)

Để ý rằng, với một vài hiệu chỉnh nhỏ, cũng có thể sử dụng thuật toán MINWAL(O) cho việc khai phá luật kết hợp có trọng số chuẩn hóa. Tuy nhiên, sử dụng các tính chất của tập mục thường xuyên có trọng số chuẩn hóa nêu trong các Mệnh đề 2.1, 2.3 và 2.4, Cai, C. H. [6,7] đã đề xuất thuật toán hiệu quả hơn. Đó là thuật toán MINWAL(W) trình bày dưới đây.

Ký hiệu:

DT Cơ sở dữ liệu giao tác

w Tập các trọng số của các mục

size Độ dài lớn nhất của các giao tác

Ck Tập các k-tập mục ứng viên có thể là tập con của j-tập mục thường xuyên có trọng số chuẩn hóa, jk

Lk Tập các k-tập mục thường xuyên có trọng số chuẩn hóa

L Tập tất cả các tập mục thường xuyên có trọng số chuẩn hóa

SC(X) Số đếm hỗ trợ tập mục X trong DT

nwminsup Ngưỡng hỗ trợ tối thiểu

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Input: CSDL DT, tổng số giao tác N và tổng số mục M trong DT, ngưỡng hỗ trợ nwminsup, ngưỡng độ tin cậy minconf, trọng số của các mục w1, ... ,wM xếp theo thứ tự giảm dần.

Output: Tập các luật kết hợp có trọng số.

Thuật toán MINWAL(W)

1) Main Algorithm(wminsup, minconf, DT, w) 2) k =1 ;

3) C1I; ; 4) L 

5) size = Search(DT) ; 6) L1   ;

7) For each transaction do

8) (SC, C1 , size) = Counting(DT, w,k) ; 9) L1 = Checking(C1 , DT) ; 10) L = L L1 ; 11) k++ ; 12) WhileLk1  13) Ck = Join(Lk -1) ; 14) Ck = Prune(Ck) ; 15) for each transaction do

16) (SC, Ck , size) = Counting(DT, w,k) ; 17) Lk = Checking(Ck , DT) ;

18) L = L Lk; 19)Rules (L, minconf) 20) Ends;

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Các thủ tục con trong MINWAL(W) hoạt động như sau:

1. Search(DT): Duyệt CSDL DT, tìm độ dài cực đại của các giao tác trong DT, cho ra kết quả size.

2. Counting(DT,w): Duyệt CSDL DT xác định số đếm hỗ trợ của các k- tập mục thuộc Ck. Sau đó, tính độ hỗ trợ có trọng số chuẩn hóa của mỗi các tập mục này và lưu các tập mục có độ hỗ trợ có trọng số chuẩn hóa lớn hơn hoặc bằng wminsup vàoLk.

3. Join(Lk -1) (với k 2): Kết nối để tạo ra tập ứng viên Ck. Theo Mệnh đề 2.4, một k-tâp mục ứng viên chỉ có thể là tập mục thường xuyên có trọng số chuẩn hóa nếu nó là tập cha bậc thấp của một (k-1)-tập mục thường xuyên có trọng số chuẩn hóa. Vì thế, khi thủ tục con này thực hiện, nó sẽ kết nối mỗi tập mục thường xuyên có trọng số chuẩn hóa trong Lk1 với một mục có trọng số nhỏ hơn (không nhất thiết phải thuộcL1) để lập thành một tập cha bậc thấp và nhập vào Ck. Ví dụ, giả sử cơ sở dữ liệu có tập các mục I a b c d e, , , , , trong đó

...

a b e

ww  w;  c e, là tập mục thường xuyên có trọng số chuẩn hóa đã được phát hiện tại bước lặp k = 2. Khi đó, thủ tục kết nối Join sẽ chỉ kết nối  c e, với a và với b để tạo ra các tập mục ứng viên a c e, , và b c e, , , rồi nhập các tập mục này vào tập C3. Với cách kết nối này, các tập con bậc cao của a c e, , , cũng như của b c e, , , là  e và  c e, , cả hai đều là những tập mục thường xuyên có trọng số chuẩn hóa.

4. Prune(Ck): Ước lượng số đếm hỗ trợ mỗi ứng viên X trong Ck bằng giá trị nhỏ hơn trong hai số đếm hỗ trợ hai tập mục đã kết nối tạo để ra X khi thực hiện Join(Lk -1). Sử dụng số đếm hỗ trợ ước lượng, tính độ hỗ trợ có trọng số ước lượng của X. Ứng viên X sẽ bị loại khỏi Ck

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

nếu có độ hỗ trợ trọng số chuẩn hóa ước lượng nhỏ hơn ngưỡng hỗ trợ tối thiểu wminsup (theo Mệnh đề 2.1).

5. Checking(C DTk, ): Thủ tục này thực hiện công việc kiểm tra. Checking (C DTk, ) duyệt CSDL xác định số đếm hỗ trợ thực tế của mỗi ứng viên trong Ck, tính độ hỗ trợ có trọng số chuẩn hóa của chúng và nhập các tập mục thường xuyên có trọng số chuẩn hóa tìm được vào tập Lk. Tập Lk này sẽ là tập các ứng viên được sử dụng để tạo các tập mục cha có khả năng là tập mục thường xuyên có trọng số chuẩn hóa tại vòng lặp tiếp theo.

6. Rules (L, minconf): Sinh luật kết hợp thỏa mãn độ tin cậy minconf từ mỗi tập mục thường xuyên có trọng số thuộc L.

Cấu trúc của thuật toán MINWAL(W) tương tự như thuật toán Apriori Gen, nhưng về chi tiết có một số khác biệt. Mặc dù các k-tập mục thường xuyên có trọng số chuẩn hóa cũng được sinh ra từ các k1-tập mục, nhưng không phải tất cả các tập con của một tập mục thường xuyên có trọng số chuẩn hóa cũng là tập mục thường xuyên có trọng số chuẩn hóa. Vì thế có sự khác biệt trong việc tạo ra các các tập ứng viên giữa MINWAL(W) và Apriori Gen. Trong Apriori Gen, các tập ứng viên trong Ck được sinh ra bằng việc kết nối các tập mục thường xuyên thuộc Lk1. Trong MINWAL(W), các tập ứng viên trong Ck được sinh ra bằng cách tạo ra các tập cha bậc thấp của các tập mục trong Lk1 (dựa theo Mệnh đề 2.4). Trong quá trình tỉa bớt các ứng viên giữa MINWAL(W) và Apriori Gen cũng có sự khác biệt. Việc tỉa bớt các ứng viên trong MINWAL(W) không thông qua việc kiểm tra các tập con của các tập mục thường xuyên có trọng số chuẩn hóa có phải là mục thường xuyên có trọng số chuẩn hóa hay không mà sử dụng các ước lượng độ hỗ trợ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

có trọng số chuẩn hóa. Theo Mệnh đề 2.1, độ hỗ trợ có trọng số chuẩn hóa

ước lượng sẽ lớn hơn độ hỗ trợ có trọng số chuẩn hóa chính xác của tập mục ứng viên, nên ứng viên nào có độ hỗ trợ có trọng số chuẩn hóa ước lượng lớn hơn ngưỡng nwminsup sẽ không thể là tập mục thường xuyên có trọng số chuẩn hóa.

Ví dụ 2.3: Xét CSDL DT Bảng 2.1 có trọng số của các mục cho trong Bảng 2.2. Giả sử ngưỡng nwminsup là 0.50 và ngưỡng minconf là 0.85. Ta cần tìm tất cả các tập mục thường xuyên có trọng số chuẩn hóa trong DT.

Giải: Duyệt CSDL DT, thu được độ dài nhất có thể có của tập mục trong DT

là 4.

Bƣớc lặp 1 (k =1).

- Cho C1I , L .

- Duyệt CSDL DT, thu được số đếm hỗ trợ mỗi mục trong C1 là: SC(e) = 7, SC(d) = 6, SC(c) = 2, SC(b) = 5, SC(a) = 4.

- Tính độ hỗ trợ có trọng số chuẩn hóa của các mục thuộc C1, thu được: 7 NWsup(e) 0.9 0.90 7    , NWsup(d) 0.8 6 0.68 7    2 NWsup(c) 0.4 0.11 7    , NWsup(b) 0.3 5 0.21 7    4 NWsup(a) 0.1 0.057 7    .

- Với nwminsup đã cho là 0.50, L1   d , e .

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Bƣớc lặp 2 (k =2).

- Thực hiện kết nối: Kết nối mỗi tập mục thường xuyên trong L1 với mỗi mục trong C1 có trọng số nhỏ hơn để lập thành một tập cha bậc thấp, thu được:

2

C  e,d ,  e,c ,  e,b ,  e,a ,  d,c ,  d,b ,  d,a .

- Tỉa C2: Ước lượng cận trên cho cho số đếm độ hỗ trợ (ESC) của các tập mục trong C2 là:

 

 e,d  min   e ,   d  min 7,6  6

ESCSC SC   ,

 

 e,c  min   e ,   c  min 7, 2  2

ESCSC SC   ,

 

 e,b  min   e ,   b  min 7,5  5

ESCSC SC   ,

 

 e,a  min   e ,   a  min 7, 4  4

ESCSC SC   ,    d,c  min   d ,   c  min 6, 2  2 ESCSC SC   ,    d,b  min   d ,   b  min 6,5  5 ESCSC SC   .  

 d,a  min   d ,   a  min 6, 4  4

ESCSC SC   .

Với các ước lượng số đếm hỗ trợ, ta có các ước lượng cho độ hỗ trợ có trọng số chuẩn hóa của các tập mục trong C2 là:

    0.9 0.8 6 ENWsup e,d 0.73 2 7     , ENWsup e,c 0.18,    

ENWsup e,b 0.43, ENWsup e,a 0.28,     ENWsup d,c 0.17, ENWsup d,b 0.39,     ENWsup d,a 0.26.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Các tập mục  e,c ,  e,b ,  e,a ,  d,c ,  d,b và  d,a , có độ hỗ trợ có trọng số chuẩn hóa ước lượng nhỏ hơn nwminsup = 0.50, nên bị loại. Sau khi tỉa, còn lại C2  e,d .

Thực hiện kiểm tra: Duyệt CSDL DT, xác định số đếm hỗ trợ thực tế, rồi tính độ hỗ trợ có trọng số chuẩn hóa thực tế của  e,d :

 

    0.9 0.8 6

NWsup e,d sup e,d 0.73

2 2 7 e d w w nwminsup         . Vậy, L2  e,d .

Sau bước lặp 2, L L L2      d , e , e,d .

Một phần của tài liệu Khai phá luật kết hợp có trọng số trong cơ sở dữ liệu lớn (Trang 43 - 91)

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

(91 trang)