Giới thiệuBài toán khai thác luật kết hợp được đưa ra vào năm 1993 bởi Agrawal được phát biểu như sau: Cho trước tập n danh mục mặt hàng I = {i1, i2, …, in} và tập các giao dịch của các
Trang 1Bài giảng môn: Data Mining
CÁC THUẬT TOÁN KHAI THÁC LUẬT KẾT HỢP
Trang 2Giới thiệu
Bài toán khai thác luật kết hợp được đưa ra vào năm 1993 bởi Agrawal được phát biểu như sau:
Cho trước tập n danh mục mặt hàng I = {i1, i2, …,
in} và tập các giao dịch của các mặt hàng D trong
đó mỗi giao dịch T I có một định danh (TID) duy nhất
Luật kết hợp là phép kéo theo có dạng XY(q,p) (X Y), trong đó q = Sup(Y) được gọi là độ phổ biến của luật và p=Sup(Y)/Sup(X) là độ tin cậy của luật Khai thác luật kết hợp là tìm tất cả các luật kết hợp được rút ra từ CSDL D thỏa ngưỡng phổ biến và ngưỡng tin cậy do người dùng định nghĩa
Trang 4Tìm Tập Phổ Biến
Trang 5Các phương pháp tìm tập phổ biến
1. Phương pháp sinh ứng viên: Apriori do
Agrawal đề xuất.
2. Phương pháp không sinh ứng viên:
a) Zaki: dựa vào cây IT-tree và phần giao của các Tidset để tính độ phổ biến b) J Han: dựa vào cây FP-tree để khai thác tập phổ biến
c) Ngoài ra, còn có một số phương pháp được đưa ra như: Lcm, DCI, …
Trang 6Các thuật toán tìm tập phổ biến
Trang 72 Định nghĩa tập phổ biến
X I được gọi là phổ biến nếu (X) minSup
( với minSup là giá trị do người dùng chỉ định)
Trang 9Phương pháp IT-tree (tt)
Cấu trúc IT-tree và các lớp tương đương:
Cho XI, ta định nghĩa hàm p(X,k) = X[1:k] gồm k phần tử đầu của X và quan hệ tương đương dựa vào tiền tố như sau:
Mỗi nút trên IT-tree gồm 2 thành phần Tidset Xt(X) được gọi là IT-pair, thực chất là một lớp tiền tố Các nút con của X thuộc về lớp tương đương của X vì chúng chia sẻ chung tiền tố X (t(X) là tập các giao dịch có chứa X)
Trang 10Itemset-Thuật toán tìm tập phổ biến
Trong đó t(X) = {yT | X xuất hiện trong giao dịch y} được gọi là Tidset của X.
Trang 12Cây IT-tree với minSup = 50%(3 item)
Trang 13Nhận xét
Thuật toán dựa vào phần giao giữa các Tidset
để tính nhanh độ phổ biến nên chỉ đọc CSDL 1 lần
Có thể sử dụng Diffset để tính nhanh độ phổ biến nhằm làm giảm không gian lưu trữ Tidset
Do thuật toán không sinh ứng viên nên hiệu quả khai thác thường cao hơn so với các họ thuật toán sinh ứng viên
Khi số tập phổ biến lớn, thời gian khai thác luật lớn Cần phương pháp khai thác hiệu quả hơn
Trang 14Tìm tập phổ biến đóng (Frequent Closed Itemsets)
Trang 15Các tính chất của IT-pair
Định lý 1:Cho Xit(Xi) và Xjt(Xj) là hai thành viên
tùy ý của lớp tương được [P] Ta có 4 tính chất sau (c là cit):
Trang 16Nhận xét về IT-pair
1 Tính chất 1 nói rằng, nếu phần giao của hai Tidset bằng nhau thì |t(Xi)|=|t(Xj)|=|t(XiXj)| mà
XiXiXj và XjXiXj nên Xi,Xj không là tập đóng
2 Theo tính chất 2, ta có c(Xi) = c(XiXj) Xi
không là tập đóng Bên cạnh đó, do t(Xi)t(Xj) nên Xi và Xj thuộc về 2 tập đóng khác nhau
3 Tương tự tính chất 2
4 Theo tính chất 4, Xi, Xj và XiXj sẽ thuộc về 3 tập đóng khác nhau
Trang 17Thuật toán tìm tập phổ biến đóng
else
Add X Y to [Pi ]
Trang 19Nhận xét
Số lượng tập phổ biến đóng thường nhỏ hơn nhiều so với số tập phổ biến Như vậy, việc khai thác luật từ chúng sẽ hiệu quả hơn.
Mức tìm kiếm trên cây IT-tree để tìm FCI thấp hơn so với tìm FI không gian bộ nhớ yêu cầu cho quá trình gọi đệ qui sẽ nhỏ hơn.
Trang 20 Mục tiêu xây dựng dàn: nhằm tăng tốc
độ khai thác luật.
Xây dựng dàn (Building Lattice)
Trang 21Định nghĩa: chặn trên, chặn dưới
Gọi (P,) là tập hợp thứ tự với quan hệ hai ngôi
và S là một tập con của P Phần tử u P (l P) được gọi là chặn trên (chặn dưới) của S nếu s u
(s l) sS
Chặn trên nhỏ nhất gọi là join của S, kí hiệu S
Chặn dưới lớn nhất gọi là meet của S, kí hiệu S.
Nếu S = {x,y} ta viết x y cho join và x y cho meet Trong đó join và meet được định nghĩa như sau:
• join: (X1Y1) (X2Y2) = c it(X1X2) (Y1Y2)
• meet: (X1Y1) (X2Y2) = c ti(X1X2) (Y1Y2)
Trang 22Định nghĩa: dàn
Một tập thứ tự (L,) là một dàn nếu x,yL, x
y và x y luôn luôn tồn tại
L là dàn hoàn chỉnh nếu S và S luôn tồn tại
Trang 23XÂY DỰNG DÀN TẬP PHỔ BIẾN
Trang 24Nhận xét về cây IT-tree
thấy: khi kết hợp hai IT-pair Xt(X) và Yt(Y), có thể thấy XXY và YXY nên nút dàn {XY}
là nút dàn con(trực tiếp) của hai nút dàn {X}, {Y}
tồn tại nút con của {X} ở các nhánh con bên trái
nó Ví dụ: xét X = ATW ở mức 3, ta thấy trên cây
có chứa nút dàn {ACTW} ở mức 4 là con trực tiếp của {X}
Thuật toán cần xét tất cả các quan hệ trên để xây dựng dàn
Trang 25 Do các nút con trực tiếp của nút hiện hành {I} nếu có phải là nút
“cháu” của li nên hàm cập nhật dàn chỉ xét {I} với các nút con của nút con li
Trang 26Minh họa quá trình xây dựng dàn
(với minSup = 50%)
Trang 28Xây dựng dàn tập đóng
Hai cách tiếp cận chính hiện nay:
1. Xây dựng dàn bằng cách xét quan hệ cha con
trên FCI: có độ phức tạp cao vì phải xét một tập đóng với tất cả các tập còn lại trên FCI
2. Xây dựng trực tiếp: được trình bày bởi Zaki và
Hsiao (CHARM-L) – các tác giả dựa vào phần giao giữa các Cidset (Closed identifier set) để tìm quan hệ cha con hiệu quả hơn nhưng tốn không gian để lưu Cidset và thời gian để tính phần giao giữa 2 Cidset khi |FCI| lớn
Trang 29Phương pháp 1: thuật toán
For each X FCI with |X| < |Y| do
If X Y and {X X’| X’ Subset} then
{X}.Children.Add ({Y}) Subset = Subset X
if Subset = then
lr.Children.Add ({Y})
Trang 30Minh họa
Tập đóng C CD CT CW ACW CDW ACTW
Quá trình xây dựng dàn như sau:
Tập đóng Subset Các nút cha trực tiếp
Trang 32Thuật toán CHARM-L
Trang 33Minh họa CHARM-L
Trang 34Phương pháp lai ghép: nhận xét
Có thể xét quan hệ cha con giữa tập đóng
Y với các tập đóng còn lại trực tiếp trên dàn đã được xây dựng bởi các tập đóng trước đó
Nếu ta sắp xếp tập FCI tăng theo itemset thì các nút dàn cha của {Y} phải ở bên trái Y trên FCI Nghĩa là sẽ không tồn tại Y’ đứng sau Y trong FCI sao cho {Y’} là nút dàn cha của {Y}
Trang 35k-Thuật toán xây dựng dàn tập đóng
Trang 36Minh họa quá trình xây dựng dàn
tập đóng
{ } CD
4 5 4 3 3
Trang 37Tập phổ biến tối đại (Maximal Frequent Itemsets-MFI)
Định nghĩa:
Cho X I, X được gọi là tập phổ biến tối đại nếu không tồn tại tập phổ biến Y sao cho X Y.
Ví dụ: xét dàn được xây dựng từ CSDL ở
bảng 1 với minSup = 50%, ta có kết quả:
Trang 39Khai thác luật truyền thống
(Mining Traditional Association Rules)
Định nghĩa:
Luật kết hợp là phép kéo theo có dạng XY – X ( q , p ) (X, Y là các tập phổ biến) trong đó X,Y, XY và p = Sup (Y)/ Sup (X)
minConf gọi là độ tin cậy của luật còn
q = Sup (Y) ≥ minSup được gọi là độ phổ biến của luật.
tập phổ biến X, YFI trong đó X Y.
Trang 40Luật truyền thống: thuật toán
conf = Sup(Y)/ Sup(X)
if conf minConf then
AR = AR {X Y \ X (Sup(Y), conf) } return AR
Trang 41Luật truyền thống: minh họa CSDL bảng
1 với minSup = 50%, minConf = 80%
D W, conf = ¾<minConf
D W, conf = 3/5<minConf
Conf = 4/4> minConf
Trang 42Minh họa(tt)
Trang 43Khai thác luật thu gọn
Tính bắc cầu:
Chứng minh: xem [3]
Trang 44Khai thác luật thu gọn (tt)
Định nghĩa:
R = {Xi Yi}: tập tất cả các luật kết hợp của CSDL RS được gọi là tập luật thu gọn của R nếu nó chứa tất cả các luật trong R trừ các luật suy ra từ tính bắc cầu Nghĩa là:
X,Y,Z sao cho XYZ, nếu XY, YZ, XZR thì XY, YZ R S và XZR S
Nhận xét:
1 Các luật thu gọn là các luật suy từ tập phổ biến sang tập phổ biến cha trực tiếp của nó trên tập FI
2 Gọi Y là cha trực tiếp của X thì |Y|=|X|+1
Trang 45Thuật toán sinh luật thu gọn từ tập
phổ biến
SHORTEN_AR()
AR =
if X Y then
conf = Sup(Y)/ Sup(X)
if conf minConf then
return AR
Trang 46Minh họa (với minConf=80%) D 4,1 C
Trang 47Thuật toán sinh luật thu gọn từ dàn
for each Ls Lc.Children do
EXTEND_AR_L( Ls )
Trang 49Kết quả cuối cùng (với minSup
= 50%, minConf = 80%)
Trang 50KHAI THÁC LUẬT KHÔNG DƯ THỪA
Trang 51Các phương pháp
1. Phương pháp của Bastide
2. Phương pháp của Zaki
3. Phương pháp rút gọn
Trang 52Khai thác luật không dư thừa (tt)
Định nghĩa 1: luật tổng quát
Cho luật R1: X1 Y1 và R2: X2 Y2 Luật R1
được gọi là tổng quát hơn luật R2, kí hiệu R1
R2, nếu X1 X2 và Y1 Y2
Định nghĩa 2: luật dư thừa
Cho R = {R1, R2, …, Rn} là tập luật có độ phổ biến bằng nhau và độ tin cậy bằng nhau Luật
Rj được gọi là dư thừa nến tồn tại luật Ri sao cho Ri Rj
Trang 53Minimal Generator( mG )
Định nghĩa:
Cho X là tập đóng Ta nói itemset X’ là một
generator của X khi và chỉ khi:
Trang 55Phương pháp của Bastide
Bastide và các đồng sự đề xuất phương pháp khai thác luật không dư thừa từ CSDL bằng cách tìm tất cả các luật suy ra từ mG (X) sang Y X,Y FCI (XY)
Ưu điểm: sinh ra đầy đủ tập luật không dư thừa
Khuyết điểm: do vét cạn tất cả các trường hợp
để xét quan hệ cha con nên thuật toán có độ phức tạp cao Bên cạnh đó, khi số tập đóng lớn, số luật sinh ra nhiều tốn thời gian và không gian.
Trang 56Phương pháp của Zaki
Zaki đề xuất phương pháp khai thác luật không
dư thừa từ mG (X) sang mG (Y) và ngược lại trong đó X, Y FCI và X là con trực tiếp của Y
Ưu điểm: Tập luật sinh ra nhỏ hơn so với phương pháp của Bastide do tác giả rút gọn các luật được suy ra từ tính bắc cầu.
Khuyết điểm: luật sinh ra chưa thỏa tính tổng quát theo định nghĩa 1 vì tác giả chỉ khai thác các luật có vế trái và vế phải nhỏ nhất theo quan hệ tập con.
Trang 57Phương pháp rút gọn
Chỉ khai thác các luật tổng quát nhất.
Không khai thác các luật được sinh ra từ tính bắc cầu.
Tập luật sinh ra tổng quát, nhỏ hơn phương pháp của Bastide (xấp xỉ số luật theo phương pháp của Zaki).
Trang 58Thuật toán sinh luật không dư thừa
AR = AR ENUMERATE_AR( ci, ci)
conf = Sup(Y) / Sup(X)
Trang 59Minh họa
Có 15 luật thỏa minConf = 0%, trong đó 7 luật với
độ tin cậy 100% và 8 luật có độ tin cậy < 100%
C
Trang 60Tài liệu tham khảo
[1] Y Bastide, N Pasquier, R Taouil, G Stumme, L Lakhal,
Mining Minimal Non-Redundant Association Rules using
on Computational Logic, 2000.
Transactions on Knowledge and Data Engineering, Vol 17,
No 4, April 2005
Mining and Knowledge Discovery, 9, 223–248, 2004 Kluwer Academic Publishers Manufactured in The Netherlands,
2004.
Discovery and Data Mining, Aug 2003
Trang 61Xin Chân Thành Cảm Ơn