Bài viết trình bày khảo sát và tổng luận về một số thuật toán khai thác song song tập phổ biến (bước quan trọng của khai thác luật kết hợp) trên bộ xử lý đa nhân. Điều này giúp các nhà nghiên cứu có sự lựa chọn giải pháp kỹ thuật phù hợp khi cần nâng cao hiệu năng trong khai thác dữ liệu lớn.
Trang 1Tổng Luận về Khai Thác Song Song Tập Phổ Biến
từ Dữ Liệu Giao Dịch trên Bộ Xử Lý Đa Nhân
Phan Thành Huấn1,2, Lê Hoài Bắc3
1Khoa Toán – Tin học, Trường Đại học Khoa học Tự nhiên, ĐHQG.HCM-VN
2Bộ môn Tin học, Trường Đại học Khoa học Xã hội và Nhân văn, ĐHQG.HCM -VN
3Khoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhiên, ĐHQG.HCM-VN
Email: huanphan@hcmussh.edu.vn, lhbac@fithcmus.edu.vn
Tóm tắt - Trong gần ba mươi năm qua, khai thác luật kết hợp
luôn được nhiều nhà nghiên cứu quan tâm và đề xuất nhiều thuật
toán hiệu quả cho bài toán tìm kiếm các mối tương quan tiềm ẩn
giữa các item trong dữ liệu Cùng với sự bùng nổ của dữ liệu lớn
và phát triển vượt bậc của kỹ thuật phần cứng, một số nhà
nghiên cứu đã nâng cao hiệu năng khai thác luật kết hợp bằng
cách sử dụng môi trường tính toán song song trên các bộ xử lý đa
nhân – giúp giảm thiểu thời gian khai thác đáng kể Trong bài
viết này, chúng tôi khảo sát và tổng luận về một số thuật toán
khai thác song song tập phổ biến (bước quan trọng của khai thác
luật kết hợp) trên bộ xử lý đa nhân Điều này giúp các nhà
nghiên cứu có sự lựa chọn giải pháp kỹ thuật phù hợp khi cần
nâng cao hiệu năng trong khai thác dữ liệu lớn Sau cùng, chúng
tôi đưa ra khuyến nghị và định hướng nghiên cứu của nhóm
trong sự gia tăng như vũ bão của dữ liệu thu thập
Từ khóa – bộ xử lý đa nhân, khai thác song song, luật kết hợp,
tập phổ biến
I GIỚI THIỆU Khai thác luật kết hợp là một kỹ thuật quan trọng trong lĩnh
vực khai thác dữ liệu Mục tiêu khai thác là phát hiện những
mố i tương quan giữa các item trong tập dữ liệu Năm 1993,
Agrawal và đồng sự đề xuất mô hình đầu tiên của bài toán khai
thác luật kết hợp là mô hình nhị phân hay còn gọi là mô hình
cơ bản, phân tích dữ liệu giao dịch, phát hiện các mối tương
quan giữa các mặt hàng đã bán tại các siêu thị Từ đó có kế
hoạch bố trí, sắp xếp, kinh doanh hợp lý, đồng thời tổ chức sắp
xếp các quầy gần nhau như thế nào để có doanh thu trong các
phiên giao dịch là lớn nhất Ngoài ra, có thể áp dụng tri thức
này để dự đoán số lượng các mặt hàng được bán chạy nhất
trong thời gian sắp tới Tổng hợp các tri thức này để lên kế
hoạch cho hoạt động, sản xuất, kinh doanh một cách thuận tiện
hơn nhằm giảm bớt thời gian thống kê, tìm hiểu thị trường,
Các thuật toán tuần tự được đề xuất cho khai thác luật kết
hợp chia thành 2 pha [1-9]:
Pha 1: Tìm tất cả các kết hợp thỏa ngưỡng phổ biến tối
thiểu minsup - pha tốn khá nhiều thời gian xử lý;
Pha 2: sinh luật kết hợp lần lượt từ các kết hợp thỏa minsup
ở pha 1 và các luật kết hợp này phải thỏa ngưỡng tin cậy tối
thiểu minconf
Agrawal đã đề xuất thuật toán Apriori [1] - khai thác tập
phổ biến FI (Frequent Itemset), thuật toán quét dữ liệu nhiều
lần và có độ phức tạp dạng hàm mũ Để cải tiến về mặt thời
gian trong khai thác tập phổ biến, nhiều nhà nghiên cứu đã đề xuất thuật toán khai thác hiệu quả tập phổ biến dựa vào các cấu trúc lưu trữ rút gọn không gian tìm kiếm như SE-Tree, Prefix-Tree, IT-Tree, FP-Tree,… Tuy nhiên, trong thực tế việc phát sinh tập phổ biến tốn nhiều thời gian và có số lượng
itemset rất lớn Vì vậy, một số nhà nghiên cứu đã đề xuất khai
thác tập phổ biến đóng CFI (Closed Frequent Itemset) có số
lượng ít hơn tập phổ biến như thuật toán A-Close [4], Charm [5], Song song đó, một số nhà khoa học khác cũng đề xuất
khai thác tập phổ biến tối đại MFI (Maximal Frequent Itemset) như thuật toán Pincer-Search [6], Mafia [7], …
Ở một số ứng dụng thực tế, việc sử dụng các tập FI, CFI
và MFI tốn rất nhiều chi phí tính toán cũng như s ố lượng
itemset phổ biến rất lớn Bayardo đề xuất khai thác tập phổ
biến có chiều dài tối đa LFI (Maximu m Length Frequent Itemset) đây là tập con của tập phổ biến FI và chỉ chứa các
itemset phổ biến có chiều dài tối đa như thuật toán Max-Miner
[8], DepthProject [9],
Năm 1995, Park đã phát triển thuật toán PDM [10] tựa Apriori chạy trên hệ thống tính toán phân tán (HT3PT) để nâng cao hiệu năng khai thác dữ liệu Những năm sau: Zaki, Agrawal và Han cũng lần lượt đề xuất các thuật toán CCPD
[11], AprioriHybrid [12] và IDD [13] theo hướng tiếp cận tựa Apriori Năm 1997, Zaki đã đề xuất thuật toán Par-Eclat [14] khai thác luật kết hợp trên HT3PT theo hướng tiếp cận trên
cấu trúc dàn (lattice) Đến năm 2003, Chung dựa trên thuật toán Max-Miner [8] của Bayardo và hiệu chỉnh thực hiện trên
HT3PT gọi là thuật toán Par-MaxMiner Tuy nhiên, các HT3PT tồn tại hạn chế lớn là phụ thuộc vào đường truyền trao
đổi thông tin giữa các máy tính Năm 2004, Javed đề xuất
thuật toán PFP [16] dựa trên cấu trúc FP-Tree để khai thác song song tập phổ biến trên máy tính có nhiều Bộ xử lý (BXL), các thuật toán này cũng tồn tại hạn chế về độ trễ cao khi các BXL cần giao tiếp Năm 2005, Intel đã cho ra đời thế
hệ BXL chứa nhiều nhân xử lý (BXLĐN), kéo theo nhiều công trình khai thác hiệu quả tập phổ biến trên BXLĐN như FP-array [17], PLCM [20],… cho đến nay
Phần 2, bài báo trình bày các khái niệm cơ bản về khai thác luật kết hợp, tập phổ biến, thuật toán Apriori và tính toán hiệu năng cao Phần 3, khảo sát về một số thuật toán khai thác song song tập phổ biến trên BXLĐN trong nhiều năm qua theo hướng tiếp cận sử dụng cấu trúc dữ liệu và chiến lược tìm kiếm tương ứng Tổng luận về một số thuật toán khai thác song song tập phổ biến trên BXLĐN trong phần 4; kết luận và hướng phát triển được trình bày trong phần 5
Trang 2II CÁC KHÁI NIỆM CƠ BẢN
A Khai thác luật kết hợp
Cho I = {i 1 , i 2, , i m } là tập gồ m m thuộc tính, mỗ i thuộc
tính gọi là item Tập các item X ={i 1 , i 2, , i k }, ij I (1 j k)
gọi là itemset, itemset có k item gọi là k-itemset Ɗ là dữ liệu
giao dịch, có n bản ghi phân biệt gọi là tập các giao dịch T =
{t 1 , t 2, , t n }, mỗi giao dịch t k ={i k1 , i k2, , i km }, i kj I (1 k j m)
Định nghĩa 1: Cho X, Y I với X Y = , luật kết hợp là
một mệnh đề kéo theo có dạng X Y, thỏa hai ngưỡng độ đo
cho trước (minsup – độ phổ biến tối thiểu; minconf – độ tin
cậy tối thiểu), trong đó X gọi là tiền đề và Y là kết luận
Định nghĩa 2 : Độ phổ biến (support) của itemset X I, ký
hiệu sup(X) - tỷ lệ giữa số giao dịch trong Ɗ có chứa X và n
giao dịch
Định nghĩa 3: Độ phổ biến của luật kết hợp X Y, ký
hiệu sup(X Y) - tỷ lệ giữa số giao dịch trong Ɗ chứa {X
Y} và n giao dịch
Định nghĩa 4 : Độ tin cậy (confident) của luật kết hợp X
Y, ký h iệu conf(X Y) - tỷ lệ giữa số giao d ịch chứa {X Y}
và số giao dịch chứa X trong Ɗ
Mã giả thuật toán 1: khai thác luật kết hợp
Đầu vào: Dữ liệu Ɗ, minsup, minconf
Đầu ra: Tập luật kết hợp thỏa minsup, minconf
1 FI = { }//tập chứa các kết hợp
2 Với mỗi Z Ƥ1(I), thực hiện:
3 Nếu sup(Z) minsup thì
4 FI = FI Z
5 AR = { }//tập chứa luật kết hợp
6 Với mỗi fi FI, thực hiện:
7 Nếu conf(X {fi \ X}) minconf thì
8 AR = AR (X {fi \ X})
9 Trả về AR
(Ƥ1(I): tất cả các powerset của I có ít nhất một item)
Thuật toán 1 được chia thành 2 pha
Pha 1: (dòng 1 đến 4) đây là pha tìm tất cả các kết hợp
thỏa ngưỡng minsup;
Pha 2 : (dòng 5 đến 8) sinh các luật kết hợp lần lượt từ các
kết hợp thỏa minsup ở pha 1 và các luật kết hợp này phải thỏa
ngưỡng tin cậy tối thiểu minconf (luật kết hợp X {fi \ X} có
tiền đề X và kết luận Y={fi \ X}, X Y = )
Phân tích không gian tìm kiếm thuật toán 1:
Pha 1: dữ liệu giao dịch Ɗ có | I | = m, tất cả các kết hợp
được sinh từ I có ít nhất một item - Ƥ 1(I), chúng ta có không
gian các kết hợp giữa các item được sinh ra từ m item là 2m –
1, đây chính là không gian tìm kiếm ở pha 1 cho v iệc xác đ ịnh
các kết hợp thỏa ngưỡng minsup
Pha 2: sau kh i xác định được tập các kết hợp hay itemset
thỏa minsup, pha này sinh luật kết hợp lần lượt từ các itemset
Giả sử, cho itemset X có m item, l (1 l m) và r (1 r m-l)
là số item ở tiền đề và kết luận Khi đó, ta có m
l
C số cách chọn tiền đề có l item trên m item từ itemset X và m l
r
C số cách chọn
kết luận có r item trên (m-l) item còn lại từ itemset X Dưới
đây là công thức tính số luật kết hợp đầy đủ được sinh từ
itemset X:
m m l
m m l
Áp dụng tam thức Newton, công thức (1) được viết lại:
1
m m l
Hầu hết các thuật toán khai thác luật kết hợp đã đề xuất
đều tập trung kỹ thuật cải tiến ở Pha 1 (xác định các kết hợp thỏa minsup) Tất cả thuật toán này cho rằng Pha 1 chiếm
nhiều thời gian trong cả quá trình khai thác luật kết hợp Tuy
nhiên, theo phân tích ở trên thì Pha 2 là phức tạp hơn và có
không gian sinh lớn; hay nói khác hơn là thuật toán 1 thì pha nào cũng cần thiết cải tiến và nâng cao hiệu năng tính toán
Chẳng hạn như: ta có itemset X={A, B, C}, m = 3 th ì tổng số luật kết hợp sinh ra từ itemset X được tính là
1 2 1 2 1 3 1 2 3 1 12
X có 3 item thì cần xem xét 12 luật kết hợp có thỏa ngưỡng minconf hay không Tương tự, nếu itemset X có 4 item (m = 4) thì cần xem xét 50 luật kết hợp thỏa minconf Ngoài ra, phân
tích trên cũng cho ta thấy rõ về không gian tìm kiếm ở cả 2
pha đều không phụ thuộc vào số lượng giao dịch của dữ liệu
Ɗ, mà ch ỉ phụ thuộc vào số lượng item (thuộc tính) của dữ
liệu khai thác
Bảng 1 Ước tính không gian sinh các kết hợp
và số lượng luật kết hợp được sinh từ m-itemset
P 1 2 10 -1 2 20 -1 2 30 -1 2 40 -1 2 50 -1 2 60 -1 2 70 -1 2 80 -1
P 2 3 10 -2 11 +1 3 20 -2 21 +1 3 30 -2 31 +1 3 40 -2 41 +1 3 50 -2 51 +1 3 60 -2 61 +1 3 70 -2 71 +1 3 80 -2 81 +1
P 2 /P 1 57 3.325 191x10 3 11x10 6 637x10 6 36x10 9 2x10 12 122x10 12
P1: không gian sinh các kết hợp (2m – 1);
P2: số lượng LKH được sinh từ m-itemset (3m – 2m+1 +1)
Định nghĩa 5 : Cho X I, X gọi là itemset phổ biến –
nếu sup(X) ≥ minsup, trong đó minsup là ngưỡng phổ biến tối
thiểu (do người dùng chỉ định) Ký h iệu FI là tập hợp chứa các
itemset phổ biến
Định nghĩa 6: Cho X I, X được gọi là itemset phổ biến
đóng – nếu X là itemset phổ b iến và không có tập cha cùng độ
phổ biến Ký hiệu CFI là tập hợp chứa các itemset phổ biến
đóng
Định nghĩa 7: Cho X I, X được gọi là itemset phổ biến
tối đại – nếu X là itemset phổ biến và không có tập cha là
itemset phổ biến Ký hiệu MFI là tập hợp chứa các itemset
phổ biến tối đại
Ngoài ra, kh i cần khai thác các luật kết hợp có số thuộc tính nhiều nhất thì các nhà nghiên cứu còn đề xuất khai thác tập phổ biến có chiều dài tối đa – chính là tập con của tập phổ biến tối đại và có chiều dài tối đa
Định nghĩa 8: Cho X FI, X được gọi là itemset phổ
biến có chiều dài tối đa nếu Y FI th ì |X| |Y|, tức là số
lượng item của itemset X lớn hơn hoặc bằng số lượng item
của bất kỳ itemset phổ biến có trong FI Ký hiệu LFI là tập
hợp chứa các itemset phổ biến có chiều dài tối đa
Một số tính chất của itemset phổ biến: đây là các tính
chất nền tảng sử dụng cho việc rút gọn không gian tìm kiếm – các tính chất này được gọi là tính chất Apriori/ bao đóng giảm
(Downward Closure Property - DCP)
Tính chất 1: (độ phổ biến của tập con) Cho X, Y I, nếu X
Y thì sup(X) sup(Y);
Tính chất 2: Một itemset con khác rỗng của một itemset
phổ biến cũng là itemset phổ biến - X Y, sup(Y) ≥ minsup: sup(X) ≥ minsup;
Chứng minh: theo tính chất 1, ta có sup(X) sup(Y) và sup(Y) minsup thì sup(X) minsup ■
Trang 3Tính chất 3: Một itemset chứa một itemset không phổ biến
cũng là itemset không phổ biến - X Y, sup(X) < minsup:
sup(Y) < minsup
Chứng minh: theo tính chất 1, ta có sup(Y) sup(X) và
sup(X) < minsup thì sup(Y) < minsup ■
B Thuật toán Apriori
Thuật toán do Agrawal đề xuất năm 1993 [1], được đánh
giá mang tính chất lịch sử trong lĩnh vực khai thác luật kết
hợp, vì đã vượt xa tầm của các thuật toán quen thuộc trong
lĩnh vực này Apriori là thuật toán nền tảng để tìm các tập phổ
biến sử dụng phương pháp sinh ứng viên Thuật toán có đặc
điểm là tìm kiếm theo chiều rộng sử dụng tính chất Apriori:
bất kỳ (k-1)-itemset không phổ biến thì nó không thể là tập con
của k-itemset phổ biến
Mã giả thuật toán 2: khai thác tập phổ biến
Đầu vào: Dữ liệu Ɗ, minsup
Đầu ra: Tập FI chứa itemsets thỏa ngưỡng minsup
1 Sinh ứng viên Ck+1 từ k-itemset phổ biến;
2 Quét dữ liệu - tính độ phổ biến của các ứng viên;
3 Thêm các ứng viên vào danh sách (k+1)-itemset
Ưu điểm: Thuật toán dựa trên một nhận xét khá đơn giản
là bất kỳ itemset con nào của itemset phổ biến cũng là itemset
phổ biến (tính chất 2) Do đó, trong quá trình đi tìm tập ứng
viên, thuật toán chỉ dùng đến tập ứng viên vừa xuất hiện ở
bước ngay trước đó, không dùng đến tất cả tập ứng viên (cho
đến thời điểm đó) Nhờ vậy, bộ nhớ được giải phóng đáng kể
Nhược điểm: Thuật toán phải quét dữ liệu (max+1) lần
với max là ch iều dài của itemset phổ biến dài nhất Thuật toán
Apriori giảm không gian dựa vào tính chất Apriori Tuy nhiên,
khi số itemset phổ biến được sinh ra lớn, max lớn hay minsup
nhỏ sẽ dẫn đến việc phát sinh ra rất nhiều tập ứng viên và phải
duyệt dữ liệu rất nhiều lần, thuật toán có chi phí cao Trong
thực tế, cần phải sinh 2100 ứng viên (trong trường hợp xấu
nhất) để tìm itemset phổ biến có kích thước 100
Từ những nhược điểm trên, nhiều nhà nghiên cứu đã đề
xuất các thuật toán tăng hiệu năng sinh các tập phổ biến dựa
trên việc tổ chức lưu trữ dữ liệu và các ch iến lược tìm kiếm
hiệu quả tương ứng
C Tính toán hiệu năng cao
Trong thực tế có nhiều bài toán có độ phức tạp rất lớn mà
sức mạnh siêu máy tính hiện tại cũng chưa giải quyết được Vì
vậy người ta gọi đây là các thách đố Chúng ta có thể tham
khảo [38, 39] để h iểu hơn về các thách đố này Hiện nay có rất
nhiều lĩnh vực khoa học cần khoa học tính toán như hóa học,
vật lý hạt nhân, vũ trụ học, cơ lưu chất, sinh học, y học…
Khoa học tính toán giúp giải quyết nhiều vấn đề trên mô hình
toán để tiên đoán trước kết quả thử nghiệm và như vậy g iúp
rút ngắn quá trình thử nghiệm Nhiều bài toán cần giải quyết
trên môi trường tính toán lưới như trong [40] càng cho thấy sự
cần thiết của sức mạnh tính toán trong lĩnh vực khoa học và
công nghệ phát triển
Nhằm đáp ứng yêu cầu tính toán trong khoa học và công
nghệ, ba giải pháp được đề nghị:
1) Tăng tốc độ tính toán của bộ xử lý;
2) Tìm một giải thuật tốt hơn để giải quyết;
3) Sử dụng kỹ thuật xử lý song song
Giải pháp (1) và (2) đòi hỏi nhiều thời gian để có kết quả
cũng như có nhiều giới hạn Theo công nghệ hiện nay, khả
năng của máy tính có một bộ xử lý đã được chứng minh là
không vượt quá ngưỡng 500.000 MIPS (triệu phép tính trên giây) [41] Để giải quyết các bài toán có khối lượng tính toán lớn đòi hỏi một giải pháp mới; đó chính là giải pháp (3) Chính động lực này đã thúc đẩy việc ra đời các hệ thống máy tính có khả năng tính toán song song mạnh
Các dạng bài toán trong tính toán hiệu năng cao:
- Nặng về Xử lý (co mpute intensive) – Một bài toán duy
nhất đòi hỏi một lượng lớn tính toán;
- Nặng về Bộ nhớ (memo ry intensive) – Một bài toán
duy nhất đòi hỏi một lượng lớn bộ nhớ;
- Nặng về Dữ liệu (data intensive) – Một bài toán duy
nhất hoạt động trên một tập dữ liệu lớn;
- Thông lượng cao (throughput intensive) – Nhiều bài
toán không liên quan được tính toán đồng loạt
Định luật Amdahl:
Định luật g iả đ ịnh kích thước bài toán là cố định và thời gian chạy của các phần tuần tự của chương trình là độc lập với
số lượng BXL Nếu là tỷ lệ thời gian chạy của phần chương trình thực hiện tuần tự (không song song hóa được):
1
S là tỷ lệ tối đa khi song song hóa toàn bộ chương trình, cho dù có thêm vào bao nhiêu BXL Điều này đặt ra một giới hạn về tính hữu ích khi gia tăng BXL
Định luật Gustafson:
Định luật Gustafson là một nguyên lý khác trong tính toán, liên quan chặt chẽ đến định luật Amdahl Mức độ tăng tốc
với P bộ xử lý là
1
S tăng tuyến tính khi số lượng BXL tăng Định luật Gustafson cho thấy: sức mạnh song song thực sự của một hệ thống nhiều BXL chỉ có thể đạt được kh i phần lớn khối lượng công việc của bài toán được xử lý song song
A Khảo sát về cấu trúc dữ liệu và chiến lược tìm kiếm
Ngoài một số thuật toán có hướng tiếp cận theo Apriori, chúng tôi trình bày khảo sát các cấu trúc dữ liệu thông dụng
được sử dụng bởi nhiều nhóm tác g iả cho việc lưu trữ không gian tìm kiếm trong quá trình khai thác song song tập phổ biến
và các chiến lược tìm kiếm phù hợp cùng với không gian lưu trữ Các chiến lược tìm kiếm trên cấu trúc cây: tìm kiếm theo
chiều sâu (Depth First Search - DFS), tìm kiếm theo ch iều rộng (Breadth First Search - BFS) hoặc kết hợp cả hai ch iến
lược trên
1) Cấu trúc dàn - Lattice
Đây là cấu trúc dữ liệu được sử dụng nhiều trong các thuật toán đề xuất Dữ liệu g iao dịch Ɗ có | I | = m, tất cả các kết hợp (powerset) được sinh từ I - Ƥ(I), chúng ta có không gian các kết hợp giữa các item được sinh ra từ m item là 2m, đây
chính là không gian tìm kiếm đầy đủ
Năm 1999, Pasquier đề xuất thuật toán A-Close [4] dựa
trên cấu trúc dàn để khai thác tập phổ biến đóng (gần 2.000 trích dẫn)
Chiến lược tìm kiếm trên dàn: kết hợp cả 2 chiều
(Top-Down và Bottom-Up)
Trang 4Hình 1 Cấu trúc dàn - Lattice
Ưu điểm: tổ chức lưu trữ đơn giản, đảm bảo khai thác đầy
đủ tập phổ biến và phù hợp cho dữ liệu tăng trưởng;
Nhược điểm: để lưu trữ không gian kết hợp của m item thì
cần 2m kết hợp - chiếm nhiều bộ nhớ trong quá trình khai thác
2) Cây liệt kê - Set Enumeration Tree (SE-Tree)
Năm 1989, Bayardo đề xuất thuật toán Max-Miner [8] dựa
trên cây liệt kê (trên 2.000 trích dẫn) để khai thác tập phổ biến
có chiều dài tối đa Đây là dạng rút gọn của cấu trúc dàn
Hình 2 Cây liệt kê - Set Enumeration T ree (SE-T ree)
Chiến lược tìm kiếm: theo chiều sâu DFS
Ưu điểm: cây b iểu diễn rút gọn các liên kết của cấu trúc
dàn, đảm bảo khai thác đầy đủ tập phổ biến;
Nhược điểm: mất cân bằng trong quá trình khai thác (phụ
thuộc vào độ phổ biến của item)
3) Cây tiền tố (Prefix – Tree)
Năm 2002, Liu đề xuất thuật toán OpportuneProject [3] dựa
trên cấu trúc cây tiền tố (gần 300 trích dẫn) để khai thác nhanh
tập phổ biến
Hình 3 Cây tiền tố (Prefix-T ree)
Tương tự như cây liệt kê, nội dung lưu trữ được rút gọn
thông qua tiền tố
4) Cây IT-Tree (Itemset Tidset Tree)
Năm 1999, Zaki đề xuất thuật toán Charm [5] cùng với cấu
trúc IT-Tree (Itemset Tidset Tree) tương tự cấu trúc cây liệt kê
và kết hợp lưu trữ mã giao dịch của itemset (1.500 trích dẫn)
Hình 4 Cây IT -T ree
Chiến lược tìm kiếm: theo chiều sâu
Ưu điểm: đơn giản, đảm bảo khai thác đầy đủ tập phổ biến
và tính toán nhanh độ phổ biến;
Nhược điểm: mất cân bằng trong quá trình khai thác và
lưu trữ tốn nhiều bộ nhớ
5) Cây FP-Tree (Frequent Pattern Tree)
Năm 2000, Jiawei Han và đồng sự đã đề xuất cấu trúc
FP-Tree [2] (gần 9.000 trích dẫn) và thuật toán FP-gro wth dùng cho việc khai thác các itemset phổ biến Đây là dạng cây mở rộng từ Prefix-Tree, có thêm bảng header lưu trữ item, độ phổ
biến và liên kết đến nút trong cây Từ đây, cấu trúc FP-Tree được nhiều nhà nghiên cứu sử dụng và cải tiến
Hình 5 Cây FP-T ree
Mặc dù, cấu trúc FP-Tree được rút gọn hơn so với các cấu trúc trên, nhưng FP-Tree là dạng mở rộng từ Prefix-Tree, nên vẫn tồn tại nhiều hạn chế tương tự như Prefix-Tree, nghĩa là cây mất cân bằng
B Một số thuật toán khai thác song song tập phổ biến trên
Bộ xử lý đa nhân
Trong phần này, chúng tôi khảo sát cả công trình khai thác tập phổ biến trên HT3PT (1995 – 2003) [10-15]; thuật toán PFP [16] khai thác trên hệ thống nhiều BXL; cùng với sự phát triển mạnh mẽ về kỹ thuật phần cứng cho ra đời các BXL đa nhân thì nhiều thuật toán nâng cao hiệu năng khai thác tập phổ biến trên BXLĐN cũng được công bố như thuật toán FP-array [17], PLCM [20],…
Bảng 2, trình bày mốc thời g ian của một số thuật toán khai
thác song song tập phổ biến từ năm 1995 đến 2020, cùng với
hướng tiếp cận sử dụng cấu trúc dữ liệu và số trích dẫn của công trình [10-37] (Park [10] đến Karthik [37])
Bảng 2 T ổng hợp các công trình khai tháctập phổ biến song song
trên bộ xử lý đa nhân/ Grid
Tác giả
Hướng
#Trích
J S Park PDM Apriori Nodes 389 1995
M J Zaki CCPD Apriori Nodes 200 1996
R Agarwal AprioriHybrid Apriori Nodes 1.734 1996
M J Zaki Par-Eclat Lattice Nodes 1.872 1997
S M Chung Par-MaxMiner SE-T ree Nodes 16 2003
A Javed PFP FP-T ree Many CPU 99 2004
L Liu FP-array FP-T ree CPU 148 2007
Trang 5Tác giả
đứng đầu Thuật toán tiếp cận Hướng Xử lý #Trích dẫn Năm
S H Adil Apriori* Apriori GPU 34 2009
B Negrevergne PLCM SE-T ree CPU 48 2010
H Li MG SE-T ree GPU 14 2010
G T eodoro T reeProjection* SE-T ree CPU,GPU 27 2010
F Zhang GPApriori Apriori GPU 61 2011
C Silvestri gpuDCI Lattice GPU 24 2012
B Missaoui P-ST M SE-T ree CPU 2 2013
F Wang GPU-FP-growth FP-T ree GPU 9 2014
B Negrevergne ParaMiner Lattice CPU 56 2014
H Jiang PFP-growth FP-T ree GPU 3 2017
K W Chon GMiner Apriori GPU 16 2018
Y Wang D2P- Apriori Apriori GPU 1 2018
H Phan NPA-CFI Prefix-Tree CPU 2019
Y C Wu GFPG-LLMA FP-T ree GPU 2019
Bảng 2, cho chúng ta thấy các thuật toán khai thác song
song tập phổ biến trên BXLĐN từ năm 2007 đến nay – ngoài
các thuật toán dựa trên thuật toán Apriori, các thuật toán còn
lại đều sử dụng 5 dạng cấu trúc dữ liệu được khảo sát ở trên
(từ Hình 1 đến Hình 5)
SONGSONGTẬP PHỔ BIẾN TRÊN BXLĐN
A Chiến lược tìm kiếm
Khảo sát một số thuật toán ở phần 3, cho thấy: Ngoài các
thuật toán tiếp cận tựa Apriori – áp dụng chiến lược tìm kiếm
BFS Phần lớn các thuật toán sử dụng cấu trúc cây – chiến lược
tìm kiếm DFS Giải thuật DFS thông thường được thiết kế
dạng hàm đệ quy, điều này dẫn đến những hạn chế khi thực
hiện trên BXLĐN – hệ thống dễ treo, khó mở rộng trên dữ liệu
lớn Vì vậy, cần có giải pháp biến DFS thành BFS hoặc sử
dụng vòng lặp để khử đệ quy cho giải thuật này Mặt khác, các
cấu trúc cây được khảo sát ở phần 3 đã thể hiện rõ tính mất cân
bằng của cây – Điều này, cho thấy trong các giải thuật khai
thác song song tập phổ biến cần quan tâm đến vấn đề cân bằng
tải trên các BXL để có một giải thuật thật sự hiệu quả
B Cân bằng tải (Load Balancing) cho tính toán song song
Trong gần 30 công trình được khảo sát, chúng tôi chỉ nêu
một số công trình tương đối nổi bật:
Năm 1996, Zaki đề xuất thuật toán CCPD [11] khai thác
song song tập phổ biến trên hệ thống phân tán dựa trên thuật
toán Apriori và Zaki đã đề xuất giải pháp cân bằng tải bằng
cách lượng giá công việc thực hiện trên mỗi itemset và chọn
lược đồ tốt nhất (ít mất cân bằng nhất) phân bổ vào các node
xử lý khác nhau
Năm 2010, Yu đề xuất thuật toán MATI [23] và LPAS [30]
khai thác song song tập phổ biến trên BXLĐN dựa trên thuật
toán Apriori; nhóm tác g iả đã đề xuất giải pháp cân bằng tải
bằng cách đưa ra khái niệm itemset-block ở bước sinh
k-itemset phổ biến (k > 1) theo item tiền tố; bước sinh
(k+1)-itemset trên từng (k+1)-itemset-block Yu đã cải tiến MATI bằng
cách sắp xếp thứ tự độ phổ biến khi phân chia itemset-block
được gọi là thuật toán LPAS Yu đã thực nghiệm so sánh số
ứng viên sinh ra ở thuật toán LPAS giảm 29% so với MATI
Tuy nhiên, hiệu năng của thuật toán LPAS tối đa chỉ nhanh hơn MATI là 18,11%
Năm 2017, Jiang đề xuất thuật toán PFP-growth [32] khai thác song song tập phổ biến trên BXLĐN dựa trên thuật toán FP-gro wth; phần thực nghiệm trên GeFo rce GTX 980 Ti (2.816 CUDA cores) cho thấy thuật toán chưa hiệu quả trên dữ
liệu có số lượng items lớn (dữ liệu thực mật độ thưa Retail có
16.470 items, trung b ình 10 items/giao dịch và 88.162 g iao dịch – kho dữ liệu UCI) Nhó m tác g iả chưa quan tâm đến g iải pháp cân bằng tải Song song đó, nhóm tác giả Wang đã đề xuất thuật toán D2P-Apriori [34]; phần thực nghiệm trên GeForce GTX 1080 (2.560 CUDA cores) với các ngưỡng
minsup lớn - chưa thể hiện rõ hiệu suất của thuật toán
Năm 2019, Huan đã đề xuất thuật toán NPA-CFI [35] – thuật toán song song khai thác tập phổ biến đóng trên BXLĐN theo hướng tiếp cận giải pháp (2) Thuật toán NPA-CFI, phân chia thành 3 Pha độc lập, tác vụ song song tự nhiên trên Pha 1
và Pha 3 Điều này đã làm g ia tăng hiệu năng của thuật toán đáng kể Tuy nhiên, ở Pha 3 của thuật toán vẫn chưa đề cập đến giải pháp cân bằng tải Cùng thời điểm trên, Wu đề xuất thuật toán GFPG-LLMA [36] – thực nghiệm trên GeForce GTX 1070 (1.920 CUDA cores), h iệu suất chưa cao và nhóm tác giả cũng bỏ ngỏ vấn đề cân bằng tải
Nhìn chung, phần lớn các công trình nghiên cứu lựa chọn giải pháp (3) cho bài toán khai thác song song tập phổ biến và chưa thật sự quan tâm đến vấn đề cân bằng tải
C Xác định tới hạn theo định luật Amdahl và Gustafson
Chúng tôi đã khảo sát gần 30 công trình nghiên cứu liên quan khai thác song song tập phổ biến trên BXLĐN, chưa thấy công trình đề cập đến vấn đề tới hạn theo cả 2 định luật
D Đánh giá hiệu năng của giải thuật trên BXLĐN
Các g iải thuật trên chưa tính toán cụ thể hiệu suất khai thác tập phổ biến trên từng nhân xử lý (Core) Chúng tôi khảo sát
và chọn lựa phương pháp tính hiệu năng [35] trên từng nhân
xử lý theo phương trình như sau:
c
T c
T T
M
Trong đó:
- T S: thời gian thực hiện tuần tự
- T M: thời gian thực hiện tính song song trên BXLĐN
- c: số lượng nhân của CPU (số core)
Đây là cơ sở khi so sánh các giải thuật song song theo định
hướng của giải pháp (2) – tìm giải thuật tốt hơn
Trong bài viết này, chúng tôi khảo sát và tổng luận về một
số thuật toán khai thác song song tập phổ biến trên BXLĐN theo hướng tiếp cận phân tích cấu trúc dữ liệu và chiến lược tìm kiếm trên không gian sinh, được sử dụng trong khai thác
song song tập phổ biến trong một số công trình suốt hơn hai mươi năm qua Qua đó, giúp các nhà nghiên cứu trong lĩnh vực
khai thác dữ liệu có đầy đủ cở sở khi lựa chọn giải pháp kỹ thuật phù hợp cho bài toán khai thác song song tập phổ biến trên BXLĐN Bên cạnh đó, tổng luận còn cho thấy chưa có
nhiều đề xuất quan tâm đến vấn đề cân bằng tải và một số công
trình chỉ mang tính thực nghiệm chuyển từ thuật toán tuần tự
sang môi trường tính toán song song – giải pháp (3)
Trang 6Dựa trên các khảo sát và tổng luận một số thuật toán khai
thác song song tập phổ biến trên BXLĐN được trình bày ở
phần 3 và 4: Tương lai, chúng tôi sẽ nghiên cứu tìm kiếm g iải
thuật tốt hơn để có thể khai thác song song tập phổ biến trên dữ
liệu giao dịch cỡ lớn, có trọng số, cũng như mở rộng trên các
hệ thống tính toán phân tán như Hadoop, Sprak…Ngoài ra,
chúng tôi cũng tập trung quan tâm đến việc tìm kiếm giải pháp
cho vấn đề cân bằng tải để đảm bảo hiệu năng cao nhất khi
thực hiện trên BXLĐN
LỜI CẢM ƠN Nghiên cứu được tài trợ bởi Viện Đào tạo và Nâng cao
TP.HCM trong đề tài có mã số V2019.09
[1] R Agrawal, T Imilienski, A Swami Mining association rules between
sets of large databases Proceedings of the ACM SIGMOD International
Conference on Management of Data, Washington, DC, (1993), 207-216
[2] J Han, J Pei, Y Yin Mining Frequent Patterns without Candidate
Generation SIGMOD Conf 2000, (2000), 1-12 (FP-tree,FI)
[3] J Liu, Y Pan, K Wang, J Han Mining frequent item sets by
opportunistic projection KDD 2002, (2002), 229-238 (Prefix-Tree,FI)
[4] N Pasquier, Y Bastide, R Taouil, L Lakhal Discovering frequent
closed itemsets for association rules Proceecings of the 5th Int Conf on
Database Theory, LNCS, Springer-Verlag, Jerusalem, Israel, (1999),
398–416 (lattice – Aclose)
[5] M.J Zaki, C J Hsiao CHARM: An Efficient Algorithm for Closed
Association Rule Mining (1999), 1-20 (IT-Tree)
[6] D Lin, Z M Kedem Pincer-Search: A New Algorithm for Discovering
the Maximum Frequent Itemset EDBT Conference Proceedings, (1998),
105-110 (Pincer)
[7] D Burdick, M Calimlim, J Gehrke MAFIA: A Maximal Frequent
Itemset Algorithm for Transactional Databases Proc of the ICDE Conf,
(2001), 443-452
[8] R J Bayardo Efficiently mining long patterns from databases in Proc
The ACM SIGMOD Int Conf on Management of data, (1998), 85-93
(SE-T ree)
[9] R Agarwal, C Aggarwal, V V V Prasad Depth First Generation of
Long Patterns In Proc ACM SIGMOD, (2000), 108-118
[10] J S Park, M S Chen, P S Yu Efficient Parallel and Data Mining for
Association Rules CIKM 1995: (1995), 31-36
[11] M J Zaki, M Ogihara, S Parthasarathy, W Li Parallel Data Mining
for Association Rules on Shared-Memory Multi-Processors SC 1996:
(1996), 43
[12] R Agrawal, J C Shafer Parallel mining of association rules in IEEE
Transactions on Knowledge and Data Engineering, vol 8, no 6, pp
962-969, (1996), doi: 10.1109/69.553164
[13] E Han, G Karypis and V Kumar Scalable Parallel Data Mining for
Association Rules Proc ACM Special Interest Group on Management
of Data (SIGMOD), (1997)
[14] M J Zaki, S Parthasarathy, M Ogihara, W Li Parallel Algorithms for
Discovery of Association Rules Data Min Knowl Discov 1(4): (1997),
343-373
[15] S.M Chung, C Luo Parallel mining of maximal frequent itemsets from
databases Tools with Artificial Intelligence 2003 Proceedings 15th
IEEE International Conference on, (2003), 134-139
[16] A Javed, A Khokhar Frequent pattern mining on message passing
multiprocessor systems Distributed and Parallel Databases, 16(3),
(2004), 321-334
[17] L Liu, E Li, Y Zhang, Z Tang Optimization of Frequent Itemset
Mining on Multiple-Core Processor VLDB ’07: (2007), 1275–1285
[18] S H Adil, S Qamar Implementation of association rule mining using
CUDA 2009 International Conference on Emerging Technologies,
Islamabad, (2009), 332-336
[19] J Zhou, K M Yu*, B C Wu Parallel Frequent Patterns Mining Algorithm on GPU IEEE International Conference on Systems Man and
Cybernetics (SMC2010), (2010), 435-440
[20] B Negrevergne, A T ermier, J F Méhaut, T Uno Discovering Closed Frequent Itemsets on Multicore: Parallelizing Computations and Optimizing Memory Accesses HPCS’10 IEEE: (2010), 521–528 [21] H Li, N Zhang Mining maximal frequent itemsets on graphics processors Fuzzy Systems and Knowledge Discovery (FSKD) 2010
Seventh International Conference on, vol 3, (2010), 1461-1464
[22] G T eodoro, N Mariano, J W Meira, R Ferreira Tree Projection-Based Frequent Itemset Mining on Multicore CPUs and GPUs 2010
22nd Int Symposium on Computer Architecture and High Performance Computing, Petropolis, (2010), 47-54
[23] K M Yu, S H Wu An Efficient Load Balancing Multi-core Frequent Patterns Mining Algorithm 10th Int Conf on Trust, Security and Privacy
in Computing and Communications, Changsha, (2011), 1408-1412
[24] F Zhang, Y Zhang, J Bakos Gpapriori: Gpu-accelerated Frequent Itemset Mining Proc of the 2011 IEEE International Conference on
Cluster Computing, (2011), 590-594
[25] C Silvestri, S Orlando gpuDCI: Exploiting GPUs in Frequent Itemset Mining Parallel Distributed and Network-Based Processing (PDP) 2012
20th Euromicro International Conference on, (2012), 416-425
[26] B Missaoui, K Arour, Y Slimani Parallel Binary Approach for Frequent Itemsets Mining International Journal of Computer and
Communication Engineering, (2013), 230
[27] D Nguyen, B Vo, B Le Efficient strategies for parallel mining class association rules Expert Syst Appl 41(10): (2014), 4716-4729 [28] F Wang, B Yuan Parallel Frequent Pattern Mining without Candidate Generation on GPUs Data Mining Workshop (ICDMW) 2014 IEEE
International Conference on, (2014), 1046-1052
[29] B Negrevergne, A T ermier, M C Rousset, J F Méhaut ParaMiner: A Generic Pattern Mining Algorithm for Multi-Core Architectures Data
Min Knowl Disc 28(3): (2014), 593–633
[30] Ö M Soysal, E Gupta, H Donepudi A sparse memory allocation data structure for sequential and parallel association rule mining The
Journal of Supercomputing, (2015)
[31] K M Yu, S H Liu, L W Zhou, S H Wu Apriori-based High Efficiency Load Balancing Parallel Data Mining Algorithms on Multi-core Architectures Int Journal of Grid and HPC, 7, (2015), 77 [32] H Jiang, H Meng A Parallel FP-Growth Algorithm Based on GPU
e-Business Engineering (ICEBE) IEEE 14th Int Conf on, (2017), 97-102
[33] K W Chon, S H Hwang, M S Kim Gminer: A fast gpu-based frequent itemset mining method for large-scale data Information
Sciences, 439-440, (2018), 19 – 38
[34] Y Wang, T Xu, S Xue, Y Shen D2P-Apriori: A deep parallel frequent itemset mining algorithm with dynamic queue 10th Int Conf on
Advanced Computational Intelligence, Xiamen, (2018), 649-654
[35] H Phan An Efficient Mining Algorithm of Closed Frequent Itemsets on Multi-core Processor In: Li J., Wang S., Qin S., Li X., Wang S (eds)
Adv Data Mining and Applications ADMA 2019: (2019), 107-118
[36] Y C Wu, M Y Yeh, T W Kuo Fast Frequent Pattern Mining without Candidate Generations on GPU by Low Latency Memory Allocation
Big Data (Big Data) IEEE Int Conf on, (2019), 1407-1416
[37] P Karthik, J B Saira Frequent Item Set Mining of Large Datasets Using CUDA Computing In: Das K., Bansal J., Deep K., Nagar A.,
Pathipooranam P., Naidu R (eds) Soft Computing for Problem Solving AISC, Springer, 1057, (2020), 739-747
[38] Grand Challenges to Computational Science Future Generation Computer Systems 5, Special Double Issue, No 2&3, (1989)
[39] San Diego Supercomputer Center (SDSC) Grand Challenge Equations University of California San Diego, (1999)
[40] I Foster, C Kesselman The Grid 2 – Blueprint for a new computing infrastructure the 2nd edition, Morgan Kaufmann, (2004)
[41] A.S T anenbaum Distributed Operating Systems Prentice Hall, (1990)