Nâng cao hiệu quả khai phá tập hữu ích cao bằng giải pháp chiếu ngược P-Set

Trong khi khai phá tập phổ biến chỉ quan tâm đến sự xuất hiện của các mục trong giao dịch (nghĩa là chúng có hay

không có trong các giao dịch) thì khai phá tập hữu ích cao (HUI - High Utility Itemset) lại quan tâm đến lợi nhuận

thu được khi bán các tập mục cùng nhau. Đã có nhiều thuật toán được phát triển nhằm nâng cao hiệu quả khai phá

HUI, trong đó EFIM (EFficient high-utility Itemset Mining) là thuật toán mới nhất áp dụng nhiều kỹ thuật để cải

thiện tốc độ và không gian tìm kiếm. Tuy nhiên, EFIM vẫn còn tốn nhiều chi phí quét các dòng dữ liệu để xác định

sự liên quan đến ứng viên đang xét làm giảm hiệu quả của thuật toán, đặc biệt là đối với cơ sở dữ liệu (CSDL) thưa.

Bài báo này đề xuất giải pháp chiếu ngược P-set để giảm số lượng giao dịch cần xét trong thuật toán EFIM và vì vậy,

làm giảm thời gian khai phá HUI. Một thuật toán cải tiến từ EFIM (IEFIM - Improve EFficient high-utility Itemset

Mining) dựa trên P-set cũng được đề nghị. Kết quả thực nghiệm cho thấy, thuật toán IEFIM làm giảm đáng kể số

lượng giao dịch cần xét và thời gian thực thi trên các CSDL thưa.

pdf 8 trang kimcuc 18500
Bạn đang xem tài liệu "Nâng cao hiệu quả khai phá tập hữu ích cao bằng giải pháp chiếu ngược P-Set", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Nâng cao hiệu quả khai phá tập hữu ích cao bằng giải pháp chiếu ngược P-Set

Nâng cao hiệu quả khai phá tập hữu ích cao bằng giải pháp chiếu ngược P-Set
122(11) 11.2017
Khoa học Tự nhiên
Đặt vấn đề
Khai phá tập phổ biến (FIM - Frequent Itemset Mining) 
được Agrawal giới thiệu vào năm 1993 khi phân tích mô 
hình dữ liệu siêu thị [1], làm cơ sở để mở rộng thành các bài 
toán khác trong lĩnh vực khai phá dữ liệu.
Trong các nghiên cứu về thị trường, FIM trong CSDL 
giao dịch chính là tìm các tập (itemset) thường xuyên xuất 
hiện trong các giao dịch. Các thuật toán khai phá tập phổ 
biến thường áp dụng tính chất bao đóng giảm (downward 
closure property) [2] để tăng khả năng tỉa các tập ứng viên 
thừa. Cụ thể, nếu có một tập không phổ biến X thì thuật toán 
không xét các tập ứng viên chứa tập X, nghĩa là với một bộ 
dữ liệu chứa n phần tử và X chứa k phần tử, thuật toán sẽ 
không xét 2(n-k) - 2 tập có chứa X.
 Tuy nhiên, tập phổ biến chỉ quan tâm đến việc có mua 
hay không mua các mặt hàng mà không quan tâm đến lợi 
nhuận thu được đối với từng mặt hàng. Vì vậy, bài toán 
khai phá tập hữu ích cao được đặt ra. Chúng ta xét ví dụ 
như ở hình 1 về dữ liệu bán hàng [3] để hiểu rõ hơn về bài 
toán khai phá tập phổ biến và bài toán khai phá HUI. Trong 
đó, bảng (1A) là bảng chứa giá trị lợi nhuận trên từng đơn 
vị sản phẩm (item) và bảng (1B) chứa thông tin từng giao 
dịch với từng sản phẩm tương ứng với số lượng bán được 
trong giao dịch đó. Với khai phá tập phổ biến không quan 
tâm đến bảng (1A) và số lượng ở bảng (1B), nhưng tập phổ 
biến chưa chắc là tập có giá trị hữu ích cao. Cụ thể, độ phổ 
biến của {bc} là 3, hữu ích là 18, trong khi {de} có giá trị 
lần lượt là 2 và 22.
Tương tự như tập phổ biến, một tập là HUI nếu giá trị 
hữu ích (chẳng hạn như lợi nhuận thu được khi bán itemset 
trong tất cả các giao dịch) phải đạt ngưỡng tối thiểu cho 
trước. Với tập hữu ích cao, tính chất bao đóng giảm không 
còn phù hợp, cụ thể: Các tập {a}, {ab}, {abc} có độ phổ 
biến lần lượt là 4, 3, 2 (thỏa mãn tính chất bao đóng giảm) 
nhưng giá trị hữu ích là 16, 26, 21. Nếu lấy ngưỡng là 20 thì 
Nâng cao hiệu quả khai phá tập hữu ích cao
bằng giải pháp chiếu ngược P-set
Võ Đình Bảy1*, Nguyễn Tấn Phúc2
1Khoa Công nghệ thông tin, Trường Đại học Công nghệ TP Hồ Chí Minh
2Trung tâm Ngoại ngữ - Tin học, Trường Đại học Khánh Hòa
Ngày nhận bài 3/7/2017; ngày chuyển phản biện 7/7//2017; ngày nhận phản biện 4/8/2017; ngày chấp nhận đăng 10/8/2017
Tóm tắt:
Trong khi khai phá tập phổ biến chỉ quan tâm đến sự xuất hiện của các mục trong giao dịch (nghĩa là chúng có hay 
không có trong các giao dịch) thì khai phá tập hữu ích cao (HUI - High Utility Itemset) lại quan tâm đến lợi nhuận 
thu được khi bán các tập mục cùng nhau. Đã có nhiều thuật toán được phát triển nhằm nâng cao hiệu quả khai phá 
HUI, trong đó EFIM (EFficient high-utility Itemset Mining) là thuật toán mới nhất áp dụng nhiều kỹ thuật để cải 
thiện tốc độ và không gian tìm kiếm. Tuy nhiên, EFIM vẫn còn tốn nhiều chi phí quét các dòng dữ liệu để xác định 
sự liên quan đến ứng viên đang xét làm giảm hiệu quả của thuật toán, đặc biệt là đối với cơ sở dữ liệu (CSDL) thưa. 
Bài báo này đề xuất giải pháp chiếu ngược P-set để giảm số lượng giao dịch cần xét trong thuật toán EFIM và vì vậy, 
làm giảm thời gian khai phá HUI. Một thuật toán cải tiến từ EFIM (IEFIM - Improve EFficient high-utility Itemset 
Mining) dựa trên P-set cũng được đề nghị. Kết quả thực nghiệm cho thấy, thuật toán IEFIM làm giảm đáng kể số 
lượng giao dịch cần xét và thời gian thực thi trên các CSDL thưa.
Từ khóa: Khai phá dữ liệu, khai phá tập hữu ích cao, tỉa ứng viên.
Chỉ số phân loại: 1.2
*Tác giả liên hệ: Email: bayvodinh@gmail.com
Hình 1. Dữ liệu bán hàng.
(B) Bảng giao dịch.
(A) Bảng lợi nhuận.
Item a b c d e g
Utility 1 2 1 5 4 3 1
Tid Giao dịch Số lượng
T1 {b,c,d,g} {1,2,1,1}
T2 {a,b,c,d,e} {4,1,3,1,1}
T3 {a,c,d} {4,2,1}
T4 {a,b,d,e} {5,2,1,2}
T5 {a,b,c,f} {3,4,1,2}
222(11) 11.2017
Khoa học Tự nhiên
ta chọn {ab}, {abc} và loại {a}, còn nếu lấy ngưỡng là 22 
thì chỉ mỗi {ab} được chọn. Vì vậy, các phương pháp khai 
phá tập phổ biến không thể áp dụng vào khai phá tập hữu 
ích cao.
Từ khi bài toán được phát biểu vào năm 2004 [4] đến nay, 
đã có nhiều thuật toán khai phá tập hữu ích cao được phát 
triển nhằm nâng cao hiệu quả khai phá: UMining (2004) 
[4], UMining-H (2006) [5], Two-Phase (2005) [6], IHUP 
(2009) [7], TWU-Mining (2009) [8], UP-Growth (2010) 
[9], DTWU-Mining (2011) [10], EFIM (2015) [11] và một 
số hướng phát triển khác của tập hữu ích cao, điển hình 
như khai phá tập đóng có CHUD (2011) [12], AprioriCH, 
AprioriHC-D (2015) [13]; khai phá Top-k HUI có TKU 
(2012) [14], TKO (2016) [15]; khai phá HUI trên luồng dữ 
liệu có THUI-Mine (2008) [16], GUIDE (2012) [17], hay 
khai phá HUI trên dữ liệu không chắc chắn [18].
Trong số các thuật toán khai phá tập hữu ích cao, EFIM 
được xem là thuật toán nhanh nhất với nhiều giải pháp để 
cải thiện không gian tìm kiếm và thời gian như kỹ thuật 
chiếu trên CSDL (Database Projection), trộn các giao dịch 
(Transaction Merging) và tính lại biên cận trên. Mặc dù cải 
thiện đáng kể về thời gian khai phá và bộ nhớ sử dụng so 
với các thuật toán trước đó (UP-Growth, HUI-Miner [3], 
UP-Growth [19], HUP-Miner [20]) nhưng EFIM vẫn quét 
thừa giao dịch dẫn đến: Tìm kiếm vị trí tập ứng viên trong 
giao dịch chưa hiệu quả; tăng thời gian tạo vùng dữ liệu 
để mở rộng ứng viên; duyệt qua cả những giao dịch không 
chứa ứng viên để tính giá trị hữu ích của tập ứng viên; hiệu 
quả về tốc độ tìm kiếm tập hữu ích không cao do thuật toán 
thực hiện đồng thời 3 công việc với mỗi giao dịch, kể cả 
giao dịch không chứa ứng viên (tìm kiếm vị trí ứng viên, 
thực hiện phép chiếu ứng viên trên giao dịch và tính độ hữu 
ích ứng viên).
Dựa trên các nhận xét trên, bài báo có một số đóng góp 
như sau: i) Đề xuất cấu trúc P-set với mục đích hạn chế số 
giao dịch tham gia trực tiếp vào quá trình khai phá tập hữu 
ích cao; ii) Đề xuất phương pháp chiếu ngược trên P-set 
giữa tập ứng viên và vùng dữ liệu đang xét nhằm hạn chế 
số giao dịch tham gia thực hiện phép chiếu tạo vùng dữ liệu 
mới cho việc mở rộng tập ứng viên và tính giá trị hữu ích 
tập ứng viên; iii) Đề xuất thuật toán IEFIM, cải tiến từ thuật 
toán EFIM dựa trên P-set và phương pháp chiếu ngược. 
Các nghiên cứu liên quan
Bài toán khai phá tập hữu ích cao do Yao và Hamilton 
đưa ra vào năm 2004 [4]. Các tác giả cũng đề xuất thuật 
toán UMining dựa vào chặn trên (upper bound) của độ hữu 
ích để khai phá HUI. Sau đó thêm thuật toán UMining-H, 
một dạng heuristic của UMining do thay đổi cách tính chặn 
trên độ hữu ích để tỉa ứng viên. Cả UMining và UMining-H 
đều có khả năng tỉa nhầm các tập HUI. Năm 2005, Liu 
và các đồng sự đề xuất một chặn trên mới có tên là TWU 
(Transaction Weighted Utilization) dùng cho khai phá HUI 
[6]. TWU của các itemset thỏa tính chất bao đóng giảm nên 
có thể dựa vào đó để tỉa ứng viên. Vì vậy, các tác giả đề xuất 
thuật toán Two-Phase dựa trên TWU để tỉa ứng viên. Two-
Phase được chia làm hai giai đoạn bao gồm: (1) Khai phá tất 
cả các itemset có TWU lớn hơn hay bằng minutil (là ngưỡng 
tối thiểu do người sử dụng đưa vào); (2) Từ tập các itemset 
có TWU thỏa mãn minutil, Two-Phase quét CSDL để tính 
độ hữu ích của từng itemset và lọc ra các itemset có độ hữu 
ích thỏa mãn minutil. Do Two-Phase tốn khá nhiều lần quét 
Efficient solution 
for mining High Utility Itemsets 
by reverse projection P-set
Dinh Bay Vo1*, Tan Phuc Nguyen2
1Faculty of Information Technology, Ho Chi Minh City University of Technology
2Foreign Languages and Informatics Center, Khanh Hoa University
Received 3 July 2017; accepted 10 August 2017
Abstract: 
Mining frequent itemsets just focuses on mining items 
which have the same importance (e.g., unit profit) and 
may not appear more than once in each transaction. 
On the contrary, mining High Utility Itemsets (HUIs) 
considers items which have different unit profits and may 
have non-binary purchase quantities in transactions. 
Basically, mining HUIs is to find the items that produce 
a higher profit than those bought frequently. There 
have been many algorithms developed for mining 
HUIs, among which EFIM is the latest algorithm which 
applies several techniques to improve the runtime 
and the search space. However, the cost of EFIM for 
scanning transactions to determine candidate relevance 
is high, which reduces the efficiency of the algorithm, 
especially on sparse databases. In this paper, the authors 
developed a P-set structure and proposed an improved 
algorithm of EFIM to reduce the number of transaction 
scans and thereby reduce the mining time. Experimental 
results showed that the improved algorithm reduced 
significantly the number of transaction scans and the 
mining time, especially on sparse databases.
Keywords: Data mining, high utility itemset mining, 
pruning candidates.
Classification number: 1.2
322(11) 11.2017
Khoa học Tự nhiên
CSDL và sinh nhiều ứng viên trong phase 1 nên không hiệu 
quả trên các CSDL lớn. 
Sau Two-Phase, hầu hết các thuật toán đều vận dụng 
phương pháp tỉa dựa trên TWU và áp dụng những chiến 
lược riêng để nâng cao hiệu quả tỉa ứng viên. TWU-Mining 
và DTWU-Mining của Le và các đồng sự vận dụng, phát 
triển cấu trúc IT-Tree của Zaki [21] thành cấu trúc WIT-Tree 
[8] để giảm số lần duyệt CSDL. Cùng vận dụng FP-Growth 
[22], IHUP của Ahmed và các đồng sự đề xuất, tạo ứng 
viên trên IHUP-Tree [7], còn UP-Growth và UP-Growth+ 
của Tseng và các đồng sự thì thực hiện tạo ứng viên trên 
UP-Tree [9] bên cạnh các chiến lược bổ trợ: Giảm độ hữu 
ích của tập không triển vọng trên UP-Tree toàn cục (DGU 
- Discarding Global Unpromising item), giảm độ hữu ích 
của nút trên UP-Tree toàn cục (DGN - Discarding Global 
Node utilities), loại bỏ tập không triển vọng cục bộ (DLU - 
Discarding Local Unpromising item), giảm độ hữu ích của 
nút trên UP-Tree cục bộ (DLN - Decreasing Local Node 
utilities), giảm độ hữu ích của tập không triển vọng cục bộ 
trên UP-Tree cục bộ (DNU - Discarding local unpromising 
items and their estimated Node Utilities) và giảm độ hữu 
ích của nút không triển vọng cục bộ trong UP-Tree cục bộ 
(DNN - Decreasing local Node utilities for the nodes of 
local UP-Tree). Sau khi tạo danh sách ứng viên IHUP, UP-
Growth và UP-Growth+ đều quét lại CSDL để tính giá trị 
hữu ích và xem xét việc ứng viên có phải là tập hữu ích cao 
hay không.
Với HUI-Miner của Liu và Qu đi theo hướng mới, chỉ 
duyệt CSDL một lần và lưu vào cấu trúc do nhóm đề xuất 
Utility-list [3], khai phá và tỉa ứng viên trên cấu trúc đó. 
Tuy nhiên, số lượng Utility-list do HUI-Miner tạo ra khá 
nhiều nên Fournier-Viger và các đồng sự đề xuất thuật toán 
FHM (2014) [23] và cấu trúc EUCS (Estimated Utility 
Co-occurrence Structure) [23] với phương án tỉa EUCP 
(Estimated Utility Co-occurrence Pruning) [23] để hạn chế 
việc tạo Utility-list nhằm tăng tốc độ thuật toán. Cùng mục 
đích với FHM, HUP-Miner [20] của Krishnamoorthy áp 
dụng thêm 2 chiến lược tỉa theo phân vùng (PA - PArtitioned 
utility) [20] và tỉa trước (LA - LookAhead utility) [20] bên 
cạnh chiến lược tỉa theo Utility-list.
Mỗi thuật toán đều phát huy hiệu quả chiến lược tỉa ứng 
viên của mình và đẩy nhanh tốc độ tìm kiếm tập hữu ích 
cao. Tuy nhiên, trong quá trình khai phá, các thuật toán vẫn 
quét các giao dịch rỗng và chưa có phương án xử lý các 
dòng dữ liệu tương đồng với nhau (giống các phần tử xuất 
hiện trong giao dịch và chỉ khác số lượng). Vì vậy, EFIM 
đã đề xuất 3 chiến lược: Chiếu trên CSDL (HDP - High 
utility Database Projection) [11] để tìm kiếm các phần trùng 
nhau; chiến lược trộn các giao dịch (HTM - High utility 
Transaction Merging) [11] để giảm không gian tìm kiếm 
và các phương pháp tỉa bằng các chặn trên theo giá trị hữu 
ích cục bộ (Local utility) [11] và giá trị hữu ích trên nhánh 
phụ (Sub-tree utility) [11] để loại các tập ứng viên không 
mong đợi.
Thuật toán IEFIM
Các khái niệm liên quan
Cho I = {i
1
, i
2
, , i
n
} là tập các phần tử và CSDL D gồm 
bảng hữu ích (Utility table) và bảng giao dịch (Transaction 
table) như hình 1. Mỗi phần tử trong I có giá trị hữu ích nhất 
định chứa trong bảng hữu ích. Một giao dịch T trong bảng 
giao dịch được xác định duy nhất bằng tid và chứa tập con 
của I có liên kết với số lượng tương ứng.
Định nghĩa 1: Giá trị hữu ích mở rộng của phần tử i, ký 
hiệu eu(i), là những giá trị hữu ích của i trong bảng hữu ích 
của D [6].
Định nghĩa 2: Giá trị hữu ích nội bộ của phần tử i trong 
giao dịch T, ký hiệu iu(i,T), là đếm giá trị kết hợp của phần 
tử i thuộc T trong bảng giao dịch của D [6].
Định nghĩa 3: Giá trị hữu ích của phần tử i trong giao 
dịch T, ký hiệu u(i,T), là phép nhân giữa iu(i,T) và eu(i) hay 
u(i,T) = iu(i,T) x eu(i) [6]. Ví dụ: eu(a) = 1, iu(a,T2) = 4 và 
u(a,T2) = iu(a,T2) x eu(a) = 4 x 1 = 4.
Định nghĩa 4: Giá trị hữu ích của tập X trong giao dịch T, 
ký hiệu u(X,T), là tổng giá trị hữu ích của các phần tử thuộc 
X có trong giao dịch T hay u(X,T) = Σ
i∈x∧x⊆T u(i,T) [6].
Định nghĩa 5: Giá trị hữu ích của tập X, ký hiệu u(X), là 
tổng giá trị hữu ích của X trong tất cả giao dịch T có chứa X 
trên DB hay u(X) = Σ
T∈D∧x⊆T u(X,T) [6].
Định nghĩa 6: Cho trước ngưỡng hữu ích tối thiểu 
minutil, tập X được gọi là tập hữu ích cao nếu giá trị hữu 
ích của X không nhỏ hơn ngưỡng hay u(X) ≥ minutil [6]. Ví 
dụ: u({a,b}, T2) = u(a, T2) + u (b, T2) = 4 × 1 + 1 × 2 = 6, 
và u({a,b}) = u({a,b}, T2 ) + u({a,b}, T4) + u({a,b}, T5) = 
6 + 9 + 11 = 26. Nếu minutil = 20 thì {a,b} là tập hữu ích 
cao, ngược lại với minutil = 30 thì {a,b} không phải là tập 
hữu ích cao.
Định nghĩa 7: Giá trị hữu ích của giao dịch T, ký hiệu 
tu(T), là tổng giá trị hữu ích của các phần có trong T hay 
tu(T) = Σi∈T u(i,T) và giá trị hữu ích của DB là tổng giá trị 
hữu ích các giao dịch trong DB [6]. Ví dụ: tu(T3) = u({a}, 
T3) + u({c}, T3) + u({d}, T3) = 4 + 2 + 5 = 11.
Định nghĩa 8: Trọng số giao dịch hữu ích của tập X, ký 
hiệu TWU(X), là tổng giá trị hữu ích của tất cả các giao dịch 
có chứa X trên DB hay TWU(X) = Σ
T∈DB∧x⊆T tu(T) [6]. Ví dụ: 
TWU({e}) = tu(T2) + tu(T4) = 18 + 22 = 40.
422(11) 11.2017
Khoa học Tự nhiên
Định nghĩa 9: Gọi là phép sắp xếp thứ tự theo TWU 
của các phần tử trong I. Giá trị hữu ích còn lại của X trong 
giao dịch T, ký hiệu ru(X,T), là tổng giá trị hữu ích các phần 
tử sau X trong T, hay là ru(X,T) = Σ
i∈T∧i x∀x∈X u(i,T) [3]. Ví 
dụ: ru({a},T3) = u({c}, T3) + u({d},T3) = 1+ 5 = 6.
Định nghĩa 10: Cho tập các phần tử I được xếp thứ tự 
theo , và tập X, tập các phần tử mở rộng của X được định 
nghĩa như sau E (X) = {z z ∈ I ∧ Z X∀X ∈ X} [11].
Định nghĩa 11: Cho giao dịch T và tập X, phép chiếu của 
tập X trên giao dịch T được xác định là T
x
 = { i i ∈ T ∧ i ∈ 
E (X)} [11]. Ví dụ: cho X = {b}, xét phép thứ tự a b c 
 d e thì T1
x
 = ∅, T2
x
 = {a}.
Định nghĩa 12: Cho CSDL D và tập X, phép chiếu của 
tập X trên D được định nghĩa như sau 
[11]. Ví dụ: cho , xét phép thứ tự , 
.
Định nghĩa 13: Cho tập X, phần tử z ∈ E (X) và giá 
trị hữu ích cục bộ của (X,z) được tính như sau lu(X,z)=
[11]. Ví dụ: cho X = {a}, 
lu(X,c) = (u(X,T2) + ru(X,T2)) + (u(X,T3) + ru(X,T3)) + 
(u(X,T5) + ru(X,T5)) = 18 + 11 + 22 = 51.
Tính ... tính độ 
hữu ích của X, ta trực tiếp đến T2 và T4 để tính thay vì 
duyệt cả 5 giao dịch, và hiển nhiên hiệu quả khi sử dụng 
P-set({a}) thấp hơn của P-set({e}) do {a} xuất hiện trong 
nhiều giao dịch hơn {e}.
Với việc sử dụng Pex-set, thuật toán IEFIM thay đổi tại 
dòng 7 tính Pex-set(X,i) song song với su(X, i) và tại dòng 
3, 5 của thủ tục Search (hình 3 và 4).
Hình 3. Thuật toán IEFIM.
Do Pex-set(X,i) là tập chứa T.id của phép chiếu DX-ex 
nên thực hiện đồng thời với việc tính giá trị hữu ích trên 
nhánh phụ su(X,i) không làm tăng độ phức tạp của thuật 
toán. Tương tự như thế với dòng 5 tại thủ tục Search. Hiệu 
quả của Pex-set(X,i) được thể hiện rõ tại dòng 3 của thủ tục 
Search, nó chỉ xét các giao dịch có tid thuộc Pex-set(X,i) 
thay vì quét toàn bộ D
X
.
Hình 4. Thủ tục Search của IEFIM.
Kết quả thực nghiệm và đánh giá
Chúng tôi cài đặt thuật toán IEFIM, tiến hành chạy thực 
nghiệm so sánh với thuật toán EFIM và CSDL được lấy 
từ thư viện mở SPMF: An Java Open-Source Data Mining 
Library tại địa chỉ 
spmf/ [24]. Các thuật toán được thực hiện trên môi trường 
Java sử dụng hệ điều hành Windows 8.1, 64 bit, RAM 4 
GB, CPU Core i3 M350. 
Bảng 1. Bảng mô tả dữ liệu thực nghiệm chuẩn.
Thuật toán IEFIM
Input : D: CSDL cần khai phá, minutil: Ngưỡng tối thiểu
Output: Các tập hữu ích cao
1. X = ∅;
2. Duyệt D tính lu(X, i) cho tất cả i ∈ I;
3. Secondary(X) = {i|i ∈ I ∧ lu(X, i) ≥ minutil};
4. Sắp xếp tăng dần Secondary(X) theo giá trị TWU;
5. Duyệt D để xóa các phần tử i ∉ Secondary(X) ra khỏi 
các giao dịch và xóa các giao dịch rỗng;
6. Sắp xếp các giao dịch T tăng dần;
7. Duyệt D tính su(X,i) và Pex-set(X,i) cho từng phần tử i 
∈ Secondary(X);
8. Primary(X) = {i|i ∈ Secondary(X) ∧ su(X, i) ≥ minutil};
9. Search (X, D, Primary(X), Secondary(X), minutil,Pex-
set(X,i)).
Thủ tục Search 
Input: X: Tập phần tử đang xét, cD
x
: Các giao dịch được 
chiếu và trộn bởi X, Primary(X): Các phần tử chính 
X, Secondary(X): Các phần tử mở rộng của X, ngưỡng 
minutil,Pex-set(X,i): Tid các giao dịch dùng mở rộng X với 
{i}.
Output: Các tập hữu ích cao mở rộng từ x. 
1. Foreach item i ∈ P rimary (X) do 
2. β = X ∪ {i};
3. Dùng Pex-set(X,i) để duyệt D
x
 để tính u(β) và xây dựng 
D
e
; // dùng phép trộn giao dịch; 
4. If u(β) ≥ minutil then xuất β;
5. Duyệt β-D tính su(β, z), lu(β, z) và P-set-ex(β,z) cho tất 
cả z ∈ Secondary(X) sau i;
6. Primary(β) = {z ∈ Secondary(X)|su(β, z) ≥ minutil};
7. Secondary(β) = {z ∈ Secondary(X)|lu(β, z) ≥ minutil};
8. Search (β, D
e
, Primary(β), Secondary(β), minutil, 
Pex-set(β,z));
9. End.
Loại dữ liệu Số giao dịch Số phần tử
Độ dài 
trung bình
Đánh giá
Accident 340183 468 33,8 Đặc
BMS-POS 59601 497 4,8 Thưa
Chess 3196 75 37 Rất đặc
Foodmart 67557 129 43 Thưa
Kosarak 990002 41270 8,1 Thưa
Retail 87943 16465 10,3 Thưa
T10I4D100K 100000 870 10,1 Thưa
T40I10D100K 100000 942 39,6 Thưa
622(11) 11.2017
Khoa học Tự nhiên
Ngoài ra, các CSDL Retail, T10I4D100K, T40I10D100K 
được phát sinh ngẫu nhiên từ 1 đến 10 các giá trị: Độ hữu ích 
của từng phần tử và số lượng trong từng giao dịch, đặc điểm 
các bộ dữ liệu thực nghiệm chuẩn được mô tả tại bảng 1.
Chúng tôi chạy thực nghiệm trên các CSDL nêu trên và 
ghi lại thời gian thực hiện, số giao dịch được quét để thực 
hiện phép chiếu nhằm xây dựng vùng dữ liệu mới dùng mở 
rộng ứng viên và tính giá trị hữu ích.
2 
Số
 lư
ợn
g 
gi
ao
 d
ịc
h 
(n
gh
ìn
) 
Số
 lư
ợn
g 
gi
ao
 d
ịc
h 
(n
gh
ìn
) 
minutil (triệu) 
(A) Đồ thị so sánh số lượng giao dịch trên CSDL Accident. 
minutil (nghìn) 
(B) Đồ thị so sánh số lượng giao dịch trên CSDL BMS-POS. 
Số
 lư
ợn
g 
gi
ao
 d
ịc
h 
(tr
iệ
u)
Số
 lư
ợn
g 
gi
ao
 d
ịc
h 
(tr
iệ
u)
minutil (nghìn) 
(C) Đồ thị so sánh số lượng giao dịch trên CSDL Chess. 
minutil (nghìn) 
(D) Đồ thị so sánh số lượng giao dịch trên CSDL Foodmart. 
Số
 lư
ợn
g 
gi
ao
 d
ịc
h 
(tr
iệ
u)
Số
 lư
ợn
g 
gi
ao
 d
ịc
h 
(tr
iệ
u)
minutil (nghìn) 
(E) Đồ thị so sánh số lượng giao dịch trên CSDL Kosarak. 
minutil (nghìn) 
(F) Đồ thị so sánh số lượng giao dịch trên CSDL Retail. 
3 
Từ kết quả thực nghiệm được thể hiện qua các đồ thị so sánh số lượng giao dịch tham 
gia phép chiếu tạo vùng dữ liệu để mở rộng ứng viên và tính giá trị hữu ích của tập ứng viên 
(hình 5) ta có nhận xét, khi áp dụng phương pháp chiếu ngược, thuật toán IEFIM giảm hẳn 
số giao dịch, giảm từ 9 (như T40I10D100K, hình 5H) đến 400 lần (như Kosarak, hình 5E) 
đối với loại CSDL được đánh giá thưa, và tỷ lệ này giảm dần đối với các loại dữ liệu được 
đánh giá dày và rất dày, cụ thể với Accident và Chess (hình 5a và 5c), số lượng giao dịch 
được quét giảm không đáng kể. 
 Về thời gian thực hiện, thuật toán IEFIM nhanh hơn hẳn EFIM trên CSDL thưa, giảm 
thời gian thực hiện từ 2 (Foodmart, hình 6d) đến 60 lần (Retail, hình 6f). Đối với CSDL đặc/rất 
đặc như Accident, Chess thì thời gian cải thiện không đáng kể (hình 6a và 6c). 
Số
 lư
ợn
g g
iao
 dị
ch
 (t
riệ
u)
Số
 lư
ợn
g g
iao
 dị
ch
 (t
riệ
u)
minutil (nghìn) 
(G) Đồ thị so sánh số lượng giao dịch trên CSDL 10I4D100K. 
minutil (nghìn) 
(H) Đồ thị so sánh số lượng giao dịch trên CSDL T40I10D100K. 
Hình 5. Đồ thị so sánh số lượng giao dịch. 
Th
ời 
gia
n t
hự
c h
iện
 (g
iây
) 
Th
ời 
gia
n t
hự
c h
iện
 (
mi
li g
iây
) 
minutil (triệu) 
(A) Đồ thị so sánh thời gian trên CSDL Accident. 
minutil (nghìn) 
(B) Đồ thị so sánh thời gian trên CSDL BMS-POS. 
 Hình 5. Đồ thị so sánh số lượng giao dịch.
722(11) 11.2017
Khoa học Tự nhiên
Từ kết quả thực nghiệm được thể hiện qua các đồ thị so 
sánh số lượng giao dịch tham gia phép chiếu tạo vùng dữ 
liệu để mở rộng ứng viên và tính giá trị hữu ích của tập ứng 
viên (hình 5) ta có nhận xét, khi áp dụng phương pháp chiếu 
ngược, thuật toán IEFIM giảm hẳn số giao dịch, giảm từ 9 
(như T40I10D100K, hình 5H) đến 400 lần (như Kosarak, 
hình 5E) đối với loại CSDL được đánh giá thưa, và tỷ lệ này 
giảm dần đối với các loại dữ liệu được đánh giá dày và rất 
dày, cụ thể với Accident và Chess (hình 5A và 5C), số lượng 
giao dịch được quét giảm không đáng kể.
Về thời gian thực hiện, thuật toán IEFIM nhanh hơn 
hẳn EFIM trên CSDL thưa, giảm thời gian thực hiện từ 2 
(Foodmart, hình 6D) đến 60 lần (Retail, hình 6F). Đối với 
CSDL đặc/rất đặc như Accident, Chess thì thời gian cải thiện 
không đáng kể (hình 6A và 6C).
3 
Từ kết quả thực nghiệm được thể hiện qua các đồ thị so sánh số lượng giao dịch tham 
gia phép chiếu tạo vùng dữ liệu để mở rộng ứng viên và tính giá trị hữu ích của tập ứng viên 
(hình 5) ta có nhận xét, khi áp dụng phương pháp chiếu ngược, thuật toán IEFIM giảm hẳn 
số giao dịch, giảm từ 9 (như T40I10D100K, hình 5H) đến 400 lần (như Kosarak, hình 5E) 
đối với loại CSDL được đánh giá thưa, và tỷ lệ này giảm dần đối với các loại dữ liệu được 
đánh giá dày và rất dày, cụ thể với Accident và Chess (hình 5a và 5c), số lượng giao dịch 
được quét giảm không đáng kể. 
 Về thời gian thực hiện, thuật toán IEFIM nhanh hơn hẳn EFIM trên CSDL thưa, giảm 
thời gian thực hiện từ 2 (Foodmart, hình 6d) đến 60 lần (Retail, hình 6f). Đối với CSDL đặc/rất 
đặc như Accident, Chess thì thời gian cải thiện không đáng kể (hình 6a và 6c). 
Số
 lư
ợn
g g
iao
 dị
ch
 (t
riệ
u)
Số
 lư
ợn
g g
iao
 dị
ch
 (t
riệ
u)
minutil (nghìn) 
(G) Đồ thị so sánh số lượng giao dịch trên CSDL 10I4D100K. 
minutil (nghìn) 
(H) Đồ thị so sánh số lượng giao dịch trên CSDL T40I10D100K. 
Hình 5. Đồ thị so sánh số lượng giao dịch. 
Th
ời
 gi
an
 th
ực
 hi
ện
 (g
iây
) 
Th
ời
 gi
an
 th
ực
 hi
ện
 (
m
ili
 gi
ây
) 
minutil (triệu) 
(A) Đồ thị so sánh thời gian trên CSDL Accident. 
minutil (nghìn) 
(B) Đồ thị so sánh thời gian trên CSDL BMS-POS. 
4 
Th
ời
 gi
an
 th
ực
 hi
ện
 (
gi
ây
) 
Th
ời
 gi
an
 th
ực
 hi
ện
 (
m
ili
 gi
ây
) 
minutil (nghìn) 
(C) Đồ thị so sánh thời gian trên CSDL Chess. 
minutil 
(D) Đồ thị so sánh thời gian trên CSDL Foodmart. 
Th
ời
 gi
an
 th
ực
 hi
ện
 (
giâ
y)
Th
ời
 gi
an
 th
ực
 hi
ện
 (
giâ
y)
minutil (nghìn) 
(E) Đồ thị so sánh thời gian trên CSDL Kosarak. 
minutil 
(F) Đồ thị so sánh thời gian trên CSDL Retail. 
Hình 6. Đồ thị so sánh thời gian thực hiện.
5 
Th
ời
 g
ian
 th
ực
 hi
ện
 (
gi
ây
) 
Th
ời
 g
ian
 th
ực
 hi
ện
 (
gi
ây
) 
minutil (nghìn) 
(G) Đồ thị so sánh thời gian trên CSDL T10I4D100K. 
minutil (nghìn) 
(H) Đồ thị so sánh thời gian trên CSDL T40I10D100K. 
Hình 6. Đồ thị so sánh thời gian thực hiện. 
5 
Th
ời
 gi
an
 th
ực
 hi
ện
 (
gi
ây
) 
Th
ời
 gi
an
 th
ực
 hi
ện
 (
gi
ây
) 
minutil (nghìn) 
(G) Đồ thị so sánh thời gian trên CSDL T10I4D100K. 
minutil ( ghìn) 
(H) Đồ thị so sánh thời gia trên CSDL T40I D100K. 
Hình 6. Đồ thị o sán thời gian thực hiện. 
822(11) 11.2017
Khoa học Tự nhiên
 Nguyên nhân: Hiệu quả của thuật toán IEFIM tập trung 
vào việc giảm tổng số lần các giao dịch được quét qua phép 
chiếu để tạo vùng dữ liệu mới phục vụ mở rộng ứng viên, 
nên khi tỷ lệ chênh lệch này không đáng kể thì hiệu quả thuật 
toán cải tiến không nhiều. Tốc độ thuật toán không được cải 
thiện nhiều do việc giảm số lượng giao dịch thừa đối với 
CSDL dày và rất dày không đáng kể nhưng chi phí tạo phép 
chiếu ngược lại tăng so với các loại dữ liệu khác. Kết quả so 
sánh về số lượng giao dịch cần xét và thời gian chạy thuật 
toán thể hiện ở đồ thị minh họa ở hình 5 và hình 6.
Kết luận và hướng phát triển
Trong bài báo này, chúng tôi đã giới thiệu giải pháp 
chiếu ngược P-set để tăng tốc độ khai phá tập hữu ích cao 
bằng cách hạn chế quét các số giao dịch thừa. Bằng thực 
nghiệm đã chứng minh được hiệu quả của P-set với dữ liệu 
thưa và cũng phù hợp với các môi trường dữ liệu kinh doanh 
trong thực tế được thể hiện như Foodmart. Với hiệu quả này, 
chúng tôi sẽ tiếp tục nghiên cứu để áp dụng vào các hướng 
khai phá khác tập hữu ích cao như khai phá HUI đóng, khai 
phá Top-k HUI... Ngoài ra, việc lai ghép nhiều kỹ thuật khác 
nhau để tăng tốc độ, giảm không gian tìm kiếm và không 
gian bộ nhớ cũng được chúng tôi quan tâm.
LỜI CẢM ƠN
Nghiên cứu này được tài trợ bởi Quỹ Phát triển Khoa 
học và Công nghệ Quốc gia (NAFOSTED) trong khuôn khổ 
đề tài mã số 102.05-2015.10. Chúng tôi xin trân trọng cảm 
ơn.
TÀI LIỆU THAM KHẢO
[1] R. Agrawal, T. Imielinski, A.N. Swami (1993), “Mining association rules 
between sets of items in large databases”, Proceedings of the 1993 ACM 
SIGMOD International Conference on Management of Data, Washington D.C., 
pp.207-216. 
[2] R. Agrawal, R. Srikant (1994), “Fast algorithms for mining association 
rules in large databases”, Proc. Int’l Conf. Very Large Data Bases, pp.487-499. 
[3] M. Liu, J. Qu (2012), “High utility itemsets without candidate 
generation”, 21st ACM International Conference on Information and 
Knowledge Management, pp.55-64. 
[4] H. Yao, H.J. Hamilton, C.J. Butz (2004), “A foundational approach to 
mining itemset utilities from databases”, In Proc. SIAM Int’l Conf. Data Mining, 
pp.482-486. 
[5] H. Yao, H.J. Hamilton (2006), “Mining Itemset Utilitied from Transaction 
Databases”, Data and Knowledge Engeneering, 59(3), pp.603-626. 
[6] Y. Liu, W.K. Liao, A.N. Choudhary (2005), “A two-phase algorithm for 
fast discovery of high utility itemsets”, Proc. Pacific-Asia Conf. Knowledge 
Discovery and Data Mining, pp.689-695. 
[7] C. Ahmed, S.K. Tanbeer, B.S. Jeong, Y.K. Lee (2009), “Efficient tree 
structures for high utility pattern mining in incremental databases”, IEEE 
Transactions on Knowledge and Data Engineering, 21(12), pp.1708-1721. 
[8] B. Le, H. Nguyen, T.A. Cao, B. Vo (2009), “A Novel Algorithm for Mining 
High Utility Itemsets”, Proceedings of 1st Asian Conference on Intelligent 
Information and Database Systems, Quang Binh, Vietnam (IEEE press), pp.13-
17. 
[9] V.S. Tseng, C.W. Wu, B.E. Shie, P.S. Yu (2010), “Upgrowth: 
Anefficientalgorithm for high utility itemset mining”, Proc. ACM SIGKDD Int’l 
Conf. Knowledge Discovery and Data Mining, pp.253-262. 
[10] B. Le, H. Nguyen, B. Vo (2011), “An efficient strategy for mining high 
utility itemsets”, International Journal of Intelligent Information and Database 
Systems, 5(2), pp.164-176. 
[11] S. Zida, P. Fournier-Viger, J.C.W. Lin, C.W. Wu, V.S. Tseng (2015), 
“EFIM: A Highly Efficient Algorithm for High-Utility Itemset Mining”, Advances 
in Artificial Intelligence and Soft Computing, Springer., pp.530-546. 
[12] C.W. Wu, P. Fournier-Viger, P.S. Yu, V.S. Tseng (2011), “Efficient Mining 
of a Concise and Lossless Representation of High Utility Itemsets”, IEEE 11th 
International Conference on Data Mining, pp.824-833. 
[13] V.T. Tseng, C.W. Wu, P. Fournier-Viger, P.S. Yu (2015), “Efficient 
Algorithms for Mining the Concise and Lossless Representation of High Utility 
Itemsets”, IEEE Transactions on Knowledge and Data Engineering, 27(3), 
pp.726-739. 
[14] C.W. Wu, B.E. Shie, V.T. Tseng, P.S. Yu (2012), “Mining top-K high 
utility itemsets”, KDD ‘12 Proceedings of the 18th ACM SIGKDD international 
conference on Knowledge discovery and data mining , pp.78-86. 
[15] V.T. Tseng, C.W. Wu, P. Fournier-Viger, P.S. Yu (2016), “Efficient 
Algorithms for Mining Top-K High Utility Itemsets”, IEEE Transactions on 
Knowledge and Data Engineering, 28(1), pp.54-67. 
[16] C.J. Chu, V.S. Tseng, T. Liang (2008), “An efficient algorithm for mining 
temporal high utility itemsets from data streams”, Journal of Systems and 
Software, 81(7), pp.1105-1117. 
[17] Bai-En Shie, S. Yu Philip, V.S. Tseng (2012), “Efficient algorithms 
for mining maximal high utility itemsets from data streams with different 
models”, Expert Systems with Applications, 39(17), pp.12947-12960. 
[18] J.C.W. Lin, W. Gan, P. Fournier-Viger, T.P. Hong, V.T. Tseng (2016), 
“Efficient algorithms for mining high-utility itemsets in uncertain databases”, 
Knowledge-Based Systems, 96, pp.171-187. 
[19] V.S. Tseng, B.E. Shie, C.W. Wu, P.S. Yu (2013), “Efficient algorithms for 
mining high utility itemsets from transactional databases”, IEEE Transactions 
on Knowledge and Data Engineering, 25(8), pp.1772-1786. 
[20] K. Krishnamoorthy (2015), “Pruning strategies for mining high utility 
itemsets”, Expert Systems with Applications, 42(5), pp. 2371-2381. 
[21] M. Zaki (2000), “Scalable algorithms for association mining”, IEEE 
Transactions on Knowledge and Data Engineering, 12(3), pp.372-390. 
[22] J. Han, J. Pei, Y. Yin, R. Mao (2004), “Mining frequent patterns without 
candidate generation: A frequent pattern tree approach”, Data Mining and 
Knowledge Discovery, 8(1), pp.53-87. 
[23] P. Fournier-Viger, C.W. Wu, S. Zida, V.T. Tseng (2014), “FHM: Faster 
High-Utility Itemset Mining using Estimated Utility Co-occurrence Pruning”, 
Proc. 21st International Symposium on Methodologies for Intelligent Systems 
(ISMIS 2014), Springer, pp.83-92. 
[24] P. Fournier-Viger, A. Gomariz, T. Gueniche, A. Soltani, C.W. Wu, V.S. 
Tseng (2014), “SPMF: A java open-source pattern mining library”, The Journal 
of Machine Learning Research, 15(1), pp.3389-3393.

File đính kèm:

  • pdfnang_cao_hieu_qua_khai_pha_tap_huu_ich_cao_bang_giai_phap_ch.pdf