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ố 0wj 1, j1, ... ,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 X I. Đạ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ụcX I. 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 k N (2.13) là độ hỗ trợ có trọng số chuẩn hóa của X.
Ta có, 0NWsup( ) 1X .
Định nghĩa 2.12. Cho k-tập mục X I 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 X Y là độ hỗ trợ có trọng số chuẩn hóa NWsup(X Y) của hợp hai tập mục X và Y.
Độ tin cậy của luật kết hợp X Y đượ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 X Y đượ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(X Y)nwminsup (2.15) (ii) conf (X Y)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 X Y 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 DT và wj là trọng số được gán cho mục
,
j
i j1, ... ,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 trongX Y, đượ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 đó, Y X x là tập con bậc cao của X và Y 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) C1I; ; 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) While Lk1 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 Lk1 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
w w 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 k1-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 Lk1. 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 Lk1 (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 C1I , 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
ESC SC SC ,
e,c min e , c min 7, 2 2
ESC SC SC ,
e,b min e , b min 7,5 5
ESC SC SC ,
e,a min e , a min 7, 4 4
ESC SC SC , d,c min d , c min 6, 2 2 ESC SC SC , d,b min d , b min 6,5 5 ESC SC SC .
d,a min d , a min 6, 4 4
ESC SC 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 .