HCM TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN VÕ ĐÌNH BẢY NÂNG CAO HIỆU QUẢ CỦA CÁC THUẬT TOÁN KHAI THÁC LUẬT KẾT HỢP DỰA TRÊN DÀN Chuy n ng nh : KHOA HỌC MÁY TÍNH M số chuyên ngành: 62.48.01
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
VÕ ĐÌNH BẢY
NÂNG CAO HIỆU QUẢ CỦA CÁC THUẬT TOÁN KHAI THÁC
LUẬT KẾT HỢP DỰA TRÊN DÀN
Chuy n ng nh : KHOA HỌC MÁY TÍNH
M số chuyên ngành: 62.48.01.01
TÓM TẮT LUẬN ÁN TIẾN SĨ CÔNG NGHỆ THÔNG TIN
Tp Hồ Chí Minh năm 2011
Trang 2Công trình được ho n th nh tại:
Khoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhi n Tp HCM
Người hướng dẫn khoa học:
PGS TS L Ho i Bắc
Phản biện 1: GS TS Nguyễn Thanh Thủy
Phản biện 2: PGS TS Đỗ Phúc
Phản biện 3: PGS TS Dương Tuấn Anh
Phản biện độc lập 1: PGS TS H Quang Thụy
Phản biện độc lập 2: PGS TS Đỗ Phúc
Luận án sẽ được bảo vệ trước Hội đồng chấm luận án cấp nh nước họp tại: Trường Đại học Khoa học Tự nhi n Tp HCM
v o hồi giờ ngày tháng 12 năm 2011
Có thể tìm hiểu luận án tại:
1 Thư viện Tổng hợp Quốc gia Tp HCM
2 Thư viện Trường Đại học Khoa học Tự nhi n – HCM
Trang 31
Chương 1 Giới thiệu tổng quan
Chương n y trình b y tổng quan về khai thác dữ liệu v các vấn đề m luận án
sẽ đi sâu nghi n cứu như: Tập phổ biến, tập phổ biến đóng, d n khái niệm v luật kết hợp Một số khảo sát về các đóng góp trong nước v quốc tế cũng được trình b y trong chương n y
Chương 2 Cơ sở lý thuyết
Đi sâu tìm hiểu cơ sở lý thuyết từ các công trình được công bố trong những năm gần đây l m nền tảng cho các đóng góp ở chương 3 v chương 4 Các khái niệm, các thuật toán cơ sở sẽ được đề cập như: Khai thác tập phổ biến, tập phổ biến đóng, xây dựng d n v phát sinh luật kết hợp
Bảng 2.1 CSDL mẫu
2.1.2 Các thuật toán khai thác tập phổ biến
Phần n y trình b y chi tiết thuật toán Apriori v Eclat Apriori l thuật toán nền tảng còn Eclat l thuật toán được sử dụng để khai thác tập phổ biến phục
vụ cho việc phát sinh luật trong chương 3
Trang 4c Ánh xạ c được gọi l toán tử đóng
b) Tập phổ biến đóng: Cho X I, X được gọi l tập đóng khi v chỉ khi
c(X) = X Tập X vừa phổ biến vừa l tập đóng được gọi l tập phổ biến đóng
c) Các tính chất của IT-pair
2.2.2 Thuật toán CHARM
CHARM dựa v o các tính chất của IT-pair để cải tiến thuật toán khai thác tập phổ biến th nh thuật toán khai thác tập phổ biến đóng Ý tưởng đơn giản
nhưng khá hiệu quả như sau: Cho 2 tập phổ biến X,Y I, nếu ( X ) ( Y )
thì X và Y sẽ thuộc về cùng tập phổ biến đóng có tiền tố l X Y Như vậy ta không cần xét bất cứ tập cha n o của cả X lẫn Y ngoài X Y Quá trình tiếp tục khám phá đệ qui bằng cách tiếp tục xét các tập cha của XY
2.2.3 Sử dụng Diffset: Có thể sử dụng Diffset để tính nhanh độ phổ biến của
Cận tr n nhỏ nhất được gọi l join của S, kí hiệu l S Cận dưới lớn nhất
được gọi l meet của S, kí hiệu S Nếu S = {x,y} ta viết xy cho join và xy
cho meet
2.3.1.2 Định nghĩa
Một tập thứ tự (L, ) là d n giao nếu x,y L, x y luôn luôn tồn tại
Một tập thứ tự (L, ) là d n hợp nếu x,y L, x y luôn luôn tồn tại
Một tập thứ tự (L, ) l một d n nếu (L, ) là dàn giao và d n hợp
Trang 53
2.3.2 Thuật toán xây dựng dàn tập phổ biến đóng (CHARM-L)
Ý tưởng cơ bản của CHARM-L l : Khi một tập đóng mới X được tìm thấy,
chúng ta xác định ngay tập tất cả các tập đóng cha của nó
S | Các phần tử nhỏ nhất trong S được tạo th nh
nhằm xác định các li n kết từ X đến các phần tử n y
2.4 Khai thác luật kết hợp truyền thống
Luật kết hợp l biểu thức có dạng X q,p Y \ X(X, Y l các tập phổ biến)
trong đó X Y , X và p = (Y)/ (X) minConf được gọi l độ tin cậy
của luật còn q = (Y) gọi l độ phổ biến của luật Do Y l phổ biến n n luật
sinh ra l phổ biến
Tập tất cả các luật kết hợp từ CSDL D thỏa ngưỡng minSupCount và
minConf được gọi l tập luật kết hợp truyền thống
2.4.1 Một số tính chất của luật kết hợp truyền thống
2.4.2 Các thuật toán sinh luật kết hợp truyền thống
2.4.2.1 Sinh luật dựa vào quan hệ cha – con
Dựa v o tính chất của tập FI (tập các tập phổ biến), ta có tất cả các tập con của
itemset X đều xuất hiện trong FI n n chỉ cần tìm tập con của X trong FI Mặt
khác, nếu sắp xếp tập FI theo chiều tăng dần của k-itemset thì rõ r ng tập con
của X chỉ xuất hiện trước X
2.4.2.2 Sinh luật kết hợp dựa vào bảng băm
Độ phức tạp của thuật toán xét quan hệ cha – con ở tr n l O(n2
) (không xét
độ phức tạp của việc kiểm tra fj có l con của fi hay không) với n l số tập phổ biến Cách tiếp cận đơn giản hơn l dựa v o tính chất apriori: Với mỗi tập phổ
biến X, chúng ta tìm tất cả các tập con khác rỗng X’ của nó v sinh luật X’
X \ X’ nếu độ tin cậy của luật n y thỏa minConf Vấn đề l l m thế n o xác
định được độ phổ biến của X’? Có thể sử dụng bảng băm để giải quyết vấn đề
n y Cụ thể như sau: Khi khai thác các tập phổ biến, chúng ta băm các tập n y với khóa l tổng các item có trong tập phổ biến tương ứng v vì vậy, có thể dễ
d ng tìm được độ phổ biến của các tập phổ biến với độ phức tạp nhỏ
2.5 Khai thác luật kết hợp không dư thừa
Trang 64
2.5.1 Luật không dư thừa tối tiểu (MNAR)
Luật R 1: X1 Y1 được gọi l luật không dư thừa tối tiểu nếu không tồn tại luật
Y2 Y 1 (R 1 R 2)
2.5.2 Tập sinh tối tiểu (minimal Generator)
Cho X l một tập phổ biến đóng Ta nói tập X’ l một tập sinh của X khi v chỉ khi: i) X’ X và ii) (X’) = (X)
2.5.3 Thuật toán sinh luật không dư thừa tối tiểu từ FCI
Thuật toán chia việc phát sinh các MNAR th nh 2 pha:
Pha 1: Sinh các luật chính xác (có độ tin cậy 100%);
Pha 2: Sinh các luật xấp xỉ (độ tin cậy minConf conf < 1)
2.6 Kết luận
Chương 3 Khai thác luật kết hợp dựa trên dàn tập phổ biến
3.1 Khai thác luật kết hợp truyền thống dựa trên dàn tập phổ biến 3.1.1 Xây dựng dàn tập phổ biến [2, 4, 5]
3.1.1.1 Thuật toán và 3.1.1.2 Minh họa thuật toán
Hình 3.2 – D n kết quả theo thuật toán LATTICE_FI của CSDL D với
minSupCount = 3
Trang 75
3.1.2 Sinh luật kết hợp truyền thống từ dàn [2]
Định lý 3.1.1 Gọi l1, l2 và l3 l 3 nút tr n d n Nếu l1 l nút cha của l2 và l2 là
nút cha của l3 và l2.sup/ l1.sup < minConf thì l3.sup/ l1.sup < minConf
Dựa v o định lý 3.1.1, luận án phát triển thuật toán sinh luật kết hợp từ d n
với ý tưởng như sau: Xét mỗi nút {X} tr n d n với các nút {Y} l con của {X}, nếu luật sinh ra từ X sang Y không thỏa minConf, thì tất cả các luật được sinh
ra từ {X} sang các nút con của {Y} cũng sẽ không thỏa minConf v vì vậy,
chúng ta không cần xét các luật n y
3.1.2.1 Thuật toán
3.1.2.2 Minh họa thuật toán
3.1.2.3 Độ phức tạp thuật toán
Mệnh đề 3.1.1 (Độ phức tạp thuật toán) Thuật toán sinh luật truyền thống từ
dàn tập phổ biến có độ phức tạp l O(nk) với n l số tập phổ biến v k là trung bình cộng các tập cha của các tập phổ biến tr n d n Trong thực tế, k thường rất nhỏ so với n n n độ phức tạp tr n l tương đương với O(n)
Trang 86
Để thấy rõ sự thay đổi của thời gian theo số tập phổ biến v số luật, đầu ti n, luận án trình b y kết quả khai thác tập phổ biến v luật kết hợp tr n các CSDL
ở bảng 3.2 với minConf là 50%
Bảng 3.3 Số tập phổ biến v số lượng luật truyền thống
a) Tính cả thời gian xây dựng dàn, tạo bảng băm và sinh luật 1
Hình 3.4 & 3.5 – Thời gian khai thác giữa dựa v o bảng băm và dàn trên
CSDL Chess & Mushroom
1
Thực nghiệm được chạy tr n máy có cấu hình: Core2duo, 2 2.0 GHz, 1GB RAM, Windows
XP Các thuật toán được c i đặt tr n C# (2005) Kết quả l trung bình cộng của 5 lần chạy
Trang 97
Hình 3.8 & 3.9–Thời gian khai thác giữa dựa v o bảng băm v d n tr n CSDL Retail & Connect
b) Chỉ tính thời gian sinh luật
Thời gian ở tr n tính luôn cả thời gian khai thác tập phổ biến v xây dựng d n
Để chứng tỏ tính hiệu quả của thuật toán khai thác luật từ d n, các hình b n dưới trình b y kết quả so sánh về thời gian sinh luật (không tính thời gian khai thác tập phổ biến v xây dựng d n)
Hình 3.11 & 3.12 – So sánh thời gian sinh luật tr n CSDL Chess &
Trang 108 Một đặc điểm thú vị l đối với CSDL Retail, khi không tính thời gian khai thác tập phổ biến v xây dựng d n, sinh luật từ d n tỏ ra hiệu quả hơn so với trực tiếp sinh luật từ FI
3.2 Khai thác luật từ các độ đo thú vị dựa vào dàn và bảng băm
Trong thực tế, có rất nhiều độ đo thú vị khác nhau phục vụ cho khai thác luật kết hợp như: Lift, Cosine, Laplace, Jaccard, Phi-coefficient, v.v Tuy chúng có khác nhau về công thức nhưng cùng sử dụng chung một số giá trị li n quan
đến luật X Y (X Y = ) gồm: n, nX, nY, nXY, trong đó n l số lượng giao dịch, nX = (X), n Y = (Y), n XY = (XY) Từ 4 giá trị tr n, chúng ta có thể suy
XY XY
XY Y Y X XY X Y X Y Y
đo thú vị được minh họa trong bảng 3.4
Đối với X, XY, chúng ta dễ d ng tìm được độ phổ biến của chúng bằng cách
sử dụng FIL như trong [2] Ri ng đối với Y, chúng ta cần sử dụng bảng băm
để tìm độ phổ biến của nó
Bảng 3.4 Giá trị một số độ đo thú vị của luật AC TW
Cosine
Y X
XYn n
n
12
334
3
Lift
Y X
XYn n
n n
2
33
Y X XY
n n n n
n n n
72
63234
346
Trang 119 Bảng 3.5 Bảng băm cho các tập phổ biến trong bảng 2.3
Bảng 3.8 Số lượng tập phổ biến v số lượng luật tr n các CSDL
2
Thực nghiệm được chạy tr n máy có cấu hình: Core2duo, 2 2.53 GHz, 4GB RAM, Windows
7 Các thuật toán được c i đặt tr n C# (2008) Kết quả l trung bình cộng của 5 lần chạy
Trang 12lệ tương ứng sẽ l 51.87/124.43100%=46.31%, 59.91/126.57100%=47.33% và 67.59/132.49100%=49.66% Độ tin cậy có
tỉ lệ nhỏ nhất do nó không cần sử dụng bảng băm để xác định độ phổ biến của
Trang 1311
Hình 3.20 – So sánh thời gian giữa HT v L+HT tr n CSDL Chess
Hình 2.23 – So sánh thời gian giữa HT v L+HT tr n CSDL Accidents Kết quả từ hình 3.19 đến 3.23 chứng tỏ việc kết hợp giữa L+HT để khai thác luật kết hợp tr n các độ đo thú vị luôn hiệu quả hơn chỉ dựa v o HT
Trang 1412
c) Không tính thời gian khai thác tập phổ biến và xây dựng dàn
Nếu không tính thời gian khai thác tập phổ biến v xây dựng d n thì khai thác luật dựa v o L+HT c ng hiệu quả hơn chỉ dựa v o HT như được trình
b y trong hình 3.24 v 3.25 b n dưới
Hình 3.24 – So sánh thời gian giữa HT v L+HT tr n CSDL Mushroom Hình 3.24 trình b y kết quả so sánh về thời gian thực thi giữa kết hợp L+HT
và chỉ sử dụng HT tr n CSDL Mushroom Với minSup = 20%, nếu chúng ta
sử dụng độ tin cậy, thời gian sinh luật dựa v o L+HT l 11.989 trong khi thời gian dựa tr n HT l 79.69, tỉ lệ l 11.989/79.69100% = 15.05% (nếu tính luôn cả thời gian khai thác tập phổ biến v xây dựng d n l 17.48% như trong hình 3.19(a)) Kết quả cũng sẽ tương tự nếu sử dụng độ đo lift, cosine, phi-coefficient
Hình 3.25 minh họa kết quả so sánh về thời gian sinh luật giữa hai thuật toán
tr n độ đo Phi-coefficient (có công thức tương đối phức tạp) Kết quả cũng cho thấy dựa v o L+HT luôn hiệu quả hơn so với trực tiếp sinh luật dựa v o
Trang 1513
Hình 3.25 – So sánh thời gian giữa HT v L+HT với đô đo Phi-coefficient
3.3 Khai thác luật không dư thừa tối tiểu từ dàn sửa đổi [3]
Định nghĩa 3.3.1 Cho hai luật R 1: X1 Y1 và R2: X2 Y2 , R 1 được gọi l
tổng quát hơn luật R 2 , kí hiệu R 1 R 2 , khi v chỉ khi X 1 X 2 và Y 2 Y 1
Định nghĩa 3.3.2 Gọi R = {R 1, R2, …, Rn} l tập tất cả các luật kết hợp có
cùng độ phổ biến và độ tin cậy, luật Rj được gọi l dư thừa nếu trong R tồn tại
luật R i sao cho R i R j (i ≠ j)
Định lý 3.3.1 Cho X, Y (X ≠ Y) l hai tập đóng v mG(X) l tập các tập sinh
tối tiểu của X, nếu X Y thì Z mG(X), Z Y
Định lý 3.3.2 MNAR với độ tin cậy 100% chỉ được sinh ra từ các mG của X
sang X với X l một tập đóng
Định lý 3.3.3 MNAR với độ tin cậy nhỏ hơn 100% chỉ được sinh ra từ mG
của X sang Y với X, Y l các tập đóng v X Y
Định lý 3.3.4 – Các tính chất của nút d n
Cho Xt(X), Yt(Y) là hai IT-pair sao cho X Y Nếu (X) = (Y) thì hai tính
chất sau thỏa:
i) X không l tập đóng, v ii) Y không là mG
3.3.1 Thuật toán xây dựng dàn FIL sửa đổi
3.3.2 Minh họa quá trình xây dựng dàn sửa đổi
3.3.3 Thuật toán khai thác luật không dư thừa tối tiểu từ dàn sửa đổi
Dựa v o định lý 3.3.1, 3.3.2 v 3.3.3, có thể thấy luật không dư thừa tối tiểu
chỉ được sinh ra từ một tập sinh tối tiểu của tập X sang tập đóng Y với X, Y là các tập đóng v X Y Vì vậy, chúng ta không cần xét các luật khác ngo i
50 45 m inSup 40 35
Phi-coef f icient: HT Phi-coef f icient: L+HT
Trang 16Hình 3.31 & 3.32 – Thời gian khai thác giữa dựa v o FCI v MFIL tr n
CSDL Chess & Mushroom
Hình 3.33 & 3.34 – Thời gian khai thác giữa dựa v o FCI v MFIL tr n
CSDL Pumsb & Pumsb*
Hình 3.35 & 3.36 – Thời gian khai thác giữa dựa vào FCI và MFIL trên
CSDL Connect & Accidents
3
Thực nghiệm được chạy tr n máy có cấu hình: Core2duo, 2 2.0 GHz, 1GB RAM, Windows
XP Các thuật toán được c i đặt tr n C# (2005) Kết quả l trung bình cộng của 5 lần chạy
Trang 1715
Có thể thấy thời gian khai thác MNAR từ MFIL thường nhanh hơn so với trực tiếp khai thác từ FCI, đặc biệt khi độ lệch giữa số lượng tập phổ biến v số lượng tập phổ biến đóng nhỏ Tuy nhi n, khi tỉ lệ n y lớn sẽ dẫn đến khai thác
từ FCI sẽ hiệu quả hơn (Chẳng hạn như CSDL Mushroom v Connect) Khi không tính thời gian khai thác tập phổ biến đóng v xây dựng d n, kết quả so sánh về thời gian sinh luật trực tiếp từ FCI v từ MFIL được trình b y trong các hình từ 3.37 đến 3.42
Hình 3.37 & 3.38 – Thời gian sinh luật dựa v o FCI v MFIL tr n CSDL
Chess & Mushroom
Hình 3.39 & 3.40 – Thời gian sinh luật dựa v o FCI v MFIL tr n CSDL
Pumsb & Pumsb*
Hình 3.41 & 3.42 – Thời gian sinh luật dựa v o FCI v MFIL trên CSDL
Connect & Accidents
Trang 1816 Kết quả tr n cho thấy khi không tính thời gian khai thác FCI v d n, độ lệch giữa thời gian sinh luật không dư thừa tối tiểu từ d n v từ FCI sẽ lớn hơn Chẳng hạn: xét CSDL Chess với minSup = 70%, tỉ lệ về thời gian xây dựng
d n + sinh luật với thời gian khai thác FCI + sinh luật l 12.41% trong khi không tính thời gian xây dựng d n v khai thác FCI l 9.76%
3.4 Kết luận
Chương n y trình b y các đóng góp của luận án li n quan đến giai đoạn khai thác luật kết hợp Các đóng góp n y chủ yếu tập trung v o việc tăng hiệu quả khai thác (giảm thời gian) Do tập luật khai thác được theo phương pháp dựa
tr n d n không thay đổi so với dựa tr n FI/FCI n n chất lượng tập luật kết quả vẫn không thay đổi Cách tiếp cận dựa tr n d n thường hiệu quả hơn so với khai thác luật trực tiếp từ tập phổ biến hay tập phổ biến đóng Như đ được phân tích về mặt lý thuyết trong phần 3.1.1, độ phức tạp của thuật toán khai
thác luật từ d n l O(nk) với n l số FI/FCI v k l trung bình cộng các tập cha Trong khi đó, khai thác luật trực tiếp từ FI/FCI có độ phức tạp l O(n2
)
Do k thường rất nhỏ so với n n n độ phức tạp của các thuật toán sinh luật từ
d n nhỏ hơn Luận án đ trình b y cách tiếp cận dựa tr n dàn tập phổ biến để khai thác luật truyền thống, luật không dư thừa tối tiểu, luật từ các độ đo thú
vị
Chương 4 Khai thác luật kết hợp dựa trên dàn tập phổ biến đóng
Chương n y trình b y các đóng góp của luận án li n quan đến khai thác luật
từ dàn tập phổ biến đóng Đầu ti n, thuật toán xây dựng dàn tập phổ biến đóng từ danh sách các tập phổ biến đóng được trình b y Sau đó phát triển thuật toán sinh luật thiết yếu nhất dựa tr n dàn tập phổ biến đóng [1]
Định nghĩa 4.1.1 Tập luật thiết yếu nhất