Ộ
Ụ
Ạ
Ộ
Ố
B GIÁO D C VÀ ĐÀO T O
B QU C PHÒNG
Ọ Ậ Ỹ Ệ Ự H C VI N K THU T QUÂN S
Ậ
Ả
Đ U H I PHONG
Ứ Ậ
Ầ Ử Ợ Ọ Ố Ậ Ể NGHIÊN C U PHÁT TRI N MÔ HÌNH, THU T TOÁN KHAI PHÁ T P PH N T CÓ TR NG S VÀ L I ÍCH CAO
Ơ Ở
Ọ
Ọ
Ậ
Ế
LU N ÁN TI N SĨ C S TOÁN H C CHO TIN H C
Ộ
HÀ N I – NĂM 2018
2
Ộ
Ụ
Ạ
Ộ
Ố
B GIÁO D C VÀ ĐÀO T O
B QU C PHÒNG
Ọ Ậ Ỹ Ệ Ự H C VI N K THU T QUÂN S
Ậ
Ả
Đ U H I PHONG
Ứ Ậ
Ầ Ử Ợ Ọ Ố Ậ Ể NGHIÊN C U PHÁT TRI N MÔ HÌNH, THU T TOÁN KHAI PHÁ T P PH N T CÓ TR NG S VÀ L I ÍCH CAO
ơ ở ọ ọ Chuyên ngành: C s Toán h c cho Tin h c
Mã số : 62.46.01.10
Ơ Ở
Ọ
Ọ
Ậ
Ế
LU N ÁN TI N SĨ C S TOÁN H C CHO TIN H C
Ọ
Ẫ
NG
ƯỜ ƯỚ I H
NG D N KHOA H C:
Ạ
Ễ
1. TS NGUY N M NH HÙNG
2. PGS.TS ĐOÀN VĂN BAN
Ộ HÀ N I 2018
4
Ờ L I CAM ĐOAN
ứ ậ Tôi xin cam đoan lu n án này là công trình nghiên c u do tác gi ả ự th c
ủ ậ ộ ướ ể ẫ ẫ ệ hi n d ướ ự ướ i s h ng d n c a t p th cán b h ậ ng d n. Lu n án có s ử
ẫ ừ ề ả ồ ụ d ng thông tin trích d n t nhi u ngu n tham kh o khác nhau, các thông tin
ề ượ ố ệ ự ệ ế ồ ố ẫ trích d n đ u đ c ghi rõ ngu n g c. Các s li u th c nghi m, k t qu ả
ư ượ ự ứ ậ nghiên c u trình bày trong lu n án là hoàn toàn trung th c, ch a đ c công
ả ấ ố ở b b i tác gi nào hay trong b t kì công trình nào khác.
5
Ờ Ả Ơ L I C M N
ậ ượ ự ệ ạ ệ Lu n án này đ c th c hi n và hoàn thành t i Khoa Công ngh Thông
ự ể ạ ượ ế ệ ể ả ọ ỹ ậ tin, H c vi n k thu t Quân s . Đ đ t đ ế c k t qu này không th thi u
ướ ỗ ợ ủ ướ ẫ ỏ ự ị s đ nh h ng và h tr c a giáo viên h ng d n. Tôi luôn t ả ơ lòng c m n
ữ ườ ứ ỡ và tri ân nh ng ng i đã giúp đ trong quá trình nghiên c u sau đây.
ỏ ế ơ ướ Tôi luôn t lòng bi ớ ủ t n công lao to l n c a hai giáo viên h ẫ ng d n.
ữ ầ ườ ầ ậ ớ ướ ẫ ỡ Th y là nh ng ng i Th y l n t n tình, h ng d n và giúp đ trong
nghiên c u. ứ
ả ạ ầ ọ ơ Tôi trân tr ng c m n Lãnh đ o, Th y/Cô trong Khoa Công ngh ệ
ạ ọ ự ệ ậ ạ ọ ỹ ề Thông tin, Phòng Sau đ i h c H c vi n K thu t Quân s đã t o đi u
ậ ợ ệ ọ ậ ứ ỡ ki n thu n l i, giúp đ trong quá trình h c t p và nghiên c u.
ả ơ ớ ệ ầ ạ ồ Tôi c m n t i Ban Giám Hi u, Th y/Cô và b n bè đ ng nghi p t ệ ạ i
ườ ạ ọ ứ ệ ể ạ ậ tr ề ng Đ i h c Thăng Long đã t o đi u ki n đ tôi t p trung nghiên c u.
ấ ả ự ươ Tôi xin dành t t c s yêu th ng và l ờ ả ơ ớ i c m n t ố ẹ i gia đình, b m ,
ị ườ ẽ ạ ộ ợ v con, anh ch em và ng ự i thân luôn là đ ng viên m nh m giúp tôi th c
ệ ậ hi n Lu n án.
ả ơ Xin chân thành c m n!
ả ậ Tác gi lu n án
ậ ả Đ u H i Phong
6
Ụ Ụ M C L C
7
Ữ Ế Ụ Ắ Ệ DANH M C CÁC KÝ HI U VÀ CÁC CH VI T T T
ậ ữ ế ậ ữ ế Thu t ng ti ng Anh Thu t ng ti ng Vi ệ t ST T
ự ế
ố ứ
1. 2. 3. 4. 5. 6. 7. 8. ừ ế T vi t tắ t AU CFP CSDL CUP CWU FI FP IT
ợ L i ích th c t ẫ ổ ế M u ph bi n nén ơ ở ữ ệ C s d li u ẫ ợ ợ ậ ẫ ả ợ ọ Actual Utility Compact Frequent Pattern Database Compressed Utility Pattern M u l Candidate Weighted Utility Frequent Itemsets Frequent Pattern Index Table High Candidate Weighted i ích nén ọ L i ích tr ng s ng viên ổ ế T p ph bi n ổ ế M u ph bi n ỉ ố B ng ch s ứ L i ích ng viên có tr ng 9. HCWU
ố ứ ọ Utility Low Candidate Weighted s caoố ợ L i ích tr ng s ng viên 10. LCWU th pấ
Utility Remaining Transaction ợ ị ạ 11. RTWU L i ích giao d ch còn l i
B ng ng viên
ả ứ ợ ị
ả 12. 13. 14. 15. TC TWU UL UT
Weighted Utilization Table Candidate Transaction Weighted Utility L i ích tr ng s giao d ch Utility List Utility Table Vertical Mining using ố ọ ợ i ích Danh sách l ợ ị i ích B ng giao d ch l ọ ề Khai phá theo chi u d c 16. VMUDG
ề ọ Diffset Groups Vertical Mining of Weighted ử ụ s d ng các nhóm Diffset Khai phá theo chi u d c 17. VMWFP ổ ế ọ ố Frequent Patterns ậ t p ph bi n có tr ng s
8
Ụ Ả DANH M C CÁC B NG
9
10
Ở Ầ M Đ U
ệ ấ ộ ọ ọ Ngày nay, công ngh thông tin đóng m t vai trò r t quan tr ng trong m i
ộ ố ủ ạ ố ượ ậ ữ ệ khía c nh c a cu c s ng con ng ườ , giúp thu th p kh i l i ổ ng d li u kh ng
ữ ệ ể ượ ư ữ ề ồ ồ ừ l t nhi u ngu n khác nhau. D li u này có th đ c l u tr và duy trì đ ể
ữ ệ ứ ế ộ ạ t o ra thông tin và tri th c. Khai phá d li u là m t quá trình tìm ki m thông
ượ ử ụ ữ tin h u ích t ừ ố ượ s l ng l n d li u ớ ữ ệ . Thông tin đó đ c s d ng ể ự đ d đoán
ươ ộ ượ ữ ệ các xu h ngướ , hành vi trong t ng lai. Hàng ngày m t l ổ ng d li u kh ng
ữ ệ ự ồ ượ ạ l c t o ra trong các lĩnh v c khác nhau. Do đó, khai phá d li u đang tr đ ở
ậ ữ ộ ỹ ượ ứ ụ ộ thành m t k thu t h u ích và đ ự ớ c ng d ng r ng l n trong các lĩnh v c
ươ khác nhau. Các ph ng pháp khai phá d li u đ ữ ệ ượ ử ụ , giúp xây d ngự c s d ng
ự ữ ệ ủ ừ ế ị ư mô hình d đoán , phát hi nệ hành vi c a d li u, t đó đ a ra quy t đ nh
ữ ệ ở ừ [44]. Khai phá d li u đang tr ổ ế t nên ph bi n nh ng ữ thành công trong
ư ự ế ễ nhi uề lĩnh v c khác nhau nh y t , tài chính, vi n thông, kinh doanh, giáo
ư ỹ d c,…ụ [43]. Khai phá d li u ậ ữ ệ g mồ các k thu t khác nhau nh : phân l pớ ,
ậ ế ợ ụ phân c m, khai phá lu t k t h p,…
ậ ế ợ ữ ậ ấ ộ ọ ỹ Khai phá lu t k t h p là m t trong nh ng k thu t quan tr ng nh t trong
ậ ế ợ ữ ệ ụ ố ủ khai phá d li u. M c đích chính c a khai phá lu t k t h p là tìm ra m i
ệ ữ ầ ử quan h gi a các ph n t khác nhau trong c s d li u ơ ở ữ ệ [54]. Bài toán khai
ậ ế ợ ổ ế ậ ồ phá lu t k t h p g m hai bài toán con đó là khai phá t p ph bi n và sinh
ổ ế ề ậ lu t k t h p ậ ế ợ , trong đó bài toán khai phá t p ph bi n thu hút nhi u nhà
ướ ế ớ ứ nghiên c u trong n c và th gi i quan tâm. ậ Khai phá t p ph bi n ổ ế trong
ự ế ẫ ứ ế ạ ượ ầ ủ th c t v n còn nhi uề h n ch , không đáp ng đ c nhu c u c a ng ườ ử i s
ủ ừ ầ ử ư ự ọ ừ ị d ngụ nh đánh giá s quan tr ng c a t ng ph n t trong t ng giao d ch hay
ụ ữ ể ắ ạ ậ trong c s d li u ơ ở ữ ệ . Đ kh c ph c nh ng h n ch c a ế ủ khai phá t p ph ổ
ứ ề ấ ề bi nế truy n th ng ố , các nhà nghiên c u đã đ xu t mô hình m r ng ở ộ , có tính
ứ ộ ầ ử ủ ọ đ nế m c đ quan tr ng khác nhau c a các ph n t ư ơ ở ữ ệ trong c s d li u nh :
ổ ế ậ ọ ố khai phá t p ph bi n có tr ng s (WFI – Weight ed Frequent Itemsets) [11],
11
ợ [58], [72], [32], [33], [64],…; khai phá t p ậ l i ích cao (HUI – High Utility
Itemsets) [13], [39], [23], [38], [62], [60], [26], [77], [65], [55], [17],…
ế ớ ứ ề ề ấ Trên th gi ữ ệ i, có r t nhi u nhà nghiên c u quan tâm v khai phá d li u.
ệ ữ ệ ươ ề ả ộ ặ Đ c bi t, trong H i th o Châu Á Thái Bình D ng v Khai phá d li u và
ố ế ề ữ ệ ứ ả ộ Khám phá tri th c – PAKDD và H i th o Qu c t v Khai phá d li u –
ậ ế ợ ậ ợ ề ề ICDM, nhi u công trình v khai phá, phân tích lu t k t h p và t p l i ích cao
ượ ữ ứ ầ ố đã đ ế c công b . Trong nh ng năm g n đây, các nghiên c u lên quan đ n
ượ ậ ợ t p l i ích cao đã đ c công b ố [62], [55], [38], [77], [17], [26], [24], [23],
[37], [15],…
ệ ề ậ ế ợ ứ ề ậ ạ T i Vi t Nam, đã có nhi u nhóm nghiên c u, lu n án v lu t k t h p và
ổ ế ạ ệ ệ ọ ệ ậ t p ph bi n t i Vi n Hàn lâm Khoa h c và Công ngh Vi t Nam, tr ườ ng
ạ ọ ạ ọ ạ ọ ố ộ ộ ố Đ i h c Qu c gia Hà N i, Đ i h c Bách Khoa Hà N i, Đ i h c Qu c gia
ề ế ố ồ ả ượ ự ệ ố thành ph H Chí Minh th c hi n và đã có nhi u k t qu đ c công b . Các
ề ấ ử ụ ậ ấ ượ thu t toán đ xu t s d ng c u trúc cây FPtree đ c Han, Wang và Yin gi ớ i
ệ ệ thi u năm 2000 trong ở ấ [30], cách khai phá cây FPtree không đ quy b i c u
ề ấ trúc cây COFItree do Mohammad ElHajj và Osmar R. Zaiane đ xu t năm
ự ệ ễ 2003 trong [19], [20], [21]. Năm 2010, Nguy n Huy Đ c ứ [2] th c hi n nghiên
ụ ổ ề ầ ợ ậ ứ c u đ tài “Khai phá t p m c c ph n cao và l i ích cao trong c s d ơ ở ữ
ử ụ ệ ệ ấ ả ơ li u” s d ng c u trúc cây đ n gi n và khai phá không dùng đ quy. Năm
ộ ố ứ ề ể ậ ễ 2016, Nguy n Duy Hàm [1] nghiên c u đ tài “Phát tri n m t s thu t toán
ơ ở ữ ệ ố ượ ệ ả ậ ự ụ hi u qu khai thác t p m c trên c s d li u s l ấ ậ ng có s phân c p t p
ộ ố ả ế ụ ư ệ ả ậ ổ ế m c” đã đ a ra m t s c i ti n nâng cao hi u qu khai thác t p ph bi n
ố ữ ố ượ ọ ự ấ tr ng s h u ích trên CSDL s l ng có s phân c p. Ngoài ra, hàng năm các
ề ọ ọ ủ ộ ố ấ ề ệ ả ộ ố H i th o Qu c gia v “M t s v n đ ch n l c c a Công ngh Thông tin”
ơ ả ứ ụ ứ ệ ấ và “Nghiên c u c b n và ng d ng Công ngh thông tin FAIR” có r t
ữ ệ ế ề nhi u báo cáo liên quan đ n khai phá d li u.
12
ổ ế ứ ữ ậ ộ ọ ố M t trong nh ng thách th c trong khai phá t p ph bi n có tr ng s và
ố ậ ợ ậ ọ ậ ợ t p l ổ ế i ích cao đó là t p ph bi n có tr ng s , t p l i ích cao không có tính
ấ ố ượ ứ ấ ả ượ ch t đóng [6] tính ch t làm gi m s l ng ng viên đ c sinh ra và không
ậ ợ ế ế ầ ậ gian tìm ki m. H u h t các thu t toán khai phá t p l ề ử ụ i ích cao đ u s d ng
ủ ấ ợ tính ch t đóng c a TWU (Transaction Weighted Utility) ị [39] d ch là l i ích
ọ ị ộ ố giao d ch có tr ng s ự ố [39] do Liu và c ng s công b . Tuy nhiên, ng ưỡ ng
ớ ợ ẫ ự ế ủ ầ ử TWU v n còn khá cao so v i l i ích th c t ậ c a các t p ph n t ẫ , do đó v n
ộ ố ượ ứ ầ ớ ế còn phát sinh m t s l ng l n các ng viên không c n thi ố t, làm tiêu t n
ế ờ th i gian và không gian tìm ki m.
ứ ữ ậ ở ứ Trên c s ơ ở nh ng nghiên c u, nh n xét và đánh giá trên , nghiên c u sinh
ề ọ ứ ể ậ đã ch n đ tài “ ậ Nghiên c u phát tri n mô hình, thu t toán khai phá t p
ố ọ ợ ứ ề ậ ế ” làm đ tài nghiên c u cho lu n án ti n ph n tầ ử có tr ng s và l i ích cao
ủ sĩ c a mình.
ứ ụ M c tiêu nghiên c u
ổ ế ứ ậ ậ ậ ổ ế Nghiên c u các thu t toán khai phá t p ph bi n, t p ph bi n
ậ ợ ọ ố có tr ng s và t p l i ích cao.
ự ấ ằ ả ữ ệ Xây d ng mô hình, c u trúc d li u nh m gi m không gian tìm
ơ ở ự ự ế ể ậ ậ ki m và d a trên c s đó đ xây d ng các thu t toán khai phá t p
ổ ế ậ ợ ố ọ ph bi n có tr ng s và t p l i ích cao.
ố ượ ứ Đ i t ng nghiên c u
ể ắ ỉ ậ ứ ấ ữ ệ Các mô hình, c u trúc d li u đ c t t a t p ng viên đ ượ ử c s
ổ ế ổ ế ậ ậ ậ ụ d ng trong các thu t toán khai phá t p ph bi n, t p ph bi n có
ậ ợ ọ ố tr ng s và t p l i ích cao.
ổ ế ậ ợ ậ ậ ọ ố Các thu t toán khai phá t p ph bi n có tr ng s và t p l i ích
cao.
ứ ạ Ph m vi nghiên c u
13
ứ ổ ổ ế ề ậ ậ ổ ế Nghiên c u t ng quan v khai phá t p ph bi n, t p ph bi n
ậ ợ ọ ố có tr ng s và t p l i ích cao.
ữ ệ ứ ấ ậ Nghiên c u, đánh giá các mô hình, c u trúc d li u và thu t toán
ố ậ ợ ổ ế ậ ọ khai phá t p ph bi n có tr ng s , t p l i ích cao.
ươ ứ Ph ng pháp nghiên c u
ữ ệ ậ ấ ậ Thu th p, phân tích các mô hình, c u trúc d li u, thu t toán liên
ổ ế ổ ế ế ậ ậ ọ ố quan đ n khai phá t p ph bi n, t p ph bi n có tr ng s và t p l ậ ợ i
ích cao.
ữ ệ ự ấ ậ ậ Xây d ng mô hình, c u trúc d li u và thu t toán khai phá t p
ố ậ ợ ổ ế ọ ph bi n có tr ng s , t p l i ích cao.
ử ệ ệ ệ ậ L p trình, th nghi m, so sánh, đánh giá hi u năng, hi u qu s ả ử
ề ấ ủ ậ ụ d ng tài nguyên c a các thu t toán đ xu t.
ở ầ ữ ầ ậ ậ ộ ồ ế Ngoài nh ng ph n m đ u và k t lu n, n i dung lu n án bao g m
ươ ượ đ c trình bày trong 3 ch ng.
ươ ớ ơ ở ệ ệ ươ Ch ng 1 gi i thi u các khái ni m c s liên quan; ph ng pháp khai
ổ ế ổ ế ậ ợ ậ ậ ọ ố phá t p ph bi n, t p ph bi n có tr ng s và t p l i ích cao.
ươ ậ ợ ậ Ch ng 2 i ích trình bày mô hình CWU, các thu t toán khai phá t p l
ư ự cao d a trên mô hình CWU nh : HP, PPB, CTUPRO+.
ươ ẫ ợ ấ Ch ng 3 trình bày c u trúc cây m u l ế ợ i ích nén (CUP) k t h p
ợ ậ ợ ậ danh sách l i ích và thu t toán HUIGrowth khai phá t p l ự i ích cao d a
ắ ỉ ấ ấ ậ trên c u trúc cây CUP; trình bày c u trúc c t t a RTWU và hai thu t toán
ầ ự ậ ợ ự ấ tu n t , song song khai phá t p l ắ ỉ ậ i ích cao d a trên c u trúc c t t a t p
ứ ng viên RTWU là EAHUIMiner, PEAHUIMiner.
14
ƯƠ Ổ Ế Ổ Ậ Ề CH NG 1. T NG QUAN V KHAI PHÁ T P PH BI N
ươ ệ ế ậ Ch ng này trình bày các khái ni m liên quan đ n khai phá t p ph ổ
ậ ế ợ ố ậ ợ ổ ế ế ậ ọ ạ bi n, lu t k t h p, t p ph bi n có tr ng s , t p l i ích cao; phân lo i các
ươ ố ậ ợ ổ ế ổ ế ậ ậ ọ ph ng pháp khai phá t p ph bi n, t p ph bi n có tr ng s , t p l i ích
ế ủ ữ ư ề ể ấ ậ ạ cao và phân tích nh ng u đi m, h n ch c a chúng. Đ xu t thu t toán
ổ ế ề ậ ọ ố ọ khai phá t p ph bi n có tr ng s theo chi u d c [I].
ớ ệ 1.1. Gi i thi u chung
ổ ế ầ ử ậ ậ ố ầ ấ Khai phá t p ph bi n là tìm ra các t p ph n t ệ ớ có s l n xu t hi n l n
ộ ưỡ ỗ ợ ố ể ậ ơ h n m t ng ng h tr t i thi u (minsupp). Tuy nhiên, khai phá t p ph ổ
ứ ấ ử ữ ế ạ ấ ả ầ ử ầ ế bi n có nh ng h n ch . Th nh t, nó x lý t t c các ph n t có t m quan
ầ ử ỉ ứ ư ọ ỗ ộ ị tr ng nh nhau. Th hai, trong m t giao d ch m i ph n t ạ ch có tr ng thái
ữ ệ ế ệ ặ ấ ấ ạ xu t hi n ho c không xu t hi n. Rõ ràng nh ng h n ch này làm cho bài
ổ ế ề ậ ớ ợ ố toán khai phá t p ph bi n truy n th ng không phù h p v i các c s d ơ ở ữ
ự ế ệ ơ ở ữ ệ ủ ụ ư ặ ỗ ị li u th c t , ví d nh trong c s d li u c a siêu th , m i m t hàng có
ố ượ ả ọ ặ ầ t m quan tr ng hay giá c khác nhau, s l ỗ ng mua các m t hàng trong m i
ổ ế ậ ậ ị ỉ ả giao d ch cũng khác nhau,… Vì v y, mô hình khai phá t p ph bi n ch ph n
ố ươ ầ ử ơ ở ữ ệ ệ ấ ánh m i t ữ ng quan gi a các ph n t ư xu t hi n trong c s d li u, nh ng
ủ ừ ầ ử ữ ệ ụ ể ả không ph n ánh ý nghĩa c a t ng ph n t ữ ắ d li u. Đ kh c ph c nh ng
ượ ể ượ ư ậ ọ nh c đi m trên có hai mô hình đ ố ổ ế c đ a ra: T p ph bi n có tr ng s
ậ ợ WFI và T p l i ích cao HUI.
ự ư ộ ậ Năm 1998, Ramkumar [48] và c ng s đã đ a ra mô hình khai phá t p
ổ ế ọ ph bi n có tr ng s ( ố Weighted Frequent Itemsets – WFI). Trong đó, m iỗ
ầ ử ộ ọ ư ợ ả ộ ọ ph n t ố có m t tr ng s khác nhau nh : l i ích, giá c , đ quan tr ng hay
ộ ậ ầ ử ượ ổ ế ọ ố ố ượ s l ng,…M t t p các ph n t đ c xem là ph bi n có tr ng s khi giá
15
ố ủ ọ ớ ơ ộ ị ưỡ ướ ừ tr có tr ng s c a chúng l n h n m t ng ng cho tr c. T mô hình này
ổ ế ố ượ ư ề ậ ọ ậ nhi u thu t toán khai phá t p ph bi n có tr ng s đ c đ a ra [11], [72],
[64], [33], [58], [73],…
ậ ợ ư ộ ự Năm 2003 Chan [13] và c ng s đã đ a ra mô hình khai phá t p l i ích
ế ủ ụ ữ ạ ắ cao (High Utility Itemsets – HUI), kh c ph c nh ng h n ch c a mô hình
ổ ế ổ ế ậ ậ ọ ố khai phá t p ph bi n và t p ph bi n có tr ng s . Mô hình này cho phép
ườ ử ụ ượ ầ ủ ừ ầ ử ọ ng i s d ng đánh giá đ c t m quan tr ng c a t ng ph n t qua hai
ọ ố ọ ợ ợ ợ tr ng s khác nhau g i là l i ích trong và l i ích ngoài. L i ích trong có th ể
ố ượ ầ ử ừ ị ợ ể ợ là s l ng t ng ph n t trong giao d ch; l i ích ngoài có th là l ậ i nhu n
ả ủ ầ ử ủ ặ ặ ợ ộ ho c giá c c a các m t hàng. L i ích c a m t ph n t là tích hai giá tr l ị ợ i
ợ ộ ậ ầ ử ượ ậ ợ ọ ích trong và l i ích ngoài. M t t p ph n t đ c g i là t p l i ích cao khi
ị ợ ủ ơ ộ ưỡ ườ ị giá tr l ớ i ích c a nó l n h n m t ng ng do ng i dùng đ nh nghĩa tr ướ c.
ậ ợ ờ ộ ố ể ư ế ị Nh khai phá t p l ọ i ích cao có th đ a ra m t s quy t đ nh quan tr ng
ư ố ể ế ả ạ ồ nh t i đa hóa doanh thu, gi m thi u chi phí, h n ch hàng t n kho,…
ổ ế ậ 1.2. T p ph bi n
ổ ế ầ ử ế ậ ậ Khai phá t p ph bi n là quá trình tìm ki m t p các ph n t ố ầ có s l n
ệ ớ ấ ơ ộ ưỡ ướ ề ấ ượ xu t hi n l n h n m t ng ng cho tr c và v n đ này đ c R. Agrawal,
ề ấ ấ ừ T. Imielinski và A. Swami [5] đ xu t năm 1993, xu t phát t ầ nhu c u bài
ơ ở ữ ệ ữ ệ ệ ằ ị ố toán phân tích d li u trong c s d li u giao d ch, nh m phát hi n các m i
ệ ữ ạ ệ ị ị ậ quan h gi a các t p hàng hóa đã bán t i siêu th . Vi c xác đ nh này không
ệ ự ỉ ự ữ ự ệ ấ phân bi ủ t s khác nhau gi a các hàng hóa, ch d a vào s xu t hi n c a
chúng.
ộ ố ơ ở ế ệ ế ầ Ph n ti p theo đây nêu m t s khái ni m c s liên quan đ n bài toán
ậ ế ợ ổ ế ậ lu t k t h p và t p ph bi n.
16
ơ ở ệ 1.2.1. Khái ni m c s
1, i2,…,in} là t pậ
ơ ở ữ ệ ị Cho D = {T1, T2,…Tm} là c s d li u giao d ch và I = {i
i (cid:0)
(cid:0) ầ ử ơ ở ữ ệ ỗ ị các ph n t trong c s d li u D. M i giao d ch T ậ I. T p X I có k
ầ ử ph n t ầ ử ượ ọ đ ậ c g i là t p kph n t .
ị ộ ỗ ợ ủ ầ ử [6] Đ h tr ộ ậ c a m t t p ph n t X trong c s d ơ ở ữ Đ nh nghĩa 1.1.
(cid:0) ỉ ố ữ ố ệ ệ ị li u D, kí hi u là Support(X), là t s gi a s các giao d ch T D có ch aứ
ố ổ ị ậ t p X và t ng s giao d ch trong D,
(1.1)
ổ ế ậ ườ ậ ế ợ ậ ế ợ ể T p ph bi n th ớ ạ ng dùng đ sinh lu t k t h p. Lu t k t h p v i d ng
ầ ử ượ ậ ớ ị X (cid:0) Y, v i X, Y là hai t p ph n t , đ ệ c xác đ nh thông qua hai khái ni m
ậ ủ ậ ượ ị ư ộ ộ ỗ ợ đ h tr và đ tin c y c a lu t đ c đ nh nghĩa nh sau:
(cid:0) ị ộ ỗ ợ ủ ậ ơ ở ữ ệ [6] Đ h tr c a lu t X Y trong c s d li u D là t ỉ Đ nh nghĩa 1.2.
(cid:0) (cid:0) ệ ữ ố ị ứ ổ ố ị l gi a s các giao d ch T D có ch a X Y và t ng s giao d ch trong D,
(cid:0) ệ kí hi u là Support(X Y) và
(1.2)
(cid:0) ị ậ ủ ậ ộ ỉ ố ủ ố ị [6] Đ tin c y c a lu t X Y là t s c a s giao d ch Đ nh nghĩa 1.3.
(cid:0) ệ ứ ố trong D, kí hi u là Confidence(X (cid:0) Y), ch a X ị Y và s giao d ch trong D có
ứ ậ ch a t p X.
(1.3)
ị ầ ử ậ ượ ổ ế ế ậ ọ [6] T p ph n t X đ c g i là t p ph bi n n u có Đ nh nghĩa 1.4.
ớ ưỡ ỗ ợ ố ể ướ Support(X) ≥ minsupp, v i minsupp là ng ng h tr t i thi u cho tr c.
17
ị ậ ượ ọ ậ [6] Lu t X (cid:0) Y đ ế c g i là tin c y n u có Confidence(X Đ nh nghĩa 1.5.
ưỡ ậ ố ể ướ (cid:0) Y) ≥ minconf, v i minconf là ng ớ ng tin c y t i thi u cho tr c.
ổ ế ộ ố ậ ấ T p ph bi n có m t s tính ch t sau:
(cid:0) (cid:0) ấ ả ử ớ [4] Gi s X, Y I là hai t p ậ ph n tầ ử v i X Y thì Tính ch t 1.1.
Support(X) (cid:0) Support(Y).
ấ ủ ậ ấ ả ử ầ ử) Gi s X, Y là hai Tính ch t 1.2 . [4] (Tính ch t đóng c a t p ph n t
(cid:0) ổ ế ế ậ t p ậ ph n tầ ử, X, Y (cid:0) I. N u Y là t p ph bi n và X Y thì X cũng là t pậ
ổ ế ph bi n.
ấ ậ [4] Cho X, Y là hai t p ậ ph n tầ ử, X (cid:0) Y và X là t p không Tính ch t 1.3.
ổ ế ổ ế ậ ph bi n thì Y cũng là t p không ph bi n.
ộ ố ươ ổ ế ậ 1.2.2. M t s ph ng pháp khai phá t p ph bi n
ươ ự Ph ệ ế ố ng pháp d a trên quan h k t n i
ươ ườ ượ ử ụ ế ố ể ự ệ Ph ng pháp th ng đ ậ c s d ng là d a vào vi c k t n i đ sinh t p
ứ ổ ế ầ ử ng viên (k+1)ph n t ầ ử ừ ậ t t p ph bi n kph n t , sau đó duy t l ệ ạ ơ ở i c s
ể ậ ị ươ ậ ữ ệ d li u giao d ch đ xác nh n. Trong các ph ng pháp này, thu t toán
ổ ế ấ ả ơ Apriori là ph bi n và đ n gi n nh t.
ự ậ ư R. Agrawal, and R. Srikant [6] đ a ra thu t toán Apriori d a trên ph ươ ng
ế ố ứ ử ậ ộ ừ pháp k t n i. Thu t toán này x lý t ng m c m t (levelwise), nghĩa là xác
ầ ử ồ ổ ế ậ ớ ị ổ ế ị đ nh các t p ph bi n có kph n t ậ , r i m i xác đ nh t p ph bi n (k+1)
ầ ử ư ớ ề ấ ơ ả ủ ậ ph n t . Đi u này đ a t ọ i tính ch t c b n c a thu t toán Apriori là m i
ổ ế ổ ế ủ ậ ứ ậ ậ ậ t p con c a t p ph bi n cũng là t p ph bi n. Vì v y, các ng viên ph ổ
ầ ử ề ế ể ượ ế ợ ằ bi n có chi u dài (k+1)ph n t có th đ c sinh ra b ng cách k t h p các
ổ ế ầ ử ố ể ạ ậ ộ ậ t p ph bi n có kph n t . M t phép n i đ t o ra t p có kph n t ầ ử ượ c đ
18
ầ ử ự ệ ể ả ố ượ ứ ượ th c hi n khi (k1)ph n t chung. Đ gi m s l ng ng viên đ c sinh
ổ ế ủ ậ ấ ượ ử ụ ả ấ ra, tính ch t đóng c a t p ph bi n đ ả c s d ng. Tính ch t này đ m b o
ầ ử ế ậ ắ ậ ằ r ng n u trong t p kph n t ắ ậ ổ ế có t p con không ph bi n thì ch c ch n t p
ầ ử ể ắ ỉ ậ ổ ế kph n t ậ này cũng không ph bi n. Do v y, có th c t t a t p này đi mà
ế ầ không c n xét ti p.
ậ ượ ề ươ Thu t toán DHP [45] đ ấ ự c đ xu t d a trên ph ng pháp Apriori, s ử
ươ ắ ỉ ố ư ả ộ ụ d ng ph ng pháp c t t a và băm. Hai cách t ậ ệ ố i u c i thi n t c đ thu t
ứ ứ ự ấ ỗ ầ ặ ệ ắ ỉ toán: cách th nh t là d a vào vi c c t t a các ng viên trong m i l n l p
ộ ỗ ợ ắ ỉ ứ ể ị và cách th hai là c t t a các giao d ch đ tính nhanh đ h tr .
ươ ử ụ ấ Ph ng pháp s d ng c u trúc cây
ươ ử ụ ậ ệ ự ấ ỹ ậ ợ Ph ng pháp s d ng c u trúc cây d a trên k thu t li t kê t p h p. Các
ứ ượ ủ ồ ị ờ ử ụ ồ ị ậ ị ng viên đ c xác đ nh nh s d ng đ th con c a đ th các t p ph n t ầ ử
ượ ọ ừ ể ệ (Hình 1.1), còn đ c g i là cây t ặ đi n ho c cây li t kê [3]. Khi đó, vi cệ
ổ ế ươ ứ ự ệ ậ ớ ừ ể sinh các t p ph bi n t ng ng v i vi c xây d ng cây t đi n. Cây có th ể
ề ộ ề ấ ừ ể ượ ặ khai phá theo chi u r ng ho c chi u sâu. C u trúc cây t đi n đ c xem là
ể ậ ơ ở c s cho phát tri n thu t toán.
19
ừ ể ệ Hình 1.. Cây t ặ đi n (ho c cây li t kê)
ậ ử ụ ừ ể ượ ự Thu t toán AIS [5] s d ng cây t đi n, đ ể ừ c xây d ng theo ki u t ng
ướ ậ ộ ở ỗ ớ ử ụ ứ ầ b c m t. Các t p ph n t ầ ử ượ ư đ c đ a ra m i m c g n v i s d ng c s ơ ở
ế ợ ầ ử ậ ị ữ ệ d li u giao d ch. Thu t toán k t h p các ph n t theo th t ứ ự ừ ể t đi n đ ể
ậ ứ ậ ứ ế ộ ỗ ợ ủ sinh t p ng viên, sau đó đ m đ h tr c a các t p ng viên trên c s d ơ ở ữ
ệ ị ươ ả ơ ộ li u giao d ch. Đây là ph ng pháp đ n gi n khai phá toàn b không gian
tìm ki m. ế
ử ụ ế ề ậ ậ ộ Thu t toán Eclat [74] s d ng cách ti p c n theo chi u r ng tr ướ c
ủ ậ ầ ử ố ư ự ậ (breadthfirst) d a trên phép giao t p tid c a t p ph n t ậ gi ng nh thu t
ứ ủ ờ toán c a Savasere [51], sau đó phân chia các ng viên vào các nhóm r i
ử ụ ứ ế ậ ươ ự ư ậ nhau, s d ng cách ti p c n phân vùng ng viên t ng t nh thu t toán
ậ ượ ấ ợ Apriori song song. Thu t toán Eclat [74] đ c trình bày h p lý nh t trên cây
ệ ậ ớ ừ ể t ề ộ đi n v i phép duy t cây theo chi u r ng. Thu t toán Monet và Partition
ủ ự ệ ề ấ ị [31], [51] đ xu t xác đ nh s giao nhau đ quy c a danh sách tid (tidlists)
ộ ố ế ể ệ ả ủ và m t s bi n th hi u qu c a mô hình này.
20
ử ụ ậ ươ ế ậ ọ Thu t toán VIPER [53] s d ng ph ng pháp ti p c n d c (vertical) theo
ổ ế ể ưở ơ ả ủ ậ tid đ khai phá t p ph bi n. Ý t ể ậ ng c b n c a thu t toán này là bi u
ơ ở ữ ệ ề ễ ằ ọ ị ơ ị di n c s d li u giao d ch theo chi u d c b ng véc t nh phân. Véc t ơ
ượ ử ụ ủ ậ ứ ổ ế ể ế ự ệ ấ này đ c s d ng đ đ m s xu t hi n c a t p ng viên ph bi n khá
ủ ậ ể ễ ệ ả hi u qu . Đây là cách bi u di n nén khác c a t p tid cho phép đ t đ ạ ượ c
ố ư ề ả ấ ậ ộ ố ể m t s đi m t i u trong thu t toán. V b n ch t, VIPER không khác nhau
ề ề ươ ự ế ệ ủ ế ớ nhi u so v i Eclat v ph ng pháp đ m. S khác bi ề ể t ch y u là v bi u
ễ ơ ả ể ử ệ ễ di n véc t bit nén và x lý hi u qu bi u di n này.
ươ ưở ậ ố ệ Ph ng pháp tăng tr ự ng đ quy d a trên h u t
ươ ự ế ẫ Ph ng pháp FPgrowth [30] tìm ki m m u d a trên h u t ậ ố ử ụ , s d ng
ể ể ổ ế ễ ẫ ị ấ c u trúc cây m u ph bi n (FPtree) đ bi u di n CSDL giao d ch làm cho
ộ ỗ ợ ủ ậ ầ ử ệ ổ ế ẫ ơ vi c tính đ h tr c a t p ph n t nhanh h n. Cây m u ph bi n [30]
ễ ể ạ ị ượ ự ủ bi u di n d ng nén c a CSDL giao d ch, đ c xây d ng theo th t ứ ự ả gi m
ộ ỗ ợ ủ ế ể ỗ ầ d n đ h tr c a các ph n t ầ ử ừ ố t g c đ n lá. M i cây FP có th xem nh ư
ộ ấ ữ ệ ề ố ự ị m t c u trúc d li u cây d a trên ti n t ủ (prefixbased) c a CSDL giao d ch
ầ ử ứ ổ ế ậ ỗ ượ ộ ch a các ph n t ph bi n. Do v y, m i nút đ c gán nhãn là m t ph n t ầ ử
ư ữ ộ ỗ ợ ủ ậ ầ ử ồ ầ ử nào đó và l u tr đ h tr c a t p ph n t ữ g m nh ng ph n t trên
ườ ừ ộ ố đ ng đi t ấ ỳ ế m t nút b t k đ n nút g c.
ổ ế ớ ọ ử ụ ậ ẫ ấ Thu t toán CTPRO [57], s d ng c u trúc cây m u ph bi n m i g i là
ổ ế ứ ủ ẫ cây nén m u ph bi n (CFPCompact Frequent Pattern) ch a đ các thông
ư ư ế ỉ ượ ư ữ tin nh trong cây FP, nh ng ch chi m 50% l ng l u tr [57]. Các tác giả
ệ ấ ậ ớ ề đ xu t thu t toán khai phá CTPRO không đ quy khác v i FPGrowth.
ự ậ ề Trong quá trình khai phá, thu t toán FPGrowth xây d ng các cây FP có đi u
ụ ể ề ệ ậ ắ ki n do đó làm tăng chi phí. Đ kh c ph c đi u này, thu t toán CTPRO
ơ ở ữ ệ ế ờ ế ỗ ượ chia c s d li u theo các phép chi u r i nhau, m i phép chi u đ ể c bi u
21
ư ộ ệ ễ ượ di n nh m t cây CFP. Sau đó, quá trình khai phá không đ quy đ ự c th c
ộ ậ ừ ư ế ệ ộ hi n m t nhánh đ c l p trên t ng phép chi u. Trong cây FP, các nút l u tr ữ
ầ ử ầ ử ượ ộ ỗ ợ đ h tr và nhãn ph n t . Tuy nhiên trên cây CFP, các ph n t đ c đánh
ề ủ ỉ ố ư ề ả ả ch s theo b ng tiêu đ (Header Table). B ng tiêu đ c a cây CFP l u tr ữ
ầ ử ỏ ỏ ớ ứ ộ ỗ ợ ủ ừ đ h tr c a t ng ph n t và ch a con tr tr t i các nút trên nhánh ngoài
ố ủ ủ ươ ứ cùng bên trái c a cây CFP. Đây chính là nút g c c a cây con t ớ ng ng v i
ầ ử các ph n t khác nhau.
ắ ầ ừ ầ ử ộ ỗ ợ ấ ấ Quá trình khai phá b t đ u t ph n t ả có đ h tr th p nh t trong b ng
ỉ ượ ề ộ ượ ầ ớ ỏ tiêu đ . Do t a đ c m t l ng l n các nút ban đ u nên đã thu nh đáng k ể
ỏ ế ầ ử ố ệ ấ c u trúc cây. Duy t theo các con tr đ n các ph n t gi ng nhau thì đ ượ c
ố ấ ả ế ế ộ ị ế m t phép chi u đ n cu i t t c các giao d ch. Phép chi u này cũng đ ượ c
ễ ể ượ ọ ư ộ bi u di n nh m t cây CFP và đ ụ ộ c g i là cây CFP c c b . Sau đó, các cây
ụ ộ ượ ệ ệ ổ ế ể ấ ẫ CFP c c b đ c duy t đ quy đ trích xu t các m u ph bi n.
ộ ố ươ M t s ph ng pháp song song
ổ ế ữ ệ ậ Ngày nay, khai phá d li u nói chung và khai phá t p ph bi n nói
ơ ở ữ ệ ả ố ặ ớ ứ ề riêng ph i đ i m t v i nhi u thách th c khi c s d li u có kích th ướ c
ổ ế ư ứ ậ ượ ầ ậ ớ l n. Các thu t toán khai phá t p ph bi n ch a đáp ng đ c yêu c u v ề
ố ượ ờ ộ ớ ữ ệ th i gian, b nh khi kh i l ng d li u ngày càng gia tăng. Do đó, song
ậ ả ế ấ song hoá thu t toán là chìa khóa gi ấ ề ữ ệ ớ i quy t v n đ d li u l n. Có ba v n
ế ế ở ộ ậ ả ề ượ đ đ c quan tâm khi thi t k thu t toán song song: kh năng m r ng b ộ
ệ ằ ớ ả ề nh , phân vùng làm vi c và cân b ng t ấ i. Năm 2005, Ruan [50] đ xu t
ử ụ ề ố ậ ậ ả thu t toán song song PMFI s d ng cây ti n t . Thu t toán PMFI gi m chi
ộ ữ ạ ằ ạ ồ ộ ử ộ ử phí liên l c và đ ng b gi a các b x lý b ng cách t o cho các b x lý
ố ượ ệ ả ổ ế ủ ậ ứ ụ ộ ậ làm vi c đ c l p, gi m s l ng ng viên c a t p ph bi n toàn c c nh ờ
ổ ế ụ ộ ệ ữ ậ ụ ố xét m i quan h gi a t p ph bi n c c b và toàn c c. Năm 2006, Yanbin
22
ề ấ ậ ằ ọ [68] đ xu t thu t toán Apriori song song b ng các đ c song song các giao
ể ả ế ầ ố ượ ế ị d ch đ u vào. Cho đ n nay, đ gi i quy t bài toán có kh i l ữ ệ ng d li u
ề ượ ề ấ ậ ớ l n nhi u thu t toán song đã đ c đ xu t: [63], [8], [67], [68], [78], [76],
[70], [10], [28], [49], [47], [18], [16], [34], [41], [59], [71], [9],…
ổ ế ọ ậ 1.3. ố T p ph bi n có tr ng s
ổ ế ở ộ ủ ậ ậ ọ ố Khai phá t p ph bi n có tr ng s là m r ng c a khai phá t p ph ổ
ầ ử ế ỗ ộ ọ ố ươ ị ứ bi n khi m i ph n t trong giao d ch có m t tr ng s t ng ng. Ví d , t ụ ừ
ậ ế ợ ổ ế ể ố ọ ọ ố ậ t p ph bi n có tr ng s có th sinh ra các lu t k t h p có tr ng s nh ư
ườ ẽ ả ặ “80% ng i mua 3 chai soda s có kh năng mua 4 gói ăn v t”. Trong khi
ậ ế ợ ỉ ư ư ề ố ườ ướ lu t k t h p truy n th ng ch đ a ra nh “60% ng i mua 1 chai n c soda
ậ ế ợ ả ặ ố ọ ẽ s có kh năng mua 1 gói ăn v t”. Do đó lu t k t h p có tr ng s không ch ỉ
ỗ ợ ơ ế ế ệ ộ ậ ủ ụ ậ ị ệ ả c i thi n đ tin c y c a lu t mà còn h tr c ch ti p th có m c tiêu, hi u
ả ơ ự ứ ằ ặ ị qu h n b ng cách xác đ nh ho c phân chia khách hàng d a trên m c đ ộ
ố ượ ặ trung thành ho c kh i l ng hàng mua.
ứ ề ấ ậ ậ ổ ế ề Các nhà nghiên c u đã đ xu t nhi u thu t toán khai phá t p ph bi n
ọ có tr ng s nh ố ư [48], [11], [66], [72], [33], [32], [32], [64], [66]…
ơ ở ệ 1.3.1. Khái ni m c s
ậ ị ầ ử Cho D = {T1, T2,…Tm} là t p giao d ch, I = {i ậ 1, i2,…,in} là t p các ph n t
1, w2,…,wn} là các tr ng s t
ậ ố ươ ọ ứ ị trong t p giao d ch D, W = {w ng ng các
i (cid:0)
ầ ử ị ượ ộ ị ớ ọ ph n t ỗ trong I. M i giao d ch T I đ c gán v i m t đ nh danh g i là tid.
i ch a X n u X
(cid:0) (cid:0) ứ ế ậ Xét t p X I, ta nói giao d ch Tị ầ ử ứ ch a ộ ậ Ti. M t t p ph n t
ầ ử ọ ầ ử ậ ớ ặ k ph n t g i là t p kph n t (kitemsets). V i ph n t ầ ử (cid:0) i I, c p (i, w)
ượ ọ ầ ử ố ủ ầ ử ọ ố ọ đ c g i là ph n t có tr ng s , trong đó w là tr ng s c a ph n t i.
23
i, là giá trị
ị ố ủ ầ ử ọ [58] Tr ng s c a ph n t ệ i, kí hi u là w Đ nh nghĩa 1.6.
ầ ử ủ ự ự ọ ớ ắ g n v i ph n t i d a trên s quan tr ng c a nó.
ể ọ ố ị ượ ờ ặ Tr ng s có th là giá m t hàng trong siêu th hay l ng th i gian truy
ộ ậ c p trên m t trang web nào đó,…
ị ộ ỗ ợ ộ ậ ố ủ , kí hi u làệ Đ nh nghĩa 1. ọ 7. [58] Đ h tr có tr ng s c a m t t p X
ượ ố ủ ầ ử ổ WSupp(X), đ ọ c tính là t ng các tr ng s c a các ph n t ậ trong t p X nhân
ớ ộ ỗ ợ ủ v i đ h tr c a X.
WSupp(X) = * Support(X) (1.4)
ị ổ ế ậ ậ ố ọ [58] T p X là t p ph bi n có tr ng s khi đ h tr ộ ỗ ợ Đ nh nghĩa 1.8.
ộ ỗ ợ ố ủ ố ố ớ ọ ọ ể ơ có tr ng s c a X l n h n đ h tr có tr ng s t i thi u (minwsupp) cho
ướ tr c.
WSupp(X) ≥ minwsupp. (1.5)
ộ ỗ ợ ượ ế ọ ệ ế ả ố N u tr ng s và đ h tr đ c xem xét riêng bi t thì k t qu khai
ụ ả ể ẫ ế ấ ầ ẩ phá có th d n đ n m t mát các thông tin c n quan tâm. Ví d , s n ph m
ượ ấ ẽ ị ạ ỏ ế ạ ị đang đ c khuy n m i và có giá tr bán th p s b lo i b vì không có đ ủ
ộ ỗ ợ đ h tr .
ộ ỗ ợ ị ọ ệ ố ằ ị Vi c nhân hai giá tr tr ng s và đ h tr làm cân b ng hai giá tr này ,
ề ả ọ ọ ỉ trong đó tr ng s ố cho phép đi u ch nh đ h tr . ộ ỗ ợ Khi gi m tr ng s s ố ẽ
ả ọ ấ ả ố ằ ọ gi m đ h tr ộ ỗ ợ có tr ng s ế ố. N u cho t t c các tr ng s b ng 1 thì đ h ộ ỗ
ằ ố ọ ợ tr có tr ng s chính b ng đ h tr ộ ỗ ợ..
24
ộ ố ươ 1.3.2. M t s ph ng pháp khai phá t p ậ ph bi n ổ ế có tr ng sọ ố
ự ậ ả ọ ố a. Thu t toán d a trên kho ng tr ng s
ọ ậ Năm 2005, thu t toán WFIM khai phá t pậ ph bi n ổ ế có tr ng s ố (WFI –
ố ọ ự Weighted Frequent Itemsets) d a trên m t ộ kho ngả tr ng s (weight range)
ố ố ọ ể và tr ng s t i thi u (minimum weight) do Unil Yun và Jonh J.Legget [72]
ư ậ ộ ố ưở ề đ xu t ọ ấ , cho phép đ a ràng bu c tr ng s vào thu t toán tăng tr ẫ ng m u,
ố ố ề ấ ả ả ẫ ọ ỉ do v n đ m b o tính ch t đóng thông qua đi u ch nh tr ng s t ể i thi u và
ậ ả ọ ị ậ kho ng tr ng s . ố Thu t toán WFIM cho phép xác đ nh các t p ph bi n ổ ế có
ọ ươ ụ ể tr ng s ố quan tr ng ọ có ít ph n tầ ử. Ph ng pháp này có th áp d ng cho
ớ ộ ỗ ợ ấ ầ ử ượ ọ CSDL dày đ c ặ v i đ h tr th p. Các ph n t đ ấ c cung c p tr ng s ố
ố ố ượ ả ọ ầ ử ổ ế khác nhau trong kho ng tr ng s . S l ng các ph n t ọ ph bi n có tr ng
ể ượ ề ả ằ ỉ ố s có th đ c đi u ch nh b ng các kho ng khác nhau.
ầ ử ọ ố ủ ọ ị ố ủ Tr ng s c a m t t p ộ ậ ph n t là giá tr trung bình tr ng s c a các
ầ ử ầ ử ố ọ ầ ử ỏ ph n t ậ trong t p ph n t . Tr ng s W ủ ừ ph n t c a t ng th a mãn:
(1.6) Wmin ≤ W ≤ Wmax
ệ ắ ỉ ậ ứ ử ụ ề ậ Thu t toán WFIM s d ng 02 đi u ki n c t t a t p ng viên sau:
ề ệ Đi u ki n 1: (support < minsupp && weight < minweight) đ hộ ỗ
ợ ủ ậ ầ ử ộ ỗ ợ ố ỏ ơ ể tr c a t p ph n t nh h n đ h tr t ố ủ ọ i thi u và tr ng s c a
ầ ử ỏ ơ ố ố ọ ậ t p ph n t nh h n tr ng s t ể i thi u.
ệ ề ộ ỗ ợ ủ ậ Đi u ki n 2: (support * W ầ Max < minsupp) đ h tr c a t p ph n
ớ ọ ấ ủ ố ớ ộ ử t nhân v i tr ng s l n nh t c a m t ph n t ầ ử trong CSDL giao
ộ ỗ ợ ố ỏ ơ ơ ở ữ ệ ề ể ị d ch nh h n đ h tr t ệ i thi u. Trong c s d li u đi u ki n,
ố ố ọ ể ủ ệ ề ượ ử ụ ể tr ng s t ẫ i thi u c a m u đi u ki n đ ớ c s d ng đ nhân v i
ộ ỗ ợ đ h tr .
25
ổ ế ậ ẫ ử ụ Trong thu t toán WFIM s d ng cây m u ph bi n (FP ể tree) đ nén
ổ ế ậ ọ ố ượ CSDL giao d chị và khai phá t p ph bi n có tr ng s . CSDL đ ệ ầ c duy t l n
ạ ỏ ầ ử ứ ề ệ th nh t ấ đểlo i b các ph n t ỏ không th a mãn c ả hai đi u ki n trên.
ầ ử ữ ổ ế ọ ố ạ ượ ắ ế ầ Nh ng ph n t ph bi n có tr ng s còn l c s p x p tăng d n theo i đ
ủ ư ả ọ ệ ạ tr ng s ề ố và đ a vào b ng tiêu đ (header table) c a cây FP . Duy t l i các
ự ụ ế ể ắ ị giao d ch đã s p x p đ xây d ng cây FP toàn c c. Quá trình khai phá đ ượ c
ệ ừ ướ ự ươ ự ư ậ th c hi n t d i lên trên t ng t nh thu t toán FPGrowth [30]. Thu tậ
ổ ế ở ộ ệ ả ả ậ toán WFIM có kh năng m r ng và hi u qu cho khai phá t p ph bi n có
ố ượ ữ ọ ố ớ ậ tr ng s . Tuy nhiên, v i nh ng d li u ữ ệ dày, s l ọ ổ ế ng t p ph bi n có tr ng
ẽ ả ổ ộ ố ủ ọ s ố s thay đ i thùy thu c vào kho ng tr ng s c a các ph n t ầ ử, nên vi cệ
ữ ệ ử ố ờ duy t ệ c s ơ ở d li u hai l n ầ s ẽ làm t n th i gian x lý.
ậ ả ử ụ Thu t toán s d ng b ng băm
ề ệ ấ ậ ả Ziguo Huai and Minghe Huang [32] đ xu t thu t toán hi u qu cho
ổ ế ố ự ậ ấ ả ọ khai phá t p ph bi n có tr ng s d a trên c u trúc b ng băm. Ph ươ ng
ả ế ấ ị ọ ề pháp này gi i quy t v n đ phát sinh khi giá tr tr ng số và CSDL thay đ iổ
ế ậ ư nh ng c ộ ầ ỉ ầ h c n m t l n duy t ệ c sơ ở d li u. ệ ữ ệ Thu t toán liên quan đ n vi c
ự ệ ả ầ ọ ố ị ị xây d ng b ng băm có tr ng s . Duy t giao d ch đ u tiên xác đ nh t ấ ả t c
ậ ặ ậ ả ỗ ươ ứ các t p con không r ng. Đ t các t p con vào b ng băm, t ng ng theo s ố
ầ ử ử ụ ư ị ỉ ượ l ng các ph n t trong đó. S d ng hàm băm, tìm đ a ch băm. Khi l u tr ữ
ứ ế ỗ ị trong danh sách liên k t, m i nút ch a các giá tr : Item, Item_Count,
ế ậ ồ Item_Weight, Next_Item. N u trong danh sách đã có t p con r i thì tăng
ế ậ Item_Count lên 1, ng ượ ạ ẽ c l ố i s thêm t p con vào cu i danh sách. Ti p theo,
ặ ạ ư tính toán WSupp(X) và l u nó vào Item_Weight. L p l i các quá trình trên
ệ ể ả ộ ị cho toàn b giao d ch. Vi c khai phá có th song song hóa do các b ng băm
ả ủ ề ệ ớ ươ ộ ậ đ c l p v i nhau. Đi u này giúp nâng cao hi u qu c a ph ng pháp.
26
ổ ế ậ ậ ợ ớ ọ ố Thu t toán này phù h p v i bài toán khai phá t p ph bi n có tr ng s khi
ị ọ ỉ ầ ự ổ ố có s thay đ i giá tr tr ng s và CSDL thì ch c n tính l ạ ộ ỗ ợ ọ i đ h tr tr ng
ầ ử ầ ữ ệ ả ổ ố ủ s c a ph n t trên b ng băm và ph n d li u thay đ i.
ự ậ ọ ố ấ ỉ Thu t toán d a trên tr ng s x p x
ổ ế ố ấ ỉ ượ ậ ọ Khai phá t p ph bi n có tr ng s x p x đ c Unil Yun và Keun Ho
ề ấ ự ủ ọ ự ầ ấ ố ừ Ryu [73] đ xu t d a vào s g n đúng c a tr ng s . Xu t phát t ệ quan ni m
ớ ữ ệ ớ ữ ệ ự ế ẽ ẫ ễ ằ ộ cho r ng v i d li u l n, đ nhi u trong d li u th c t ử ế s d n đ n x lý
ễ ủ ữ ệ ể ấ ả ộ ừ ự ế k t qu không chính xác. Đ nhi u c a d li u có th xu t phát t s không
ử ắ ắ ỗ ườ ả ưở ế ch c ch n trong x lý hay l i đo l ng, làm nh h ế ự ng tiêu c c đ n k t
ể ị ả ả ậ ả ưở ự ổ ớ ế qu khai phá. T p k t qu có th b nh h ng l n khi có s thay đ i nh ỏ
ộ ỗ ợ ủ ầ ử ố ườ ị ề ọ v tr ng s hay đ h tr c a các ph n t trong môi tr ễ ng b nhi u. Do đó,
ậ ượ ề ấ ằ ả ầ ớ thu t toán WAF đ c đ xu t nh m làm gi m b t yêu c u v đ h tr ề ộ ỗ ợ
ố ế ổ ế ả ử ủ ậ ậ ọ ọ tr ng s . K t qu x lý c a thu t toán WAF là các t p ph bi n có tr ng s ố
ữ ệ ậ ớ ỉ ợ ấ x p x . Thu t toán này không phù h p v i các bài toán có d li u không b ị
nhi u. ễ
ự ệ ươ ưở Quá trình khai phá th c hi n theo ph ng pháp tăng tr ẫ ng m u [29],
ộ ỗ ợ ọ ố ủ ậ ầ ử ượ ị [30]. Đ h tr tr ng s c a t p ph n t X đ c xác đ nh là tích đ h tr ộ ỗ ợ
ớ ọ ườ ộ ỗ ợ ọ ễ ố ố ủ ủ c a X v i tr ng s c a X. Tùy vào môi tr ng nhi u, đ h tr tr ng s có
ε ể ộ ị ượ ọ ộ ỗ ợ ọ ố ấ ỉ ả th tăng hay gi m m t giá tr , đ c g i là đ h tr tr ng s x p x .
ậ ượ ổ ế ố ấ ỉ ế ậ ọ ọ T p P đ c g i là t p ph bi n có tr ng s x p x n u WSupp(P) ε
ưỡ ộ ỗ ợ ọ ố ố ổ ế ể ậ ơ ớ l n h n ng ng đ h tr tr ng s t i thi u. Tuy nhiên, t p ph bi n có
ố ấ ệ ả ả ấ ả ậ ọ ơ ỉ tr ng s x p x không đ m b o tính ch t ph n đ n đi u [5]. Do v y, đ ể
ệ ấ ơ ả ưỡ ả duy trì tính ch t ph n đ n đi u, tác gi dùng ng ng MaxW(P) *
ε ể ạ ớ ị ọ ậ ố ớ Support(P) đ lo i b t các t p. Trong đó, MaxW là giá tr tr ng s l n
ấ ộ ị nh t trong m t CSDL giao d ch.
27
ậ Thu t toán song song
ề ấ ậ Năm 2009, Preetham Kumar and Ananthnarayana [33] đ xu t thu t
ố ự ố ượ ọ toán song song khai phá t p ậ ph bi n ổ ế có tr ng s d a trên s l ng, mà
ộ ầ ỉ ầ ệ ậ ấ ừ ch c n m t l n duy t CSDL. Thu t toán này xu t phát t ầ ầ yêu c u c n tìm
ấ ả ố ượ ự ậ ủ ặ t ổ ế t c các t p ph bi n d a trên s l ữ ng c a các m t hàng trong nh ng
ể ệ ặ ấ ộ ị ỉ ầ l n mua hàng. Các m t hàng có th ch xu t hi n trong m t vài giao d ch
ể ượ ư ớ ố ượ ớ ợ ậ ấ nh ng có th đ c mua v i s l ng l n nên l ậ i nhu n r t cao. Thu t
ự ạ ạ ọ ố toán này chia làm hai giai đo n. Giai đo n 1: xây d ng cây tr ng s (WT –
ộ ầ ỉ ớ ạ ỉ ệ Weighted Tree) ch v i m t l n duy t CSDL. Giai đo n 2: t a các ph n t ầ ử
ổ ế ủ ọ ố ượ ắ không ph bi n trên cây tr ng s và các nhánh c a cây đ ế c s p x p theo
ứ ự ệ ầ ọ ượ ế th t ố tăng d n theo tr ng s . Công vi c khai phá đ c ti n hành song
ủ song trên các nút c a cây.
ưở ế ậ ế ợ ủ ỗ Ý t ng c a cách ti p c n này là k t h p m i ph n t ầ ử ớ ấ ả v i t t c giao
ầ ử ệ ấ ớ ọ ố ị d ch xu t hi n cùng v i ph n t đó. Cây tr ng s (WT Weighted Tree) có
ấ ượ ứ ạ ạ hai lo i nút khác nhau. Lo i nút th nh t đ ộ c gán nhãn thu c tính tên và
ỏ ỏ ớ ứ ỏ ộ ỉ ố ứ ị ch a hai con tr . M t con tr tr t ọ i nút ch a ch s giao d ch và các tr ng
ỏ ế ể ễ ầ ỏ ộ ầ ủ ế ế ố s ; con tr kia tr đ n thu c tính k ti p. Nút này bi u di n ph n đ u c a
ứ ứ ể ạ ầ ầ ấ ỗ ễ ồ m i nhánh riêng. Lo i nút th hai g m hai ph n: ph n th nh t bi u di n
ỉ ố ứ ể ễ ầ ọ ố ị ch s giao d ch và ph n th hai bi u di n tr ng s , cho bi ế ố ượ t s l ng mua
ỏ ỏ ế ặ ộ ị ỉ ho c giá bán trong giao d ch. Nút này ch có m t con tr tr đ n đ i t ố ượ ng
ế ệ ạ ỏ ầ ử ệ ộ ti p theo có thu c tính riêng bi t này. Vi c lo i b ph n t ổ ế không ph bi n
ế ổ ố ủ ắ ỉ ề ệ ọ ộ ự d a trên đi u ki n c t t a. N u t ng tr ng s c a các nút trên m t nhánh
ộ ỗ ợ ỏ ơ ố ố ọ ạ ỏ ể ỏ nh h n đ h tr có tr ng s t i thi u thì lo i b nhánh đó kh i cây. Còn
ạ ầ ử ượ ắ ộ ỗ ợ ố ế l i các ph n t trên cây đ ầ c s p x p tăng d n theo đ h tr t ể i thi u có
ứ ự ế ả ọ ố ọ ố tr ng s và k t qu là cây tr ng s có th t .
28
ầ ử ệ ằ ố Vi c khai phá song song b ng cách phân ph i các ph n t ổ ế ph bi n
ộ ử ứ ự ộ ỗ ợ ầ ỗ ị cho các b x lý theo th t đ h tr tăng d n. M i nút song song ch u
ấ ả ổ ế ầ ử ế ậ ệ trách nhi m sinh t t c các t p ph bi n liên quan đ n ph n t ổ ế ph bi n
ể ự ế ợ ệ ệ ớ ỗ ọ k t h p v i nút đó. Đ th c hi n công vi c này, m i nút song song đ c
ộ ị ươ ầ ử ứ ổ ế ọ m t nhánh giao d ch t ớ ng ng v i ph n t ố ph bi n trên cây tr ng s ,
ươ ầ ử ứ ượ ọ ự sau đó xây d ng cây con t ng ng cho ph n t đó, đ ầ c g i là cây ph n
ử ỗ ẽ ầ ử t . M i nút song song khai phá riêng r cây ph n t sau khi chúng đ ượ c
ị ạ ỏ ự ố xây d ng xong. Cây này b lo i b ngay sau khi chúng khai phá xong. Cu i
ấ ả ổ ế ậ ượ ạ ạ ẽ ượ ậ cùng, t t c các t p ph bi n đ c t o ra t i các nút s đ c t p h p t ợ ạ i
ể ị ấ ả ổ ế ậ ậ nút chính (master) đ xác đ nh t t c các t p ph bi n. Thu t toán này khá
ả ề ờ ộ ầ ệ ầ ỉ hi u qu v th i gian, không gian do ch yêu c u m t l n duy t c s d ệ ơ ở ữ
li u. ệ
ậ ự Thu t toán d a trên cây WIT
ư ậ ộ Bay Vo, F Coenen và Bac Le [64] đ a ra m t thu t toán khai phá
ố ừ ọ ố ọ ị nhanh các t p ậ ph bi n ổ ế có tr ng s t CSDL giao d ch có tr ng s D =
1, i2,…,in} v i các tr ng s t
ầ ử ợ ọ ớ I ={i ố ươ ng ậ {T1, T2,…,Tm}, t p h p các ph n t
1, w2,…,wn}. Thu t toán này d a trên c u trúc cây WIT
ứ ự ấ ậ ng W = {w
ủ ọ ố ộ ị ị (Weighted ItemsetsTidset), tính toán tr ng s giao d ch c a m t giao d ch
k) và
ệ Tk, kí hi u là tw(T
(1.7)
ộ ỗ ợ ọ ầ ử ượ và đ h tr ố ủ ậ tr ng s c a t p ph n t ệ X, kí hi u: ws(X) đ c tính
ư nh sau:
(1.8)
29
k và T(X) là t pậ
ố ượ ầ ử ị ng ph n t trong giao d ch T trong đó |Tk| là s l
ứ ậ ầ ử ị giao d ch có ch a t p ph n t X.
ứ ậ ữ ệ ỉ ố ồ D li u trên cây WIT g m danh sách ch s (tid) ch a t p ph n t ầ ử
ị ộ ỗ ợ ọ ố ỗ ồ giúp tính toán nhanh giá tr đ h tr tr ng s . M i nút trên cây WIT g m
ườ ế ậ ầ ử 3 tr ng liên quan đ n t p ph n t :
ầ ử ậ X: t p ph n t
ứ ậ ợ ị T(X): t p h p các giao d ch ch a X
ộ ỗ ợ ọ ố ủ ws: đ h tr tr ng s c a X
ố ủ ồ ấ ả ầ ử Nút g c c a cây WIT bao g m t t c các nút con 1ph n t ứ (m c 1)
ộ ớ ươ ộ ươ ề ố ớ ỗ và thu c cùng m t l p t ng đ ng v i ti n t là r ng. Các nút trong
ẽ ở ớ ươ ứ ươ ớ ớ ề ố ầ ử ủ m c 1 s tr thành l p t ng đ ng m i v i ti n t là ph n t c a chính
ề ố ẽ ế ợ ể ạ ớ nó. Các nút có cùng ti n t s k t h p v i nhau đ t o thành l p t ớ ươ ng
ươ ớ ượ ặ ạ ể ạ ớ ươ ươ đ ng m i. Quá trình này đ c l p l i đ t o các l p t ng đ ớ ng m i
ở ứ ộ ầ ỉ ầ ơ m c cao h n trong cây WIT. Quá trình này ch c n m t l n duy t c s ệ ơ ở
ữ ệ d li u.
ề ấ ậ ậ 1.3.3. Đ xu t thu t toán khai phá t p ph bi n ổ ế có tr ng sọ ố theo chi uề
d cọ
ề ặ ấ a. Đ t v n đ
ế ậ ư ề ớ ọ Năm 2003, Zaki [75] đ a ra cách ti p c n m i khai phá theo chi u d c,
ỉ ư ự ệ ậ ứ ỉ ố ể ừ ị ch l u s khác bi t ch s giao d ch trong các t p ng viên đ t đó sinh ra
ổ ế ử ụ ậ ậ ấ ấ ỹ các t p ph bi n. K thu t này s d ng c u trúc diffset thay cho c u trúc
́ ỉ ư ự ề ấ ố ̣ tidset truy n th ng. C u trúc diffset ch l u s khác nhau trong cac giao dich
́ ́ ́ ư ổ ế ̉ ̣ ̉ ̃ cua môt mâu ng viên t ̀ ộ ấ ư ̣ tâp ph bi n sinh ra cua chinh no. Đây là m t c u
30
́ ́ ̀ ̉ ư ̃ ư ́ ơ ̉ ̣ ̉ ̣ ̉ trúc giúp giam manh kich th ́ ươ c cua bô nh cân đê l u tr kêt qua trung gian,
ổ ế ậ ờ ộ ỗ ợ ồ đ ng th i giúp tính toán nhanh đ h tr trong bài toán tìm t p ph bi n.
ự ậ ố ộ Năm 2009, ElMegid và c ng s công b thu t toán VMUDG [22] tìm
ổ ế ạ ấ ả ậ ổ ế ự ồ ấ ậ t p ph bi n d a trên c u trúc diffset, phân lo i t t c t p ph bi n g m 2
ầ ử ự ự ậ ph n t thành các nhóm d a trên diffset. D a trên các nhóm này, thu t toán
ả ế ư ậ VMUDG [22] có các c i ti n nh sau ầ ộ ỗ ợ ủ : tính toán đ h tr c a N t p ph n
ộ ầ ả ờ ử ớ t ủ v i m t l n tính toán, gi m th i gian tính toán thao tác trên diffset c a
ầ ử ổ ế ỗ ậ ủ ề ể ệ ả ậ t p ph n t ầ và gi m đi u ki n ki m tra tính ph bi n c a m i t p ph n
. ử t
ể ử ụ ề ặ ế ấ ậ ượ ấ V y v n đ đ t ra là “Làm th nào đ s d ng đ c c u trúc diffset
ụ ậ ậ ọ ố ổ ế trong bài toán khai phá t p ph bi n có tr ng s và t n d ng đ ượ ứ c s c
ộ ử ủ ề ề ạ ầ ậ ậ m nh c a nhi u b x lý? Trong ph n này lu n án đ xu t ầ ấ thu t toán tu n
ậ ổ ế ậ ự t VMWFP và thu t toán song song PVMWFP khai phá t p ph bi n có
ố ử ụ ọ ượ ấ tr ng s , s d ng c u trúc diffset [I], đã đ c trình bày và đăng trong K ỷ
ộ ố ấ ọ ọ ứ ề ề ầ ả ộ ố ế y u H i th o qu c gia l n th 15: “M t s v n đ ch n l c v CNTT và
TT" năm 2012.
ụ ệ ể ọ ơ ở ữ ệ Đ minh h a cho khái ni m diffset, ta xét ví d sau: Cho c s d li u
ầ ử ỉ ầ ư ậ ấ ỗ ợ ả nh ư B ng 1.1 . Trong c u trúc Diffset, m i ph n t ch c n l u t p h p các
ầ ử ứ ả ư B ng 1.2 tid không ch a ph n t đó nh .
ả ơ ở ữ ệ ọ B ng 1.. C s d li u minh h a
Transaction
A, B, C, D, F, G C, D, E, F, H A, B, C, D, F, G A, C, E, F A, B, C, D, E, F, G B, D, E, G, H Tid T1 T2 T3 T4 T5 T6
31
ầ ử ả ả B ng 1.. B ng Diffset các ph n t
Diffset
Item A B C D E F G H 2, 6 2, 4 6 4 1, 3 6 2, 4 1, 3, 4 5 Supp 4 4 5 5 4 5 4 2
ướ ộ ỗ ợ ử ụ ấ ọ Hình 1.2 d i đây minh h a cách tính đ h tr khi s d ng c u trúc
ầ ử ủ ứ ớ diffset v i các vùng ch a tid c a hai ph n t ệ a và b. Ký hi u: U – T p t ậ ấ t
ủ ủ ả c tid; t(a) – tidsets c a a; diffsets c a a là d(a) = U \ t(a); và d(ab) = d(b) \
ộ ỗ ợ ể ằ ấ ậ d(a). Có th tính đ h tr cho t p ab trên c u trúc diffset b ng cách tính
ị ể ậ ứ (cid:0) ố s giao d ch trong vùng ch a (hình 1.2). V y, chúng ta có th tính đ h ộ ỗ
ợ ủ ệ tr c a ab, kí hi u là (cid:0) (ab) và
(cid:0) (ab) = |t(a) (cid:0) t(b)| = (cid:0) (a) \ |d(ab)| (1.9)
Trong đó:
(cid:0) (a) = |t(a)| = |U| |d(a)| (1.10)
ộ ỗ ợ ự Hình 1.. Tính đ h tr d a trên Diffset
32
ư ơ ở ữ ệ ộ ỗ ợ ủ ụ ể ả Ví d , đ tính đ h tr c a AB nh c s d li u (B ng 1.1 và 1.2) ta
có: (cid:0) (A) = 6 – 2 = 4 và d(AB) = d(B) \ d(A) = {2, 4} \ {2, 6} = {4}. V yậ
(cid:0) (AB) = (cid:0) (A) |d(AB)| = 4 |{4}| = 4 – 1 = 3.
ươ ự T ng t , d(ABC) = d(C) – d(AB) = {6} – {4} = {6} nên (cid:0) (ABC) =
(cid:0) (AB) |d(ABC)| = 3 – 1 = 2.
ầ ự ậ Thu t toán tu n t VMWFP [I]
ủ ữ ư ự ể ậ D a trên nh ng u đi m c a thu t toán VMUDG (Vertical Mining
ượ ở ề ậ ấ using Diffset Groups) [22] đã đ c phân tích ậ trên, lu n án đ xu t thu t
ố ớ ế ậ ổ ọ ọ toán khai phá t p ph bi n có tr ng s v i tên g i VMWFP (Vertical
ụ ể ươ ự ư ậ Mining of Weighted Frequent Patterns). C th , t ng t nh thu t toán
ử ụ ậ ấ ậ VMUDG, thu t toán VMWFP s d ng c u trúc diffset trong khai phá t p
ổ ế ọ ố ph bi n có tr ng s .
ậ ượ ọ ớ ơ ở ữ ệ ả B ng 1.1 Thu t toán đ c minh h a v i c s d li u cho trong và các
ố ủ ẩ ử ọ ượ ắ ế ầ ả ọ tr ng s c a các ph n t sau khi đã đ c s p x p gi m d n theo tr ng s ố
ả nh ư B ng 1.3.
ả ầ ử ả ọ B ng 1.. ố ủ B ng tr ng s c a các ph n t
H 0.9 E 0.8 F 0.7 G 0.7 D 0.5 C 0.3 B 0.3 A 0.1
ồ ậ ướ Thu t toán VMWFP g m các b c sau:
ướ B ự c 1. Xây d ng nhóm
ầ ử ủ ọ G i x.diffset ={Diffset c a ph n t x}
ướ ướ ầ ử ừ ự D i đây là các b c xây d ng các nhóm cho t ng ph n t x:
ướ ơ ả ự B c 1.1. Xây d ng các nhóm c b n (constructing basic groups):
33
ầ ử ậ ồ và Nhóm Gi g m các 02 thành ph n: ầ itemset – t p ph n t diffset –
ấ ả ậ ậ ộ ủ diffset c a nhóm. Sinh t t c các t p 2itemsets. G p các t p 2itemsets có
i. Ta có:
ể ạ cùng diffset đ t o thành 1 nhóm G
ầ ử ộ thu c 2itemsets có cùng diffset}; Gi.itemset = {các ph n t
i};
Gi.diffset = {diffset c a Gủ
i có đ h tr theo công th c 1.11.
ượ ừ ộ ỗ ợ ứ ậ Các t p X đ c sinh ra t nhóm G
Support(X) = T C – I (1.11)
Trong đó:
ố ổ ị + T là T ng s giao d ch;
ố + C là S các tid trong diffset c a ti n t ủ ề ố ;
ủ ậ ầ ử ố + I là S các tid trong diffset c a t p ph n t ;
ụ ớ ơ ở ữ ệ ả ạ B ng 1.1 Ví d , v i c s d li u trong ệ sau khi duy t và t o đ ượ c
ầ ử ế ạ ả ư B ng 1.2 diffset cho các ph n t nh ậ ta ti n hành sinh và t o diffset các t p
ề ố ủ ư 2itemsets c a ti n t A nh sau: d(AB) = d(B) – d(A) = {2, 4} – {2, 6} =
ươ ự ủ ậ ươ {4}, t ng t ta có t p diffset c a AC, AD, AE, AF, AG, AH t ứ ng ng
ư ế ế ộ ậ nh là {}, {4}, {1, 3}, {}, {4}, {1, 3, 4, 5}. Ti p theo, ti n hành g p các t p
ấ ộ 2itemsets có cùng diffset thành m t nhóm. Ta th y, AB, AD, AG có cùng
1 có: G1.itemset = ABDG
ộ ộ ậ t p diffset {4} nên g p ABDG thành m t nhóm G
2.itemset = ACF và G2.diffset= {};
ươ ự ng t , nhóm G và G1.diffset = {4}. T
G3.itemset=AE và G3.diffset= {1, 3}; G4.itemset = AH và G4.diffset={1, 3, 4,
ế ả ư Hình 1.3. 5}. K t qu nh
ơ ả ề ố Hình 1.. Các nhóm c b n có ti n t A
34
ướ ự ớ B c 1.2. Xây d ng l p các nhóm (constructing class groups)
i và Gj có cùng ti n t
k
ế ợ ơ ả ề ố ể ạ K t h p 2 nhóm c b n G đ t o thành nhóm N
k.itemset) ≥ minwsupp. Trong đó:
ề ệ ớ v i đi u ki n WSupp(N
k.itemset đ
ượ ừ ớ ượ ộ ỗ ợ ủ ậ + Đ h tr c a t p X đ c sinh ra t l p N c tính nh ư
sau:
Supp(X) = T C – TI (1.12)
Trong đó:
ổ ị ố T là T ng s giao d ch;
ề ố ủ ố C là S các tid trong diffset c a ti n t ;
i.diffset (cid:0) Gj.diffset;
ố TI là S các tid trong G
ố ủ ậ ọ ổ ượ + T ng tr ng s c a t p X đ c tính:
Weight(X) = (1.13)
Trong đó:
ố ủ ầ ử ọ ậ i trong t p X; wi là tr ng s c a ph n t
ộ ỗ ợ ọ ố ủ ậ ượ + Đ h tr tr ng s c a t p X đ c tính:
WSupp(X) = Supp(X) * Weight(X) (1.14)
ườ ợ Ví d , xét tr ụ ộ ỗ ợ ủ ậ ể ng h p minwsupp = 3. Đ tính đ h tr c a t p
ớ ề ố ượ X v i ti n t A đ c sinh t G ừ 1.itemset (cid:0) G2.itemset = ABCDFG trong
ề ố ti n t ư A nh sau:
1.diffset (cid:0)
ổ ố ị + Supp(X) = T ng s giao d ch – |{A}.diffset| – |G G2.diffset|
= 6 |{2, 6}| |{4}|) = 6 – 2 – 1 = 3.
35
ọ ổ + T ng tr ng s ố Weight(ABCDFG) = (0.1 + 0.3 + 0.3 + 0.5 + 0.7 + 0.7) =
2.6.
ộ ỗ ợ ố ớ ủ ậ ấ + Đ h tr ọ có tr ng s l n nh t c a t p ABCDFG là
1 và G2 thành 1 l p. ớ
ộ WSupp(ABCDFG) = 3 * 2.6 = 7.8 > 3 nên g p 2 nhóm G
(cid:0) ự ớ ậ ớ ề ố ượ ừ T ng t ươ , v i t p X v i ti n t A đ c sinh ra t G1 G3 =
ABDEG có:
+ Supp(X) = 6 |{2, 6}| |{1, 3, 4}| = 6 – 2 – 3 = 1
ọ ố ổ + T ng tr ng s Weight(ABDEG) = (0.1 + 0.3 + 0.5 + 0.8 + 0.7) = 2.4
ỗ ộ ợ ố ớ ủ ấ ậ + Đ h tr ọ có tr ng s l n nh t c a t p ABDEG là
1 và G3 thành 1
ộ WSupp(ABCDFG) = 1 * 2.4 = 2.4 < 3 nên không g p nhóm G
l p. ớ
ử ế ợ ơ ả ề ố Sau khi th k t h p các nhóm c b n có ti n t A nh G ư 1 và G4;
ượ ớ ủ ề ố c l p các nhóm c a ti n s A nh ư G2 và G3; G2 và G4; G3 và G4. Ta đ
Hình 1.4.
ướ ổ ế ậ ọ B ố c 2. Tìm các t p ph bi n có tr ng s :
ượ ớ ề ố ủ ự Sau khi tìm đ c l p các nhóm c a các ti n t ệ thì th c hi n khai phá
ố ư ổ ế ọ ậ t p ph bi n có tr ng s nh sau:
ậ ừ ớ Sinh các t p con X t 1 nhóm trong l p:
ộ ỗ ợ ủ ậ ứ + Tính đ h tr c a t p X theo công th c (1.11);
ứ ổ ọ ố + Tính t ng tr ng s Weight(X) theo công th (1.13);
+ Tính WSupp(X) = Supp(X) * Weight(X);
36
ế ổ ế ư ậ + N u WSupp(X) ≥ minwsupp thì đ a X vào danh sách t p ph bi n có
ọ ố tr ng s cao;
ờ ế ợ ậ ớ Sinh các t p con X nh k t h p các nhóm trong l p:
ộ ỗ ợ ủ ậ ứ + Tính đ h tr c a t p X theo công th c (1.12 ) ;
ứ ọ ổ ố + Tính t ng tr ng s Weight(X) theo công th c (1.13);
+ Tính WSupp(X) = Supp(X) * Weight(X)
ế ư ậ + N u WSupp(X) ≥ minwsupp thì đ a X vào danh sách t p ph ổ
ế ọ ố bi n có tr ng s .
ướ ế ậ D i đây là chi ti t thu t toán VMWFP [I].
ổ ế ố ừ ậ ậ ọ Thu t toán tìm các t p ph bi n có tr ng s t các nhóm ti n t ề ố
ậ ậ Thu t toán 1.1. Thu t toán VMWFP
Input:
ậ ị D T p các các giao d ch,
ầ ử ậ I – T p các ph n t ,
ố ỗ ợ ố ọ minwsupp – tr ng s h tr t ể i thi u,
ố ổ ị T T ng s giao d ch
Output:
ổ ế ậ ọ ố Danh sách các t p ph bi n có tr ng s – WFIs
D{
D và j > i { For each item xi (cid:0) GS = {}; For each item xj (cid:0)
ầ ử ộ xj; //G p 2 ph n t
ơ ả R = xi (cid:0) ự //Xây d ng các nhóm c b n
Call Basic_Groups_Construction(R, d(R));
37
}
ự ớ Call Class_Groups_Construction(xi); //Xây d ng l p các nhóm
}
ổ ế ậ ọ ố //Sinh và tìm t p ph bi n có tr ng s
Call Generation_Weight_Frequent_Patern(xi);
Return WFIs;
ơ ả ủ ụ ự Th t c xây d ng các nhóm c b n
ủ ụ Th t c Basic_Groups_Construction(new_item, new_diffset)
Input:
ơ ả ủ ề ố GS – Nhóm c b n c a ti n t ;
new_item – 1 ph n t ầ ử ;
ủ ậ new_diffset – t p diffset c a new_item.
Output:
ế Thêm new_item vào GS n u có cùng diffset
For each group g (cid:0) GS {
Grouped=False;
new_item;
If (new_diffset == g.diffset) { g.itemset = g.itemset (cid:0) Grouped=True; Exit;
}
}
If (!Grouped)
GS.add new group(new_diffset, new_item);
38
ủ ụ ớ Th t c xây d ng l p các nhóm ự
ủ ụ Th t c Class_Groups_Construction(x)
Input:
ố ổ ị T T ng s giao d ch;
ủ ề ố ố C – S tid trong diffset c a ti n t x;
ơ ả ủ ề ố GS – Nhóm c b n c a ti n t x;
Output:
ủ ề ố L p các nhóm c a ti n t x;
ớ For each group gi (cid:0)
GS và j > i { GS { For each group gj (cid:0)
gj.itemset;
gj.diffset |;
itemsets = gi.itemset (cid:0) Tính TI = | gi.diffset (cid:0) If ((T – C – TI) * Weight(X) ≥ minwsupp) {
gj;
new_group = gi (cid:0) GS.add_new_group();
new_group.itemset.add(gi.itemset,gi.diffset);
new_group.itemset.add(gj.itemset,gj.diffset);
}
}
}
ơ ả ượ ử Xóa các nhóm c b n đã đ c x lý trong GS;
ổ ế ậ ọ ố Sinh và tìm t p ph bi n có tr ng s
ủ ụ Th t c Generation_Weight_Frequent_Patern(x)
Input:
ủ ề ố ớ GS – L p các nhóm c a ti n t x
Output:
ố ủ ề ố ổ ế ậ ọ WFIs – t p ph bi n có tr ng s c a ti n t x;
39
ổ ế ậ ọ ố
//Sinh và tìm t p ph bi n có tr ng s For each group gi (cid:0)
GS { For each itemset Y (cid:0) gi {
(cid:0) ấ ấ ả Trích xu t t ậ t c các t p con X Y;
ộ ỗ ợ ậ ứ Tính đ h tr t p Supp(X) theo công th c 1.11;
ổ Tính t ng Weight(X);
If (Supp(X) * Weight(X) ≥ minwsupp {
ư Đ a X vào WFIs;
}
}
} For each group gi (cid:0)
GS và j > i {
gj; ấ GS { For each group gj (cid:0) g = gi (cid:0) ậ Trích xu t các t p con X trong g;
ộ ỗ ợ ậ ứ Tính đ h tr t p Supp(X) theo công th c 1.12;
ổ Tính t ng Weight(X);
If (Supp(X) * Weight(X) ≥ minwsupp {
ư Đ a X vào WFIs;
}
}
}
Return WFIs;
ộ ứ ạ ậ Đ ph c t p thu t toán VMWFP
ệ ề ứ ạ ủ ộ ườ ậ Đ ph c t p c a thu t toán VMWFP trong tr ợ ng h p M nh đ 1.1.
n), trong đó n là t p t
ậ ấ ả ầ ử ổ ố ấ ấ x u nh t là O(2 t c các ph n t ; m là t ng s giao
ầ ử ố ừ ố ổ ị ị d ch, v là s ph n t trung bình trong t ng giao d ch và v là t ng s các
ầ ử ấ ả ị ph n t trong t t c các giao d ch.
40
ứ Ch ng minh:
ườ ấ ấ ậ ợ ấ ả Tr ng h p x u nh t cho thu t toán VMWFP là có t t c nhóm c ơ
ơ ả ả ượ b n đ c sinh ra (các nhóm có Diffset khác nhau) và các nhóm c b n trong
ề ố ế ợ ộ ỗ ợ ọ ố ớ ề ớ ơ cùng ti n t k t h p v i nhau đ u có đ h tr tr ng s l n h n ng ưỡ ng
ệ ừ ầ ử ừ ể minwsupp. Sau khi duy t t ng ph n t ị trong t ng giao d ch đ tìm Diffset
ầ ử ớ ừ ế ự ướ ớ cho t ng ph n t v i chi phí v. Chi ti ệ t th c hi n các b c v i chi phí sau:
2 * m2;
ơ ả ự ớ + Xây d ng nhóm c b n v i chi phí là n
ự ớ ườ ấ ợ + Xây d ng l p các nhóm: trong tr ấ ng h p x u nh t thì các nhóm c ơ
ấ ả ả ề b n đ u có Diffset khác nhau nên có t ế ợ ớ t c nhóm và các nhóm này k t h p v i
ộ ỗ ợ ọ ố ớ ơ ề ưỡ ộ nhau đ u có đ h tr tr ng s l n h n ng ng minwsupp nên g p các nhóm
ủ ừ ề ố ớ ớ này vào l p các nhóm c a t ng ti n t v i chi phí là ;
ổ ế ậ ố ọ ườ ợ ấ ả + Sinh các t p ph bi n có tr ng s : Trong tr ng h p t ậ t c các t p
n 1 t p đ ậ
ổ ế ẽ ậ ọ ố ượ ề ề đ u là t p ph bi n có tr ng s thì s có 2 c sinh ra và đ u là
ổ ế ọ ố ậ t p ph bi n có tr ng s .
ứ ạ ậ ộ ườ ấ ấ ợ Do đó, đ ph c t p thu t toán trong tr ng h p x u nh t là O() =
O(2n).
ậ Thu t toán song song PVMWFP[I]
ổ ế ậ ậ ố ọ ề Đây là thu t toán song song khai phá t p ph bi n có tr ng s theo chi u
ự ừ ậ ở ầ ọ ượ d c đ c xây d ng t thu t toán VMWFP ph n trên mô hình chia s b ẻ ộ
nh .ớ
ướ ậ Các b c cho thu t toán song song PVMWFP:
Master:
ữ ệ ề ỗ Phân chia d li u cho m i Thread theo chi u ngang;
ề ố ộ ậ ử Phân chia các ti n t cho các Thread đ c l p x lý
41
Thread:
ầ ử ặ ủ Tìm diffset c a các ph n t ữ ệ ụ và các c p 2itemsets trên d li u c c
b ;ộ
ầ ử ượ ớ ỗ đ c phân chia For each xi (cid:0) Local{//V i m i ph n t
ủ ậ ợ ừ + T p h p diffset c a x t các Thread khác;
+ GS = {};
D và j > i { + For each item xj (cid:0)
xj; o R = xi (cid:0)
ậ ợ ặ o T p h p các c p R (2itemsets) có
ề ố ủ ti n t x và d(R) diffset c a R;
o Call Basic_Groups_Construction(R,
d(R));
}
+ Call Class_Groups_Construction(xi);
+ Call Generation_Weight_Frequent_Patern(xi);
}
ộ ử ụ ậ ọ Ví d , minh h a thu t toán PVMWFP song song 2 b x lý P0 và P1
ả B ng 1.1 ớ ơ ở ữ ệ v i c s d li u trong .
Chia CSDL cho P0, P1 nh ư Hình 1.5.
Tid Items Tid
4 A, C, E, F 1
5 2
Items A, B, C, D, F, G C, D, E, F, H A, B, C, D, 6 A, B, C, D, E, F, G B, D, E, G, 3
42
H
F, G P0 P1
Hình 1.. Chia CSDL cho P0, P1
ỗ ộ ử ộ ượ ụ ế Trên m i b x lý ti n hành tìm diffset trên CSDL c c b đ ế c k t
ả ư Hình 1.6. qu nh
Diffset 2 2
Diffset 6 4 6 4
1, 3
Item A B C D E F G H 2 1, 3 Item A B C D E F G H 6 4 4, 5
P0 P1
Hình 1.. Diffset trên CSDL c c bụ ộ
ả ử ề ố ử ề ố ử Gi s phân công P0 x lý ti n t : A, C, E, G và P1 x lý ti n t : B, D,
ỗ ộ ử ủ ừ ề ố ậ ợ F, H. Trên m i b x lý t p h p diffset c a t ng ti n t ; sinh và tìm diffset
ả ượ ủ ự ế ặ cho các c p 2itemsets d a vào diffset c a 1itemsets, k t qu đ c nh ư
Hình 1.7.
Ti n tề ố Ti n tề ố Diffset
A B
BC:{6}; BD:{}; BE: {1, 3}; BF: {6}; BG:{}; BH:{1, 3, 4, 5};
C D
Diffset AB:{4}; AC:{}; AD: {4}; AE: {1,3}; AF: {}; AG:{4}; AH:{1, 3, 4, 5}; CD:{4}; CE:{1, 3}; CF:{}; CG: {2, 4}; CH: DE:{1, 3}; DF:{6}; DG:{2}; DH:{1, 3,
43
Ti n tề ố Ti n tề ố Diffset
E F
5}; FG:{2, 4}; FH:{1, 3, 5};
G H
Diffset {1, 3, 4, 5}; EF:{6}; EG:{2, 4}; EH:{4, 5}; GH:{1, 3, 5}; P0
ề ố ặ Hình 1.. Diffset các c p theo ti n t P1 cho P0 và P1
ỗ ộ ử ổ ế ộ ậ ố ớ ậ ọ Trên m i b x lý đ c l p khai phá t p ph bi n có tr ng s v i các
ề ố ượ ti n t đã đ c phân công.
ộ ứ ạ ậ Đ ph c t p thu t toán PVMWFP
ệ ứ ạ ủ ộ ườ ậ ề Đ ph c t p c a thu t toán PVMWFP trong tr ợ ng h p M nh đ :
ậ ấ ả ầ ử ấ ổ ị ấ x u nh t là , trong đó n là t p t t c các ph n t ố ; m là t ng s giao d ch, v
ầ ử ố ầ ử ừ ổ ố là s ph n t ị trung bình trong t ng giao d ch, v là t ng s các ph n t trong
ấ ả ử ị t ố t c các giao d ch và p là s Thread tham gia x lý.
ứ Ch ng minh:
ườ ấ ấ ợ ấ ả Tr ậ ng h p x u nh t cho thu t toán PVMWFP là có t t c nhóm c ơ
ượ ơ ả ả b n đ c sinh ra (các nhóm có diffset khác nhau) và các nhóm c b n trong
ề ố ế ợ ộ ỗ ợ ọ ố ớ ề ớ ơ cùng ti n t k t h p v i nhau đ u có đ h tr tr ng s l n h n ng ưỡ ng
ệ ừ ầ ử ừ ể minwsupp. Sau khi duy t t ng ph n t ị trong t ng giao d ch đ tìm diffset
ầ ử ớ ừ ế ự ướ cho t ng ph n t v i chi phí v. Chi ti ệ t th c hi n các b ừ c trên t ng
ớ Thread v i chi phí sau:
2 * m2;
ơ ả ự ớ + Xây d ng nhóm c b n v i chi phí là n
ự ớ ườ ấ ợ + Xây d ng l p các nhóm: trong tr ấ ng h p x u nh t thì các nhóm c ơ
ề ấ ả ả b n đ u có diffset khác nhau nên có t ế ợ t c nhóm và các nhóm này k t h p
44
ố ớ ề ơ ưỡ ộ ộ ỗ ợ ọ ớ v i nhau đ u có đ h tr tr ng s l n h n ng ng minwsupp nên g p các
ủ ừ ề ố ớ ớ nhóm này vào l p các nhóm c a t ng ti n t v i chi phí là ;
ổ ế ậ ọ ố ườ ợ ấ ả + Sinh các t p ph bi n có tr ng s : Trong tr ng h p t ậ t c các t p
n 1 t p đ ậ
ổ ế ẽ ậ ọ ố ượ ề ề đ u là t p ph bi n có tr ng s thì s có 2 c sinh ra và đ u là
ổ ế ọ ố ậ t p ph bi n có tr ng s .
ả ử ề ố ượ ử ố Gi s , các ti n t đ c phân chia cho các Thread x có s các nhóm
ớ ươ ươ ượ ơ ả c b n trong các l p là t ng đ ng nên chi phí tính toán đ ề c chia đ u
ứ ạ ậ ộ ườ ấ ợ cho p Thread. Do đó, đ ph c t p thu t toán trong tr ấ ng h p x u nh t là
O( *()) = O().
ế ả ậ K t qu đánh giá thu t toán
ậ ượ ề ấ ớ Thu t toán song song PVMWFP [I] đ ậ c đ xu t so sánh v i thu t
ầ ự ậ ượ ặ toán tu n t VMWFP. Thu t toán PVMWFP đ c cài đ t theo mô hình chia
ư ệ ớ ượ ỗ ợ ở ữ ậ ẻ ộ s b nh trên th vi n OpenMP đ c h tr b i ngôn ng l p trình
ự ệ Visual Studio.NET th c hi n trên máy IBM T61, Core 2 Due, RAM 2Gb, s ố
ơ ở ữ ệ ử ự ệ ệ ớ Thread th c hi n là 3. Sau khi th nghi m trên các c s d li u v i 52
ầ ử ẫ ị ượ ế ph n t và 3984 giao d ch sinh ng u nhiên đ c k t qu nh ả ư Hình 1.8.
ế ả ớ Hình 1.. K t qu so sánh VMWFP và PVMWFP v i 3 thread
ậ ợ 1.4. T p l i ích cao
ổ ế ừ ơ ở ữ ệ ề ứ ậ Khai phá t p ph bi n t ụ ị c s d li u giao d ch có nhi u ng d ng
ế ổ ế ụ ụ ủ ậ trong kinh doanh, y t , giáo d c,... M c tiêu c a khai phá t p ph bi n là
ầ ử ậ ệ ớ ầ ấ ấ ơ ộ ưỡ tìm ra các t p ph n t có t n su t xu t hi n l n h n m t ng ng h tr ỗ ợ
ể ướ ậ ự ổ ế ừ ậ ộ ố t i thi u cho tr c. T t p ph bi n sinh ra các lu t d a trên đ tin c y t ậ ố i
ổ ế ơ ả ầ ử ể ọ ậ thi u. Trong bài toán khai phá t p ph bi n c b n, m i ph n t là t ươ ng
45
ươ ệ ủ ầ ử ấ ấ ỉ đ ế ầ ng nhau và ch quan tâm đ n t n su t xu t hi n c a ph n t trong các
ự ế ị ầ ử giao d ch. Tuy nhiên, trong th c t , các ph n t ơ ở ữ ệ trong c s d li u giao
ườ ị ượ ư ố ượ ị d ch th ộ ng có các thu c tính đ nh l ng khác nhau nh : s l ơ ng, đ n giá,
ư ệ ợ ợ l i ích,... Năm 2003, Chan [13] đã đ a ra khái ni m l ủ ậ i ích c a t p ph n t ầ ử
ữ ắ ượ ầ ử ể ổ ế ơ ả ụ ể đ kh c ph c nh ng nh ủ ậ c đi m c a t p ph n t ợ ph bi n c b n. L i
ầ ử ủ ộ ị ượ ự ợ ộ ích c a m t ph n t trong m t giao d ch đ c tính toán d a trên l i ích
ị ợ ầ ử ủ ụ ề ợ trong giao d ch và l i ích ngoài c a ph n t đó. Ví d v l i ích trong giao
ư ố ượ ể ế ỗ ầ ề ợ ủ ặ ị d ch k đ n nh s l ng c a m t hàng trong m i l n mua hàng; v l i ích
ể ể ế ị ợ ư ị ậ ngoài giao d ch có th k đ n nh giá tr l ặ i nhu n do m t hàng đó đem l ạ i.
ộ ậ ợ ị ợ ỏ ơ ủ ộ M t t p có l i ích cao khi giá tr l i ích c a nó không nh h n m t ng ưỡ ng
ố ể ướ ợ l i ích t i thi u cho tr c.
ậ ợ ứ ữ ộ M t trong nh ng thách th c khi khai phá t p l i ích cao là các t p l ậ ợ i
ấ ố ượ ậ ượ ích không có tính ch t đóng [6]. Do v y, s l ứ ng các ng viên đ c sinh
ấ ớ ứ ế ể ẫ ờ ế ra r t l n, d n đ n không gian tìm ki m và th i gian ki m tra các ng viên
ứ ượ ứ ề có chi phí cao. Đây là thách th c đ c nhi u nhà nghiên c u quan tâm [13],
[39], [23], [12], [40], [24], [62], [55], [60], [77], [65], [17], [26],…
ơ ở ệ 1.4.1. Khái ni m c s
1, T2, T3,…,Tm} và
ộ ơ ở ữ ệ ị ồ Cho m t c s d li u g m các giao d ch D = {T
(cid:0) ầ ử ệ ấ ị (item) xu t hi n trong các giao d ch, X I I={i1, i2, i3,…,in} là các ph n t
ầ ử ậ ậ ượ ầ ử ọ là t p các ph n t (itemsets). T p X đ ậ c g i là t p kph n t khi s ố
ượ ầ ử ủ l ng ph n t c a X là k.
ậ ợ ể ả ư ệ ậ Đ thu n l i trong gi i thích các khái ni m, lu n án đ a ra m t c s ộ ơ ở
ữ ệ ị ượ ễ ể ướ ạ ả ư B ng 1.4 d li u giao d ch đ c bi u di n d ả i d ng b ng nh ợ . L i ích
ầ ử ượ ủ ả B ng 1.5 ngoài c a các ph n t đ c cho trong .
46
ả ơ ở ữ ệ ị B ng 1.. ọ C s d li u giao d ch minh h a
Giao d chị
F C D E 1 1 1 2 0 0 0 25 1 2 0 0 0 0 0 12 0 2 0 8 1 0 1 4 0 0 1 2 3 2 0 0 0 0 1 0 0 2 0 4 ầ ử A B 0 1 1 0 0 0 1 0 0 2 0 0 0 0 2 3 0 2 0 0 ợ ủ Ti d 1 2 3 4 5 6 7 8 9 10 ả B ng 1.. L i ích c a các ph n t
Item ợ L i ích A B C D E F 2 3 10 1 6 5
ị ầ ử ủ ợ [38] L i ích trong (internal utility) c a ph n t là giá Đ nh nghĩa 1.9.
k, Tj) – là l
ầ ử ị ủ ừ ệ ị ợ tr c a ph n t đó trong t ng giao d ch. Ký hi u: O(i i ích trong
j.
ủ c a ph n t i ầ ử k trong giao d ch Tị
1) = 1; O(C, T1) = 2 trong B ng 1.4.
ụ ả Ví d , O(A, T
ị ầ ử ủ ợ là giá tr ị Đ nh nghĩa 1.10. [38] L i ích ngoài (external utility) c a ph n t
k}) là l
ầ ử ả ợ ệ ợ ợ l ủ i ích c a ph n t đó trong b ng l i ích. Ký hi u: S({i ủ i ích ngoài c a
ph n t i ầ ử k.
ụ ả Ví d , S({A}) = 3; S({B}) = 10 trong B ng 1.5.
ị ầ ử ủ ợ ị trong giao d ch là tích c a l ủ ợ i Đ nh nghĩa 1.11. [38] L i ích c a ph n t
k,Tj) là l
ợ ầ ử ủ ợ ích trong và l i ích ngoài c a ph n t đó. ệ Ký hi u: U(i ầ ủ i ích c a ph n
j.
iử k trong giao d ch Tị t
(1.15) U(ik,Tj) = S({ik}) * O(ik,Tj)
47
1) = 3*1 = 3; U({C}, T1) = 1 * 2 = 2.
ụ Ví d , U({A}, T
j là
ị ủ ậ ầ ử ợ ị X trong giao d ch T Đ nh nghĩa 1.12. [38] L i ích c a t p ph n t
j, ký hi u làệ
ị ợ ấ ả ầ ử ủ ậ ị ổ t ng giá tr l i ích t t c ph n t c a t p X trong giao d ch T
U(X, Tj).
(1.16) U(X, Tj) =
1) = 3*1 + 1*2 = 5.
ụ Ví d , U({AC}, T
ị ộ ậ ầ ử ủ ợ X trong c s d ơ ở ữ Đ nh nghĩa 1.13. [38] L i ích c a m t t p ph n t
ệ ổ ợ ầ ử ấ ả ứ ị li u là t ng l ủ ậ i ích c a t p ph n t X trong t t c giao d ch ch a X. Ký
ệ hi u: AU(X).
AU(X) = (1.17)
1, T5 nên:
ụ ệ ậ ấ ị Ví d , xét t p{AC}, vì {AC} xu t hi n trong các giao d ch: T
AU({AC}) = U({AC}, T1) + U({AC}, T5) = (3 * 1 + 1 * 2) + (3 * 2 + 1 * 8) =
19.
ị ầ ử ợ ậ ượ ọ l i ích cao: T p X đ ậ c g i là t p Đ nh nghĩa 1.14. ậ [38] T p ph n t
ầ ử ợ ế ph n t l i ích cao (HU – High Utility) n u AU(X) ≥ minutil, ng ượ ạ ọ i g i c l
ầ ử ợ ậ ấ ưỡ ợ ố X là t p ph n t l i ích th p, trong đó minutil là ng ng l i ích t ể i thi u
ướ cho tr c.
ụ ợ ố ầ ử ợ ể ậ Ví d , l i ích t i thi u minutil = 12 thì {AC} là t p ph n t l i ích cao.
ị ủ ổ ợ ị ợ ộ [38] L i ích c a m t giao d ch là t ng l ủ i ích c a các Đ nh nghĩa 1.15.
j) là l
j.
ầ ử ệ ị ợ ủ ị ph n t trong giao d ch đó. Ký hi u: TU(T i ích c a giao d ch T
(1.18) TU(Tj) =
1) = 1 * 3 + 2 * 1 + 1 * 6 + 1 * 5 + 1 * 2 = 18, TU(T2) = 1 * 10
ụ Ví d , TU(T
+ 25 * 1 = 35.
48
ị ộ ậ ố ủ ợ ọ ị ầ [38] L i ích giao d ch có tr ng s c a m t t p ph n Đ nh nghĩa 1.16.
ổ ợ ứ ậ ầ ử ủ ị ử t X là t ng l i ích c a các giao d ch có ch a t p ph n t ệ X. Ký hi u:
TWU(X) và
TWU(X) = (1.19)
1) + TU(T5) = 18 + 24 = 42.
ụ Ví d : TWU({AC}) = TU(T
ị ế ớ [39] N u TWU(X) ≥ minutil v i minutil là ng ưỡ ng Đ nh nghĩa 1.17.
ố ể ợ ứ ướ ầ ử ợ ậ ọ t i thi u l i ích ng viên cho tr c thì X g i là t p ph n t l i ích giao
ố ọ ị d ch có tr ng s cao (HTWU High Transaction Weighted Utility). Ng ượ c
ạ ượ ầ ử ợ ọ ố ấ ị l i, X đ ậ c g i là t p ph n t l ọ i ích giao d ch có tr ng s th p (LTWU –
Low Transaction Weighted Utility).
ị ộ ậ ầ ử ộ ị [38] Cho m t t p ph n t X và m t giao d ch T, sao Đ nh nghĩa 1.18.
ợ ấ ả ầ ử ủ ộ ượ ậ T. T p h p t t c các ph n t c a T không thu c X đ ệ c kí hi u cho X (cid:0)
là T\X.
1 \ {AC} = {DEF}.
ụ ả Ví d , trong B ng 1.4 thì T
ị ợ ạ ủ ậ ầ ử [38] L i ích còn l i c a t p ph n t X trong giao Đ nh nghĩa 1.19.
ổ ợ ầ ử ủ ị ị d ch T là t ng l i ích c a các ph n t ệ trong T\X trong giao d ch T. Kí hi u:
RU(X, T) và
RU(X, T) = (1.20)
ị ỗ ậ ầ ử ớ ế ậ [38] V i m i t p ph n t X, ta thi t l p danh sách Đ nh nghĩa 1.20.
ươ ứ ệ ớ ỗ ố ủ ợ l i ích t ng ng v i X, kí hi u là utilitylist. M i thành t c a danh sách
ườ có 3 tr ng: tid, iutil, rutil. Trong đó:
ỉ ố ủ ị tid: ch s c a giao d ch T ứ j ch a X;
49
ợ ủ ệ ở ươ ứ iutil: l i ích c a X trong tid, kí hi u b i iutil(X, tid), t ớ ng ng v i
ứ công th c (1.16) ;
ợ ạ ủ ệ ở rutil: l i ích còn l i c a X trong tid, kí hi u b i rutil(X, tid), t ươ ng
ứ ứ ớ ng v i công th c (1.20) ;
ị ợ ủ ậ ầ ử [38] Xét danh sách l i ích (utilitylist) c a t p ph n t X. Đ nh lý 1.1.
ế ổ ỏ ơ ưỡ ợ ố ể N u t ng iutils và rutils nh h n ng ng l i ích t i thi u (minutil) thì l ợ i
ỏ ơ ợ ứ ậ ọ ậ ố ủ ọ ị ích giao d ch có tr ng s c a m i t p ch a t p X cũng nh h n l i ích t ố i
thi u. ể
ộ ố ươ ậ ợ 1.4.2. M t s ph ng pháp khai phá t p l i ích cao
ầ ự ậ ậ ợ khai phá t p l i ích cao a. Thu t toán tu n t
ự ề ấ ậ ạ ộ Năm 2005, Liu và c ng s [39] đ xu t thu t toán hai giai đo n (Two
ậ ợ ạ ậ Phase) tìm t p l ế ợ i ích cao. Giai đo n 1 k t h p các t p trong HTWUs đ ể
ậ ứ ạ ộ ầ ứ ệ ạ ỗ sinh t p ng viên t i m i m c. Giai đo n 2 thêm m t l n duy t CSDL đ ể
ậ ạ ượ ầ ậ ầ lo i các t p đ ệ c đánh giá quá cao. Thu t toán TwoPhase c n ít l n duy t
ậ ộ ớ ơ CSDL, không gian b nh và chi phí tính toán ít h n. Tuy nhiên, thu t toán
ớ ơ ở ữ ệ ợ ố ợ ớ ữ ệ ề này phù h p v i c s d li u truy n th ng, không phù h p v i d li u
ệ ạ ả ồ ề ầ ị lu ng (streams), vì ph i duy t l i CSDL nhi u l n, khi có thêm giao d ch
ớ ừ ồ ữ ệ ử ẽ ề ậ ố ờ m i t lu ng d li u. Do v y, s làm t n nhi u th i gian cho x lý Vào/Ra
và chi phí CPU.
ề ấ ậ ộ ệ Erwin, A., Gopalan, R.P., N.R. Achuthan [23] đ xu t m t thu t toán hi u
ả ọ ợ ươ ưở qu g i là CTUPRO cho khai phá l ử ụ i ích s d ng ph ng pháp tăng tr ng.
ự ể ớ ọ ữ ệ ẫ ợ ộ ễ Erwin và các c ng s bi u di n d li u m i g i là cây m u l i ích nén
ượ ừ ậ ợ (CUPtree) đ ở ộ c m r ng t cây CFP [57] cho khai phá t p l i ích. Trong
ậ ượ ử ụ ể ỉ ậ ứ thu t toán này, mô hình TWU đ ả c s d ng đ t a t p ng viên, làm gi m
50
ộ ầ ệ ạ ơ ở ữ ệ ế ả không gian tìm ki m và gi m m t l n duy t l i c s d li u. Erwin và các
ự ự ệ ậ ớ ậ ộ c ng s đã th c nghi m so sánh thu t toán CTUPRO v i hai thu t toán
ả ự ế ệ ơ TwoPhase và CTUMine cho k t qu th c hi n nhanh h n trên c s d ơ ở ữ
ớ ơ ở ữ ệ ả ơ ư ệ ậ ặ ậ ệ li u đ m đ c. Thu t toán này cũng hi u qu h n v i c s d li u th a và
ưỡ ng ỗ ợ ấ ng h tr th p.
ề ấ ậ ộ ự Năm 2012, Mengchi Liu và c ng s [38] đ xu t thu t toán HUIMiner
ậ ợ ậ ứ ầ cho khai phá t p l i ích cao không c n sinh t p ng viên, trong khi các
ậ ướ ộ ượ ề ứ ớ thu t toán khác tr c đó đ u sinh ra m t l ố ng l n các ng viên, tiêu t n
ứ ể ạ ậ ớ ờ ộ b nh , th i gian khi t o và ki m tra các ng viên. Thu t toán HUIMiner
ấ ợ ể ư ữ ợ ử ụ s d ng c u trúc danh sách l i ích (utilitylist) đ l u tr thông tin l i ích
ệ ắ ỉ ủ ụ ụ ệ ế ị ầ ử ậ và thông tin ph c v vi c quy t đ nh vi c c t t a c a các t p ph n t . Cách
ế ậ ậ ớ ti p c n này, so v i các thu t toán IHUPTWU [12], UPGrowth [62], UP
ả ự ả ơ ệ ể ế ệ Growth+ [60], cho k t qu th c hi n hi u qu h n đáng k . Tuy nhiên,
ẫ ố ấ ể ư ữ ề ậ ớ ộ thu t toán này v n t n r t nhi u b nh trung gian đ l u tr danh sách l ợ i
ậ ợ ế ích trong quá trình tìm ki m t p l i ích cao.
ự ấ ậ ộ ề Năm 2013, Guo và c ng s [15] đ xu t thu t toán PB khai phá t p l ậ ợ i
ả ự ế ệ ậ ỹ ộ ích cao hi u qu d a trên mô hình TWU [40], k thu t hình chi u và m t
ớ ươ ầ ử ử ậ ỉ ụ ấ c u trúc ch m c m i. Ph ệ ng pháp này x lý đ quy các t p ph n t theo
ứ ự ề ố ỉ ụ ượ ử ụ ệ ấ th t ti n t . Trong quá trình đ quy, c u trúc ch m c đ c s d ng đ ể
ậ ứ ế ị ươ ứ sinh nhanh các t p ng viên ti p theo, tìm các giao d ch t ng ng, làm
ữ ầ ả ầ ộ ớ ơ ươ gi m yêu c u tính toán và yêu c u b nh . H n n a, ph ư ng pháp còn đ a
ứ ắ ỉ ố ượ ệ ả ằ ả ộ ứ ra m t cách th c c t t a hi u qu nh m gi m s l ng ng viên do đó làm
ứ ể ả ậ ả ờ ợ gi m th i gian ki m tra các ng viên. Thu t toán tính c TWU và l i ích
ậ ươ ả ộ ủ c a các t p cùng lúc. Ph ớ ử ụ ng pháp này cho phép làm gi m b nh s d ng
ậ ợ ế ờ ả ự ế ệ ấ và th i gian tìm ki m t p l i ích cao. K t qu th c nghi m cho th y yêu
51
ề ộ ệ ậ ơ ớ ờ ơ ớ ự ầ c u v b nh ít h n và th i gian th c hi n nhanh h n so v i hai thu t toán
ự ưở ủ CTUPRO [23] và TwoPhase [39]. D a trên ý t ậ ng c a thu t toán này,
ự ề ấ ậ ậ ượ lu n án đ xu t thu t toán HP d a trên mô hình CWU đã đ c trình bày
ươ trong ch ng 2.
ự ằ ấ ộ Năm 2014, Philippe Fournier và c ng s [26] xem xét th y r ng HUI
ậ ứ ự ệ ạ ạ ộ Miner th c hi n khai phá m t giai đo n, không t o các t p ng viên theo
ệ ạ ờ ố ế mô hình hai giai đo n. Do đó HUIMiner tiêu t n th i gian cho vi c liên k t
ể ậ ờ ố ợ ủ ể ạ đ t o ra các t p và t n th i gian đ đánh giá l ể ả ỗ ậ i ích c a m i t p. Đ gi m
ế ầ ự ề ự ệ ấ ộ ộ các liên k t c n th c hi n, Philippe và c ng s đ xu t m t chi n l ế ượ ắ c c t
ớ ọ ươ ỉ t a m i g i là EUCP (Estimated Utility Cooccurrence Pruning). Ph ng pháp
ố ự ắ ỉ ầ ướ ợ này cho phép c t t a không c n ghép n i d a trên c tính l ặ i ích các c p
ầ ử ệ ấ ậ ph n t cùng xu t hi n. Thu t toán này có tên là FHM (Fast Highutility
ự ệ ậ ớ ấ Minner). Th c nghi m so sánh FHM v i thu t toán HUIMiner cho th y
ế ố ả ầ ơ gi m 95% các k t n i và nhanh h n sáu l n.
ậ ợ ư ậ Năm 2015, Zida, Philippe, Lin [77] đ a ra thu t toán khai phá t p l i ích
ử ụ ậ ỹ ả cao EFIM (EFficient highutility Itemset Mining), s d ng k thu t làm gi m
ể ờ ứ ử ậ ả ấ ầ ớ ộ đáng k th i gian x lý và yêu c u b nh . Th nh t, thu t toán gi m chi
ệ ữ ệ ử ụ ế ằ ấ ợ phí duy t d li u b ng cách s d ng hình chi u CSDL và h p nh t các giao
ớ ủ ợ ử ụ ứ ậ ậ ố ị d ch gi ng nhau. Th hai, thu t toán s d ng hai c n trên m i c a l ậ i ích t p
ầ ử ợ ợ ụ ộ ph n t là: l i ích cây con (utility subtree) và l i ích c c b (local utility) cho
ứ ệ ế ả ậ ộ ỉ ử ụ phép t a m t cách hi u qu không gian tìm ki m. Th ba, thu t toán s d ng
ậ ế ợ ự ể ả ậ ớ ỹ k thu t đ m nhanh l i ích d a trên m ng đ tính c n trên v i chi phí b ộ
ế ớ ờ nh và th i gian tuy n tính.
ậ ợ ự ậ ộ Năm 2016, J. Liu và c ng s trình bày thu t toán khai phá t p l i ích cao
ế ạ ầ ậ ộ ứ trong m t giai đo n không c n sinh ng viên theo ba cách ti p c n: tăng
52
ưở ậ ợ ế ượ ệ tr ng t p l i ích cao, chi n l ấ c duy t không quay lui (look ahead) và c u
ụ ể ữ ệ ế ưở ậ ợ trúc d li u tuy n tính. C th , quá trình tăng tr ng t p l ự i ích d a trên
ệ ộ ệ ậ ả ượ ắ ỉ ế vi c tìm m t cây li t kê t p đ o ng ằ c và c t t a không gian tìm ki m b ng
ợ ế ượ ệ ị ậ c n trên l i ích. Chi n l c duy t không quay lui cho phép xác đ nh t p l ậ ợ i
ầ ệ ờ ử ụ ấ ích cao, không c n li ữ ệ ấ t kê nh s d ng tính ch t đóng. C u trúc d li u
ế ậ ợ ớ ợ ự ế tuy n tính cho phép tính toán c n trên l ầ i ích g n v i l i ích th c t ậ , do v y
ắ ỉ ự ứ ế ậ ờ ồ ị giúp c t t a nhanh t p các ng viên, đ ng th i xác đ nh tr c ti p đ ượ ậ c t p
ả ữ ệ ư ệ ệ ả ộ ợ l ự i ích cao m t cách hi u qu . Các th c nghi m trên c d li u th a và dày
ấ ậ ượ ả ơ ệ ề ậ ấ ặ đ c cho th y thu t toán đ c đ xu t hi u qu h n thu t toán HUIMiner
[38], UPGrowth [62], IHUP [12].
ữ ậ ượ ở ậ ợ Ngoài nh ng thu t toán đ c đánh giá trên, khai phá t p l i ích cao
ượ ấ ứ ữ ề ầ ẫ v n đ c r t nhi u nhà nghiên c u quan tâm trong nh ng năm g n đây
ư nh : IHUP [12], d2HUP [37] , FOSHU [27], HURI [46], TTBM [42], HAUP
[35], HUCPrune [7], TUS [69], TKU và TKO [61],…..
ậ ợ ậ Thu t toán song song khai phá t p l i ích cao
ử ụ ề ậ ấ ớ Năm 2008, A.Erwin [25] đ xu t thu t toán s d ng mô hình TWU v i
ưở ữ ệ ẫ ợ ự ẫ ấ tăng tr ng m u d a trên c u trúc d li u cây m u l i ích nén (CTUtree).
ự ệ ậ ượ ế ồ Thu t toán th c hi n song song l ể ư c đ chi u (projection scheme) đ l u
ữ ữ ệ ế ớ ộ ớ tr ả ự ủ trên đĩa khi b nh chính không đ vì d li u quá l n. K t qu th c
ơ ở ữ ệ ớ ự ệ ệ ậ ả ỉ ặ ệ nghi m ch ra thu t toán th c hi n hi u qu khi c s d li u l n, dày đ c.
ự ề ấ ộ ộ ươ Năm 2009, Bay Vo [65] và c ng s đã đ xu t m t ph ng pháp song
ậ ợ ớ ữ ệ ượ ề ọ song khai phá t p l i ích cao v i d li u đ c phân chia theo chi u d c, s ử
ể ư ấ ữ ữ ệ ỗ ộ ử ụ ộ ụ d ng c u trúc cây WIT đ l u tr d li u c c b trên m i b x lý. Các
ầ ử ỉ ử ề ụ ỗ ph n t ủ ế trên m i SlaveSite (Máy ph ) ch g i v MasterSite (Máy ch ) n u
ủ ơ ớ ưỡ ố ỉ ế ợ ể ể TWU c a nó l n h n ng ng t i thi u và MasterSite ch k t h p đ khai
53
ậ ợ ệ ở ế ậ ấ phá t p l i ích cao n u các t p đó xu t hi n hai SlaverSite khác nhau.
ậ ợ ỉ ượ ạ Thu t toán này ch phù h p khi CSDL đã đ c phân ho ch, các ph n t ầ ử
ụ ộ ằ ỗ ớ trong các CSDL c c b giao v i nhau b ng r ng.
ộ ậ Năm 2013, Kannimuthu và các c ng s ự [56] trình bày thu t toán khai
ậ ợ ườ ị ợ phá t p l i ích cao FUI [52] trong môi tr ng song song, tính giá tr l i ích
ổ ợ ẽ ượ ở song song trên các SlaveSite và t ng l i ích s đ c tính MasterSite. C ụ
ượ ư ị ượ ự ể ữ ệ th , d li u đ c l u tr ữ ạ t i các v trí khác nhau đ ệ c th c hi n theo hai
ị ợ ạ ạ ầ giai đo n. Giai đo n đ u tính toán giá tr l ậ i ích cho các t p trên c s d ơ ở ữ
ự ụ ệ ệ ệ ộ ể ả li u c c b phân tán. Công vi c này do các SlaveSite th c hi n đ c i
ứ ự ệ ệ ầ ạ ờ ộ ớ ự thi n th i gian th c hi n và đáp ng yêu c u b nh . Giai đo n hai, th c
ệ ổ ợ ầ ử ở ủ ậ ằ hi n tính t ng l i ích c a các t p ph n t MasterSite, b ng cách tăng giá
ị ừ ậ ợ ế tr t các SlaveSite theo thu t toán khai phá l i ích phân tán. K t qu s ả ẽ
ượ ọ ậ ợ ể ị ợ ờ đ c l c, đ tìm ra t p l i ích cao nh so sánh giá tr l ầ ủ ậ i ích c a t p ph n
ưỡ ợ ố ể ậ ợ ử ớ t v i ng ng l i ích t i thi u. Thu t toán khai phá l i ích phân tán s s ẽ ử
ể ế ợ ậ ợ ị ụ d ng MasterSite đ k t h p, so sánh và xác đ nh các t p l i ích cao trong s ố
ả ự ệ ạ ấ ờ ế các SlaveSite trong m ng phân tán. K t qu th c nghi m cho th y th i gian
ơ ấ ầ ự ự ề ậ ớ th c thi nhanh h n r t nhi u so v i thu t toán FUI tu n t .
ố ộ ể ậ Đ tăng t c đ tính toán trong quá trình khai phá các thu t toán, các tác
ậ ố ư gi ả ườ th ng t p trung quan tâm t ậ ứ i u quá trình sinh t p ng viên. Tuy nhiên,
ự ệ ộ ớ ờ ớ ạ ở ộ ả do b nh và th i gian th c hi n có gi i h n, nên kh năng m r ng khi d ữ
ệ ớ ề ầ ứ ấ li u l n là v n đ c n nghiên c u. Năm 2016, Yan Chen ộ [14] và c ng s đ ự ề
ỉ ậ ợ ậ ấ ấ xu t thu t toán khai phá song song x p x t p l ự i ích cao (PHUIMiner) d a
ữ ư ủ ể ấ ể trên nh ng u đi m c a HUIMiner ẫ [38] và cách l y m u đ có th v a s ể ừ ử
ẽ ừ ử ụ ậ ồ ờ ụ d ng riêng r v a s d ng đ ng th i. Trong thu t toán PHUIMiner, không
ậ ợ ủ ế ượ gian tìm ki m c a quá trình khai phá t p l i ích cao đ c phân chia và gán
54
ụ ươ ấ ớ cho các nút trong c m. Ngoài ra, ph ẫ ng pháp l y m u v i kích th ướ ầ c c n
ế ả ự ụ ế ệ ằ ả ả thi t nh m m c đích đ m b o tính chính xác. K t qu th c nghi m cho
ộ ữ ệ ệ ấ ả th y PHUIMiner có hi u qu cao trên các b d li u khác nhau và v ượ t
ộ ơ ớ ậ tr i h n so v i thu t toán HUIMiner [38].
ở ộ ứ ữ ề ệ ầ Nh ng năm g n đây, nhi u nghiên c u quan tâm vi c m r ng khai
ậ ợ ố phá t p l ứ ậ i ích cao. Đa s các nghiên c u t p trung vào các bài toán trên d ữ
ệ ậ ượ ư ậ ộ li u t p trung, đ ể c l u trên m t máy tính. Các thu t toán này không th áp
ượ ườ ợ ữ ệ ớ ể ả ụ d ng đ c trong tr ng h p d li u l n và phân tán. Đ gi ế ấ i quy t v n đ ề
ộ ư ậ này, Ying Chun Lin và c ng s ự [36] đ a ra thu t toán khai phá song song
ưở ự ậ ợ t p l i ích cao theo mô hình tăng tr ề ả ng (PHUIGrowth), d a trên n n t ng
ộ ố ở ộ ề ả ớ Hadoop v i m t s tính năng kh năng m r ng cao, chi phí truy n thông
ử ụ ế ể ệ ậ ấ th p. Thu t toán có s d ng ki n trúc MapReduce đ phân chia nhi m v ụ
ệ ố ữ ệ ử ụ ệ ể ả ệ và s d ng h th ng t p phân tán Hadoop đ qu n lý d li u sao cho vi c
ậ ợ ệ ề ả ộ khai phá song song t p l i ích cao trên nhi u máy tính m t cách hi u qu .
ế ậ ươ 1.5. K t lu n ch ng
ươ ệ ậ ạ Trong ch ng 1, lu n án trình bày các khái ni m, phân lo i và phân
ượ ộ ố ủ ể ươ ậ ế ợ ư tích u nh c đi m c a m t s ph ậ ng pháp khai phá lu t k t h p, t p
ố ậ ợ ổ ế ậ ọ ể ổ ế ph bi n, t p ph bi n có tr ng s , t p l ủ ừ ữ ư i ích cao. T nh ng u đi m c a
ậ ề ậ ấ ậ thu t toán ậ VMUDG [22], lu n án đ xu t thu t toán song song khai phá t p
ổ ế ề ọ ố ph bi n có tr ng s theo chi u d c ọ [I].
ổ ế ạ ậ ằ ọ ỉ Bên c nh đó, cũng ch ra r ng bài toán khai phá t p ph bi n có tr ng s ố
ợ ự ễ ượ ứ và l i ích cao có ý nghĩa th c ti n và đang đ c quan tâm nghiên c u. Tuy
ậ ợ ậ ọ ố ộ ố ổ ế nhiên, khai phá t p ph bi n có tr ng s và t p l i ích cao có m t s thách
ấ ậ ổ ế ậ ợ ứ ứ ố ọ th c sau: Th nh t, t p ph bi n có tr ng s và t p l i ích cao không có
ề ử ụ ứ ấ ậ ố ưỡ tính ch t đóng. Th hai, đa s các thu t toán đ u s d ng ng ơ ng cao h n
55
ứ ầ ế ể ắ ỉ ứ ậ ứ ề m c c n thi t đ c t t a ng viên. Đi u này làm tăng t p ng viên, không
ế ờ gian tìm ki m và th i gian tính toán.
ứ ậ ậ ự ấ Do đó, lu n án t p trung nghiên c u, x ữ ệ ây d ng mô hình, c u trúc d li u
ơ ở ự ế ả ằ ậ ự nh m gi m không gian tìm ki m và d a trên c s đó xây d ng các thu t
ậ ợ ậ ố ọ ổ ế toán khai phá t p ph bi n có tr ng s và t p l i ích cao.
56
ƯƠ Ậ Ợ Ậ CH NG 2. THU T TOÁN KHAI PHÁ T P L I ÍCH CAO
Ự D A TRÊN MÔ HÌNH CW U
ươ ề ậ ấ ổ Trong ch ế ng 1, lu n án trình bày t ng quan các v n đ liên quan đ n
ổ ế ế ủ ư ể ậ ạ ậ ữ khai phá t p ph bi n, phân tích nh ng u đi m, h n ch c a các thu t
ổ ế ổ ế ậ ợ ậ ậ ố ọ toán khai phá t p ph bi n, t p ph bi n có tr ng s và t p l i ích cao.
ệ ậ ợ ậ ố ặ Đ c bi t, trong khai phá t p l i ích cao, đa s các thu t toán dùng mô hình
ể ắ ỉ ố ượ ứ ượ ợ TWU đ c t t a s l ng ng viên đ c sinh ra. Mô hình đánh giá l i ích
ị ớ ớ ợ ề ơ ự ế ủ ậ ậ ứ t p ng viên này cho giá tr l n h n nhi u so v i l i ích th c t c a t p do
ố ượ ậ ứ ế ậ v y làm tăng s l ng t p ng viên và tăng không gian tìm ki m và chi phí
tính toán.
ươ ề ậ Do đó, trong ch ấ ng 2 lu n án đ xu t mô hình CWU ( Candidate
ố ượ ứ ế ả Weighted Utility) làm gi m s l ờ ng ng viên, không gian tìm ki m và th i
ừ ề ậ ấ ậ gian tính toán. T mô hình CWU, lu n án đ xu t hai thu t toán khai phá
ử ụ ỉ ố ế ậ ậ ợ t p l i ích cao: thu t toán HP [II] s d ng ch s hình chi u và CTUPRO+
ử ụ ấ ở ộ [III] s d ng c u trúc cây ủ m r ng c a cây CFP [57] cho khai phá t p l ậ ợ i
ạ ậ ậ ấ ề ích cao. Bên c nh đó lu n án cũng đ xu t thu t toán song song PPB khai
ụ ợ ậ ế ợ ỉ ố ự ế ớ phá t p m c l i ích cao d a trên ch s hình chi u k t h p v i danh sách
ợ l i ích [V].
ớ ệ 2.1. Gi i thi u chung
ậ ợ ị ợ ế ậ Khai phá t p l i ích cao là quá trình tìm ki m các t p có giá tr l i ích
ộ ơ ưỡ ướ ầ ử ỗ ị ợ ộ ớ l n h n m t ng ng cho tr c, trong đó m i ph n t có m t giá tr l i ích
ượ ợ ị ợ ị đ ự c tính d a trên l i ích trong giao d ch và l ậ i ích ngoài giao d ch. Do v y
ể ấ ủ ừ ầ ử ậ ợ ộ có th th y tác đ ng c a t ng ph n t là khác nhau. Khai phá t p l i ích
ượ ứ ự ừ ụ ề ẻ ị ụ cao đ c ng d ng trong nhi u lĩnh v c, t bán l ụ , d ch v Web, giáo d c,
57
ế ả ả ượ ự ệ ủ ầ ử y t ,…do nó ph n nh đ c s khác bi t c a các ph n t ứ trong các ng
ự ế ậ ợ ấ ụ d ng th c t . Tuy nhiên, t p l i ích cao không có tính ch t đóng nên quá
ậ ứ ậ ợ ờ trình sinh t p ng viên trong khai phá t p l ầ i ích cao yêu c u th i gian và
ớ ấ ớ ộ không gian b nh r t l n.
ậ ợ ứ ề ầ G n đây, các nhà nghiên c u v khai phá t p l ậ i ích cao t p trung vào
ươ ố ượ ả ứ ư ằ các ph ng pháp làm gi m s l ng ng viên b ng cách đ a ra các mô
ưỡ ậ ợ ả ờ hình, ng ng c n trên, danh sách l i ích,…do đó gi m th i gian sinh và
ư ứ ề ể ế ầ ộ ớ ầ ki m tra các ng viên cũng nh yêu c u v không gian b nh . H u h t các
ậ ợ ậ ư thu t toán khai phá t p l i ích cao nh : UPGrowth [62], Udepth [55], Two
ề ử ụ Phase [39], PB [15], CTUPRO [23],… đ u s d ng mô hình TWU
ể ỉ ậ ứ ả (Transactions Weighted Utility) đ t a t p ng viên, gi m không gian tìm
ki m. ế
ươ ớ ự ậ ậ Trong ch ng này lu n án trình bày các thu t toán m i d a trên các mô
ữ ệ ấ ượ ề ậ ợ ấ ợ hình, c u trúc d li u đ ơ c đ xu t phù h p h n trong khai phá t p l i ích
ụ ể ư cao. C th nh sau:
ề ấ Đ xu t mô hình CWU (Candidate Weighted Utility) [II], đ ượ c
trình bày trong 2.1.
ậ ợ ề ậ ấ Đ xu t thu t toán HP khai phá t p l ự i ích cao d a trên ch s ỉ ố
ế ầ hình chi u và mô hình CWU [II], trình bày trong ph n 2.2.
ậ ợ ề ấ ậ Đ xu t thu t toán song song PPB [V], khai phá t p l i ích cao
ỉ ố ế ợ ượ ự d a trên ch s hình chi u và danh sách l i ích đ c trình bày
trong 2.3.
ự ề ấ ậ ậ Đ xu t thu t toán CTUPRO+ [III], d a trên thu t toán CTU
ử ụ ượ PRO s d ng mô hình CWU đ c trình bày trong 2.4.
58
ậ ợ ệ 2.2. ả Mô hình hi u qu khai phá t p l i ích cao
ặ ấ ề 2.2.1. Đ t v n đ
ậ ợ ậ ố ử ụ Đa s các thu t toán khai phá t p l i ích cao s d ng mô hình TWU
ơ ở ể ắ ỉ ầ ử ớ ộ ậ ứ làm c s đ c t t a các t p ng viên. V i m t ph n t ầ ộ ậ a và m t t p ph n
ử ầ ử ậ ề ố t {X}, ta nói t p ph n t {aX} có ti n t là a. Khi đó, TWU({aX}) = là
ủ ươ ự ủ ậ ậ c n trên c a AU({aX}). T ng t , TWU({X}) là c n trên c a AU({X}).
(cid:0) ẽ ớ ứ ặ ằ ố ơ ị ấ Ta th y {X} {aX} nên s giao d ch ch a {X} s l n h n ho c b ng s ố
ứ ậ ị ẽ ớ ặ ơ giao d ch ch a {aX}. Do v y, TWU({X}) s ằ l n h n ho c b ng
TWU({aX}).
ậ ợ ậ Trong các thu t toán khai phá t p l i ích cao Udepth [55], [15],... t p l ậ ợ i
ượ ề ả ử ấ ả ích cao đ c khai phá theo chi u sâu. Gi s , {aX} là t ề ậ t c các t p có ti n
ầ ử ấ ả ề ố ầ ử ố t là ph n t a, {bX} là t ậ t c các t p có ti n t là ph n t b. Gi ả ử ≺ b, s a
ầ ử ứ ẽ ậ khi khai phá các t p trong {bX} s không còn ch a ph n t a, trong khi đó
ể ẫ ị ợ ồ ầ ử ề tính TWU({bX}) có th v n g m giá tr l ủ i ích c a ph n t a. Đi u này làm
ứ ầ ủ ậ ớ ơ ế cho TWU({bX}) là c n trên c a AU({bX}) l n h n m c c n thi t và khi
ể ỉ ệ ẽ ả ậ ứ dùng TWU({bX}) đ t a các t p ng viên s không hi u qu .
ừ ữ ở ề ấ ậ T nh ng phân tích trên, lu n án đ xu t mô hình CWU ( Candidate
ử ụ ậ ợ ậ Weighted Utility) và s d ng trong thu t toán HP khai phá t p l i ích cao
ố ượ ả ậ ứ cho phép gi m s l ng t p ng viên [II].
ề ấ 2.2.2. Đ xu t mô hình CWU
ậ ợ ể ả ộ ơ ở ữ ệ ệ Đ thu n l i trong gi i thích các khái ni m, m t c s d li u giao
ượ ễ ể ướ ạ ủ ợ ả ư B ng 2.1 ị d ch đ c bi u di n d ả i d ng b ng nh . L i ích ngoài c a các
ầ ử ượ ả B ng 2.2 ph n t đ c cho trong .
59
ị ề ố ủ ầ ử ậ ậ [II] T p ti n t ộ c a m t ph n t It là t p các ph n t ầ ử Đ nh nghĩa 2.1.
ứ ậ ướ ầ ử trong t p I mà đ ng tr c ph n t It: SetPrefix(It) = {j I | j It}.
ị ề ố ủ ầ ử ứ ự [II] Ti n t ộ ậ c a m t t p ph n t có th t ậ Y là t p Đ nh nghĩa 2.2.
1 c a t p Y, kí hi u là
ầ ử ứ ướ ầ ử ầ ủ ậ ệ các ph n t trong I đ ng tr c ph n t đ u tiên y
SetPrefix(Y) và
(2.1) SetPrefix(Y) = {j I | j y1}
ơ ở ữ ệ ả ọ ị B ng 2.. C s d li u giao d ch minh h a
Giao d chị
A B 0 1 1 0 0 0 1 0 0 2 0 0 0 0 2 3 0 2 0 0 ợ ủ Ti d C D E F 1 1 1 2 1 2 0 0 25 0 3 2 0 0 1 4 0 0 12 0 5 2 0 8 0 6 0 1 4 1 7 0 1 2 0 8 2 0 0 3 0 1 9 0 0 0 2 0 4 10 ầ ử ả B ng 2.. L i ích c a các ph n t
Item ợ L i ích A B C D E F 2 3 10 1 6 5
ị ứ ợ ố Đ nh nghĩa 2.3. ọ [II] L i ích ng viên có tr ng s (CWU – Candidate
ủ ậ ầ ử ệ ượ ị Weighted Utility) c a t p ph n t Y, ký hi u là CWU(Y) đ c xác đ nh
ư nh sau:
ặ Đ t X = SetPrefix(Y), thì
60
(cid:0) ế N u X = thì .
ị ưỡ ố ể ợ ng t i thi u l i ích Đ nh nghĩa 2.4. [II] Khi CWU(Y) α v i ớ α là ng
ứ ướ ậ ọ ợ ứ ọ ố ng viên cho tr c, ta g i Y là t p l i ích ng viên có tr ng s cao
ượ ọ (HCWU High Candidate Weighted Utility). Ng ượ ạ c l i, Y đ ậ c g i là t p
ứ ấ ọ ố ợ l i ích ng viên có tr ng s th p (LCWU – Low Candidate Weighted
Utility).
k1
ấ ầ ử ậ ứ ự [II] Cho 3 t p ph n t có th t I, Y ỏ k1,Yk th a mãn Y Tính ch t 2.1.
k1 = {y1, y2,…, yk1 | yi yi+1 v iớ
(cid:0) ề ố ủ c a Y I, Yk (cid:0) I và Yk1 là ti n t ụ ể k. C th : Y
k = {y1, y2,…, yk1, yk | yi yi+1 v i i=1..k1} thì
ề ố ủ ậ ớ i=1..k2} là ti n t c a t p Y
SetPrefix(Yk1) = SetPrefix(Yk).
ứ Ch ng minh:
ị Theo đ nh nghĩa 2.1 ta có:
SetPrefix(Yk1) ={i I | i y1 } (*)
SetPrefix(Yk) ={i I | i y1 } (**)
k) = SetPrefix(Yk1)
ừ T (*) và (**) suy ra SetPrefix(Y
k là t p kph n t
k1
ị ầ ử ậ ứ ự ầ ử ậ [II] Xét 2 t p ph n t có th t , Y , Y Đ nh lý 2.1.
k. N u Yế
k (cid:0)
ầ ử ậ ề ố ủ là t p (k1)ph n t và là ti n t c a Y HCWUs thì Yk1 (cid:0)
ứ HCWUs. Ch ng minh:
ứ ậ ọ ị ậ ị G i TSet1 là t p các giao d ch ch a Y ứ k, TSet2 là t p các giao d ch ch a
k nên TSet1 (cid:0)
ề ố ủ ậ ấ c a Y TSet2, theo Tính ch t 2.1 ta Yk1. Vì Yk1 là t p ti n t
k1) = SetPrefix(Yk) và theo Đ nh nghĩa 2.3
ậ ị có t p X = SetPrefix(Y ta có:
61
k (cid:0)
ư ậ ế Nh v y, n u Y HCWUs. HCWUs thì Yk1 (cid:0)
ầ ử ủ ấ ậ Đây là tính ch t đóng c a các t p ph n t theo mô hình CWU. Nghĩa là,
ế n u CWU( Yk1) < thì CWU(Yk) < ■
α ị ả ử ậ ồ . [II] Gi s HCWUs g m các t p Y có CWU(Y) , HUs Đ nh lý 2.2
α α ậ ưỡ ợ ố ể ồ g m các t p Y có AU(Y) ớ v i là ng ng l i ích t i thi u cho tr ướ c.
Khi đó HUs (cid:0) HCWUs.
ứ Ch ng minh:
ặ Đ t X = SetPrefix(Y),
ị Xét giao d ch b t k T ấ ỳ j, đ t Zặ j =Tj\XY. Khi đó,
ợ Xét l ủ ậ i ích c a t p Y:
ư ậ ớ ọ ậ Nh v y, v i m i t p Y thì AU(Y) .
Do đó, HUs (cid:0) HCWUs (đpcm).
ố ứ ứ ề ệ ơ M nh đ sau minh ch ng mô hình CWU có s ng viên ít h n mô hình
ề ệ ậ ư TWU, lu n án đ a ra m nh đ sau.
ề ệ ậ ấ ỳ . [II] Cho t p b t k Y, ta luôn có CWU(Y) ≤ TWU(Y). M nh đ 2.1
ứ Ch ng minh:
62
ọ G i X = SetPrefix(Y). Khi đó,
ề ệ ậ ồ . [II] Cho HCWUs g m các t p Y có CWU(Y) vàα M nh đ 2.2
α α ồ ưỡ ợ ậ HTWUs g m các t p Y có TWU(Y) ớ , v i là các ng ng l i ích t ố i
(cid:0) ể ướ thi u cho tr c, thì HCWUs HTWUs.
ứ Ch ng minh:
ậ ấ ỳ ế N u X là t p b t k thu c ộ HCWUs thì CWU (X) .α
α ề ệ Theo M nh đ 2.1 , ta có TWU(X) CWU(X) ộ , do đó X thu c HTWUs.
(cid:0) ậ V y, HCWUs HTWUs.
ậ ợ ậ ỉ ố ự 2.3. Thu t toán HP khai phá t p l ế i ích cao d a trên ch s hình chi u
và mô hình CWU
ầ ậ ậ ượ ả Trong ph n này, lu n án trình bày thu t toán HP đ c c i ti n t ế ừ
ậ ế ợ ử ụ thu t toán PB [15] s d ng k t h p hai mô hình TWU và CWU.
ậ ứ ể ư ự ậ ạ ả ờ ữ Thu t toán PB d a trên b ng t p ng viên t m th i (TC) đ l u tr và
ị ị xác đ nh nhanh các giá tr TWU và AU trong quá trình khai phá. Có m t s ộ ố
ướ ể ả ế ư ậ b c trong thu t toán PB có th c i ti n nh sau:
ầ ử ự ả ậ ồ ậ Khi xây d ng b ng TC cho t p g m 1 ph n t ả , thu t toán đã ph i
ệ ữ ệ ấ ể ứ ầ ầ ố ị tiêu t n hai l n duy t d li u. L n th nh t đ tính TU cho các giao d ch,
ầ ử ừ ứ ể ầ l n th hai đ tính TWU và AU cho t ng ph n t .
’ đ
j
ậ ứ ặ ượ ự ế ị M t khác, t p ng viên X c sinh tr c ti p trên các giao d ch T
ứ ằ ớ ề ố ứ ậ ch a X, b ng cách ghép X v i ph n t I đ ng sau t p ti n t X trong ầ ử p (cid:0) i
63
ư ậ ỉ ố ự ả ậ ị giao d ch T ả j d a trên b ng ch s (IT). Khi đó, . Nh v y, thu t toán ph i
j.
ạ ủ ậ ị ị tính l i giá tr U c a t p X trong các giao d ch T
ộ ồ ạ ữ ậ ượ M t t n t i n a trong thu t toán PB là sau khi tính đ ủ c TWU c a
ầ ử ầ ử ỏ ơ ưỡ ừ t ng ph n t ạ ỏ đã không lo i b các ph n t có TWU nh h n ng ng t ố i
ể ướ ủ ự ề ấ thi u cho tr ờ c d a vào tính ch t đóng c a TWU. Đi u này làm tăng th i
ấ ả ợ ủ ậ ề ố ớ ầ ử ể ể gian ki m tra t t c h p c a t p ti n t v i ph n t ậ ứ đó đ sinh ra t p ng
viên.
ậ Trong thu t toán PB, các ph n t ầ ử ượ ử đ c x lý theo th t ứ ự ừ ể t đi n và
ế ợ ậ ậ ứ ề ố ớ ầ ử ằ sinh các t p ng viên b ng cách k t h p t p ti n t v i ph n t phía sau
ầ ử ị ệ ấ ầ ườ trong các giao d ch. Khi các ph n t ấ có t n su t xu t hi n cao (th ng là
ầ ử ượ ử ậ các ph n t ặ có TWU ho c AU cao) đ ả c x lý sau, kh năng t p ti n t ề ố
ượ ế ợ ầ ử ứ ề đ ớ c k t h p v i các ph n t đ ng sau càng cao. Đi u này làm tăng s ố
ượ ứ l ng ng viên.
ồ ạ ữ ể ắ ủ ư ậ ậ ụ Đ kh c ph c nh ng t n t i trên c a thu t toán PB, lu n án đ a ra
ế ợ ả ử ụ ể ậ ả thu t toán HP s d ng k t h p c hai mô hình: TWU và CWU đ làm gi m
ộ ố ấ ử ụ ậ ứ ậ ố ượ s l ng t p ng viên. Trong thu t toán HP s d ng m t s c u trúc sau:
k g m 3 tr
ứ ả ồ ườ ườ ậ B ng ng viên TC ng: tr ứ ng itemsets ch a các t p k
ầ ử ườ ứ ợ ứ ố ọ ườ ph n t , tr ng CWU ch a l i ích ng viên có tr ng s và tr ng AU
1
ứ ợ ự ế ủ ậ ứ ả ch a l i ích th c t ị c a t p ng viên. Các giá tr CWU, AU trong b ng TC
ầ ử ượ ệ ơ ở ữ ệ ầ ậ ồ g m các t p 1ph n t đ c tính toán trong 1 l n duy t c s d li u. Khi
ượ ỗ ầ ư ấ ả ậ ợ đó CWU đ c tính nh TWU. Sau m i l n tìm t t c các t p l i ích cao
ộ ề ố ừ ả ớ v i m t ti n t X, giá tr v i ị ớ X = SetPrefix(Y). T b ng TC ể k có th xác
ậ ợ ạ ỏ ả ậ ị đ nh ngay t p l i ích cao và lo i b các t p không có kh năng sinh ra các
ợ ủ ự ả ụ ừ B ng 2.1. ậ t p có l ấ i ích cao d a vào tính ch t đóng c a CWU. Ví d , t
64
ọ ị ả ầ ử ủ ợ B ng 2.2. CSDL giao d ch minh h a và L i ích c a các ph n t , ta xây
ượ ả ứ ầ ử ả B ng 2.3. ự d ng đ c b ng ng viên 1ph n t trong
ả ả ớ ậ ầ ử B ng TC ồ 1 v i t p g m 1 ph n t B ng 2..
A B C D E F
Itemset s
CWU 99 102 133 50 113 87 12 AU 24 40 24 45 57
X c a t p X g m các giao d ch T
j ch a t p X, v trí p
ỉ ố ả ủ ậ ồ ị ứ ậ ị B ng ch s IT
j và U(X,Tj).
ầ ử ủ ậ ệ ố ị ủ c a ph n t ấ cu i cùng c a t p X xu t hi n trong giao d ch T
A c a t p {A} trong
ụ ả ỉ ố ủ ậ ả ứ ự ắ ớ B ng 2.4 Ví d , b ng ch s IT . V i th t ế s p x p
ị ừ ả ứ ể ậ ị trong giao d ch, t b ng IT ầ A có th xác đ nh nhanh t p các ng viên 2ph n
ế ợ ầ ử ứ ừ ớ ị ử ằ t b ng cách k t h p A v i các ph n t đ ng sau A trong t ng giao d ch.
ụ ớ ẽ ị ị ượ ậ ứ Ví d , v i giao d ch 5 và sau v trí 1 s sinh đ c t p các ng viên {AC},
ẽ ị ị ượ ậ ứ {AE}. Trong giao d ch 8, sau v trí 1 s sinh đ c t p các ng viên {AB},
8) = U({A}, T8) +
ừ ả ể {AE}, {AF}. T B ng 2.4, có th tính nhanh U({AB},T
8) = 9 đã đ
ị ượ c tính trong U({B}, T8) = 9 + 10*2 = 29, trong đó giá tr U(A, T
A.
ự ả quá trình xây d ng b ng IT
ủ ậ ả ả B ng 2.. B ng ch s IT ỉ ố A c a t p {A}
ị
A c a ph n t
ả U({A},Tj) 3 6 9 6 ầ ử ủ Tid 1 5 8 9 ả B ng 2. ố V trí cu i 1 1 1 1 . B ng UT A
Tid 1 5 8 9 U(A, Tj) 3 6 9 6
65
i ch a giá tr l
ả ị ợ ị ợ ứ ầ ử B ng giao d ch l i ích UT ủ i ích c a ph n t i trong các giao
j ch a i và U(i, T
j). Sau khi tìm t t c t p l
ồ ị ứ ấ ả ậ ợ ị d ch g m giao d ch T ớ ề i ích cao v i ti n
i s tính đ
ầ ử ự ả ẽ ượ ầ ử ớ ố t là ph n t i, d a vào b ng UT c CWU(Y) v i ph n t i =
A c a ph n t
ụ ả ầ ử ủ ả B ng 2.5. SetPrefix(Y). Ví d , b ng UT A trong và A =
SetPrefix(B), CWU(B) = TU(T2) + TU(T4)+ TU(T8) – U(A, T8) = 35 + 22 + 45 –
2) + TU(T4)+ TU(T8) = 35 + 22 + 45 = 102.
ư (3*3) = 93. Nh ng TWU(B) = TU(T
ả ậ 2.3.1. Mô t thu t toán HP
ậ ậ Thu t toán 2.1. Thu t toán HP [II]
Input:
ơ ở ữ ệ ị D: c s d li u giao d ch,
ợ ầ ử ả B ng l ỗ i ích m i ph n t
ưỡ ợ , ố minutil: ng ng l i ích t ể i thi u.
Output:
ấ ả ậ ợ T t c các t p l i ích cao HUs
D { For each Tj(cid:0)
TU(Tj) =0; For each i (cid:0) Tj{
1(Itemsets, CWU,
ầ ử ự ả ộ Tính TU(Tj) = TU(Tj) + U(i, Tj); ứ //Xây d ng b ng ng viên m t ph n t TC
AU);
If (i ∉ TC1)
1; }
ả { Chèn (i, TU(Tj), U(i, Tj)) vào b ng TC
If (i (cid:0) TC1){
1;
ả
CWU(i) = CWU(i) + TU(Tj) trong b ng TC AU(i) = AU(i) + U(i, Tj);
}
}
For each i (cid:0) TC1 {
66
1 theo th t
ứ ự ả ầ If (CWU(i) (cid:0) ư minutil) ậ { Đ a i vào t p HCWU gi m d n theo AU;}
If (AU(i) (cid:0)
minutil) ậ ư { Đ a i vào t p HUs;}
1 là r ng thì thoát
ế ỗ } //N u HCWUs
ế ạ ắ ầ ử ầ ử có CWU < i các ph n t trong minutil và s p x p l
If (Empty(HCWUs1)) Exit(1); ạ //Lo i các ph n t giao For each Tj (cid:0) D {
For each i (cid:0) Tj{
If (CWU(ij) < minutil) { Lo i iạ j kh iỏ Tj; TU(Tj) = TU(Tj) – U(ij, Tj);
ắ ả ầ Tj gi m d n theo AU;
1;
ậ ả } ế j (cid:0) S p x p i ậ ạ C p nh t l i CWU cho b ng TC
} For each i (cid:0) HCWUs1 {
ữ ệ For each Tj(cid:0)
j
ắ ế Ds { //D li u đã s p x p ầ ử i trong T
ượ ắ ế đã đ c s p x p
ị vt = 0; //V trí ph n t For each h (cid:0) Tj{//Ph n t ầ ử If (h = i) {
i
ự ả //Xây d ng b ng UT
i;
ả
i;
ự ả Chèn (Tj, U(h, Tj)) vào b ng UT //Xây d ng b ng IT
i;
ả Chèn (Tj, vt, U(h, Tj) vào b ng IT
Break;
}
vt = vt + 1;
67
}
}
ặ ố ượ ầ ử ầ ử //k là s l ng ph n t ậ trong t p ph n t
ấ ả ậ ợ ề t c t p l i ích cao theo chi u sâu Đ t k = 1; SearchHU({i}, k, ITi); //Tìm t
ớ ề ố v i ti n t i
ấ ề ố ậ ạ //Sau khi tìm t t các t p HUs có i là ti n t thì tính l i các giá tr ị
TU
For each (j, U) (cid:0) UTi
TU(Tj) = TU(Tj) – U(i, Tj);
}
Return HUs;
ự //Xây d ng hàm SearchHU
Hàm SearchHU(X, k, IT{x})
ề ố ậ ầ ử ả ố ; k – s ph n t ậ trong t p; IT ỉ ố ủ X – b ng ch s c a
Input: X – t p ti n t ậ t p X.
ậ ợ i ích cao. Output: danh sách các t p có l
k+1 v i X là ti n t
X
ự ả ề ố ự ả ớ //Xây d ng b ng TC d a trên b ng IT
TCk+1={}; For each (j, p) (cid:0) ITX{
ủ ậ Tj { ầ ử ố cu i cùng c a t p X
HCWUsk){
For each ip+1 (cid:0) //p là ph n t If (ip+1 (cid:0) X’ = X (cid:0) ip+1; If (X’ ∉ TCk+1)
k+1;
ả Chèn (X’, TU(Tj), U(X, Tj) + U(ip+1,Tj)) vào b ng TC
If (X’ (cid:0) TCk+1){
CWU(X’) = CWU(X’) + TU(Tj); AU(X’) = AU(X’) + U(X, Tj) + U(ip+1, Tj);
}
68
If (k = 1)
CWU(ip+1) = CWU(ip+1) – U(ip, Tj);
}//End If
}//End For
}//End For For each X’ (cid:0) TCk+1 {
If (CWU(X’) ≥ minutil)
k+1;
ậ Chèn X’ vào t p HCWUs
If (AU(X’) (cid:0)
minutil) ậ Chèn X’ vào t p HUs;
} For each X’ (cid:0)
{X’} t
HCWUsk+1 { ự Xây d ng IT ITừ X;
ậ ợ ề ớ i ích cao theo chi u sâu v i
ề ố ti n t k = k +1; SearchHU ({X’}, k, ITX’); //tìm t p l ậ là t p {X’}
}
Return HUs;
ụ ọ ậ 2.3.2. Ví d minh h a thu t toán HP
ầ ọ ướ ủ ậ ẽ Trong ph n này s minh h a các b c c a thu t toán thông qua c s ơ ở
ị ả ợ ươ ứ ả B ng 2.1 B ng 2.2 ữ ệ d li u giao d ch trong ả và b ng l i ích t ng ng trong
ưỡ ợ ố ể ớ v i ng ng l i ích t i thi u minutil = 56.
j (cid:0)
ướ B c 1, ệ ừ duy t t ng T D:
ươ ứ ớ ng ng v i 1.1. Tính TU(Tj) ={18, 35, 12, 22, 24, 12, 8, 45, 12, 14} t
ủ ị ừ TU c a các giao d ch t ế 1 đ n 10.
1 g m: CWU, AU c a t ng ph n t
ả ủ ừ ầ ử ồ ự 1.2. Xây d ng b ng TC ả . Ta có b ng
ả ả ư B ng 2.6. ế TC1 có k t qu nh
ả ả ớ ậ ầ ử B ng 2.. B ng TC ồ 1 v i t p g m 1 ph n t
69
A B C D E F
Itemset s
CWU 99 102 133 50 113 87 12 AU 24 40 24 45 57
ướ ầ ử ệ ả B c 2, B ng 2.6 duy t các ph n t i trong .
1. Ta đ
ầ ử ế ư ậ 2.1. N u ph n t có CWU(i) ≥ 56 thì đ a vào t p HCWU c,ượ
1 sau khi s p x p gi m d n theo AU g m: {C, E, B, A, F}.
ế ắ ả ầ ồ ậ t p HCWU
ư ế ậ ượ ậ 2.2. N u AU(i) ≥ 56 thì đ a vào t p HUs. Ta đ c t p HUs ={C:57}.
j:
ướ ệ ạ ừ B c 3, duy t l i t ng T
ế 3.1. N u CWU(i) < minutil thì:
j, ta th y có CWU(D) = 50 < 56 nên lo i D
ạ ị ấ ạ ỏ 3.1.1. Lo i i kh i giao d ch T
ỏ ị kh i các giao d ch 1, 6, 7, 9.
ậ ạ ị ạ ủ ị ậ 3.1.2. C p nh t l ỏ i TU c a các giao d ch 1, 6, 7, 9 vì D đã b lo i kh i
ậ ị ượ các giao d ch trên. V y ta đ c TU ={12, 35, 12, 22, 24, 6, 2, 45, 6, 14}
ớ ị ừ ươ ứ t ng ng v i các giao d ch t ế 1 đ n 10.
ế ạ ắ ỏ ị ả ị 3.2. Sau khi lo i D kh i các giao d ch và s p x p các giao d ch gi m
ượ ế ả ả ư B ng 2.7 ầ d n theo AU đ c k t qu nh .
ơ ở ữ ệ ắ ế ả ạ ị B ng 2.. C s d li u giao d ch sau khi s p x p và lo i D
Tid C 2 1 25 2 0 3 12 4 8 5 4 6 2 7 0 8 0 9 4 10 E B A F TU 12 1 1 35 0 0 12 0 2 22 0 0 24 2 2 6 0 0 2 0 0 45 3 2 6 2 0 14 0 2 1 0 1 0 0 1 0 3 0 0 0 1 0 1 0 0 0 2 0 0
70
1 sau khi lo i D, đ
ậ ạ ậ ả ạ ượ ế 3.3. C p nh t l i CWU cho b ng TC c k t qu nh ả ư
ả B ng 2.8.
ả ả ậ ạ B ng 2.. B ng TC i CWU ậ 1 sau khi c p nh t l
A B C D E F
Itemset s
CWU 87 102 115 50 107 75 12 AU 40 24 45 57
ớ ỗ c 4 B ướ , v i m i ph n t 24 ầ ử (cid:0) i HCWU1:
ự ế ệ ả ử ớ ầ ử 4.1. N u CWU(i) > minutil thì th c hi n: (gi s v i ph n t C có
CWU(C) = 115 > minutil).
ả ự 4.1.1. Xây d ng b ng UT ; ả C nh ư B ng 2.9.
C c a ph n t
ả ả ầ ử ủ B ng 2.. B ng UT C
U(C, Tj)
Tid 1 2 4 5 6 7 10 1*2 = 2 1*25 = 25 1*12 = 12 1*8 = 8 1*4 = 4 1*2 = 2 1*4 = 4
ả ự 4.1.2. Xây d ng b ng IT ; ả C nh ư B ng 2.10
ầ ử ả ả B ng 2.. B ng ch s IT C ủ ỉ ố C c a ph n t
ố ị Tid V trí cu i 1 2 4 5 6 7 10 1 1 1 1 1 1 1 U(C, Tj) 1*2 = 2 1*25 = 25 1*12 = 12 1*8 = 8 1*4 = 4 1*2 = 2 1*4 = 4
71
ặ 4.1.3. Đ t k =1;
ớ ề ố ằ 4.1.4. Tìm t ấ ả ậ ợ t c t p l ề i ích cao theo chi u sâu v i ti n t C b ng cách
ọ g i hàm SearchHU({C}, k, IT{C}).
(cid:0) ướ ệ ừ ộ B c 5, duy t t ng b (j, U) UTi.
j) = TU(Tj) – U(i, Tj). Gi
C thì giá tr TUị
ậ ậ ả ử ớ 5.1. C p nh t TU(T s v i UT
ẽ ả ị ươ ứ ủ c a các giao d ch 1, 2, 4, 5, 6, 7, 10 s gi m đi t ng ng là {2, 25, 12, 8, 4,
ầ ượ ủ ừ ế ả ị ừ ế 2, 4}. K t qu TU l n l t c a t ng giao d ch t 1 đ n 10 là {10, 10, 12, 10,
16, 2, 0, 45, 6, 10}.
ậ ợ ể ị B c 6ướ , hi n th danh sách t p l i ích cao trong HUs.
Hàm SearchHU({C}, k, ITC)
2 v i C là ti n t
ự ả ề ố ự ả ớ //Xây d ng b ng TC d a trên b ng IT C
ướ B c 1, TC2 = {};
C th c hi n. Gi
ướ ỗ ộ ớ ự ệ ả ử ớ ộ B c 2, V i m i b (j, p) trong IT s v i b (1, 1) –
ị ị trong giao d ch 1 và v trí 1.
j th cự
ứ ớ ỗ ị 2.1. V i m i ph n t i ị ầ ử p+1 đ ng sau v trí p trong giao d ch T
ệ ả ử ớ ầ ử hi n. Gi s v i ph n t E.
(cid:0) 2.1.1. Ta có, E (cid:0) E; ạ ậ HCWU1 nên t o t p {CE} = C
1)=12; U({C}, T1) + U(E,
ư 2.1.2. Ta có, {CE} (cid:0) TC2 nên đ a: {CE}; TU(T
T1) = 2 + 5*1 =7 vào TC2(Itemsets, CWU, AU).
ướ ầ ử ớ ị ị ặ ạ B c 2.1 L p l i , v i hai ph n t A, F sau v trí 1 trong giao d ch 1
2 = ({CE}, {CA}, {CF}) và B ng TC
ượ ả đ c HCWU . ả 2 nh ư B ng 2.11
72
2 v i ti n t
ả ả ớ ề ố ị B ng 2.. B ng TC C trong giao d ch 1
Itemsets CE CA CF CWU 12 12 12 AU 7 5 4
ướ ớ ộ ị ị ặ ạ B c 2 L p l i ầ , v i b (2, 1) – trong giao d ch 2, sau v trí 1 có ph n
(cid:0) B ử (cid:0) t B. ạ ậ HCWU1 nên t o t p {CB} = {C}
2) = 35; U({C}, T2) + U(B,
(cid:0) ấ ư Ta th y, {CB} TC2 nên đ a: {CB}; TU(T
ế ả ư B ngả T2) = 25 + 10 * 1 = 35 vào TC2(Itemsets, CWU, AU). K t qu nh
2.12.
2 v i ti n t
ả ả ớ ề ố ị B ng 2.. B ng TC C trong giao d ch 1 và 2
Itemsets CWU
CE CA CF CB 12 12 12 35 AU 7 5 4 35
ớ ộ ị ị ặ ạ B c 2 L p l i ướ , v i b (4, 1) trong giao d ch 4, sau v trí 1 có ph n t ầ ử
(cid:0) B (cid:0) B. ạ ậ HCWU1 nên t o t p {CB} = {C}
ỉ ậ ủ ậ ị 2.1.3. Vì {CB} (cid:0) TC2 nên ch c p nh t giá tr CWU và AU c a {CB}
ả trong B ng 2.12 ư nh sau:
CWU({CB}) = CWU({CB}) + TU(T4) = 35 + 22 = 57;
AU({CB}) = AU({CB}) + U({C}, T4) + U(B, T4) = 35 + 12 + 10 = 57.
ươ ướ ớ ộ ự ặ ạ B c 2 T ng t , l p l i v i các b (5, 1), (6, 1), (7, 1), (10, 1) ta
2 v i ti n t
ượ ế ớ ề ố ế ả ả ư B ng 2.13 đ ả ả c k t qu b ng TC C k t qu nh .
2 v i ti n t
ả ả ớ ề ố B ng 2.. B ng TC C trong CSDL
CWU AU
Itemset s
73
CE CA CF CB 50 36 18 57 39 19 10 57
p+1) = CWU(ip+1) – U(ip, Tj). Ví d , phía sau
ế ụ 2.1.4. N u k = 1 thì CWU(i
ầ ử ầ ử ị ủ ph n t C trong giao d ch 1 có các ph n t E, A, F và CWU c a các ph n t ầ ử
ề ả ậ ị này đ u gi m đi U({C},T ệ ộ 1) = 2. V y sau khi duy t b (1, 1) thì giá tr CWU
ủ ươ ự ệ ộ ươ ứ t ng ng c a E, A, F là 105, 85, 73. T ng t , sau khi duy t các b : (2, 1),
1 có k t quế
ả ị (4, 1), (5, 1), (6, 1), (7, 1), (10, 1) thì giá tr CWU trong b ng TC ả
ả nh ư B ng 2.14 .
ả ả ậ ạ B ng 2.. B ng TC i CWU ậ 1 sau khi c p nh t l
A B C D E F
Itemset s
CWU 77 24 AU 65 40 115 50 93 69 12 24 45 57
(cid:0) ướ ệ ừ ậ B c 3, duy t t ng t p X’ TC2.
2 = ({CB}).
ỉ 3.1. Ch có CWU({CB}) = 57 > 56 nên HCWU
ỉ 3.2. Ch có AU({CB}) = 57 > 56 nên HUs = {C:57, CB:57}.
(cid:0) ướ ớ B c 4, ỗ v i m i X’ HCWU2
{CB} t
C đ
ả ừ ả ượ ế ả ả ư B ng 2.15 ự 4.1. Xây d ng b ng IT b ng IT c k t qu nh .
ủ ậ ả ả B ng 2.. B ng ch s IT ỉ ố {CB} c a t p {CB}
ố
ị Tid V trí cu i 2 4 2 2 U({CB},Tj) 35 22
4.2. k = k + 1; //k = 1 +1 = 2
ể ọ 4.3. G i hàm ấ ả ậ ợ t c t p l i ích cao SearchHU({CB}, k, IT{CB}) đ tìm t
ớ ề ố v i ti n t {CB}.
74
ậ ợ ể ồ ọ Khi g i hàm i ích cao g m 3 SearchHU({CB}, k, IT{CB}) đ tìm t p l
ầ ử ằ ệ ả ộ ph n t b ng cách duy t 2 b (2, 2) và (4, 2) trong b ng IT ể {CB} đ sinh
ứ ầ ử ư ị ị ị ồ ng viên g m 3 ph n t ố . Nh ng v trí 2 trong giao d ch 2 và 4 là v trí cu i
ậ ứ ầ ử ồ ượ nên không có t p ng viên g m 3 ph n t nào đ ậ c sinh ra. V y, sau khi
ậ ợ ớ ề ố ượ ế ế tìm ki m t p l i ích cao v i ti n t C đ c HUs = {C, CB}. Và k t thúc
hàm SearchHU({C}, 1, IT{C}).
ặ ạ ướ ươ ậ ợ ể L p l i b c 4 trong ch ng trình chính đ tìm t p l ớ i ích cao v i
1 b ng cách g i hàm
ề ố ầ ử ằ ọ ti n t là các ph n t E, B, A, F trong HCWU Search
ư ầ ử ở ố C trên. HU gi ng nh ph n t
ế ớ ưỡ ợ ố ể K t thúc quá trình khai phá v i ng ng l i ích t i thi u minutil = 56
ta thu đ ượ ậ ợ c t p l i ích cao HUs= {C:57, CB:57}.
ả ướ ẽ ấ B ng 2.16 , d ệ ử ụ i đây s cho ta th y s d ng mô hình CWU hi u
ả ơ ắ ỉ ứ ệ qu h n mô hình TWU trong vi c c t t a các ng viên. Mô hình CWU
ứ ứ sinh ra 13 ng viên còn mô hình TWU sinh ra 16 ng viên.
ả ị B ng 2.. So sánh giá tr CWU và TWU
CWU TWU Ti nề tố
C {C}:115, {CB}:57, {CF}:18, {CA}:36, {CE}:50 {C}:115, {CB}:57, {CF}:18, {CA}:36, {CE}:50
{E}:107, {EB}:45, {EF}:69,
E {E}:93, {EB}:45, {EF}:67, {EA}:71, {EAF}:55 {EA}:81, {EAF}:57
{B}:65, {BF}:45, {BA}:45 {B}:102, {BF}:45, {BA}:45 B
{A}:87, {AF}:57 A
75
CWU TWU Ti nề tố
F {F}:75
ộ ứ ạ ậ 2.3.3. Đ ph c t p tính toán thu t toán HP
ệ ề ứ ạ ủ ậ ộ ườ Đ ph c t p c a thu t toán HP trong tr ấ ợ ng h p x u M nh đ 2.3.
2), trong đó n là t p t
ấ ậ ấ ả ầ ử ố ổ nh t là O(2mn t c các ph n t ; m là t ng s giao
X là t p h p các
ầ ử ố ị ậ ợ ị d ch, w là s ph n t ừ trung bình trong t ng giao d ch và ST
ứ ậ ấ ớ ị giao d ch ch a t p X (l n nh t là m).
ứ Ch ng minh:
ườ ấ ủ ấ ậ ợ ấ ả Tr ng h p x u nh t c a thu t toán HP khi t t c các ph n t ầ ử ề đ u
ậ ộ ồ ướ ớ thu c HCWU và đó thu t toán HP g m các b c v i chi phí sau:
ự ả ầ ử ừ ằ + Xây d ng b ng TC ừ trong t ng ệ 1 b ng cách duy t qua t ng ph n t
ớ ị giao d ch v i chi phí là m * w;
1 v i chi phí là n.
ệ ả ể ớ + Duy t qua b ng TC ị 1 đ xác đ nh HCWU
ệ ạ ừ ầ ử ầ ử ừ ạ ị + Duy t l i t ng ph n t trong t ng giao d ch, lo i ph n t có CWU
ệ ắ ỏ ơ ế ạ ự ầ ử ừ ị nh h n minutil và th c hi n s p x p l i các ph n t trong t ng giao d ch
2).
ầ ả ớ gi m d n theo AU v i chi phí là m * (w + w
ườ ấ ấ ậ ợ ấ ả ầ ử ề Tr ng h p x u nh t cho thu t toán HP là t t c n ph n t đ u là các
1 và |STX| = m. Đ ti n hành khai phá v i m i t p ph n t
ể ế ỗ ậ ầ ử ớ ậ t p HCWU (k
ự ệ itemsets) X (cid:0) HCWUk th c hi n:
X và ITX v i chi phí là m * w;
ự ả ớ ớ + V i k=1 thì xây d ng b ng UT
ự ệ ớ ế + V i k = 2 đ n n th c hi n:
76
k t
ự ả ừ ả ế ợ ằ Xây d ng b ng TC b ng IT ầ X b ng cách k t h p các ph n
X| *
ứ ớ ử t ị phía sau X trong các giao d ch ch a X v i chi phí là |ST
ườ ấ ợ ấ ả ị (w – k), trong tr ấ ng h p x u nh t là t ề t c các giao d ch đ u
X| = m;
ứ ậ ch a t p X và |ST
k v i s l
ớ ố ượ ớ ậ Tìm t p HCWU ấ ng l n nh t là (n k)
X’ t
X v i chi phí là |ST
X|, v i X’ = X
ự ả ừ ả ớ ớ Xây d ng b ng IT b ng IT
(cid:0) ứ ườ ấ ợ ị i trong các giao d ch ch a X, trong tr ấ ng h p x u nh t là
X| = m. Nên chi phí
ấ ả ứ ậ ị t ề t c các giao d ch đ u ch a t p X và |ST
X’ là m * (w – k);
ự ả xây d ng b ng IT
ậ ậ ộ ứ ạ Do v y, thu t toán HP có đ ph c t p tính toán là O(m * n + n + m *
w2 + m * w + n * () = O(2mn2).
ậ ử ụ ấ ậ Thu t toán HP đ ượ ả ế ừ c c i ti n t thu t toán PB [15], s d ng c u trúc
ậ ứ ể ề ả ả ậ ả b ng IT và b ng TC đ tính nhanh các t p ng viên, c hai thu t toán đ u có
ứ ạ ườ ợ ố ấ ườ ộ đ ph c t p trong tr ng h p t t nh t là O(m *w) và trong tr ng h p t ợ ồ i
2).
ấ nh t là O(2mn
ả ự ế ệ 2.3.4. K t qu th c nghi m
ả ự ệ ầ ậ ậ ớ ế Trong ph n này, lu n án so sánh k t qu th c hi n thu t toán HP v i
ậ thu t toán Two Phase [39], PB [15].
ườ Môi tr ữ ệ ng và d li u
ậ ượ ự ệ Thu t toán đ ớ c th c hi n trên máy tính IBM core 2 due 2.4GHz v i 2
ạ ộ ớ ươ ượ ế ằ GB b nh , ch y trên Windows 7. Ch ng trình đ c vi t b ng Visual C+
ữ ệ ử ệ ượ ồ + 2010. D li u th nghi m g m: Mushroom và T30I4D100K đ c sinh t ừ
ủ ộ ữ ệ ượ ữ ệ ủ ể ặ ả ướ ộ b sinh d li u c a IBM. Đ c đi m c a b d li u đ c mô t phía d i:
77
Database T D N
T30I4D100K 30 100.000 100
Mushroom 23 8.124 119
ầ ử ố ố ộ ị trong đó T – s ph n t trung bình trong m t giao d ch; N – s ph n t ầ ử
ố ị khác nhau; D – s giao d ch.
ộ ữ ệ ị ợ ư ề ừ Các b d li u này đ u ch a có giá tr l i ích ngoài cho t ng ph n t ầ ử
ỉ ị ế ầ ử ệ ậ ấ và trong các giao d ch ch cho bi t ph n t xu t hi n. Do v y, s l ố ượ ng
ầ ử ị ượ ừ ế ợ ph n t trong các giao d ch đ ẫ c sinh ng u nhiên, t 1 đ n 5 và l i ích
ầ ử ừ ủ ỗ ổ ợ ể ị ngoài c a m i ph n t t ế 0.1 đ n 10. Hình 2.1. bi u th phân b l i ích
ầ ử ủ ế ệ ngoài c a các ph n t trong T30I4D100K. Hình 2.2. cho bi t vi c phân b ổ
ầ ử ợ l ủ i ích ngoài c a các ph n t trong Mushroom.
ố ợ ể ồ ầ ử Hình 2.. Bi u đ phân b l ủ i ích ngoài c a các ph n t ngoài trên
T30I4D100K
78
ố ợ ể ồ ầ ử Hình 2.. Bi u đ phân b l ngoài trên
ủ i ích ngoài c a các ph n t Mushroom
ố ứ ự ờ ệ Th i gian th c hi n và s ng viên
ữ ử ệ ậ ậ ớ Th nghi m, so sánh gi a thu t toán HP v i các thu t toán Two Phase,
ộ ữ ệ ượ ể ệ PB trên b d li u T30I4D100K đ c th hi n trong Hình 2.3, 2.4, 2.5 t ngươ
ứ ố ượ ứ ươ ứ ng. C th , ụ ể Hình 2.3 so sánh s l ng ng viên t ớ ng ng v i các ng ưỡ ng
ố ể ự ệ ờ ợ l i ích t i thi u khác nhau. Hình 2.4 so sánh th i gian th c hi n khai phá, khi
ưỡ ợ ố ự ệ ổ thay đ i ng ng l i ích t i thi u. ờ ể Hình 2.5 so sánh th i gian th c hi n khai
ố ị ưỡ ợ ố ổ ố ượ ể phá khi c đ nh ng ng l i ích t i thi u là 20% và thay đ i s l ng giao
ố ứ ự ệ ờ ị Hình 2.6, 2.7 so sánh s ng viên sinh ra và th i gian th c hi n khai phá d ch.
ữ ậ ươ ứ ưỡ ợ ố ể gi a các thu t toán t ớ ng ng v i các ng ng l i ích t i thi u khác nhau trên
ộ ữ ệ b d li u Mushroom.
ố ượ ứ ượ ữ ệ Hình 2.. S l ng ng viên đ c sinh ra trên d li u T30I4D100KN100K
79
ữ ệ ự ệ ờ Hình 2.. Th i gian th c hi n trên d li u T30I4D100KN100K
ự ờ ớ ố ượ Hình 2.. Th i gian th c hi n theo s l ị ng giao d ch v i ng ưỡ ng
ệ minutil=20%
ố ượ ứ ượ ữ ệ Hình 2.. S l ng ng viên đ c sinh ra trên d li u Mushroom
80
ữ ệ ự ờ ệ Hình 2.. Th i gian th c hi n trên d li u Mushroom
ậ ợ ậ 2.4. Thu t toán song song PPB khai phá t p l ự i ích cao d a trên ch s ỉ ố
ế ợ hình chi u và danh sách l i ích
ậ ợ ậ ượ Thu t toán song song PPB [V] khai phá t p l i ích cao đ c công b ố
ề ệ ạ trong t p chí Công ngh Thông tin và Truy n thông: “Các công trình nghiên
ộ ố ề ụ ứ ể ấ ứ c u, phát tri n và ng d ng CNTTTT" có m t s đ xu t sau:
ả ớ ợ ậ ứ ể ỉ ố ế ợ Dùng b ng ch s k t h p v i danh sách l i ích đ sinh t p ng viên,
ậ ợ ộ ậ ứ ử ạ tìm t p l i ích cao, lo i nhanh các ng viên và đ c l p x lý các ph n t ầ ử
ộ ử ừ trên t ng b x lý.
ả ượ ư ợ Gi n l ữ c thông tin l u tr trong danh sách l i ích.
ậ ợ ự ậ Xây d ng thu t toán song song khai phá t p l i ích cao trên mô hình
ớ ẻ ộ chia s b nh .
ộ ơ ở ữ ệ ậ ợ ệ ể ả ị Đ thu n l i trong gi i thích các khái ni m, m t c s d li u giao d ch đ ượ c
ễ ướ ạ ể ả ủ ợ ư B ng 2.17 bi u di n d ả i d ng b ng nh . L i ích ngoài c a các ph n t ầ ử ượ c đ
ả cho trong B ng 2.18 .
81
ả ơ ở ữ ệ ị B ng 2.. ọ C s d li u giao d ch minh h a
Ti d 1 2 3 4 5 6 7 8 9 10 Giao d chị C D E 1 1 2 0 0 25 2 0 0 0 0 12 2 0 8 0 1 4 0 1 2 2 0 0 0 1 0 2 0 4 F 1 0 1 0 0 1 0 3 0 0
ầ ử ả A B 0 1 1 0 0 0 1 0 0 2 0 0 0 0 2 3 0 2 0 0 ủ ợ ả i ích ngoài c a các ph n t B ng l B ng 2..
Item L i íchợ A B C D E F 2 3 10 1 5 6
ư ữ ể ả ộ ậ ộ ử ữ ệ Đ gi m không gian l u tr và đ c l p tính toán trên các b x lý, d li u
ậ ượ ổ ứ ư trong thu t toán PPB đ ch c nh sau: c t
ậ ứ ầ ử ạ ỏ ơ ị Lo i các t p ng viên 1 ph n t có TWU nh h n trong các giao d ch.
ắ ế ầ ử ả ợ ầ ử S p x p các ph n t ầ gi m d n theo l ủ i ích c a ph n t AU.
j đ
ầ ử ỗ ị ượ ư ữ ồ ộ M i m t ph n t trên giao d ch T c l u tr g m (i, UR), trong đó
ầ ử ổ ợ ầ ử ừ ầ ử ế i là tên ph n t , UR là t ng l i ích các ph n t tính t ph n t ố i đ n cu i
j, đ
j)= iutil(i, Tj) + rutil(i, Tj) và
ượ ứ ị giao d ch T c tính theo công th c UR(i, T
ư ị iutil, rutil nh trong Đ nh nghĩa 1.20 .
k, Tj) = UR(ik, Tj)
ớ ổ ứ ữ ệ ư ể V i cách t ch c d li u nh trên có th tính iutil(i
k.
ầ ử ngay phía sau i UR(ik+1, Tj) và rutil(ik, Tj) = UR(ik+1, Tj), trong đó ik+1 là ph n t
ầ ử ố ả cu i thì UR(i N u iế k là ph n t ư k+1, Tj) = 0. Đây là cách làm gi m không gian l u
ầ ư ữ ị ợ ư ẫ tr vì không c n l u giá tr iutil và rutil trong danh sách l i ích, nh ng v n tính
ị ượ ả đ c c hai giá tr này.
82
ụ ả ợ ọ ở B ng 2.17 và ơ ở ữ ệ Ví d , xét c s d li u minh h a ả b ng l i ích ngoài các
ầ ử ả ệ ữ ệ ớ ầ ầ ớ B ng 2.18 ph n t trong , v i minutil = 56. V i l n duy t d li u đ u tiên ta
ủ ừ ầ ử ớ ị ươ ứ tính TWU, AU c a t ng ph n t : A, B, C, D, E, F v i giá tr TWU t ng ng là
ị ươ ứ 99, 102, 133, 50, 113, 87 và giá tr AU t ng ng là 24, 40, 57, 24, 45, 12. Ta
ế ấ ạ ị ắ ỏ th y TWU(D) = 50 < 56 nên lo i D kh i các giao d ch. Sau đó, ti n hành s p
ầ ử ầ ỗ ị ượ ả ế x p các ph n t ả trên m i giao d ch gi m d n theo AU ta đ c nh ư B ng 2.19.
ả ợ ầ ử ị B ng 2.. ả B ng l i ích các ph n t trong các giao d ch
Giao d chị
Tid 1 2 3 4 5 6 7 8 9 10 (C, 12), (E, 10), (A, 5), (F, 2) (C, 35), (B, 10), (E, 12), (F, 2) (C, 22), (B, 10) (C, 24), (E, 16), (A, 6) (C, 6), (F, 2) (C, 2) (E, 45), (B, 35), (A, 15), (F, 6) (A, 6) (C, 14), (E, 10)
ượ ử ụ ồ ậ ộ ố ấ 2.4.1. M t s c u trúc đ c s d ng trong thu t toán PPB g m:
ả ầ ử ợ ồ ự ế ợ B ng TC , l i ích th c t AU và l i ích còn l ạ i ậ k g m các t p kph n t
1 đ
ả ị ượ ủ ứ c a ng viên – RU. Các giá tr AU, RU trong b ng TC c tính trong cùng
ộ ầ ệ m t l n duy t khi tính TWU, trong đó RU(X) = TWU(X) – AU(X).
1 v i t p g m 1 ph n t
ả ả ớ ậ ồ ầ ử B ng 2.. B ng TC
AU RU
Itemset s A B C D E F 24 40 57 24 45 12 75 62 76 26 68 75
83
ụ ừ ơ ở ữ ệ ả ợ ọ ở B ng 2.17 và Ví d , t c s d li u minh h a ả b ng l i ích ngoài các
1 nh trong
ầ ử ả ả ứ ầ ử ư B ng 2.18, B ngả ph n t trong ta có b ng ng viên 1 ph n t TC
2.20.
ả ủ ậ ồ ị ị ứ ậ B ng ch s IT
j; itutil(X, Tj) – giá tr l
ỉ ố X c a t p X g m các giao d ch T ấ ệ ủ ậ ị ầ ử ố cu i cùng c a t p X xu t hi n trong giao d ch T ph n t
j; rutil(X, Tj) – giá tr l
ủ ậ ị ị ợ ầ ử ích c a t p X trong giao d ch T ủ j ch a t p X; v trí p c a ị ợ i ạ i i ích các ph n t còn l
j. Ví d , t
ậ ị ụ ừ ả ầ ử ợ sau t p X trong giao d ch T b ng l i ích các ph n t trong các giao
ả ự ượ ả B ng 2.19 B ngả ị d ch trong , ta xây d ng đ c b ng ch s IT ủ ậ ỉ ố C c a t p {C} trong
ượ ư 2.21 đ c tính nh sau: iutil({C}, T
1) = UR({C}, T1) – UR({E}, T1) = 12 – 10 = 2; ộ v i các giao d ch 2, 4, 5, 6, 7, 10. V i m t
ươ ự ớ ớ ị ng t rutil({C}, T1) = UR({E},T1); t
ứ ự ượ ắ ế ị ừ ả ể th t đã đ c s p x p trong giao d ch, t b ng IT ậ ị C có th xác đ nh nhanh t p
ầ ử ằ ế ợ ầ ử ứ ứ ớ các ng viên 2ph n t b ng cách k t h p C v i các ph n t đ ng sau C trong
ụ ớ ị ị ị ượ ậ ứ các giao d ch. Ví d , v i giao d ch 5 và sau v trí 1, sinh đ c t p các ng viên
ể {CE}, {CA} và có th tính nhanh iutil({CE}, T
5) = iutil({C}, T5) + (UR({E}, T5) ự ,
ươ UR({A}, T5)) = 8 + (16 6) = 18 và rutil({CE}, T5) = UR({A}, T5) = 6. T ng t
iutil({CA},T5) = iutil({C}, T5) + (UR({A}, T5) 0) = 8 + (6 0) = 14 và rutil({CA},
T5) = 0.
ủ ậ ả ả B ng 2.. B ng ch s IT ỉ ố C c a t p {C}
ố ị Tid V trí cu i 1 2 4 5 6 7 10 1 1 1 1 1 1 1 iutil({C},Tj) 2 25 12 8 4 2 4 rutil({C},Tj) 10 10 10 16 2 0 10
ả ử ớ ơ ồ ử ậ ồ ả Hình Gi s v i hai lu ng x lý, s đ thu t toán PPB mô t trong
2.8.
ơ ồ ậ Hình 2.. S đ thu t toán song song PPB
84
ả ậ 2.4.2. Mô t thu t toán song song PPB
ậ ậ Thu t toán 2.2. Thu t toán song song PPB
Input:
ơ ở ữ ệ ị D: C s d li u giao d ch;
ợ ả B ng l ỗ i ích m i ph n t
ầ ử ; ố ưỡ ợ i ích t minutil ng ng l ể i thi u.
ố p – S Thread
Output:
ấ ả ậ ợ T t c các t p l i ích cao
Master:
ữ ệ ỗ ồ Phân chia d li u cho m i lu ng;
ụ ộ ợ Đ i các Thread tính xong TWU, AU c c b thì:
ụ + Tính TWU, AU toàn c c và ự Xây d ng TC
1 toàn c c;ụ 1;
1 và HUs1 t ươ ừ
ạ ừ ả + T o danh sách HTWUs b ng TC
ế ỗ ng trình ;
1 r ng thì d ng ch ả
ắ
ế ắ ầ
1 gi m d n theo AU;
ầ ử ) + N u HTWUs
ế
+ S p x p HTWUs
ạ ỏ
ị :
ượ ử ậ ợ
Đ i các Thread lo i b các ph n t
ầ ử
trong các giao d ch thì
ph n t
ợ ữ ệ
+ T p h p d li u đã đ c x lý; 1 cho các Thread; ầ ượ ừ ầ ử + Chia l n l t t ng ph n t i trong HTWUs Theads: ữ ệ ừ ậ ệ Nh n phân chia d li u t 1 t ự ả + Xây d ng b ng TC ể ự
Master đ th c hi n:
ừ ữ ệ ụ ộ
d li u c c b ợ ế ắ ệ : ự
1 và th c hi n Đ i Master s p x p xong danh sách HTWUs
ầ ử ỏ ơ ị ạ ỏ
+ Lo i b ph n t có TWU nh h n minutil trong giao d ch.
ị ầ ử ả ầ ế ạ ắ trong giao d ch gi m d n theo AU + S p x p l ừ ự ệ ậ ừ ầ ử i các ph n t
ượ Master và th c hi n: Nh n t ng ph n t i đ
ả ự + Xây d ng b ng IT c phân chia t
i; + k=1; 85 ậ ọ
+ G i hàm ể
PBMiner({i}, k, ITi) đ khai phá t p các HUIs; //Hàm PBMiner Hàm PBMiner(X, k, IT{x}) Input: ậ ả ;
trong t p;
ỉ ố ủ ậ ITX – b ng ch s c a t p X. ề ố
ậ
X – t p ti n t
ầ ử
ố
k – s ph n t
Output: ậ ợ {X} ề ố ự ả HUs T p có l
ả d a trên b ng IT i ích cao.
ớ
k+1 v i X là ti n t ự
//Xây d ng b ng TC
TCk+1={};
For each (j, p) (cid:0) IT{X}{ ủ ậ For each ip+1 (cid:0)
//p là ph n t
If (ip+1 (cid:0) Tj {
ầ ử ố
cu i cùng c a t p X
HTWUk) ip+1; X’ = X (cid:0)
If (X’ ∉ TCk+1) k+1 (Itemsets, AU, RU). ả p+2,Tj) = 0; ố Chèn (X’, iutil(X, Tj) + (UR(ip+1,Tj) UR(ip+2,Tj),
UR(ip+2,Tj)) vào b ng TC
//Chú ý, n u iế p+2 là cu i thì UR(i If (X’ (cid:0) TCk+1){ RU(X’) = RU(X’) + UR(ip+2, Tj);
AU(X’) = AU(X’) + iutil(X, Tj) + (UR(ip+1, Tj) UR(ip+2, Tj); } } }
For each X’ (cid:0) TCk+1 { ậ If (AU(X’) + RU(X’)) ≥ minutil {
k+1; If (AU(X’) (cid:0) ậ Chèn X’ vào t p HTWU
minutil) {
Chèn X’ vào t p HUs; }
For each X’ (cid:0) {X’} t HTWUsk+1 {
ự
Xây d ng IT ITừ {X}; 86 ậ ợ ớ ề ố k = k +1;
Call PBMiner ({X’}, k, ITX’);
//Tìm t p l ề
i ích cao theo chi u sâu v i ti n t ậ
là t p {X’} }
Return HUs; ụ ậ ọ
2.4.3. Ví d minh h a thu t toán PPB ầ ọ ướ ủ ử ậ ồ Trong ph n này minh h a các b ớ
c c a thu t toán v i hai lu ng x lý. ơ ở ữ ệ ả ị ợ ươ ả ả
ứ ở B ng 2.17 C s d li u giao d ch, b ng l i ích t ng ng và B ng 2.18 , ưỡ ợ ố ể ng ng l i ích t i thi u minutil = 56. Master: ữ ệ ướ ự ể ệ B c 1, Master th c hi n phân chia d li u cho các Threads đ tính ậ ượ ụ ộ ừ ủ ụ ộ
TWU, AU c c b . Khi nh n đ c đ TWU, AU c c b t các Thread thì ụ ị ượ ế tính giá tr TWU, AU toàn c c và đ c k t qu nh ả ư Hình 2.9. E
113
45 D
50
24 Item A
TWU 99
24
AU
ế C
B
102 133
57
40
ả F
87
12
ụ
Hình 2.. K t qu TWU và AU toàn c c 1 toàn c c. Ví d , đ tính RU c a ph n t ế ự ả ụ ể ủ ụ Ti p theo, xây d ng b ng TC ầ ử ư ươ ự A nh sau: RU(A) = TWU(A) – AU(A) = 99 – 24 = 75, t ng t cho B, C, D, ụ ượ ế ả
ả ư B ng 2.22. E, F toàn c c đ c k t qu nh 1 toàn c c v i t p g m 1 ph n t ả ả ụ ớ ậ ầ ử ồ B ng 2.. B ng TC Itemsets
A
B
C
D
E
F AU
24
40
57
24
45
12 RU
75
62
76
26
68
75 87 ả ị ạ ấ ừ B ng 2.22 ướ
B c 2, t ậ
ta th y TWU(D)= 50 < 56 nên D b lo i. Do v y, danh sách HTWU1 = {A, B, C, E, F}. Và danh sách HU1 = {C} vì AU(C) = 57 > 56. 1 gi m d n theo AU ta có: HTWU 1 ướ ế ắ ả ầ B c 3, s p x p danh sách HTWU = {C, E, B, A, F}. ướ ế ắ ạ ờ ị B c 4, ch các Threads lo i D trong các giao d ch và s p x p các ầ ử ả ầ ậ ị ph n t trong giao d ch gi m d n theo AU. Sau đó t p h p d li u đ ợ ữ ệ ượ ế
c k t ả
ả ư B ng 2.19 qu nh . ộ ậ ướ ệ B c 5, phân công công vi c cho các Thread đ c l p khai phá c th ụ ể ư ớ ề ố nh sau: Thread 1 khai phá HUIs v i ti n t : C, B, F; Thread 2 khai phá HUIs ớ ề ố
v i ti n t : E, A. Threads: ữ ệ ướ ậ ượ ẽ B c 1, sau khi nh n d li u đ c phân chia thì các Thread s tính ụ ộ ầ ử ừ ử ể ậ ợ TWU, AU c c b cho t ng ph n t . Sau đó g i cho Master t p h p đ tính 1 toàn c c đ ự ụ ả ụ ượ ế ả TWU, AU toàn c c và xây d ng b ng TC c k t qu nh ư ả B ng 2.22 . ụ ừ ướ ậ ẽ ạ ỏ B c 2, sau khi nh n TWU toàn c c t Master s lo i D kh i các ầ ử ế ế ắ ị ừ ả ị giao d ch và ti n hành s p x p các ph n t ầ
trong t ng giao d ch gi m d n ử ề ữ ệ ậ ợ ượ ế ả ư B ngả theo AU và g i v cho Master t p h p d li u đ c k t qu nh 2.19. ữ ệ ướ ậ ợ B c 3, sau khi Master t p h p d li u và phân chia các ph n t ầ ử ể ộ ậ ụ HTWU1 cho các Thread đ đ c l p khai phá HUIs. Ví d , trong Thread 1 ầ ử ự ệ ớ th c hi n khai phá v i ph n t C. C t ự ượ ả ả ụ ị 3.1. Xây d ng đ c b ng IT ừ B ng 2.19 . Ví d , trong giao d ch 1 thì 1) =UR(C, T1) – UR(E, T1) = 12 – 10 = 2; rutil(C, T1) = ầ ử ph n t C có iutil(C, T 88 ươ ự ị ượ ế cho các giao d ch 2, 3, 5, 6, 7, 10 đ c k t qu nh ả ư UR(E, T1) = 10. T ng t ả B ng 2.23
. ầ ử ả ả
B ng 2.. B ng ch s IT C ủ
ỉ ố C c a ph n t ố
ị
Tid V trí cu i
1
2
4
5
6
7
10 1
1
1
1
1
1
1 iutil(C, Tj)
12 10 = 2
35 10 = 25
22 10 = 12
24 16 = 8
6 2 = 4
2 0 = 2
14 10 = 4 rutil(C, Tj)
10
10
10
16
2
0
10 ậ ọ
3.2. G i hàm ừ ề ố
ti n t ể
PBMiner({C}, 1, ITC) đ khai phá các t p HUIs t C. ự ồ ướ Quá trình th c hi n c sau: ệ Hàm PBMiner({C}, k, ITC) g m các b 2 v i C là ti n t C ự ả ề ố ự ả ớ //Xây d ng b ng TC d a trên b ng IT ướ B c 1, TC2 = {}; C th c hi n. Gi ướ ỗ ộ ớ ự ệ ả ử ớ ộ B c 2, V i m i b (j, p) trong IT s v i b (1, 1) – ị ị trong giao d ch 1 và v trí 1. j th cự ứ ớ ỗ ị 2.1. V i m i ph n t i ị
ầ ử p+1 đ ng sau v trí p trong giao d ch T ệ ả ử ớ ầ ử hi n. Gi s v i ph n t E. 2.1.1. Ta có, E (cid:0) E = {CE}; HCWU1 nên gán Itemsets = C (cid:0) ự ệ 2.1.2. Và Itemsets (cid:0) TC2 nên th c hi n: iutil({CE}, T1) = iutil({C},T1) + (UR(E,T1) UR(A, T1)) = 2 + (10 5) = 2 + 5 = 7; rutil({CE},T1) = UR(A, T1) = 5; 89 1), rutil({CE},T1)) vào b ngả ộ Chèn b (Itemsets, iutil({CE}, T TC2(Itemsets, AU, RU); ướ ầ ử ớ ị ị ặ ạ B c 2.1 L p l i , v i hai ph n t A, F sau v trí 1 trong giao d ch 1 ả B ng TC . ả
2 nh ư B ng 2.24 2 v i ti n t ả ả ớ ề ố ị B ng 2.. B ng TC C trong giao d ch 1 Itemsets
CE
CA
CF AU
7
5
4 RU
5
2
0 ướ ớ ộ ị ị ặ ạ B c 2 L p l i ầ
, v i b (2, 1) – trong giao d ch 2, sau v trí 1 có ph n B ử (cid:0)
t B = {CB}; HCWU1 nên gán Itemsets = {C} (cid:0) ự ệ Và Itemsets (cid:0) TC2 nên th c hi n: iutil({CB},T2) = iutil({C},T1) + (UR(B,T2) UR((cid:0) ,T2)) = 25 + (10 0) = 25 + 10 = 35; rutil({CB},T2) = UR((cid:0) ,T2) = 0; 2), rutil({CB},T2)) vào b ngả ộ Chèn b (Itemsets, iutil({CB},T ế ả
ả ư B ng 2.25. TC2(Itemsets, AU, RU). K t qu nh 2 v i ti n t ả ả ớ ề ố ị B ng 2.. B ng TC C trong giao d ch 1 và 2 Itemsets
CE
CA
CF
CB AU
7
5
4
35 RU
5
2
0
0 ớ ộ ị ị ặ ạ B c 2 L p l i ướ , v i b (4, 1) trong giao d ch 4, sau v trí 1 có ph n t ầ ử B (cid:0) B = {CB}; HTWU1 nên gán Itemsets = {C} (cid:0) 90 ủ ậ ậ ị Và Itemsets (cid:0) TC2 nên c p nh t giá tr AU và RU c a {CB} trong ư ả B ng 9 nh sau: AU({CB}) = AU({CB}) + iutil({C}, T4) + (UR(B, T4) UR((cid:0) , T4)) = 35 + 12 + (10 0) = 57; RU({CB}) = RU({CB}) + rutil((cid:0) , T4) = 0 + 0 = 0; ươ ướ ớ ộ ự ặ ạ B c 2 T ng t , l p l i v i các b (5, 1), (6, 1), (7, 1), (10, 1) ta 2 v i ti n t ượ ế ớ ề ố ế ả
ả ư B ng 2.26. đ ả ả
c k t qu b ng TC C. K t qu nh 2 v i ti n t ả ả ớ ề ố B ng 2.. B ng TC C AU RU Itemset
s
CE
CA
CF
CB 39
19
10
57 11
2
0
0 (cid:0) ướ ệ ừ ậ B c 3, duy t t ng t p X’ TC2. 3.1. Ta có, AU({CB}) + RU({CB}) = 57 + 0 = 57 > 56 nên HTWU2 = ({CB}). 3.2. Ta có, AU({CB}) = 57 > 56 nên HUs = {CB:57}. (cid:0) ướ ớ B c 4, ỗ
v i m i X’ HTWU2 {CB} t C đ ả ừ ả ượ ế ả
ả ư B ng 2.27 ự
4.1. Xây d ng b ng IT b ng IT c k t qu nh . ủ ậ ả ả
B ng 2.. B ng ch s IT ỉ ố {CB} c a t p {CB} ố iutil({CB},Tj) ị
Tid V trí cu i
2
4 2
2 rutil({CB},Tj)
0
0 35
22 4.2. k = k + 1; //k = 1 +1 = 2 91 ể ọ
4.3. G i hàm ấ ả ậ ợ
t c t p l i ích cao PBMiner({CB}, k, IT{CB}) đ tìm t {CB} để ệ ằ ả ớ ề ố
v i ti n t ộ
{CB} b ng cách duy t 2 b (2, 2) và (4, 2) trong b ng IT ầ ử ứ ồ ư ị ị ị sinh ng viên g m 3 ph n t . Nh ng v trí 2 trong giao d ch 2 và 4 là v trí ầ ử ố ồ ượ ậ ậ ứ
cu i nên không có t p ng viên g m 3 ph n t nào đ c sinh ra. V y, sau ậ ợ ớ ề ố ượ ế
khi tìm ki m t p l i ích cao v i ti n t C đ ế
c HUs = {C, CB}. Và k t thúc hàm PBMiner({C}, 1, IT{C}). ồ ậ ợ ớ ề ố ố Lu ng 1 l p l ặ ạ ướ
i b c 4 tìm t p l i ích cao v i ti n t là B, F gi ng nh ư ầ ử ở ươ ự ồ ậ ợ ự ệ ph n t C trên. T ng t , lu ng 2 th c hi n tìm t p l i ích cao v i ti n t ớ ề ố E, A. ế ớ ưỡ ợ ố ể K t thúc quá trình khai phá v i ng ng l i ích t i thi u minutil = 56 ồ
trên 2 lu ng ta thu đ ượ ậ ợ
c t p l i ích cao HUIs= {C:57, CB:57}. ả ử ả ướ ẽ ấ B ng 2.28 Gi s minutil = 40, thì d i đây s cho ta th y s ử ỉ ố ế ụ ả ợ ớ ợ ố ượ d ng b ng ch s k t h p v i danh sách l i ích cho s l ứ
ng ng ụ ế ế ể ợ ớ ơ ợ ớ ớ
viên ít h n so v i k t h p v i mô hình TWU. C th , k t h p v i ợ ứ ế ớ ợ danh sách l i ích sinh ra 19 ng viên và k t h p v i mô hình TWU ứ
sinh ra 23 ng viên. ố ượ ứ ả ợ B ng 2.. So sánh s l ng ng viên trên danh sách l i ích và TWU Lu ngồ Utilitylist TWU Ti nề
tố ồ
Lu ng 0 C {C}:133, {CE}:50,
{CEA}:36, {CB}:57
{CA}:21, {CF}:22 B {B}:102, {BA}:35,
{BF}:26 {C}:133, {CE}:56,
{CEA}:42,
{CEAF}:18,
{CB}:57, {CA}:42
{CAF}:18, {CF}:42
{B}:102, {BA}:45
{BAF}:45, {BF}:45 92 Lu ngồ Utilitylist TWU Ti nề
tố F {F}:87 {F}:87 E ồ
Lu ng 1 {E}:113, {EB}:45,
{EBA}:5, {EBAF}:45,
{EBF}:36, {EA}:51,
{EF}:35 {E}:113, {EB}:45,
{EBA}:45,
{EBAF}:45,
{EBF}:45, {EA}:85
{EAF}:63, {EF}:75 A {A}:99, {AF}:20 {A}:99, {AF}:63 ộ ứ ạ ủ ậ 2.4.4. Đ ph c t p tính toán c a thu t toán PPB ẻ ộ ự ậ ớ Thu t toán song song PPB d a trên mô hình chia s b nh nên không ứ ạ ữ ệ ề ấ ậ ộ ượ m t chi phí truy n d li u và đ ph c t p thu t toán đ c tính tu n t ầ ự ở ự ệ Master và song song khi th c hi n trên các Thread. ệ ề ứ ạ ủ ậ ộ ườ Đ ph c t p c a thu t toán PPB trong tr ấ
ợ
ng h p x u M nh đ 2.4. ậ ấ ả ầ ử ế ấ nh t là , trong đó p ti n trình (Thread); n là t p t t c các ph n t ; m là ầ ử ố ố ị ị ổ
t ng s giao d ch, w là s ph n t ừ
trung bình trong t ng giao d ch và v là ầ ử ố ấ ả ị ổ
t ng s các ph n t trong t t c các giao d ch. ứ Ch ng minh: ườ ấ ủ ấ ậ ợ ấ ả Tr ng h p x u nh t c a thu t toán PPB khi t t c các ph n t ầ ử ề
đ u ộ ồ ướ ớ ậ
thu c HCWU và thu t toán PPB g m các b c v i chi phí sau: Master: ớ ị + Chia m giao d ch cho p Thread v i chi phí là m; 1 t ả ậ ợ ừ ớ + T p h p b ng TC các Thread v i chi phí n; 93 1 t 1 ạ ừ ả ả ằ + T o danh sách HTWUs b ng TC ệ
1 b ng cách duy t qua b ng TC ớ
v i chi phí n; 1 gi m d n theo AU v i chi phí ắ ế ạ ầ ử ả ầ ớ + S p x p l i các ph n t trong HTWUs n2. ợ ữ ệ ử ậ ớ + T p h p d li u đã x lý v i chi phí m; 1 cho các Thread v i chi phí là ầ ử ừ ớ + Phân chia t ng ph n t trong HTWUs 1; ẽ ụ ư ậ ầ ử ỗ n. Nh v y m i Thread s ph trách n/p ph n t trong HTWUs Thread: 1 t ự ả ừ ữ ệ ụ ộ ớ + Xây d ng b ng TC d li u c c b v i chi phí là m/p * w; ệ ạ ừ ầ ử ụ ộ ừ ạ ị + Duy t l i t ng ph n t trong t ng giao d ch c c b , lo i ph n t ầ ử
có ệ ắ ỏ ơ ế ạ ự ầ ử TWU nh h n minutil và th c hi n s p x p l i các ph n t ừ
trong t ng giao 2). ả ầ ớ
ị
d ch gi m d n theo AU v i chi phí là m/p * (w + w X v i chi phí là m * w; ự ả ớ ớ + V i k=1 thì xây d ng b ng IT ự ệ ế ớ + V i k=2 đ n n th c hi n: k t ự ả ừ ả ằ Xây d ng b ng TC b ng IT ầ ử ế ợ
X b ng cách k t h p các ph n t X| * (w – ứ ớ ị
phía sau X trong các giao d ch ch a X v i chi phí là |ST ườ ấ ợ ấ ả ề k), trong tr ấ
ng h p x u nh t là t ứ
ị
t c các giao d ch đ u ch a X| = m; ậ
t p X và |ST k v i s l ớ ố ượ ớ ậ
Tìm t p HCWUs ấ
ng l n nh t là n – k; X’ t X v i chi phí là |ST X|, v i X’ = X ự ả ừ ả ớ ớ Xây d ng b ng IT b ng IT (cid:0) ứ ườ ấ ợ ị
i trong các giao d ch ch a X, trong tr ấ
ng h p x u nh t là X| = m. Chi phí xây ấ ả ứ ậ ị t ề
t c các giao d ch đ u ch a t p X hay |ST X’ là m * (w – k); ả
ự
d ng b ng IT 94 ậ ậ ườ ấ ợ ộ Do v y, thu t toán PPB trong tr ứ ạ
ấ
ng h p x u nh t có đ ph c t p tính toán là O(m + n + n + (m/p * w2)+ (m * w) + = O(2m). ả ự ệ ế 2.4.5. K t qu th c nghi m ả ự ế ệ ầ ậ ỉ Trong ph n này ch so sánh k t qu th c hi n thu t toán PPBMiner ậ ậ ượ ớ
v i thu t toán HP [II] do thu t toán HP đã đ c so sánh, đánh giá là t ố ơ
t h n ậ ớ
v i thu t toán TP [39], PB [15]. ườ Môi tr ữ ệ
ng và d li u ậ ượ ự ệ Thu t toán đ ớ
c th c hi n trên máy tính HP core 7 due 2.4GHz v i 4 ự ệ ạ ớ ộ ờ ố ồ ồ GB b nh , ch y trên Windows 7. S lu ng th c hi n đ ng th i là 4. ươ ượ ế ằ ữ ệ ử ệ Ch ng trình đ c vi ồ
t b ng Visual C++ 2010. D li u th nghi m g m: ượ ừ ộ ữ ệ ủ Mushroom và T30I4D100K đ c sinh t ặ
b sinh d li u c a IBM. Đ c ủ ộ ữ ệ ượ ể ả ướ đi m c a b d li u đ c mô t phía d i: Database T D N T30I4D100K 30 100.000 100 Mushroom 23 8.124 119 ầ ử ố ố ộ ị trong đó T – s ph n t trung bình trong m t giao d ch; N – s ph n t ầ ử ố ị khác nhau; D – s giao d ch. ộ ữ ệ ị ợ ư ề ừ Các b d li u này đ u ch a có giá tr l i ích ngoài cho t ng ph n t ầ ử ị ỉ ế ầ ử ấ ố ượ ệ ậ và trong các giao d ch ch cho bi t ph n t xu t hi n. Do v y, s l ng cho ầ ử ỗ ỗ ị ượ ẫ ớ ị m i ph n t trong m i giao d ch đ c sinh ng u nhiên v i giá tr thu c t ộ ừ
1 ợ ầ ử ừ ỗ ế
đ n 5 và l ủ
i ích ngoài c a m i ph n t t ế
0.1 đ n 10. Hình 2.10 cho bi tế 95 ổ ợ ệ ầ ử Hình 2.11 vi c phân b l ủ
i ích ngoài c a các ph n t trong T30I4D100K. ế ổ ợ ệ ầ ử cho bi t vi c phân b l ủ
i ích ngoài c a các ph n t trong Mushroom. ố ợ ể ồ ầ ử Hình 2.. Bi u đ phân b l ủ
i ích ngoài c a các ph n t trên T30I4D100K ố ợ ể ồ ầ ử Hình 2.. Bi u đ phân b l ủ
i ích ngoài c a các ph n t trên Mushroom (cid:0) ố ậ ứ ự ệ ờ ượ Th i gian th c hi n và s t p ng viên đ c sinh ra ả ự ế ệ ậ ớ ậ
ữ
K t qu th c nghi m, so sánh gi a thu t toán PPBMiner v i thu t ộ ữ ệ toán HP [II] trên b d li u T30I4D100K và Mushroom. Hình 2.12 so sánh ậ ợ ự ờ ổ ưỡ ợ ệ
th i gian th c hi n khai phá t p l i ích cao khi thay đ i ng ng l i ích t ố
i ố ượ ứ ượ ươ ứ ớ thi u, ể Hình 2.13 so sánh s l ng ng viên đ c sinh ra t ng ng v i các ưỡ ợ ố ể ờ ng ng l i ích t i thi u khác nhau. Hình 2.14 và Hình 2.15 so sánh th i gian ậ ợ ự ệ ố ứ ủ ậ th c hi n khai phá t p l i ích cao và s ng viên sinh ra c a hai thu t toán ứ ưỡ ợ ố ể ươ
t ớ
ng ng v i các ng ng l i ích t ộ ữ ệ
i thi u khác nhau trên b d li u Mushroom. 96 ữ ệ ự ệ ờ Hình 2.. Th i gian th c hi n trên d li u T30I4D100KN100K ố ượ ứ ượ ữ ệ Hình 2.. S l ng ng viên đ c sinh trên d li u T30I4D100KN100K ữ ệ ự ờ ệ
Hình 2.. Th i gian th c hi n trên d li u Mushroom 97 ố ượ ứ ượ ữ ệ Hình 2.. S l ng ng viên đ c sinh ra trên d li u Mushroom ậ 2.5. Thu t toán CTUPRO+ ậ ợ ậ Thu t toán CTUPRO+ [III] cho khai phá t p l i ích cao đ ượ ả ế
c c i ti n ậ ử ụ ượ ớ ừ
t thu t toán CTUPRO [23] s d ng mô hình CWU [II] đ c gi ệ
i thi u ử ụ ẫ ợ ầ ậ ấ trong ph n 2.2. Thu t toán CTUPRO+ s d ng c u trúc cây m u l i ích ầ ử ắ ầ ợ nén, các ph n t ế
trong cây s p x p tăng d n theo l ể
i ích AU đ các ph n t ầ ử ợ ề ố ủ ậ ợ ượ ướ có l ẽ
i ích cao s là ti n t c a các t p l i ích và đ c khai phá tr c. Sau ẽ ượ ậ ậ ạ ằ ừ ị ợ ủ đó, giá tr CWU s đ c c p nh t l i b ng cách tr đi l ề
i ích c a các ti n ượ ế ậ ớ ộ ố ấ ệ ố
t đã đ c khai phá. Ti p theo, lu n án gi i thi u m t s c u trúc và các ướ ự ấ b c xây d ng các c u này. ộ ố ấ
2.5.1. M t s c u trúc ậ ợ ể ả ệ ậ ọ Đ thu n l i trong gi ư
i thích các khái ni m, minh h a thu t toán, đ a ộ ơ ở ữ ệ ị ượ ễ ể ướ ạ ư B ngả ra m t c s d li u giao d ch đ c bi u di n d ả
i d ng b ng nh ả ợ ầ ử ượ ả B ng 2.30 2.29. B ng l ủ
i ích ngoài c a các ph n t đ c cho trong . ầ ử ượ ỉ ố Các ph n t trong CSDL đ c đánh ch s 1, 2, 3,… theo th ứ ự ầ t tăng d n theo AU. 98 ầ ử ả ồ B ng ph n t chung – GlobalItemTable g m các ph n t ầ ử ứ
ng ợ ố ượ ắ ế viên l ọ
i ích có tr ng s cao đ ầ
c s p x p tăng d n theo AU. Trong ự ệ ầ ả ầ ử ầ
l n duy t CSDL đ u tiên xây d ng b ng ph n t chung ủ ầ ử (GlobalItemTable), CWU c a các ph n t chính là TWU. Trong ầ ử ỉ ố ả ồ ợ b ng này g m: ch s (index), ph n t (item), l ộ ơ
i ích trên m t đ n ầ ử ị ố ượ ổ ầ ử ủ ợ v ph n t (utility), t ng s l ng c a ph n t (quantity), l i ích ứ ọ ố ợ ự ế ủ ầ ử ng viên có tr ng s (CWU), l i ích th c t c a ph n t (AU) và ỏ ỏ ế ủ ẫ ố ợ con tr tr đ n g c c a nhánh trong cây m u l i ích nén chung (GlobalCUPTree). ơ ở ữ ệ ả ọ ị B ng 2.. C s d li u giao d ch minh h a TU Tid Gia
o
d cị
h 1
2
2
0
0
1
2
2
1
1
1 2
0
1
0
1
0
0
0
1
0
1 3
1
1
1
0
1
0
0
0
0
0 4
1
0
1
0
0
1
0
1
1
0 5
0
0
10
15
0
10
8
2
10
5 6
0
0
0
0
1
0
1
0
0
0 80
195
110
225
37
105
62
205
95
185 12 4 4 5 60 2 1299 ả ả ợ ầ ử ủ 1
2
3
4
5
6
7
8
9
10
T nổ
g
B ng 2.. B ng l i ích c a các ph n t Item
ợ
L i ích 1
10 2
150 3
25 4
35 5
5 6
2 99 ẫ ỗ ợ M i nút c a cây m u l
ủ i ích nén chung – GlobalCUPTree ỉ ố ả ồ ươ ị ợ ứ bao g m: ch s (index), m ng CWU t ớ
ng ng v i giá tr l i ích ứ ỏ ứ ố ượ ố ủ ả ọ ậ
ng viên có tr ng s c a 1 t p, m ng con tr ch a s l ng t ươ
ng ứ ủ ừ ầ ử ị ỏ ỏ ế ng c a t ng ph n t trong giao d ch, con tr đ n nút anh em tr ỏ ỏ ế ứ cùng m c, con tr tr đ n nút cha. ả ị M ng CWU[] = {T0, T1,…, Tn}, trong đó Ti là giá tr CWU ầ ử ừ ỉ ố ứ Hình ủ ậ
c a t p ph n t t ế
nút ch s i đ n nút ch a T ụ
i.Ví d , trong ạ ủ ậ ị 2.16 t i nút có CWU[2] = 185, đây là giá tr CWU c a t p ph n
ầ ử ươ ầ ử ự ế ứ t ỉ ố
có ch s {245} t ớ ậ
ng ng v i t p ph n t th c t {152}. Hình 2.. GlobalCUPTree và GlobalItemTable ậ ầ ử ợ T p I = HCWU trong ậ
{i1, i2,…, in} là t p h p các ph n t ượ ạ ươ ứ ỉ ố ị
giao d ch đ c ánh x t ớ
ng ng v i các ch s trong ẫ ợ ỉ ố GlobalItemTable, sau đó chèn các ch s index vào cây m u l i ích 100 ắ ầ ừ ủ ố ượ ỏ ở ỏ nén, b t đ u t nút g c c a nhánh cây đ c tr b i con tr PST ủ
c a ph n t i ầ ử 1 trong GlobalItemTable. ướ ẫ ợ ự ượ c xây d ng cây m u l i ích nén đ c mô t ả ướ
d i đây: a. Các b ướ ầ ử ự ả B c 1: Xây d ng b ng ph n t chung – GlobalItemTable Procedure ConstructGlobalItemTable Input: ơ ở ữ ệ ị D: C s d li u giao d ch,
ưỡ ợ ố minutil: ng i ích t ng l ể
i thi u. Output: GlobalItemTable, ậ ợ T p l i ích cao 1itemsets For each t (cid:0) t { D {
For each i (cid:0)
If (i (cid:0) ủ GlobalItemTable)
ố ượ
Tăng s l ng và CWU, AU c a i; Else ố ượ ủ Chèn i, s l ng và CWU, AU c a i vào GlobalItemTable; } }
For each i (cid:0) GlobalItemTable{ ạ ỏ Lo i b các item i có CWU(i) < minutil;
If (AU(i) ≥ minutil) In ra i; ắ ầ ế
ỉ ố }
S p x p các item trong GlobalItemTable theo AU tăng d n;
Gán ch s index cho các item trong GlobalItemTable; ả ử ưỡ ợ ố ể ơ ở ữ ệ ị Gi s ng ng l i ích t ầ ử ỏ ơ ưỡ ợ ả
trong B ng 2.29 , ta có ph n t i thi u là 129.9, trong c s d li u giao d ch
ố
i 6 có CWU là 99 nh h n ng i ích t ng l ự ệ ể ạ ắ ỏ ế
thi u nên lo i 6 kh i GlobalItemTable. Sau đó th c hi n s p x p ứ ự ế ầ GlobalItemTable theo th t AU tăng d n. K t qu nh ả ư Hình 2.16. 101 ướ ự B c 2: Xây d ng GlobalCUPTree Procedure ConstructGlobalCUPTree Input: ơ ở ữ ệ ị D: C s d li u giao d ch;
GlobalItemTable. Output: GlobalCUPTree. For each transaction t (cid:0) D { mappedTrans = {};
For each i (cid:0) t getIndex(i); ỉ ố ủ ấ mappedTrans = mappedTrans (cid:0)
// L y ch s index c a i trong GlobalItemTable;
ế ứ ự ắ ầ
tăng d n index; S p x p mappedTrans theo th t
G i ọ InsertToCUPTree(mappedTrans); } ủ ụ ẫ ợ Th t c chèn mappedTrans vào cây m u l i ích nén (CUPTree) Procedure InsertToCUPTree Input: ầ ử ượ ủ ậ đ c ánh x ạ ỉ ố
mappedTrans: T p ch s index c a các ph n t ớ
v i GlobalItemTable; Output: ặ CUPTree// GlobalCUPTree ho c LocalCUPTree firstItem = mappedTrans[1]; ượ ỏ ở ố ủ c tr b i GlobalItemTable[firstItem].PST; currNode = nút g c c a nhánh cây đ
For each next i (cid:0) mappedTrans{ If (currNode có con là i) ố ượ ủ Tăng s l ng, CWU[firstItem1] c a nút con; Else{ ố ượ ạ ị T o nút con và gán giá tr cho s l ủ
ng và CWU[firstItem1] c a 102 nó; ứ ớ ế ớ Liên k t v i nút anh em cùng m c v i nó – LinkSibling[i]; } } ụ ị ả
ị ở B ng 2.29 Ví d , trong giao d ch 1 trong CSDL giao d ch có các ph nầ ươ ứ ỉ ố ớ ử
t 1, 3, 4 t ng ng v i các ch s 2, 1, 3 trong GlobalItemTable. Sau đó, ch ỉ ượ ắ ế ầ ố
s 1, 2, 3 đ c s p x p tăng d n thành 1, 2, 3 và chèn vào GlobalCUPTree. ầ ừ ỉ ố ạ ằ ị T i nút có ch s 3 thì CWU[1] = 80 vì giao d ch b ng đ u t ỉ ố
ch s 1 và ị ươ ả ỉ ố ủ ứ ươ ứ ế m ng các giá tr t ng ng c a ch s 1, 2, 3 t ng ng là 1, 2, 1. K t qu ả ự xây d ng GlobalCUPTree nh ư Hình 2.16. ưở ậ Ý t ng thu t toán CTUPRO+ ự ượ Sau khi xây d ng đ ậ
c GlobalItemTable và GlobalCUPTree, thu t ẽ ệ ự toán CTUPRO+ s duy t cây t ừ ướ
d i lên trên d a vào GlobalItemTable ể ế ướ ơ ả ủ ư ậ đ ti n hành khai phá. Các b ệ
c c b n c a thu t toán nh sau: (1) Duy t ắ ầ ừ ỉ ố ớ ầ ử ấ cây t ừ ướ
d i lên trên v i ch s j b t đ u t ph n t ớ
có AU l n nh t. (2) ử ụ ầ ử ế ấ ả ỉ ố ế ị S d ng ph n t ậ
ch s j này, thu t toán chi u đ n t t c giao d ch có ề ố ầ ử ỉ ố ừ ti n t là ph n t ệ
ch s j. (3) Duy t GlobalCUPTree t nút có ph n t ầ ử ề ố ỉ ố ự ể ố ch s j làm ti n t lên nút g c đ xây d ng LocalItemTable và LocalCUP ầ ử ỉ ố ự ợ Tree cho ph n t ch s j. (4) Xây d ng HUPTree và tính l i ích th c t ự ế ầ ử ể ư ậ ợ ệ ậ
ủ
c a các t p ph n t . (5) duy t HUPTree đ đ a ra t p l i ích cao. (6) ậ ạ ậ ầ ử ế ậ ị C p nh t l i giá tr CWU cho các t p ph n t ti p theo. ậ ồ ướ Thu t toán CTUPRO+ g m các b c chính sau: ậ CTUPRO+ Thu t toán 2.3. Procedure Input: 103 GlobalItemTable, GlobalCUPTree. Output: ầ ử ợ ậ
Các t p ph n t có l i ích cao For each i (cid:0) GlobalItemTable{ ở ạ ớ ố Kh i t o HUPTree v i i là nút g c; Call ConstructLocalItemTable(i);
For each j (cid:0) LocalItemTable If (CWU(j) ≥ minutil) ủ
Gán j là nút con c a i trong HUPTree; Call ConstructLocalCUPTree(i); Call RecMine(i); ầ ử ệ ể ậ ợ Duy t HUPTree đ in t p ph n t có l i ích cao; } ướ ả ế ủ ụ ượ ọ ậ D i đây là mô t chi ti t các th t c đ c g i trong thu t toán CTU PRO+: ầ ử ự ả riêng – LocalItemTable Xây d ng b ng ph n t ỉ ố ụ ộ ấ C u trúc LocalItemTable: ch s c c b Local Index, mã ph n t ầ ử ố
g c ố ượ ầ ử ố ố ượ ủ – Item id, s l ng ph n t g c – Item Quantity, s l ng c a ph n t ầ ử ế chi u – Projection Index, CWU, AU. Procedure ConstructLocalItemTable(x) Input: GlobalCUPTree Output: LocalItemTable
For each occurrence of node x (cid:0) GlobalCUPTree{ 104 PathtoRoot{ For each j (cid:0)
If (j (cid:0) LocalItemTable) ố ượ ủ Tăng s l ng, CWU, AU c a j trong LocalItemTable lên; Else ư ươ ứ ng, CWU, AU t ng ng vào ố ượ
Đ a j và s l
LocalItemTable; } } ụ ể ầ ử ả ự
Ví d , đ xây d ng b ng ph n t ỉ ố
riêng – LocalItemTable cho ch s 5 ươ ứ ầ ử ệ ừ ẽ ố ể ỉ ố (t ớ
ng ng v i ph n t 2), s duy t t nút có ch s 5 lên g c đ tính CWU, ầ ử ệ ấ ầ ử ỉ ố AU cho các ph n t xu t hi n cùng ph n có t ỉ ố
ch s 5. Ta có ch s 2 ươ ứ ầ ử ệ ở ị (t ớ
ng ng v i ph n t ấ
1) xu t hi n 3 giao d ch nên có CWU({21}) = 205 + 185 + 125 = 515 và AU({21}) = (1+1+1) * 150 + (1+1+2) *10 = 490. T ngươ ầ ử ế ả ư Hình 2.17. ự ớ
t , v i các ph n t khác và ta có k t qu nh 105 ơ ở ữ ệ ế
Hình 2.. Khai phá trên C s d li u chi u 106 ẫ ợ ự i ích nén riêng – LocalCUPTree Xây d ng cây m u l ấ ả C u trúc nút trong LocalCUPTree: mã nút (nodeid), m ng CWU ị ợ ứ ớ ố ủ ứ ậ ả ọ ươ
t ng ng v i giá giá tr l i ích ng viên có tr ng s c a 1 t p, m ng con ỏ ứ ố ượ ươ ầ ử ứ ừ ị tr ch a s l ng t ủ ừ
ng ng c a t ng ph n t trong t ng giao d ch (giá tr ị ố ượ ố ầ ử ủ ế ố ượ
s l ng cu i cùng là s l ng c a ph n t ỏ ỏ ế
hình chi u), con tr tr đ n ỏ ỏ ế ứ nút anh em cùng m c, con tr tr đ n nút cha. Procedure ConstructLocalCUPTree(x) Input: GlobalCUPTree Output: LocalCUPTree GlobalCUPTree{ For each occurrence of x (cid:0)
ở ạ
Kh i t o mappedTrans;
For each j (cid:0) getIndex(j); ắ ầ ỉ ố ươ ứ LocalItemTable to root
mappedTrans = mappedTrans (cid:0)
ế
S p x p mappedTrans tăng d n theo ch s t ủ
ng ng c a ph n t ầ ử
; Call InsertToCUPTree(mappedTrans) } ừ ơ ở ữ ệ ế c s d li u hình chi u RecMine Khai phá t ầ ử ố ỉ ố ế ấ ồ ỗ C u trúc HUPTree: m i nút g m ch s chi u, ph n t g c, giá tr l ị ợ
i ự ế ủ ậ ầ ử ỉ ố ủ ế ộ ố ích th c t c a t p ph n t . Nút g c là nút ch s chi u i c a m t ph n t ầ ử ị ợ trong GlobalItemTable và giá tr l ủ
i ích c a nó. ưở ầ ử ự ộ Ý t ng: sau khi xây d ng xong LocalItemTable cho m t ph n t có ỉ ố ế ẽ
ch s chi u i s gán các ph n t ầ ử (cid:0)
j LocalItemTable trong HCWU là con ỉ ố ị ợ ế ố ồ ờ ủ
c a nút g c ch s chi u i, đ ng th i tính luôn giá tr l i ích th c t ự ế ủ ủ
c a c a ầ ử ầ ử ố ậ ớ ủ ơ ớ ậ
t p hai ph n t (ph n t ầ
g c và con c a nó). V i các t p l n h n hai ph n ệ ẽ ừ ỉ ố ủ ế ử
t thì s duy t LocalCUPTree t ế
các nút con c a ch s chi u i lên đ n ể ậ ậ ớ ữ
ị
ố
g c đ tìm các t p m i và tính giá tr CWU cho các t p đó. Sau đó nh ng 107 ầ ử ủ ớ ơ ớ ph n t ẽ
nào có CWU l n h n minutil s đính kèm v i con c a nút ch s ỉ ố ế
chi u i. Procedure RecMine(x) Input: LocalItemTable; LocalCUPTree Output: HUPTree For each child i (cid:0) x LocalCUPTree CWU[i] = 0;
For each occurrence i (cid:0)
For each j (cid:0) PathtoRoot ị ủ
Tăng giá giá tr CWU c a j trong LocalCUPTree; For each k (cid:0) LocalItemTable If (CWU(k) ≥ minutil) ủ ủ Tính AU c a k và gán là con c a i trong HUPTree RecMine(i); } ậ ạ ậ ị
i giá tr CWU C p nh t l ậ ợ ớ ề ố ẽ ậ ậ ạ Sau khi khai phá các t p l i ích cao v i ti n t i, s c p nh t l i giá tr ị ừ ằ ợ ề ố ủ ừ CWU b ng cách tr đi l ủ
i ích c a ti n t ấ
i trên t ng nhánh c a cây có xu t ầ ử ệ ụ ạ hi n ph n t i. Ví d , t i nút trên GlobalCUPTree trong Hình 2.16 sau ấ ả ậ ợ ớ ề ố ầ ử ỉ ố khi khai phá t t c các t p l i ích cao v i ti n t là ph n t ầ
ch s 5 (ph n ị ạ ầ ử ỉ ố ử ố
t ể
g c là 3) thì chuy n các giá tr còn l i lên nút cha (ph n t ch s 4) nh ư sau: ầ ử ỉ ố ể
Chuy n ph n t ch s 4 có CWU({4}) = 225 – 150 = 75 và s l ố ượ
ng = 15 lên nút cha. 108 ầ ử ậ ỉ ộ ỉ ố T p ph n t ch s {234} đã có trên nút cha nên ch g p các giá tr ị ố ượ ụ ể ớ CWU và s l ng v i nút cha. C th , CWU({234}) = 200 + (205 – 150) = ố ượ ươ ứ 255 và s l ng t ng ng là 3+1, 2+ 1, 20 +2. ế ử ụ N u s d ng mô hình TWU ta có TWU({4}) = 225 và TWU({234}) = ộ ưỡ ứ ầ ơ 200 + 205 = 405. Đây là m t ng ng cao h n m c c n thi ế ể ắ ỉ ứ
t đ c t t a ng viên. ươ ự ế T ng t , cho các nút và , ta có k t qu sau khi khai phá t p l
ả ậ ợ
i ớ ề ố ầ ử ỉ ố ích cao v i ti n t là ph n t ch s 5 nh ư Hình 2.18. ậ ỉ ố ử ầ
Hình 2.. GlobalCUPTree và GlobalItemTable sau khi khai phá các t p ph n
có ch s 5 t ể ậ ị
Hi n th các t p HU ứ ự ợ ự ế ủ Sau khi xây d ng cây HUP ch a các giá l i ích th c t ậ
c a các t p. ẽ ế ị ợ ể ệ ậ Khi đó s ti n hành duy t cây và ki m tra t p nào có giá tr l ơ
ớ
i ích l n h n ị ợ ố ể ể ị giá tr l i ích t i thi u minutil thì hi n th . 109 ộ ứ ạ ậ 2.5.2. Đ ph c t p tính toán thu t toán CTUPRO+ ệ ề ứ ạ ủ ậ ộ Đ ph c t p c a thu t toán CTUPRO+ trong tr ườ
ng M nh đ 2.5. 2n), trong đó n là t p t ấ ấ ậ ấ ả ầ ử ổ ợ
h p x u nh t là O(2 t c các ph n t ; m là t ng s ố ầ ử ố ị ấ ả ị ổ
giao d ch và v là t ng s các ph n t trong t t c các giao d ch. ứ Ch ng minh: + là t ườ ấ ấ ậ ợ ấ ả Tr ng h p x u nh t cho thu t toán CTUPRO t c các ph n t ầ ử ấ ả ự ế ợ ủ ệ ấ ậ
ề
đ u là các t p HCWU, t t c s k t h p c a nó xu t hi n trong m giao + có 3 b ấ ả ề ồ ạ ậ ị
d ch và là t t c các nhánh đ u t n t i. Thu t toán CTUPRO c:ướ ẫ ợ ự ậ ụ ể ư tìm t p HCWU, xây d ng cây m u l i ích nén và khai phá. C th nh sau: ậ ợ ể
+ Chi phí đ tìm t p l i ích cao là v + n. ự ể ầ + Chi phí đ xây d ng GlobalCUPTree c n: ầ ử ế ắ ấ ầ ử ị ớ
S p x p n (l n nh t là n ph n t trong 1 giao d ch) ph n t trong 2 ; ị
m giao d ch là m * n Chèn 2n1 nút vào cây. k (2 ≤ k ậ ợ ể ỗ ậ ứ ớ + Đ khai phá t p l i ích cao, v i m i t p ng viên cao HCWU ệ ự
≤ n) th c hi n: ự ầ ừ Xây d ng LocalCUPTree c n duy t 2 ệ (k2) nút t GlobalCUPTree; (nk)1) nhánh và 2(nk) t p ng
ậ ứ ề ấ Cây LocalCUPTree có nhi u nh t (2 viên; 2 và chi phí chèn ầ ử ớ ế ỗ ầ ắ
M i nhánh c n s p x p k ph n t v i chi phí là k ầ ử k ph n t vào cây LocalCUPTree là k. ườ ợ ồ Nên chi phí khai phá trong tr ng h p t ấ
i nh t là . + là (v + n) + (v ộ ứ ạ ủ ậ ậ Do v y, đ ph c t p tính toán c a thu t toán CTUPRO + m * n2 + 2n1) + = O(22n). 110 ử ụ ậ ấ ươ ự ư Thu t toán CTUPRO+ s d ng c u trúc cây CUP t ng t ậ
nh thu t 2n). Nh ng thu t toán ứ ạ ộ ư ậ toán CTUPRO [23] và có cùng đ ph c t p là O(2 ử ụ ượ ứ ố ơ CTUPRO+ s d ng mô hình CWU đã đ c ch ng minh t ắ
t h n trong c t ế ả ớ ỉ ứ
t a ng viên, gi m không gian tìm ki m so v i mô hình TWU đ ượ ử ụ
c s d ng ọ ườ ậ ậ ợ trong thu t toán CTUPRO. Do v y, trong m i tr ậ
ng h p thu t toán CTU ề ố ơ ư ế ậ PRO+ đ u t ề ờ
t h n thu t toán CTUPRO v th i gian tính toán nh k t qu ả ự ệ ầ trong ph n th c nghi m. ả ự ế ệ 2.5.3. K t qu th c nghi m ế ệ ầ ậ ả ự
Trong ph n này, so sánh k t qu th c hi n thu t toán CTUPRO+ s ử ậ ớ ụ
d ng mô hình CWU v i thu t toán Two Phase [39], CTUPRO [23]. ườ ữ ệ
ng và d li u Môi tr ậ ượ ự ệ Thu t toán đ ớ
c th c hi n trên máy tính IBM core 2 due 2.4GHz v i 2 ạ ộ ớ ươ ượ ế ằ GB b nh , ch y trên Windows 7. Ch ng trình đ c vi t b ng Visual C+ ữ ệ ử ệ ồ ượ + 2010. D li u th nghi m g m: T5N5D100K và T10N5D100K đ c sinh ộ ữ ệ ữ ệ ủ ủ ể ặ ượ ả ừ ộ
t b sinh d li u c a IBM. Đ c đi m c a b d li u đ c mô t phía d i: ướ Database
T5N5D100K
T10N5D100K T
5
10 D
100.000
100.000 N
1.000
1.000 ầ ử ố ộ ố ị trong đó T – s ph n t trung bình trong m t giao d ch; N – s ph n t ầ ử ố ị khác nhau; D – s giao d ch. ộ ữ ệ ị ợ ư ề ừ Các b d li u này đ u ch a có giá tr l i ích ngoài cho t ng ph n t ầ ử
và ỉ ị ế ầ ử ố ượ ệ ấ ậ trong các giao d ch ch cho bi t ph n t xu t hi n. Do v y, s l ng cho ầ ử ỗ ỗ ị ượ ẫ ớ ị m i ph n t trong m i giao d ch đ c sinh ng u nhiên v i giá tr thu c t ộ ừ
1 ợ ầ ử ừ ỗ ế
đ n 10 và l ủ
i ích ngoài c a m i ph n t t ế
0.1 đ n 10. Hình 2.19 cho bi tế ổ ợ ệ vi c phân b l ủ
i ích ngoài c a các ph n t ầ ử
. 111 ố ợ ể ồ ầ ử Hình 2.. Bi u đ phân b l ủ
i ích ngoài c a các ph n t trên T5N5D100K ố ứ ự ệ ờ Th i gian th c hi n và s ng viên + v i các
ớ ả ự ữ ệ ế ậ K t qu th c nghi m, so sánh gi a thu t toán CTUPRO ộ ữ ệ ậ ượ thu t toán TwoPhase, CTUPRO trên b d li u T5N5D100K đ c th ể ệ ự ệ ề ờ hi n trong ổ
Hình 2.20 v so sánh th i gian th c hi n khai phá khi thay đ i ưỡ ợ ố ự ệ ng ng l i ích t i thi u. ề ờ
ể Hình 2.21 so sánh v th i gian th c hi n khai phá ổ ưỡ ợ ố ơ ở ữ ệ ể khi thay đ i ng ng l i ích t i thi u trên c s d li u T10N5D100K. ữ ệ ự ờ ệ
Hình 2.. Th i gian th c hi n trên d li u T5N5D100K 112 ữ ệ ự ờ ệ
Hình 2.. Th i gian th c hi n trên d li u T10N5D100K ế ậ ươ 2.6. K t lu n ch ng ươ ứ ề ậ ả Ch ậ
ế
ng 2, lu n án đã trình bày các k t qu nghiên c u v khai phá t p ậ ợ ề ệ ầ ấ ả ợ
l i ích cao. Đ u tiên, đ xu t mô hình hi u qu cho khai phá t p l i ích cao ờ ề ỉ ố ự ậ ả ấ ồ CWU [II] đ ng th i đ xu t thu t toán HP [II] d a trên b ng ch s . Tính ủ ắ ượ ứ ị Đ nh lý 2.1 đúng đ n c a mô hình CWU đ c ch ng minh qua ị
và Đ nh lý ố ượ ứ ượ ừ ỏ ơ 2.2. S l ng ng viên đ c sinh t ặ
mô hình CWU luôn nh h n ho c ể ệ ệ ề ệ ề M nh đ 2.1 ằ
b ng mô hình TWU th hi n qua và M nh đ 2.2 . K t quế ả ự ệ ụ ậ ấ th c nghi m t ừ Hình 2.32.7 cho th y thu t toán HP áp d ng mô hình CWU ố ượ ậ ứ ự ệ ơ ơ ờ cho s l ậ
ng t p ng viên ít h n và th i gian th c hi n nhanh h n thu t ơ ở ữ ệ toán Two Phase [39] và PB [15] trên c s d li u T30I4D100K và Mushroom. ề ế ấ ậ Ti p theo, đ xu t thu t toán song song PPB [V] trên mô hình chia s ẻ ậ ợ ớ ỉ ố ế ợ ộ
b nh khai phá t p l i ích cao ử ụ
s d ng ch s hình chi u, danh sách l i ích ươ ị ợ ữ ư ầ ử ị ộ
và m t ph ng pháp l u tr giá tr l ủ
i ích c a ph n t trên các giao d ch đ ể ợ ế tính nhanh giá tr ị iutil và rutil trong danh sách l i ích. ệ
ả ự
K t qu th c nghi m ố ượ ự ệ ấ ơ ờ ừ Hình 2.122.15 cho th y th i gian th c hi n nhanh h n và s l
t ứ
ng ng ộ ố ậ ơ ớ ơ ở ữ ệ
viên sinh ra ít h n so v i m t s thu t toán khác trên c s d li u T30I4D100K và Mushroom. 113 ầ ố ươ ề ậ ậ ấ Ph n cu i ch ng, lu n án đ xu t thu t toán CTUPRO+ [III] đ ượ
c ậ ử ụ ẫ ợ ả ế ừ
c i ti n t thu t toán CTUPRO [23] s d ng cây m u l i ích nén ở ộ ố
m t s ứ ự ả ầ ợ ự ệ ể ầ ử đi m: th c hi n khai phá theo th t gi m d n l ủ
i ích c a ph n t , thay ử ụ ủ ả ổ ấ
đ i c u trúc c a b ng GlobalItemTable và LocalItemTable, s d ng mô ể ả ố ượ ậ ứ ử ế ệ ừ Hình hình CWU đ gi m s l ng t p ng viên. K t qu t ả h nghi m t ậ ậ ớ 2.20 và Hình 2.21 so sánh thu t toán CTUPRO+ v i hai thu t toán Two ơ ở ữ ệ ờ Phase [39] và CTUPRO [23] trên c s d li u T5N5D100K cho th i gian ự ệ ơ th c hi n nhanh h n. 114 ƯƠ Ậ Ợ Ậ CH NG 3. THU T TOÁN KHAI PHÁ T P L I ÍCH CAO Ợ Ấ TRÊN CÂY DANH SÁCH L I ÍCH VÀ C U TRÚC RTWU ươ ệ ề ậ ả ấ ộ Trong ch ng 2, lu n án đã đ xu t m t mô hình CWU hi u qu cho ậ ợ ụ ậ khai phá t p l i ích cao và áp d ng mô hình này vào các thu t toán HP, ươ ắ ỉ ề ệ ậ CTUPRO+. Trong ch ấ ấ
ng này, lu n án đ xu t c u trúc c t t a hi u qu ả ậ ợ ầ ậ
ậ ứ
t p ng viên và thu t toán khai phá t p l ụ ể
i ích cao. C th ph n 3.1 đ ề ấ ấ ẫ ợ xu t c u trúc cây m u l ế ợ
i ích nén (Compressed Utility Pattern – CUP) k t h p ợ ậ ợ ậ danh sách l i ích và thu t toán HUIGrowth [IV] khai phá t p l i ích cao đ ượ
c ầ ầ ề ấ ấ ắ ỉ ệ trình bày trong ph n 3.2. Trong ph n 3.3, đ xu t c u trúc c t t a hi u qu ả ầ ự ự ậ ậ ứ
t p ng viên – RTWU [VI], xây d ng thu t toán tu n t EAHUIMiner ậ ợ ậ [VI] và thu t toán song song – PEAHUIMiner [VI] khai phá t p l i ích cao ấ ượ ự
d a trên c u trúc RTWU đ c trình bày trong 3.3 và 3.4. ữ ệ ậ ợ ệ ấ ả 3.1. C u trúc d li u hi u qu cho khai phá t p l i ích cao ậ ợ ậ ử ụ ấ Trong thu t toán khai phá t p l i ích cao s d ng c u trúc cây có ư ỗ ỉ ư ữ ế ạ ộ nh ng h n ch nh m i nút trên cây ch l u tr ữ ượ
đ c m t ph n t ầ ử ẫ
, d n ơ ữ ầ ử ả ượ ắ ế
đ n kh năng nén không cao. H n n a, các ph n t trong cây đ ế
c s p x p ơ ắ ẽ ề ế ầ ả ả ố ầ
gi m d n theo TWU nên s nút trong cây s nhi u h n s p x p gi m d n ữ ư ế ầ ấ ố theo t n su t, làm t n không gian l u tr và tìm ki m. ậ ợ ự ậ ộ Năm 2012, Liu và c ng s [38] trình bày thu t toán khai phá t p l i ích cao ứ ậ ả ử ụ không sinh viên ng viên. Trong thu t toán nhóm tác gi ấ
s d ng c u trúc danh ợ ủ ậ ể ư ầ ử sách l ữ
i ích (utilitylist) đ l u tr thông tin c a t p ph n t ắ ỉ
và thông tin c t t a ế ậ ượ ố ơ ả ề ờ không gian tìm ki m. Đây là thu t toán đ c đánh giá t t h n c v th i gian ử ụ ự ệ ậ ộ ớ ớ th c hi n nhanh và s d ng b nh so v i thu t toán UPGrowth [62] và UP Growth+ [60]. 115 ụ ư ụ ữ ế ể ắ ạ ấ ậ ể
Đ kh c ph c nh ng h n ch trong c u trúc cây và t n d ng u đi m ợ ộ ấ ầ ậ ủ
c a danh sách l ẫ
i ích, trong ph n này lu n án trình bày m t c u trúc cây m u ế ợ ợ ỗ ợ
l i ích nén (CUP) k t h p danh sách l ứ ậ
i ích [IV], trong đó m i nút ch a t p ầ ử ợ ể ắ ỉ ủ ệ ấ ph n t và danh sách l ả ậ
i ích c a nó. C u trúc này có th c t t a hi u qu t p ứ ư ữ ả ế
ng viên làm gi m không gian tìm ki m và l u tr . Trong cây các ph n t ầ ử ệ ế ả ầ ầ ấ ấ ả ấ ố ượ ắ
đ ệ
c s p x p gi m d n theo t n su t xu t hi n, làm gi m s nút xu t hi n ệ ắ ế ả ự ế ệ ấ ớ ậ
trong cây so v i vi c s p x p theo TWU. K t qu th c nghi m cho th y thu t ự ệ ậ ơ toán HUIGrowth [IV] th c hi n nhanh h n các thu t toán UPGrowth [62], d2HUP [37], HUIMiner [38]. ể ậ ả ư ệ ậ ệ
Đ thu n ti n trong gi i thích các khái ni m, lu n án đ a ra m t c s ộ ơ ở ị ả ợ ủ B ng 3.1 ả
ầ ử B ng 3.2. ữ ệ
d li u giao d ch – ả
và B ng l i ích c a các ph n t Tid Giao dịch T1 b:1, c:2, d:1, g:1 T2 a:4, b:1, c:3, d:1, e:1 T3 a:4, c:2, d:1 T4 c:2, e:1, f:1 T5 a:5, b:2, d:1, e:2 T6 a:3, b:4, c:1, f:2 T7 d:1, g:5 Bảng 3.. Bảng lợi ích của các phần tử ả ị ơ ở ữ ệ
B ng 3.. C s d li u giao d ch G A b c d e f Ph nầ
tử
ợ
L i ích 1 2 1 5 4 3 1 ầ ử ỏ ơ ợ ố ạ
Sau khi đã lo i các ph n t có TWU nh h n l i ích t ể
i thi u ầ ử ế ệ ầ ầ ấ ả ắ
(minutil=30) và s p x p các ph n t ấ
theo t n su t xu t hi n gi m d n ta ượ ế ả
ư B ng 3.3 đ ả ơ ở ữ ệ
c k t qu c s d li u nh . Tid Giao dịch TU 1 c:2, d:5, b:2 9 2 c:3, d:5, a:4, b:2, e:4 18 3 c:2, d:5, a:4 11 ả ị ượ ắ B ng 3.. CSDL giao d ch đã đ c s p. 116 4 c:2, e:4 6 5 d:5, a:5, b:4, e:8 22 6 c:1, a:3, b:8 12 7 d:5 5 3.1.1. Mô tả cấu trúc cây CUP ẽ ệ ầ ậ ấ Trong ph n này, lu n án s trình bày khái ni m, c u trúc cây CUP. ượ ả ế ằ ậ ở ự
Quá trình xây d ng cây CUP đ c mô t chi ti t b ng thu t toán ầ
ph n cu i. ố (cid:0) ị ầ ử ậ ợ ị ậ
[IV] Cho t p ph n t A ( giao d ch T), t p h p các Đ nh nghĩa 3.1. ầ ử ầ ử ầ ủ ệ ph n t phía tr ướ ớ
c t i ph n t đ u tiên c a A trong T ký hi u pri(A, T), ượ ị đ c đ nh nghĩa là pri(A, T) = {i | i (cid:0) T (cid:0) i ≻ A.first_item}. (cid:0) ị ậ ợ [IV] Cho t p A ( ị
giao d ch T), l i ích tr ướ ủ ậ
c c a t p Đ nh nghĩa 3.2. ệ ổ ị ợ ủ ấ ả A trong giao d ch T, ký hi u au(A, T), là t ng l i ích c a t t c các ph n t ầ ử trong pri(A,T) và ị ầ ử ợ ướ ủ ậ
[IV] Cho t p ph n t A, l i ích tr ệ
c c a A ký hi u Đ nh nghĩa 3.3. ổ ợ ướ ủ ấ ả ứ au(A), là t ng l i ích tr c c a A trong t ị
t c các giao d ch có ch a A, ị ủ ậ ộ [IV] TList(X) c a t p X là m t danh sách các giao Đ nh nghĩa 3.4. ứ ậ ị d ch Tid có ch a t p X. ị ồ [IV] Nút N trên cây CUP bao g m N.Itemset, N.IUtil, Đ nh nghĩa 3.5. N.RUtil, N.TList, N.UList, N.Parent, N.Links và N.Childs, trong đó ầ ử ủ ị ợ ậ ủ N.Itemsets là t p ph n t c a nút, N.IUtil là giá tr l i ích c a N.Itemsets, ợ ạ ủ ị N.RUTil là l i ích còn l i c a N.Itemsets, N.TList là danh sách các giao d ch ứ ộ ợ ủ ừ ầ ử ch a N.Itemsets, N.UList là m t danh sách l i ích c a t ng ph n t trong ươ ỏ ỏ ế ủ ứ ớ N.Itemsets t ng ng v i N.TList, N.Parent là con tr tr đ n cha c a nút 117 ầ ử ỏ ỏ ế
N, N.Links là danh sách con tr tr đ n các nút có cùng các ph n t trong ỏ ỏ ế ủ cây, N.Childs là danh sách con tr tr đ n các nút con c a nó. ệ ủ ầ ử ầ ấ ấ ể ượ T n su t xu t hi n c a các ph n t trong N.Itemsets có th đ c xác ố ượ ủ ị
đ nh thông qua s l ng tid trong TList c a nút. ị ỏ ỏ ế ố ồ
[IV] Cây CUP có nút g c g m các con tr tr đ n các Đ nh nghĩa 3.6. ừ ủ ế ố ượ ắ ứ ự ầ ế con c a nó. T nút g c đ n nút N đ c s p x p theo th t ấ
ấ
t n su t xu t ế ầ ệ ế ệ ầ ả ấ ắ ằ ấ hi n gi m d n. N u t n su t xu t hi n b ng nhau, s p x p theo th t ứ ự ừ
t ầ ử ể ượ ắ ế ầ ả đi n. Các ph n t trong N.itemsets cũng đ ầ
c s p x p gi m d n theo t n ệ ấ ấ
su t xu t hi n. ệ ể ộ ả ứ Đ duy t cây CUP t ừ ướ
d i lên, m t b ng (HeaderTable) ch a các con ỏ ỏ ế ồ ủ
tr tr đ n nút ngoài cùng bên trái c a cây CUP g m: Item, TWU, SupCnt, Link. ụ ư ầ ử ậ ồ Ví d , nh trong Hình 3.1 g m có t p ph n t {cd} có RUtil({cd}) = 0; ươ ứ TList({cd}) = {1, 2, 3}; UList({cd}) = ([2, 3, 2], [5, 5, 5]) t ng ng là UList ươ ứ ớ ị ủ
c a c và d t ng ng v i các giao d ch 1, 2, 3. ụ ề Hình 3.. Ví d v nút trong cây CUP ự ồ ướ ượ Quá trình xây d ng cây CUP g m các b c đ c mô t ả ở ướ
d i. Đ ể ậ ả ỉ ả ầ ử ơ
đ n gi n trong lu n án ch mô t quá trình chèn các ph n t vào cây, còn ẽ ượ ầ ị ả các ph n tính toán các giá tr RUtil, TList, UList s đ c mô t ầ
trong ph n ả mô t ậ
thu t toán. 118 ướ ệ ữ ệ ầ ộ ỗ ợ ể ế B c 1, duy t d li u l n 1 đ đ m đ h tr (support) và tính TWU ầ ử ừ cho t ng ph n t . ệ ừ ầ ử ư ớ ơ ướ
B c 2, ị
duy t t ng giao d ch, đ a các ph n t có TWU l n h n ng ưỡ
ng ố ắ ế ầ ử ả ể ợ
l i ích t i thi u vào danh sách. Sau đó s p x p các ph n t ầ
ầ
gi m d n theo t n su t. ấ ướ ự B c 3, xây d ng cây CUP. ư ừ ự ệ ằ ị Th c hi n chèn b ng cách l u t ng giao d ch vào danh sách ph n t ầ ử
và ầ ử ắ ầ ừ ư ố chèn danh sách ph n t này vào cây b t đ u t nút g c nh sau: ướ ệ ạ ủ ể B c 3.1, ki m tra các nút con N c a nút hi n t i và so sánh các ph n t ầ ử ầ ử ớ ạ ớ ả trong N.Itemset v i các ph n t trong danh sách chèn còn l i v i các kh năng ư
ả
x y nh sau: ế ấ ả ầ ử ố N u t t c các ph n t ỉ
gi ng nhau thì ch thêm tid vào TList. ầ ử ầ ề ế ặ ạ ố N u không có 1 ho c nhi u ph n t đ u tiên gi ng nhau thì t o nút ệ ạ ồ ầ ử ớ ạ ủ
m i là con c a nút hi n t i g m: itemsets là các ph n t còn l i trong danh sách. ầ ử ầ ề ế ộ ố ặ
N u có m t ho c nhi u ph n t đ u tiên gi ng nhau thì nút N ch ỉ ầ ử ầ ố ạ ủ ồ
g m ph n gi ng nhau, các ph n t khác nhau còn l ộ
i c a nút N thành m t ầ ử ủ ầ ử ủ nút con c a nút N, các ph n t khác nhau c a danh sách ph n t còn l ạ
i ủ ộ thành m t nút con c a nút N. ụ ọ 3.1.2. Ví d minh h a cây CUP ớ ơ ở ữ ệ ự ầ ọ Trong ph n này minh h a quá trình xây d ng cây v i c s d li u giao ả ệ ể ạ ỏ ớ B ng 3.1 ị
d ch trong v i minutil = 30. Sau khi duy t đ lo i b các ph n t ầ ử ắ ế ỏ ơ ả ấ ầ ấ ầ có TWU nh h n minutil và s p x p gi m d n theo t n su t xu t hi n đ ệ ượ
c ả
ả ư B ng 3.3. ế
k t qu nh 119 ướ ả ị ư Hình ọ
D i đây là các hình nh minh h a chèn giao d ch vào cây CUP nh 3.2. 1, T2 ị Hình 3.. Cây CUP sau khi chèn giao d ch T ệ ươ ự ự ớ ị ạ ế ả Th c hi n t ng t v i các giao d ch còn l ự
i, k t qu sau khi xây d ng ượ ụ cây ta đ c cây CUP toàn c c nh ư Hình 3.3. 120 Hình 3.. Cây CUP toàn c cụ ượ ả ế ự
Quá trình xây d ng cây CUP đ c mô t chi ti ư
t nh sau: Procedure ConstructGlobalCUPtree() Input: ưỡ ợ D CSDL giao d ch,
ợ
ả
B ng l
minutil ng ị
ầ ử
ỗ
,
i ích m i ph n t
ể
ố
i thi u
i ích t
ng l Output: Cây CUP toàn c cụ
ạ ả //Tính TWU và t o b ng HeaderTable (Htable)
For each t (cid:0) t { D {
For each i (cid:0)
If (i (cid:0) Htable) {
Htable.TWU(i) = Htable.TWU(i) + TU(t);
SupCnt(i) = SupCnt(i) + 1; }
If (i (cid:0) HTable)
Chèn (i, 1, TU(t)) vào Htable 121 } }
ListEraseItems =
For each item (cid:0) Htable If (TWU(i) < minutil) ListEraseItems = ListEraseItems (cid:0) item; ỗ ế ừ ố ớ ộ ỗ ợ ả ầ //N u Htable r ng thì d ng
If Empty(Htable), Exit(1);
ự
// Xây d ng cây
ạ
T o nút g c T v i T.Itemsets = NULL;
ắ
ế
S p x p HeaderTable gi m d n theo đ h tr (SupCnt)
For each t (cid:0) t D {
For each i (cid:0)
If (i (cid:0) ạ ỏ ỏ ListEraseItems)
ầ ử
Lo i b ph n t i kh i ListEraseItems; ầ ử ế ắ ạ ầ ả ị S p x p các ph n t còn l i trong giao d ch t gi m d n theo SupCnt; InsertCUPtree(t.itemset, T, tid, 0);
ế } // K t thúc hàm ConstructGlobalCUPtree() ủ ụ ị ượ ắ ầ ử ả ế ộ
Th t c chèn m t giao d ch đã đ c s p x p các ph n t ầ
gi m d n ượ ướ theo SupCnt đ c trình bày d i đây. Procedure InsertCUPtree(P, T, tid, RU) Input: ầ ử ượ ắ ế ầ ấ P – danh sách ph n t đã đ c s p x p theo t n su t; T – nút hi n t ệ ạ
i,
ị
tid – id giao d ch, ị ợ ạ ị RU – giá tr l i ích còn l i trong giao d ch tid. Output: Cây CUP đã chèn danh sách P , return; ấ ả ầ ử ố t c các ph n t trong itemsets gi ng các If P = (cid:0)
ế
//N u T có 1 nút con N có t
ầ ử
ph n t trong P 122 For each ch (cid:0) T.childs { N = T.childs[ch]; If (N.Itemsets P; P) {≡
Thêm tid vào N.TList;
Thêm U(i,tid) vào N.UList(i), v i iớ (cid:0)
N.IUtil = N.IUtil + ; N.RUtil = N.RUtil + RU; P.first_item) { }
Else If (N.Itemsets.first_item (cid:0)
ủ
ầ ử ầ ạ ố đ u nào c a N.itemsets và P gi ng nhau. T o nút ủ ớ //Không có ph n t
m i làm con c a nút N 1;
T o nút m i N
N1.Itemsets = P; ạ ớ P; Thêm Tid vào N1.TList;
Thêm U(i,tid) vào N1.UList(i), v i iớ (cid:0)
N1.IUtil = ;
N1.RUtil = RU; N1.parent = N;
N1.hlinks[] = nút M sao cho N.item = M.item; } ố ầ ầ ử ầ Else {
//Có các ph n t P.header}
N.Itemsets_header (cid:0) i (cid:0) Xk};
P.header (cid:0) i (cid:0) Xk};
) { ạ ớ ph n đ u gi ng nhau
Xk = {i | i(cid:0) N.Itemsets_header (cid:0) i (cid:0)
Itemset1 = {i | i (cid:0)
Itemset2 = {i | i (cid:0)
(cid:0)
If (Itemset1 (cid:0)
+ T o nút m i N ầ ử (cid:0) N và (cid:0) ứ
1; //Nút N1 ch a các ph n t Xk + N1.Itemset = Itemset1;
+ N1.TList = N.TList; + N1.UList(i) = N.UList(i);
+ N1.IUtil=N.IUtil ; + N1.RUtil = N.RUtil + ; 123 + N1.parent = N;
ể
+ Chuy n N.childs thành N1.childs; ồ ầ ử ố }
//Nút N g m các ph n t gi ng nhau X
k (cid:0) Xk; N.Itemsets = Xk;
Thêm tid vào N.TList;
Xóa N.UList(i), v i i ớ (cid:0)
Thêm U(i,tid) vào UList(i), v i i ớ (cid:0) Xk;
N.IUtil= N.IUtil + – N1.IUtil;
N.RUtil = N.RUtil + RU; RU = ;
P = P \ Xk; T = N; 2; ) {
ớ ạ InsertCUPtree(P, T, tid, RU);
(cid:0)
If (Itemset2 (cid:0)
+ T o nút m i N + N2.Itemset = Itemset2;
+ Thêm tid vào N2.TList;
+ Thêm U(i,tid) vào N2.UList(i), v i i ớ (cid:0) P;
+ N2.IUtil = ; + N2.RUtil = RU; ế } //K t thúc If ế } //K t thúc Else ế }//K t thúc For ậ 3.2. Thu t toán HUIGrowth ự ậ ợ ượ Sau khi xây d ng cây CUP, các t p l i ích cao đ ằ
c tìm ra b ng ươ ệ ươ ự ư ậ ph ng pháp đ quy t ng t nh thu t toán FPGrowth [30]. Quá trình ậ ợ ượ ự khai phá t p l i ích cao trên cây CUP đ c duy t t ệ ừ ướ
d ả
i lên d a vào b ng ầ ầ ấ ộ ố HeaderTable. Đ u tiên, l y m t ph n t a ả
ử i cu i cùng trong b ng ự ỏ ể HeaderTable, d a vào con tr liên k t c a a ỏ
ế ủ i tr vào nút N ẫ
i đ tìm các m u ệ ề ế ậ ượ ả ướ đi u ki n v i h u t t thu t toán đ c mô t phía d i. ớ ậ ố i. Chi ti
a 124 ậ ợ ậ ừ //Thu t toán khai phá t p l i ích cao t cây CUP prefix, TList prefix) ậ Thu t toán 3.1. Function HUIGrowth(CUPtree, prefix, UList Input: CUPtree; ưỡ ố ợ i ích t ể
i thi u; minutil ng
ậ
prefix – t p ph n t ng l
ầ ử ề ố
; ti n t
ợ ậ UListprefix – danh sách l i ích t p prefix;
ứ ậ ị TListprefix – danh sách giao d ch ch a t p prefix. Output: ậ ợ Các t p l i ích cao HUs If (singlePath ) saveAllComsOfPrefixPath (CUPtree, prefix, UListprefix, TList prefix); Else { For (int i = tree. HeaderTable.size() 1; i >= 0; i ) { item) và RU(prefix (cid:0) Item); item) >= minutil) item = tree. HeaderTable.get(i);
Tính: U(prefix (cid:0)
If (U(prefix (cid:0)
ư ậ ị ợ ớ
i ích
item) vào HUs; Đ a t p (prefix + item) v i giá tr l
là U(prefix (cid:0)
item) + RU(prefix (cid:0) If (U(prefix (cid:0) Item) >= minUtil) { prefix(cid:0) item và TListprefix(cid:0) item ự
Xây d ng UList (cid:0) ệ ủ ẫ ị ề
Xác đ nh m u đi u ki n c a prefix item prefix(cid:0) item ự ề ệ Xây d ng HeaderTable cho cây đi u ki n CUP ự (cid:0) ệ
ệ ủ Xây d ng cây CUP
t item item, HUIGrowth (CUPprefix(cid:0) item, UListprefix(cid:0) ề
item đi u ki n
prefix(cid:0)
ề
ừ ẫ
m u đi u ki n c a prefix
item, prefix(cid:0)
item); TListprefix(cid:0) }
}//End of For }//End of Else Return HUs; 125 ụ ọ ậ 3.2.1. Ví d minh h a thu t toán HUIGrowth ụ ừ ụ ớ ưỡ ợ ố Ví d , t cây CUP toàn c c trong Hình 3.3 v i ng ng l i ích t ể
i thi u ủ ụ ầ ọ ố minutil = 30. Đ u tiên, g i hàm cho nút g c c a cây CUP toàn c c HUI Growth(root, , Null, Null). ẽ ự ệ ệ ề ầ
Cây đang có nhi u nhánh, nên s th c hi n dòng l nh 2.1, ta có e là ph n ượ ư ử ầ
t đ u tiên đ c xét, U(e) = (6 – 2) + (17 – 9) + 4 = 16 < 30 nên không đ a e vào ư HUs. Nh ng ta có, RU(e) = (12 + 2) + (5 + 9) + 2 = 30 và U(e) + RU(e) = 16 + 30 ệ ủ ề ẫ
= 46 > 30 nên ta tìm m u đi u ki n c a e nh ư Hình 3.4. ệ ủ ầ ử ẫ ề
Hình 3.. M u đi u ki n c a ph n t e ầ ử ầ ầ ử ả ắ ấ ủ
Tính t n su t c a các ph n t ế
, sau đó s p x p các ph n t ầ
gi m d n ấ ệ ủ ầ ử ầ ấ ậ ố ồ theo t n su t xu t hi n c a các ph n t có h u t e g m: a:2, b:2, c:2, d:2. ự ệ ề ư Hình 3.5. Xây d ng cây CUP đi u ki n cho {e} nh 126 ệ ủ ề Hình 3.. Cây CUP đi u ki n c a {e} ừ T cây CUP ế ụ ọ ệ
{e}, ti p t c g i đ quy HUIGrowth(CUP{e}, {e}, UList{e}, {e} theo th t ệ ứ ự ừ ế ượ ẫ t ố
lá đ n g c tìm đ ề
c m u đi u TList{e}). Duy t cây CUP ệ ủ ề ệ ướ ki n và cây đi u ki n c a {de} – CUP c trên. ư
{de} nh các b ươ ự ậ ố ế ậ T ng t , xét ti p các t p có h u t là e. Sau khi xét xong ph n t ầ ử
e, ế ụ ầ ử ồ ế
ti p t c xét ti p các ph n t trong HeaderTable t ừ ướ
d i lên g m: d, c, b, a. ố Cu i cùng, tìm đ ượ ậ ợ
c t p l i ích cao HUs ={ade, abde}. ộ ứ ạ ậ 3.2.2. Đ ph c t p thu t toán HUIGrowth ề ệ ứ ạ ủ ậ ộ Đ ph c t p c a thu t toán HUIGrowth trong tr ườ
ng M nh đ 3.1. 2n), trong đó n là t p t ấ ấ ậ ấ ả ầ ử ổ ợ
h p x u nh t là O(2 t c các ph n t ; m là t ng s ố ầ ử ố ị ấ ả ị ổ
giao d ch và v là t ng s các ph n t trong t t c các giao d ch. ứ Ch ng minh: ườ ấ ấ ợ ấ ả Tr ậ
ng h p x u nh t cho thu t toán HUIGrowth là t ầ
t c các ph n ớ ơ ưỡ ọ ự ế ợ ủ ủ ử ề
t đ u có TWU l n h n ng ng minutil và m i s k t h p c a c a nó 127 ấ ả ậ ồ ị ướ trong t t c các giao d ch. Thu t toán HUIGrowth g m 3 b ậ
c: Tìm t p ự ụ ể
TList, UList; Xây d ng cây CUP và khai phá. C th , ậ ợ ớ + Tìm t p l i ích cao v i chi phí là v + n; ầ ự
+ Chi phí xây d ng cây CUP c n: 2; ầ ử ế ắ ị S p x p danh sách n ph n t trong m giao d ch là m * n Chèn 2n – 1 vào cây; k (2 ≤ k ậ ợ ể ỗ ậ ứ ớ + Đ khai phá t p l i ích cao, v i m i t p ng viên cao HCWU ệ ự
≤ n) th c hi n: ự ầ Xây d ng UList, TList c n duy t 2 ệ k1 nút trong cây CUP; nk+1; ề ệ ị ẫ
Xác đ nh m u đi u ki n là 2 ự Xây d ng Htable là k; nk+11 nhánh, m i nhánh c n s p x p c n
ầ ự ầ ắ ế ỗ Xây d ng cây CUP có 2 2 và chèn k ầ ử ề ế ấ ế ắ ắ
s p x p nhi u nh t k ph n t nên chi phí s p x p là k ầ ử ph n t vào cây CUP. ứ ạ ủ ậ ậ ộ Do v y, đ ph c t p tính toán c a thu t toán HUIGrowth là (v + n) + (v + m * n2 + 2n1) + = O(22n). ả ự ế ệ 3.2.3. K t qu th c nghi m ả ự ế ệ ầ ậ ậ Trong ph n này, lu n án so sánh k t qu th c hi n thu t toán HUI ớ ầ ậ
Growth [IV] v i thu t toán: UPGrowth [62], HUIMiner [38]. Đ u tiên gi ớ
i ề ữ ệ ệ ườ ể ử ế ế thi u v d li u và môi tr ệ
ng dùng đ th nghi m. Ti p theo là k t qu ả ự ự ệ ệ ề ờ
th c nghi m v th i gian th c hi n. ườ ữ ệ
ng và d li u Môi tr ậ ượ ự ệ Thu t toán đ ớ
c th c hi n trên máy tính IBM core 2 due 2.4GHz v i ạ ớ ộ ươ ượ ế ằ 4GB b nh , ch y trên Windows 7. Ch ng trình đ c vi t b ng Visual 128 ữ ệ ử ệ ồ ớ ặ
C++ 2010. D li u th nghi m g m: Mushroom và T40I10D100K v i đ c ủ ộ ữ ệ ể ượ ả ướ đi m c a b d li u đ c mô t phía d i: Mushroom 23 8.124 119 T40I10D100K 40 100.000 942 trong đó T – số phần tử trung bình trong một giao dịch; N – số phần tử khác nhau; D – số giao dịch. ộ ữ ệ ị ợ ư ề Các b d li u này đ u ch a có giá tr l ủ
i ích ngoài c a các ph n t ầ ử
và ỉ ị ế ầ ử ố ượ ệ ậ ấ trong các giao d ch ch cho bi t ph n t xu t hi n. Do v y, s l ng cho ẩ ử ỗ ỗ ị ượ ẫ ớ ị m i ph n t trong m i giao d ch đ c sinh ng u nhiên v i giá tr thu c t ộ ừ
1 ợ ầ ử ừ ỗ ế
đ n 10 và l ủ
i ích ngoài c a m i ph n t t ế
0.01 đ n 10. ự ờ ệ
Th i gian th c hi n ả ự ế ệ ờ K t qu th c nghi m, trong Hình 3.6 và Hình 3.7 so sánh th i gian ự ệ ớ ưỡ ợ ộ ữ ệ ủ th c hi n v i các ng ng l i ích khác nhau c a 2 b d li u Mushroom và T40I4D100K. ữ ệ ự ờ ệ
Hình 3.. Th i gian th c hi n trên d li u Mushroom 129 ữ ệ ự ờ ệ
Hình 3.. Th i gian th c hi n trên d li u T40I4D100K ỉ ậ ứ ấ 3.3. C u trúc RTWU cho t a t p ng viên ự ư ậ ồ Năm 2012, Liu và các đ ng s đ a ra thu t toán HUIMiner [38] khai ế ậ ợ ự ử ụ ợ phá tr c ti p t p l ấ
i ích cao s d ng c u trúc danh sách l i ích (utilitylist) ữ ề ộ ậ ầ ử ể ư
đ l u tr các thông tin v m t t p ph n t ệ ắ ỉ
và thông tin cho vi c c t t a ế ế ậ ộ ứ
không gian tìm ki m. Thu t toán này có không gian tìm ki m và đ ph c ứ ạ ư ộ ủ ự ỗ ợ ạ
t p tính toán cao, nh đ ph c t p c a xây d ng m i danh sách l i ích ườ ợ ồ ấ ớ ố ộ ị trong tr ng h p t ứ ạ ủ
i nh t là O(n) v i n là s giao d ch hay đ ph c t p c a 3). ợ ố
n i (join) danh sách l i ích là O(n ư ậ ả ể ả ố Thu t toán FHM [26] đ a ra gi i pháp gi m thi u các phép n i có chi ự ủ ủ ậ ấ phí cao c a thu t toán HUIMiner d a trên tính ch t đóng c a TWU ế ố ầ ậ ứ
(TransactionWeighted Utility), không c n k t n i các t p sinh ra có ch a ỏ ơ ưỡ ợ ố ể ướ ặ
c p (x, y) có TWU(x, y) nh h n ng ng l i ích t i thi u cho tr c. Tuy ư ầ ưỡ ề nhiên, nh đã phân tích trong ph n 2.2, TWU là ng ơ
ng cao h n nhi u so ớ
v i AU. ố ượ ậ ả Trong thu t toán FHM [26] cho phép gi m s l ố ằ
ng phép n i b ng ươ ắ ỉ ướ ượ ị ợ ệ ấ ph ng pháp c t t a c l ng giá tr l i ích xu t hi n cùng nhau (EUCP ự ấ Estimated Utility Cooccurrence Pruning) d a trên c u trúc ướ ượ
c l ị
ng giá tr ệ ấ ợ
l i ích xu t hi n cùng nhau (EUCS Estimated Utility CoOccurrence ụ ể ử ụ ể ư ữ ậ Structure). C th là thu t toán FHM s d ng EUCS đ l u tr TWU c a t ủ ấ
t 130 ầ ử ự ủ ấ ấ ả ặ
ả
c các c p ph n t (a, b). D a vào tính ch t đóng c a TWU, t ậ
t c các t p ứ ặ ầ ử ỏ ơ ưỡ ợ ố ch a c p ph n t (a, b) có TWU(a, b) nh h n ng ng l i ích t i thi u s ể ẽ ậ ợ ậ ố ợ ả
không ph i là t p l ầ
i ích cao, do v y không c n ghép n i các danh sách l i ích. ậ ợ ậ Tuy nhiên, thu t toán FHM [26] khai phá các t p l ề
i ích cao theo chi u ả ử ế sâu. Gi s , các ph n t ầ ử ượ ắ
đ c s p x p theo th t ứ ự ừ ể
t đi n, {aX} là t ấ ả
t c ề ố ậ ầ ử ấ ả ề ố các t p có ti n t là ph n t a, {bX} là t ậ
t c các t p có ti n t là ph n t ầ ử ư ậ ầ ử ứ ứ ẽ ậ b. Nh v y, các t p ch a {bX} s không còn ch a ph n t ư
a. Nh ng khi ể ẫ ị ợ ồ ầ ử ề tính TWU({bX}) có th v n g m giá tr l ủ
i ích c a ph n t a. Đi u này làm ề ớ ơ ớ TWU({bX}) l n h n nhi u so v i AU({bX}). Do đó dùng TWU({bX}) đ ể ậ ứ ẽ ệ ả
ỉ
t a các t p ng viên s không hi u qu . ữ ể ắ ượ ủ ể ậ ụ
Đ kh c ph c nh ng nh ậ
c đi m trên c a thu t toán FHM [26], lu n ấ ấ ề án đ xu t c u trúc RTWU (Remaining TransactionWeighted Utility), xây ầ ự ậ ử ụ ấ ự
d ng thu t toán tu n t ậ
EAHUIMiner s d ng c u trúc RTWU và thu t ự ạ ị toán song song PEAHUIMiner theo mô hình h t m n (finegrain) d a trên ậ thu t toán EAHUIMiner. ể ả ộ ố ử ụ ụ ệ ậ Đ gi ộ
i thích m t s khái ni m trong m c này, lu n án s d ng m t ị ượ ể ả ợ B ng 3.4 ơ ở ữ ệ
c s d li u giao d ch đ ễ
c bi u di n trong và l ủ
i ích ngoài c a ầ ử ượ ả B ng 3.5. các ph n t đ c cho trong ả ị ơ ở ữ ệ
B ng 3.. C s d li u giao d ch a b c d e f g Ti
d
1
2
3
4
5
6
7 4
3
3
2
0
0
0 5
4
4
7
5
3
0 5
4
0
0
1
0
0 0
0
4
3
1
0
1 0
1
0
1
2
0
0 0
0
0
1
0
2
0 T
U
43
35
33
45
28
18
7 1
0
0
0
0
0
5 131 ợ ả ầ ử B ng 3.. L i ích các ph n t
e
2 b
3 a
4 d
2 c
2 Item
Utility f
3 g
1 ị ợ ộ ậ ở ộ [VI] Danh sách l ủ
i ích m r ng c a m t t p ph n t ầ ử Đ nh nghĩa 3.7. ệ ượ ộ ị Px ký hi u là exLstPx và đ c đ nh nghĩa là m t danh sách các ph n t ầ ử
, ầ ử ỗ ồ ố ườ trong đó m i ph n t bao g m b n tr ng: tid, iutil, itemutil và rutil, trong đó: ứ ủ ị ị tid là đ nh danh c a giao d ch ch a Px. ợ ầ ử ứ iutil là l ủ ậ
i ích c a t p ph n t ị
P trong giao d ch tid ch a Px. ợ ầ ử ứ itemutil là l ủ
i ích c a ph n t ị
x trong giao d ch tid ch a Px. ợ ạ ủ ầ ử ạ ị rutil là l i ích còn l i c a các ph n t còn l i trong giao d ch tid ứ ầ ử ch a Px, tính t ừ ầ ử
ph n t sau ph n t x. ợ ở ộ ườ Ngoài ra, danh sách l ủ ậ
i ích m r ng c a t p Px còn có các tr ng sau: ổ ợ ầ ử ị sumiutils là t ng l ủ ậ
i ích c a t p ph n t ứ
P trong các giao d ch tid ch a Px, và ổ ợ ầ ử ị sumitemutils là t ng l ủ
i ích c a ph n t ứ
x trong giao d ch tid ch a Px, và ổ ợ ạ ủ ứ sumrutils là t ng l i ích còn l ị
i c a giao d ch có th t ứ ự tid ch a Px, ừ ầ ử ế ế ầ ử ắ ầ
b t đ u tính t ph n t k ti p sau ph n t x, và ầ ử ứ ậ ướ ầ ử trong đó SetPrefix(x) là t p các ph n t đ ng tr c ph n t x trong ị giao d ch có th t ứ ự j.
T ợ ủ ậ ư ả ở ộ Ví dụ, danh sách l i ích m r ng c a t p {bc} nh B ng 3.6. 132 ả ợ ủ ậ ở ộ B ng 3.. Danh sách l i ích m r ng c a t p {bc} iutil itemutil rutil ti
d 1 12 10 1 2 9 8 2 ị ợ ị i ích giao d ch còn l ặ
ạ ủ c p ph n t i c a ầ ử xy Đ nh nghĩa 3.8. [VI] Giá tr lị ị ổ ợ ầ ử ủ trong giao d ch T ầ ử xy là t ng l i ích c a các ph n t còn ặ
j ch a ứ c p ph n t j), ị ừ ệ ạ
l i trong giao d ch có th t ph n t ầ ử Kí hi u là RTWU(xy, T x. ứ ự j tính t
T và j ch a c p ph n t ị ứ ặ ầ ử ỏ
xy b đi trong đó [Tj\ SetPrefix(xy)] – giao d ch T ầ ử ứ ướ ầ ử các ph n t đ ng tr c ph n t x. 5 trong B ng 3.4 có RTWU(cd, ầ ử ụ ặ ủ ị ả Ví d , xét c p ph n t c, d c a giao d ch T T5) = 1*2 + 1*2 + 2*2 = 8. ị ị ợ ị ạ ủ ặ [VI] Giá tr l i ích giao d ch còn l i c a c p ph n t ầ ử Đ nh nghĩa 3.9. ị ợ ổ ị ạ ủ ặ ầ ử xy trong CSDL là t ng giá tr l i ích giao d ch còn l i c a c p ph n t xy ị ứ ầ ử ệ trong các giao d ch T xy trong CSDL. Kí hi u là ặ
j ch a c p ph n t RTWU(xy) và ầ ử ụ ặ ả B ng 3.4 Ví d , xét c p ph n t c, d trong ta có RTWU(cd) = RTWU(cd, ấ ị ỉ ầ ử cd. T5) = 8. Vì ch có duy nh t giao d ch T ứ ặ
5 có ch c p ph n t ị ấ ượ ị [VI] C u trúc RTWU đ ộ ậ
ằ
c xác đ nh b ng m t t p Đ nh nghĩa 3.10. ộ các b ba: (x; y; c) I x I x R. trong đó ầ ử ậ I là t p các ph n t ộ ơ ở ữ ệ
thu c c s d li u; 133 ầ ử ứ ộ ướ ế ắ ộ x, y là 2 ph n t thu c I (x đ ng tr c y theo m t cách s p x p nào đó); ậ ố ự R là t p s th c và c = RTWU(xy). ị ủ ậ ở ộ ậ [VI] Cho hai t p Px, Py là m r ng c a t p P và hai danh Đ nh lý 3.1. ợ ở ộ ầ ượ sách l ủ
i ích m r ng c a Px và Py l n l ế
t là exLstPx và exLstPy. N u min(exLstPx.sumiutls, exLstPy.sumiutls) + RTWU(xy) < minUtil thì Pxy và ở ộ ậ ợ ề ậ ủ
các các t p m r ng c a nó đ u là các t p l ấ .
i ích th p ứ Ch ng minh: G iọ : ứ ậ ị TPxyQ là t p giao d ch ch a PxyQ ; ứ ậ ị TPxy là t p giao d ch ch a Pxy ; ứ ậ ị TPx là t p giao d ch ch a Px ; ứ ậ ị TPy là t p giao d ch ch a Py ; ứ ậ ị Txy là t p giao d ch ch a xy. ứ ậ ị TxyQ là t p giao d ch ch a xyQ. ườ ậ Tr ng h p 1 ợ : T p Pxy G iọ : ổ ợ ủ ứ ị UTIL(P) là t ng l i ích c a P trong các giao d ch ch a Pxy, và ổ ợ ủ ứ ị UTIL(xy) là t ng l i ích c a xy trong các giao d ch ch a Pxy, và Ta có: 134 ừ Vì Px (cid:0) Pxy nên TPxy (cid:0) TPx và Py (cid:0) Pxy nên Tpxy (cid:0) TPy, t công ứ th c (3.8) ta có: ươ ứ T ng t ự ừ
, t công th c (3.8) ta có : ừ T (3.11) và (3.12) suy ra : ứ Vì xy (cid:0) Pxy nên TPxy (cid:0) Txy, theo công th c 3.9 ta có: ừ T (3.13) và (3.14) suy ra: ư ậ ế Nh v y, n u min(Px.sumiutils, Py.sumiutils) + RTWU(xy) < minutil thì ậ ợ ấ UTIL(P) + UTIL(xy) < minutil hay Pxy là t p l i ích th p. ườ ở ộ ừ Pxy Tr ng h p 2 ậ
ợ : Các t p m r ng t ừ ứ Vì Pxy (cid:0) PxyQ nên TPxyQ (cid:0) TPxy nên t công th c (3.8) ta có: Vì xyQ (cid:0) PxyQ nên TPxyQ (cid:0) TxyQ, ta có: 135 ư ậ ế Nh v y, n u min(exLstPx.sumiutils, exLstPy.sumiutils) + RTWU(xy) < ở ộ ậ ợ ủ ề ậ ấ minutil thì các t p m r ng c a Pxy đ u là các t p l i ích th p. ị ủ ậ ậ ở ộ
Cho hai t p Px, Py là m r ng c a t p P và hai danh Đ nh nghĩa 3.11. ợ ở ộ ầ ượ ợ sách l ủ
i ích m r ng c a Px và Py l n l t là exLstPx và exLstPy. L i ích ạ ủ ậ ầ ử ượ ệ ị
giao d ch còn l i c a t p ph n t Pxy đ c ký hi u là CRTWU(Pxy) và CRTWU(Pxy) = min(exLstPx.sumiutils, exLstPy.sumiutils) + RTWU(xy) (3.18) ị ả ử ồ Gi ậ
s HRTWUs g m các t p Pxy có CRTWU(Pxy) ,α Đ nh lý 3.2. α α ậ ồ ưỡ ợ ố HUs g m các t p Pxy có AU(Pxy) ớ
v i là các ng ng l i ích t ể
i thi u (cid:0) ướ cho tr c. Khi đó HUs HRTWUs. ứ Ch ng minh: ứ Theo công th c (3.10) và (3.15) ta có: (cid:0) ọ ậ ư ậ ớ Nh v y, v i m i t p Y thì HUs HRTWUs ■ ả ả
và B ng 3.5, ta có: Ví d ,ụ xét B ng 3.4 ị ề ợ ợ Theo Đ nh nghĩa 1.20 v danh sách l i ích, ta có danh sách l ủ ậ
i ích c a t p ế ố {bc}, {bd} và cách k t n i nh ư Hình 3.8. ợ Danh sách l ủ
i ích c a {bd} Danh sách 136 i íchợ
l c aủ {bc}
tid
1
2 iutil
17
12 rutil
0
5 tid
3
4
ủ ậ ậ rutil
iutil
1
22
2
17
ợ
Hình 3.. Danh sách l i ích c a t p {bc} và t p {bd} ị ợ ủ ậ ở ộ Theo đ nh nghĩa 3.1, ta có danh sách l i ích m r ng c a t p {bc} và {bd} nh ư Hình 3.9. ợ ợ Danh sách l Danh sách l ủ
ở ộ
i ích m r ng c a
{bc} ủ
ở ộ
i ích m r ng c a
{bd} tid iutil rutil tid iutil rutil itemu
til
10
8 1
2 12
9 9
6 0
5 itemu
til
8
6 3
4
ủ ậ ở ộ ậ Hình 3.. Danh sách l 1
2
ợ
i ích m r ng c a t p {bc} và t p {bd} ả ử ậ ợ ề ả Gi s minutil = 25, ta có c {bc} và {bd} đ u là t p l i ích cao. ậ ừ ả ị Theo thu t toán FHM, t ủ
CSDL trong B ng 3.4 ta có giá tr TWU c a ầ ử ặ ớ ơ ưỡ các c p ph n t c, d là TWU(c, d) = 28 l n h n ng ng minutil do đó ta ả ế ợ ợ ể ạ ậ ph i k t h p hai danh sách l i ích {bc} và t p {bd} đ t o danh sách l ợ
i ích {bcd}. ặ ị ớ Đ nh lý 3.1 M t khác, theo , t ừ Hình 3.9 v i P = {b} ta có min({bc}.sumiutils, {bd}.sumiutils) + RTWU(cd) = min{21, 15} + 8 = 15 ỏ ơ ưỡ ả ế ợ + 8 = 23 nh h n ng ng minutil nên không c n ầ ph i k t h p hai danh ợ ủ ậ ở ộ ể ạ ậ ợ sách l i ích m r ng c a t p {bc} và t p {bd} đ t o danh sách l i ích ở ộ m r ng {bcd}. ự ị ề ấ ậ ử ụ Đ nh lý 3.1 D a trên , đ xu t thu t toán ấ
EAHUIMiner s d ng c u ượ ở ế ầ trúc RTWU, đ c trình bày ph n 3.4 ti p theo. 137 ầ ự ậ ự ấ 3.4. Thu t toán tu n t EAHUIMiner d a trên c u trúc RTWU ậ ầ ồ Trong thu t toán EAHUIMiner g m 2 ph n chính: ự ợ ở ộ Xây d ng danh sách l i ích m r ng ậ ợ Khai phá t p l i ích cao ự ợ ở ộ 3.4.1. Xây d ng danh sách l i ích m r ng ợ ở ộ ầ ử ượ ứ Danh sách l ủ ậ
i ích m r ng c a t p ch a 1 ph n t đ ự
c xây d ng ị ớ ậ ầ ỗ theo Đ nh nghĩa 3.7 v i t p P là r ng (nghĩa là iutil=0) khi quét CSDL l n 1. ợ ủ ậ ở ộ ứ ừ ầ ử ở ượ Danh sách l i ích m r ng c a t p ch a t 2 ph n t tr lên đ c xây ướ ự
d ng theo hàm Construct(Px, Py) d i đây. Function Construct (Px, Py) ự ợ ở ộ //Xây d ng danh sách l i ích m r ng Input: ợ ở ộ ủ i ích m r ng c a Px; Px.UL // Danh sách l ợ ở ộ ủ i ích m r ng c a Py; Py.UL // Danh sách l Output: ợ ở ộ ủ Pxy.UL// Danh sách l i ích m r ng c a Pxy; 1. Px.ULs{ 2. Pxy.ULs = Null;
For each item Ex (cid:0)
For each item Ex (cid:0) 3. 4. Px.ULs{
If (∃Ey Py.ULs and Ex.Ti==Ey.Ti) { Exy = ey.rutils>; Thêm Exy vào Pxy.ULs; 6. 7. } 8. } 9. Return Pxy.ULs; 3.4.2. 138 ầ ự ậ
3.4.3. Thu t toán tu n t EAHUIMiner ậ Thu t toán 3.2. Procedure EAHUIMiner(ULs, minutil) ậ ợ // Khai phá t p l i ích cao 1. Input: ậ ợ i ích cao 1 ph n t ầ ử
; ậ
ULs T p các t p l
ợ ưỡ ố minutil ng ng l i ích t ể
i thi u; 2. Output: ầ ử ợ ậ ấ ả ậ
t c các t p ph n t i ích cao. l ULs { 1. T p t
For each utility list Px (cid:0)
If (Px.sumiutils + Px.sumitemutils ≥ minutil) 2. Output(Px); 3. 4. If (Px.sumiutils + Px.sumitemutils + Px.sumrutils ≥ minutil) { 5. 6. exULs = NULL;
For each Py after Px (cid:0) ULs { 7. If (EUCS(x, y) ≥ minutil) and min(Px.sumiutils,
Py.sumiutils) + RTWU(x,y) ≥ minutil) { 8. exULs = exULs + Construct(Px, Py); 9. }//End If 10. Call EAHUIMiner(exULs, minutil); 11. }//End For 12. }//End If 13. } //End For ộ ứ ậ 3.4.4. Đ ph c toán tính toán thu t toán EAHUIMiner ệ ề ộ ứ ạ ủ ậ Đ ph c t p c a thu t toán EAHUIMiner trong tr ườ
ng M nh đ 3.2. 3), trong đó n là t p t ấ ấ ậ ấ ả ầ ử ổ ợ
h p x u nh t là O(m t c các ph n t ; m là t ng s ố ầ ử ố ị ừ ị giao d ch, w là s ph n t trung bình trong t ng giao d ch. 3 ứ Ch ng minh: ứ ạ ậ ộ Thu t toán FHM và HUIMiner có cùng đ ph c t p tính toán là m ự ư ấ ậ ạ
ủ
[77], nh ng d a vào tính ch t đóng c a TWU nên thu t toán FHM đã lo i 139 ầ ử ứ ậ ặ ỏ ơ ỏ ượ ấ ả
b đ
c t t c các t p có ch a c p ph n t có TWU nh h n ng ưỡ
ng ế ố ả ạ ậ ậ
minutil nên gi m m nh chi phí k t n i trong thu t toán HUIMiner. Thu t ượ ả ế ừ ậ toán EAHUIMiner đ c c i ti n t ử ụ
ằ
thu t toán FHM b ng cách s d ng ể ạ ỏ ợ ề ố ướ ủ ậ ấ
c u trúc RTWU đ lo i b l i ích c a các ti n t tr ậ
c nó. Do v y, thu t ư ề ậ ố ộ ứ ạ
toán EAHUIMiner cũng gi ng nh thu t toán FHM đ u có đ ph c t p ư ờ ố ơ ậ tính toán là m3, nh ng có th i gian tính toán t t h n thu t toán FHM nh ư ệ ế ả ự
trong k t qu th c nghi m. ậ 3.4.5. Thu t toán song song PEAHUIMiner ả ậ
thu t toán a. Mô t ậ ượ ề ả ự Thu t toán PEAHUIMiner đ c xây d ng trên n n t ng OpenMP h ỗ ợ ậ ườ ẻ ơ ồ ậ ở ộ tr l p trình song song trên môi tr ng b nh chia s . S đ thu t toán ượ ể ệ ậ ả ộ đ c th hi n trong Hình 3.10. Thu t toán song song phân t i đ ng theo mô ạ ả ằ ằ ị ả hình h t m n (finegrain) nh m nâng cao kh năng cân b ng t ữ
i gi a các ế ti n trình. ướ ượ ở ấ ự ệ ặ B c song song chính đ c th c hi n b i c u trúc vòng l p song song ợ ủ
(#pragma omp parallel for) c a OpenMP trên danh sách l i ích 1ph n t ầ ử
. ầ ử ừ ế ạ ơ ị Song song h t m n chính là c ch chia t ng ph n t trong danh sách 1 ế ph n t ừ
ầ ử ULs cho t ng ti n trình. ườ ỏ ơ ấ ố ế ử ề Thông th ẽ
ng thì s ti n trình x lý s nh h n r t nhi u so v i s ớ ố ầ ử ẽ ự ấ ượ
l ng ph n t trong ệ
ặ
ULs, do đó c u trúc vòng l p song song s th c hi n ầ ử ế ề ệ ố
vi c đi u ph i, phân ph n t ti p theo trong ử
ế
ULs cho các ti n trình x lý ầ ử ướ ệ khi nó đã hoàn thành vi c khai phá ph n t tr c đó. ơ ồ ậ Hình 3.. S đ thu t toán PEAHUIMiner 140 ộ ứ ậ Đ ph c toán tính toán thu t toán PEAHUIMiner ệ ề ứ ạ ủ ậ ộ Đ ph c t p c a thu t toán EAHUIMiner trong tr ườ
ng M nh đ 3.3. ấ ấ ậ ấ ả ầ ử ổ ố ợ
h p x u nh t là O(), trong đó n t p t t c các ph n t ; m là t ng s giao ầ ử ố ừ ố ị ị
d ch, w là s ph n t trung bình trong t ng giao d ch và p là s Thread tham gia x lý.ử ứ Ch ng minh: ậ ả ộ ượ Thu t toán song song phân t i đ ng PEAHUIMiner đ ự
c xây d ng ậ ạ ị ự
d a trên thu t toán EAHUIMiner theo mô hình h t m n (finegrain). Đây ầ ử ừ ế ơ chính là c ch chia t ng ph n t trong danh sách 1ph n t ầ ử ULs cho t ngừ ứ ạ ẽ ế ậ ậ ộ ti n trình. Do v y, thu t toán PEAHUIMiner s có đ ph c t p trong ườ ấ ấ ợ tr ng h p x u nh t là O() ả ự ế ệ 3.4.6. K t qu th c nghi m ườ Môi tr ữ ệ
ng và d li u ậ ậ Các thu t toán FHM và EFIM đ ượ ấ ừ
c l y t [79] , 02 thu t toán EAHUI ượ ặ ằ ữ ậ Miner, PEAHUIMiner đ ự
c cài đ t b ng ngôn ng l p trình Java và th c ệ ạ ớ ộ ớ hi n trên máy tính HP core 7 due 2.4GHz v i 4 GB b nh , ch y trên ố ồ ự ệ ậ ồ ờ Windows 7. S lu ng th c hi n đ ng th i là 4. Thu t toán song song phân ả ộ ư ệ ữ ệ ử ụ ạ ị t i đ ng theo mô hình h t m n s d ng th vi n OpenMP. D li u th ử ệ ồ nghi m g m: T10I4D100K, T10I4D200K, Foodmart và Mushroom [79] có ư ộ ả B ng 3.7 các thu c tính nh trong . ủ ả ộ B ng 3.. Các thu c tính c a các CSDL T D Database
T10I4D100K
T10I4D200K N
1000
1000 Foodmart
Mushroom 10 100.000
200.00
10
0
4.141
8.124 4,4
23 1.559
119 141 ầ ử ố ộ ố ị trong đó T – s ph n t trung bình trong m t giao d ch; N – s ph n t ầ ử ố ị khác nhau; D – s giao d ch. ố ượ ứ ế ả K t qu khai phá và s l ng ng viên ả ự ệ ế ậ K t qu th c nghi m các thu t toán: EAHUIMiner, PEAHUIMiner, ưỡ ợ ố ề ể ự
EFIM, FHM d a trên các ng ng l i ích t ố
i thi u khác nhau đ u gi ng ề ố ượ ậ ợ nhau v s l ng t p l i ích cao. ả ể ệ ố ượ ậ ứ ậ B ng 3.8 th hi n s l ế
ng t p ng viên do hai thu t toán sinh ra. K t ề ậ ứ ệ ậ ấ ả ơ ớ ậ
qu cho th y thu t toán FHM sinh ra nhi u t p ng vi n h n so v i thu t toán EAHUIMiner. ố ượ ả ậ ứ B ng 3.. So sánh s l ng t p ng viên. Dataset minutil FHM T10I4D100K
T10I4D100K
Foodmart
Mushroom 2500
2500
1000
100K 153.016
153.016
259.876
1.588.018 EAHUI
Miner
125.647
125.647
258.921
1.587.927 ự ờ ệ
Th i gian th c hi n ệ ủ ự ậ ờ Th i gian th c hi n c a các thu t toán: EFIM, FHM và EAHUIMiner ượ ể đ c th hình trên các Hình 3.11, Hình 3.12, Hình 3.13 và Hình 3.14. K tế ệ ấ ự ấ ậ ả qu này cho th y, thu t toán EFIM th c hi n r t nhanh trên các c s d ơ ở ữ ệ ướ ủ ậ ầ ử ậ ỏ li u mà kích th c c a t p ph n t I nh , còn hai thu t toán FHM và ự ệ ậ ơ EAHUIMiner th c hi n nhanh h n thu t toán EFIM trong các c s d ơ ở ữ ệ ướ ậ ầ ử ớ li u mà kích th c t p ph n t I l n. 142 ữ ệ ự ờ ệ
Hình 3.. Th i gian th c hi n trên d li u Mushroom. ữ ệ ự ờ ệ
Hình 3.. Th i gian th c hi n trên d li u Foodmart ữ ệ ự ờ Hình 3.. Th i gian th c trên d li u T10I4D100K 143 ữ ệ ự ờ Hình 3.. Th i gian th c trên d li u T10I4D200K ữ ự ệ ậ ờ ầ
Hình 3.15 và Hình 3.16 so sánh th i gian th c hi n gi a thu t toán tu n ậ ự
t ơ ở ữ ệ
EAHUIMiner và thu t toán song song PEAHUIMiner trên c s d li u T10I4D100K, T10I4D200K. ự ệ ờ ậ
ữ ệ Hình 3.. Th i gian th c hi n thu t toán EAHUIMiner và PEAHUIMiner
trên d li u T10I4D100K 144 ự ệ ờ ậ
ữ ệ Hình 3.. Th i gian th c hi n thu t toán EAHUIMiner và PEAHUIMiner
trên d li u T10I4D200K ế ậ ươ 3.5. K t lu n ch ng ươ ấ ấ ẫ ợ ủ ề ậ Trong ch ng này c a lu n án đ xu t c u trúc cây m u l i ích nén ế ợ ợ ậ ợ ậ (CUP) k t h p danh sách l i ích và thu t toán khai phá t p l i ích cao HUI ữ ư ự ủ ể ấ ợ Growth [IV]. C u trúc cây CUP d a trên nh ng u đi m c a danh sách l i ích ả ự ữ ệ ậ ứ ắ ỉ ế ệ
trong c t t a các t p ng viên và nén d li u trên cây. K t qu th c nghi m ự ủ ệ ấ ậ ờ
ừ Hình 3.6 và Hình 3.7 cho th y th i gian th c hi n c a thu t toán HUI
t ế ợ ử ụ ấ ợ ơ Growth s d ng c u trúc cây CUP k t h p danh sách l ớ
i ích nhanh h n so v i ậ các các thu t toán ộ ữ ệ
UPGrowth [62], HUIMiner [38] trên các b d li u Mushroom và T40I4D100K. ề ấ ấ ị ợ ự ế ậ Ti p theo, lu n án đ xu t c u trúc RTWU [VI] d a trên giá tr l i ích giao ạ ế ợ ủ ặ ở ộ ầ ử ợ ả ị
d ch còn l i k t h p danh sách l i ích m r ng c a c p ph n t làm gi m s ố ắ ủ ấ ậ ứ ượ ể ệ ị Đ nh lý ượ
l ng t p ng viên. Tính đúng đ n c a c u trúc đ c th hi n qua hai ừ ầ ự ậ ị
3.1 và Đ nh lý 3.2 ị
. T hai đ nh lý này, ề ấ
đ xu t hai thu t toán tu n t và song song ử ụ ậ ợ
khai phá t p l i ích cao là ấ
EAHUIMiner [VI], PEAHUIMiner [VI] s d ng c u ả ự ệ ế ấ ả
ừ B ng 3.8 trúc RTWU. K t qu th c nghi m t ậ
cho th y thu t toán EAHUI ố ượ ậ ứ ậ ả Hình Miner cho s l ơ
ng t p ng viên ít h n thu t toán FHM ế
[26]. K t qu trên ự ấ ậ ờ ơ
ệ ủ
3.113.14 cho th y th i gian th c hi n c a thu t toán EAHUIMiner nhanh h n ậ ơ ở ữ ệ ư ề ớ ị thu t toán FHM [26] và EFIM [77] v i các c s d li u th a và nhi u giao d ch 145 ự ư ệ ậ ờ ơ nh : Footmart, T10I4D100K, T10I4D200K và th i gian th c hi n ch m h n trên ư ơ ở ữ ệ
c s d li u dày nh Mushroom. 146 Ậ Ế Ế Ị K T LU N VÀ KI N NGH ủ ế ậ ả K t qu chính c a lu n án: ữ ệ ụ ự ậ ớ ằ
ấ
V i m c tiêu xây d ng mô hình, c u trúc d li u và thu t toán nh m ổ ế ệ ậ ả ậ ọ ố nâng cao hi u qu thu t toán khai phá t p ph bi n có tr ng s và t p l ậ ợ
i ạ ượ ế ậ
ích cao. Lu n án đã đ t đ ả
c các k t qu chính sau: ề ợ ứ ố ọ ấ
1. Đ xu t mô hình l i ích ng viên có tr ng s (CWU – Candidate ự ằ ấ Weighted Utility) [II] d a trên phân tích cho th y r ng mô hình ượ ể ắ ỉ ứ ử ụ ề ậ TWU đ c nhi u thu t toán s d ng đ c t t a ng viên là không ệ ả ưỡ ị ợ ơ ớ hi u qu vì đánh giá ng ề
ng cao h n nhi u so v i giá tr l i ích ự ế ừ ề ấ ậ th c t . T mô hình CWU đ xu t hai thu t toán khai phá t p l ậ ợ
i ỉ ố ử ụ
ích cao là HP [II] s d ng ch s hình chi u ế , CTUPRO+ [III] sử ố ượ ấ ứ ơ ờ ụ
d ng c u trúc cây cho s l ự
ng ng viên ít h n và th i gian th c ộ ố ệ ậ ơ ớ
hi n nhanh h n so v i m t s thu t toán. ấ ấ ề 2. Đ xu t c u trúc RTWU ( Remaining TransactionWeighted Utility) ị ợ ị ạ ế ợ ợ ự
d a trên giá tr l i ích giao d ch còn l ớ
i k t h p v i danh sách l i ích ở ộ ầ ử ắ ỉ ậ ứ ự ấ ủ ặ
m r ng c a c p ph n t cho c t t a t p ng viên. D a trên c u trúc ầ ự ề ấ ậ RTWU, đ xu t thu t toán tu n t ậ
EAHUIMiner [VI] khai phá t p ậ ợ
l ậ
i ích cao và thu t toán song song PEAHUIMiner [VI] khai phá t p ả ự ố ượ ệ ế ậ ứ ợ
l i ích cao cho k t qu th c nghi m có s l ơ
ng t p ng viên ít h n ơ ở ữ ệ ư ự ệ ờ ơ
và th i gian th c hi n nhanh h n khi c s d li u th a và s l ố ượ
ng ớ ị
giao d ch l n. ậ ợ ề ậ ấ 3. Đ xu t thu t toán song song PPB khai phá t p l ử ụ
i ích cao s d ng ỉ ố ế ợ ươ ư ế ợ
k t h p ch s hình chi u, danh sách l i ích và ph ng pháp l u tr ữ ị ợ ầ ử ể ị giá tr l ủ
i ích c a ph n t trên các giao d ch đ tính nhanh giá tr ị ợ iutil và rutil trong danh sách l i ích. 147 ấ ấ ẫ ợ ế ợ ề
4. Đ xu t c u trúc cây m u l i ích nén (CUP ớ
) k t h p v i danh sách ợ ữ ậ ầ ử ư ỗ l i ích [IV]. M i nút trên cây CUP l u tr t p ph n t và danh sách ợ ủ ế ả ầ ầ l i ích c a nó. Các ph n t ầ ử ượ ắ
đ ấ
c s p x p gi m d n theo t n su t ậ ợ ệ ể ấ ấ ố xu t hi n cho s nút trên cây là ít nh t. Đ khai phá t p l i ích cao ề ậ ậ ấ
trên cây CUP, lu n án đ xu t thu t toán HUIGrowth [IV]. ổ ế ợ ề ấ ậ ậ 5. Đ xu t thu t toán VMWFP [I] khai phá t p ph bi n l i ích cao ấ ằ ừ ấ ậ
ự
d a trên c u trúc diffset. T thu t toán VMWFP cho th y r ng các ộ ậ ể ử ậ ớ nhóm, l p các nhóm có th x lý đ c l p nhau. Do đó, lu n án đ ề ẻ ộ ấ ậ ớ
xu t thu t toán song song PVMWFP [I] trên mô hình chia s b nh . ướ ể H ng phát tri n: ậ ậ ướ ấ ọ Lu n án t p trung vào b ậ ế
c quan tr ng nh t trong khai phá lu t k t ậ ợ ậ ọ ố ụ ể ề ổ ế
ợ
h p là khai phá t p ph bi n có tr ng s và t p l ấ
i ích cao. C th , đ xu t ầ ự ấ ậ ậ các mô hình, c u trúc, thu t toán tu n t và song song khai phá t p ph ổ ậ ợ ế ọ ố ơ ở ữ ệ ị bi n có tr ng s và t p l i ích cao trên c s d li u giao d ch. Tuy nhiên, ứ ạ ữ ữ ầ ấ ớ ữ ệ
d li u ngày càng l n và ph c t p, c n có nh ng có nh ng c u trúc và ậ ậ ợ ướ ủ ể ế ậ thu t toán phù h p. Do v y, h ng phát tri n ti p theo c a lu n án là: ứ ệ ấ ậ ả (cid:0) Nghiên c u các mô hình, c u trúc và thu t toán hi u qu khai ổ ế ậ ợ ọ ố ậ
t p ph bi n có tr ng s và t p l i ích cao. ư ậ ậ ờ ỹ (cid:0) Đ a k thu t khai phá d li u m vào các thu t toán đã đ
ữ ệ ề xu t.ấ ử ệ ề ặ ả ậ (cid:0) Cài đ t, th nghi m các thu t toán trên n n t ng l p trình
ậ ữ ữ ệ
Hadoop và mô hình MapReduce cho nh ng bài toán d li u l n. ớ 148 Ọ Ủ Ụ DANH M C CÔNG TRÌNH KHOA H C C A TÁC GI Ả Ậ Ế LIÊN QUAN Đ N LU N ÁN ễ ậ ả ậ ạ [I]. Đ u H i Phong, Nguy n M nh Hùng, Đoàn Văn Ban, “Thu t toán ổ ế ề ẫ ọ ọ ố ộ
song song khai phá m u ph bi n có tr ng s theo chi u d c”, H i ứ ả ầ ố ộ ố ấ ề ọ ọ ề
M t s v n đ ch n l c v CNTT và TT th o qu c gia l n th 15: , pp. 453456, 2012. ễ ả ậ ạ ệ ả [II]. Đ u H i Phong, Nguy n M nh Hùng, ậ
“Mô hình hi u qu khai phá t p ụ ợ ề ạ Các m c l ệ
i ích cao”, T p chí Công ngh Thông tin và Truy n thông: ụ ứ ứ ể ậ công trình nghiên c u, phát tri n và ng d ng CNTTTT ố
, T p V1, S 13 (33), pp. 2637, 62015. ườ ả ậ ỗ ớ [III]. Đ u H i Phong, Đoàn Văn Ban, Đ Mai H ng, “Mô hình m i trên cây ụ ợ ậ ố ọ ộ ị nén cho khai phá t p m c l ầ
i ích cao”, H i ngh khoa h c qu c gia l n ứ ơ ả ứ ụ ệ Nghiên c u c b n và ng d ng CNTT th 8: ứ ạ ọ
, Vi n CNTT Đ i h c ộ ố Qu c gia Hà N i, pp. 359370, 2015. ễ ậ ả ạ ữ ệ ệ ả ấ [IV]. Đ u H i Phong, Nguy n M nh Hùng, “C u trúc d li u hi u qu cho ụ ợ ứ ầ ả ộ ố M t sộ ố ậ
khai phá t p m c l i ích cao”, H i th o qu c gia l n th 19: ấ ề ọ ọ ề
v n đ ch n l c v CNTT và TT , pp. 6067, 2016. ễ ậ ả ạ ươ [V]. Đ u H i Phong, Nguy n M nh Hùng, “Ph ng pháp song song khai ụ ợ ậ ỉ ố ự ế ạ phá t p m c l i ích cao d a trên ch s hình chi u”, T p chí Công ề ệ ứ ể
Các công trình nghiên c u, phát tri n ngh Thông tin và Truy n thông: ụ ứ ậ ố và ng d ng CNTTTT , T p V1, S 17 (37), pp. 3140, 62017. [VI]. Nguyen Manh Hung, Dau Hai Phong, “Parallel mining for high utility itemsets mining by efficient data structure”, Information Communication TechnoLogy, Research and Development on Information and Communications Technology, Volume E–3, No.14, 92017. 149 Ả Ệ TÀI LI U THAM KH O ế ệ Ti ng Vi t: ể ộ ố ả ễ
ậ ệ
ấ ậ
Phát tri n m t s thu t toán hi u qu khai
ụ ,
ự
ng có s phân c p các m c 1. Nguy n Duy Hàm (2016),
ụ
ế ơ ở ữ ệ
ạ ọ
ườ ố ượ
ọ ậ ự thác t p m c trên c s d li u s l
Lu n án Ti n sĩ, Tr ng đ i h c Khoa h c T nhiên, ĐHQGHN. ứ ễ ậ ầ ợ ụ ổ
Khai phá t p m c c ph n cao và l i ích cao 2. Nguy n Huy Đ c (2010), ế ệ ậ trong c s d li u ơ ở ữ ệ , Lu n án Ti n sĩ, Vi n CNTT. ế Ti ng Anh: 3. Agarwal R.C., Aggarwal C.C., and Prasad V.V.V. (2001). A Tree
Projection Algorithm for Generation of Frequent Item Sets. J Parallel
Distrib Comput, 61(3), 350–371. 4. Aggarwal C.C., Bhuiyan M.A., and Hasan M.A. (2014). Frequent Pattern
Mining Algorithms: A Survey. Frequent Pattern Mining. Springer, Cham,
19–64. 5. Agrawal R., Imielinski T., and Swami A. (1993). Mining Association Rules between Sets of Items in Large Databases. . 6. Agrawal R. and Srikant R. (1994). Fast Algorithms for Mining
Association Rules in Large Databases. Morgan Kaufmann Publishers Inc.,
487–499. 7. Ahmed C.F., Tanbeer S.K., Jeong B.S. et al. (2009). An Efficient
Candidate Pruning Technique for High Utility Pattern Mining. Advances
in Knowledge Discovery and Data Mining, Springer, Berlin, Heidelberg,
749–756. 8. Anastasiu D.C., Iverson J., Smith S. et al. (2014). Big Data Frequent
Frequent Pattern Mining. Springer International Pattern Mining.
Publishing, 225–259. 9. Baralis E., Cerquitelli T., Chiusano S. et al. (2013). PMine: Parallel
2013 IEEE 29th International itemset mining on large datasets.
Conference on Data Engineering Workshops (ICDEW), 266–271. 150 10. Bhanderi S.D. and Garg S. (2012). Parallel frequent set mining using
2012 Nirma University International inverted matrix approach.
Conference on Engineering (NUiCONE), 1–4. 11. Cai C.H., Fu A.W.C., Cheng C.H. et al. (1998). Mining Association Rules
with Weighted Items. Proceedings of the 1998 International Symposium
on Database Engineering & Applications, Washington, DC, USA, IEEE
Computer Society, 68–. 12. C.F. A. and S.K T. Efficient Tree Structures for Highutility Pattern Mining in Incremental Databases. 2009. 13. Chan R., Yang Q., and Shen Y.D. (2003). Mining High Utility Itemsets. IEEE Computer Society, 19. 14. Chen Y. and An A. (2016). Approximate Parallel High Utility Itemset Mining. Big Data Res, 6, 26–42. 15. Cheng Lan G., Pei Hong T., and Tseng V.S. (2013). An efficient
projectionbased indexing approach for mining high utility itemsets. . 16. Chung S.M. and Luo C. (2003). Parallel mining of maximal frequent
Proceedings. 15th IEEE International itemsets from databases.
Conference on Tools with Artificial Intelligence, 134–139. 17. Dawar S. and Goyal V. (2014). UPHist Tree: An Efficient Data Structure
for Mining High Utility Patterns from Transaction Databases.
Proceedings of the 19th International Database Engineering &
Applications Symposium, New York, NY, USA, ACM, 56–61. 18. Dlala I.O., Jabbour S., Sais L. et al. (2015). Parallel SAT based closed
2015 IEEE/ACS 12th International frequent itemsets enumeration.
Conference of Computer Systems and Applications (AICCSA), 1–8. 19. ElHajj M. and Zaïane O.R. (2003). Nonrecursive Generation of
Frequent Kitemsets from Frequent Pattern Tree Representations. Data
Warehousing and Knowledge Discovery, Springer, Berlin, Heidelberg,
371–380. 20. Elhajj M. and Zaïane O.R. (2003). COFItree Mining: A New Approach
to Pattern Growth with Reduced Candidacy Generation. Workshop on 151 Frequent Itemset Mining Implementations (FIMI’03) in conjunction with
IEEEICDM. 21. ElHajj M. and Zaïane O.R. (2003). Inverted Matrix: Efficient Discovery
of Frequent Items in Large Datasets in the Context of Interactive
Proceedings of the Ninth ACM SIGKDD International
Mining.
Conference on Knowledge Discovery and Data Mining, New York, NY,
USA, ACM, 109–118. 22. ElMegid L.A.A., ElSharkawi M.E., ElFangary L.M. et al. (2009).
Vertical Mining of Frequent Patterns Using Diffset Groups. 2009 Ninth
International Conference on Intelligent Systems Design and Applications,
1196–1201. 23. Erwin A., Gopalan R.P., and Achuthan N.R. (2007). A Bottomup
Projection Based Algorithm for Mining High Utility Itemsets.
Proceedings of the 2Nd International Workshop on Integrating Artificial
Intelligence and Data Mining Volume 84, Darlinghurst, Australia,
Australia, Australian Computer Society, Inc., 3–11. 24. Erwin A., Gopalan R.P., and Achuthan N.R. (2007). CTUMine: An
Efficient High Utility Itemset Mining Algorithm Using the Pattern
Growth Approach. 7th IEEE International Conference on Computer and
Information Technology (CIT 2007), 71–76. 25. Erwin A., Gopalan R.P., and Achuthan N.R. (2008). Efficient Mining of
High Utility Itemsets from Large Datasets. Advances in Knowledge
Discovery and Data Mining. Springer Berlin Heidelberg, 554–561. 26. FournierViger P., Wu C.W., Zida S. et al. (2014). FHM: Faster High
Utility Itemset Mining Using Estimated Utility Cooccurrence Pruning.
Foundations of Intelligent Systems, Springer International Publishing, 83–
92. 27. FournierViger P. and Zida S. (2015). FOSHU: Faster Onshelf High
Utility Itemset Mining – with or Without Negative Unit Profit.
Proceedings of the 30th Annual ACM Symposium on Applied Computing,
New York, NY, USA, ACM, 857–864. 152 28. Fumarola F. and Malerba D. (2014). A parallel algorithm for approximate
2014 International
frequent itemset mining using MapReduce.
Conference on High Performance Computing Simulation (HPCS), 335–
342. 29. Grahne G. and Zhu J. (2005). Fast algorithms for frequent itemset mining using FPtrees. IEEE Trans Knowl Data Eng, 17(10), 1347–1362. 30. Han J., Pei J., Yin Y. et al. (2000). Mining frequent patterns without candidate generation. ACM SIGMOD Rec, 29(2), 1, 1–12, 12. 31. Holsheimer M., Kersten M.L., Mannila H. et al. (1995), A Perspective on
Databases and Data Mining, CWI (Centre for Mathematics and
Computer Science), Amsterdam, The Netherlands, The Netherlands. 32. Huai Z. g and Huang M. h (2011). A weighted frequent itemsets
Incremental Updating Algorithm base on hash table. 2011 IEEE 3rd
International Conference on Communication Software and Networks, 201–
204. 33. Kumar P. and S A.V. (2009). Parallel Method for Discovering Frequent
Itemsets Using Weighted Tree Approach. 2009 International Conference
on Computer Engineering and Technology, 124–128. 34. Lan Y.J. and Qiu Y. (2005). Parallel frequent itemsets mining algorithm
without intermediate result. 2005 International Conference on Machine
Learning and Cybernetics, 21022107 Vol. 4. 35. Lin C.W., Hong T.P., and Lu W.H. (2010). Efficiently Mining High
Average Utility Itemsets with a Tree Structure. Intelligent Information
and Database Systems, Springer, Berlin, Heidelberg, 131–139. 36. Lin Y.C., Wu C.W., and Tseng V.S. (2015). Mining High Utility
Itemsets in Big Data. Advances in Knowledge Discovery and Data
Mining. Springer International Publishing, Cham, 649–661. 37. Liu J., Wang K., and Fung B.C.M. (2012). Direct Discovery of High
2012 IEEE 12th Utility Itemsets without Candidate Generation.
International Conference on Data Mining, 984–989. 38. Liu M. and Qu J. (2012). Mining High Utility Itemsets Without Candidate
Generation. Proceedings of the 21st ACM International Conference on 153 Information and Knowledge Management, New York, NY, USA, ACM,
55–64. 39. Liu Y., Liao W., and Choudhary A. (2005). A Twophase Algorithm for
Fast Discovery of High Utility Itemsets. Proceedings of the 9th Pacific
Asia Conference on Advances in Knowledge Discovery and Data Mining,
Berlin, Heidelberg, SpringerVerlag, 689–695. 40. Liu Y., Liao W., and Choudhary A. (2005). A Fast High Utility Itemsets
Mining Algorithm. Proceedings of the 1st International Workshop on
Utilitybased Data Mining, New York, NY, USA, ACM, 90–99. 41. Lucchese C., Orlando S., and Perego R. (2007). Parallel Mining of
Frequent Closed Patterns: Harnessing Modern Computer Architectures.
Seventh IEEE International Conference on Data Mining (ICDM 2007),
242–251. 42. Manike C. and Om H. (2015). TimeEfficient TreeBased Algorithm for
Mining High Utility Patterns. Advances in Intelligent Informatics.
Springer, Cham, 409–418. 43. Padhy N., Mishra D., Panigrahi R. et al. (2012). The survey of data mining applications and feature scope. ArXiv Prepr ArXiv12115723. 44. Padhy N., Mishra D.P., and Panigrahi R. (2012). The Survey of Data
Mining Applications And Feature Scope. Int J Comput Sci Eng Inf
Technol, 2(3), 43–58. 45. Park J.S., Chen M.S., and Yu P.S. (1995). An Effective Hashbased
Algorithm for Mining Association Rules. Proceedings of the 1995 ACM
SIGMOD International Conference on Management of Data, New York,
NY, USA, ACM, 175–186. 46. Pillai J., Vyas O.P., and Muyeba M. (2013). HURI – A Novel Algorithm
for Mining High Utility Rare Itemsets. Advances in Computing and
Information Technology. Springer, Berlin, Heidelberg, 531–540. 47. Qiu H., Gu R., Yuan C. et al. (2014). YAFIM: A Parallel Frequent Itemset
2014 IEEE International Parallel Mining Algorithm with Spark.
Distributed Processing Symposium Workshops, 1664–1671. 154 48. Ramkumar G.D., Sanjay R., and Tsur S. (1998). Weighted Association
Rules: Model and Algorithm. Proc. Fourth ACM Int’l Conf. Knowledge
Discovery and Data Mining. 49. Rathi S. and Dhote C.A. (2014). Using parallel approach in preprocessing
2014 International
to improve frequent pattern growth algorithm.
Conference on Information Systems and Computer Networks (ISCON), 72–
76. 50. Ruan Y.L., Liu G., and Li Q.H. (2005). Parallel algorithm for mining
frequent itemsets. 2005 International Conference on Machine Learning
and Cybernetics, 21182121 Vol. 4. 51. Savasere A., Omiecinski E., and Navathe S.B. (1995). An Efficient
Algorithm for Mining Association Rules in Large Databases.
Proceedings of the 21th International Conference on Very Large Data
Bases, San Francisco, CA, USA, Morgan Kaufmann Publishers Inc., 432–
444. 52. Shankar S., Babu N., Purusothaman T. et al. (2009). A Fast Algorithm for
2009 IEEE International Advance Mining High Utility Itemsets.
Computing Conference, 1459–1464. 53. Shenoy P., Haritsa J.R., Sudarshan S. et al. (2000). Turbocharging
Vertical Mining of Large Databases. Proceedings of the 2000 ACM
SIGMOD International Conference on Management of Data, New York,
NY, USA, ACM, 22–33. 54. Solanki S.K. and Patel J.T. (2015). A Survey on Association Rule Mining.
2015 Fifth International Conference on Advanced Computing
Communication Technologies, 212–216. 55. Song W., Liu Y., and Li J. (2012). Vertical mining for high utility
itemsets. 2012 IEEE International Conference on Granular Computing,
429–434. 56. Subramanian K., Kandhasamy P., and Subramanian S. (2013). A Novel
Approach to Extract High Utility Itemsets from Distributed Databases.
Comput Inform, 31(6+), 1597–1615. 155 57. Sucahyo Y.G. and Gopalan R.P. (2004). CTPRO: A BottomUp Non
Recursive Frequent Itemset Mining Algorithm Using Compressed FP
Tree Data Structure. FIMI, 212–223. 58. Tao F., Murtagh F., and Farid M. (2003). Weighted Association Rule
Mining Using Weighted Support and Significance Framework.
Proceedings of the Ninth ACM SIGKDD International Conference on
Knowledge Discovery and Data Mining, New York, NY, USA, ACM,
661–666. 59. Teodoro G., Mariano N., Jr W.M. et al. (2010). Tree ProjectionBased
Frequent Itemset Mining on Multicore CPUs and GPUs. 2010 22nd
International Symposium on Computer Architecture and High
Performance Computing, 47–54. 60. Tseng V.S., Shie B.E., Wu C.W. et al. (2013). Efficient Algorithms for
Mining High Utility Itemsets from Transactional Databases. IEEE Trans
Knowl Data Eng, 25(8), 1772–1786. 61. Tseng V.S., Wu C.W., FournierViger P. et al. (2016). Efficient
Algorithms for Mining TopK High Utility Itemsets. IEEE Trans Knowl
Data Eng, 28(1), 54–67. 62. Tseng V.S., Wu C.W., Shie B.E. et al. (2010). UPGrowth: An Efficient
Algorithm for High Utility Itemset Mining. Proceedings of the 16th ACM
SIGKDD International Conference on Knowledge Discovery and Data
Mining, New York, NY, USA, ACM, 253–262. 63. Veloso A., Otey M.E., Parthasarathy S. et al. (2003). Parallel and
High
Distributed Frequent Itemset Mining on Dynamic Datasets.
Performance Computing HiPC 2003, Springer, Berlin, Heidelberg, 184–
193. 64. Vo B., Coenen F., and Le B. (2013). A New Method for Mining Frequent
Weighted Itemsets Based on WITtrees. Expert Syst Appl, 40(4), 1256–
1264. 65. Vo B., Nguyen H., Ho T.B. et al. (2009). Parallel Method for Mining
High Utility Itemsets from Vertically Partitioned Distributed Databases.
Proceedings of the 13th International Conference on KnowledgeBased 156 and Intelligent Information and Engineering Systems: Part I, Berlin,
Heidelberg, SpringerVerlag, 251–260. 66. Wang W., Yang J., and Yu P. (2004). WAR: Weighted Association Rules for Item Intensities. Knowl Inf Syst, 6(2), 203–229. 67. Xun Y., Zhang J., and Qin X. (2016). FiDoop: Parallel Mining of
Frequent Itemsets Using MapReduce. IEEE Trans Syst Man Cybern Syst,
46(3), 313–325. 68. Ye Y. and Chiang C.C. (2006). A Parallel Apriori Algorithm for
Frequent Itemsets Mining. Fourth International Conference on Software
Engineering Research, Management and Applications (SERA’06), 87–94. 69. Yin J., Zheng Z., Cao L. et al. (2013). Efficiently Mining TopK High
Utility Sequential Patterns. 2013 IEEE 13th International Conference on
Data Mining, 1259–1264. 70. Yoshikawa M. and Terai H. (2006). Apriori, Association Rules, Data
Mining,Frequent Itemsets Mining (FIM), Parallel Computing. Fourth
International Conference on Software Engineering Research,
Management and Applications (SERA’06), 95–100. 71. Yu K.M. and Wu S.H. (2011). An Efficient Load Balancing Multicore
Frequent Patterns Mining Algorithm. 2011IEEE 10th International
Conference on Trust, Security and Privacy in Computing and
Communications, 1408–1412. 72. Yun U. and Leggett J. (2005). WFIM: Weighted Frequent Itemset Mining
with a weight range and a minimum weight. Proceedings of the 2005
SIAM International Conference on Data Mining. Society for Industrial
and Applied Mathematics, 636–640. 73. Yun U. and Ryu K.H. (2011). Approximate weighted frequent pattern
mining with/without noisy environments. KnowlBased Syst, 24(1), 73–
82. 74. Zaki M.J. (2000). Scalable Algorithms for Association Mining. IEEE Trans Knowl Data Eng, 12(3), 372–390. 75. Zaki M.J. and Gouda K. (2003). Fast Vertical Mining Using Diffsets.
Proceedings of the Ninth ACM SIGKDD International Conference on 157 Knowledge Discovery and Data Mining, New York, NY, USA, ACM,
326–335. 76. Zhang Z., Ji G., and Tang M. (2013). MREclat: An Algorithm for Parallel
Mining Frequent Itemsets. 2013 International Conference on Advanced
Cloud and Big Data, 177–180. 77. Zida S., FournierViger P., Lin J.C.W. et al. (2015). EFIM: a highly
efficient algorithm for highutility itemset mining. Mexican International
Conference on Artificial Intelligence, Springer, 530–546. 78. ZongYu Z. and YaPing Z. (2012). A Parallel Algorithm of Frequent
Itemsets Mining Based on Bit Matrix. 2012 International Conference on
Industrial Control and Electronics Engineering, 1210–1213. 79. SPMF: A Java OpenSource Data Mining Library. 158Database
T
D
N