Cải thiện thuật giải Cuckoo trong vấn đề ẩn luật kết hợp

Tóm tắt

Hiện nay, vấn đề bảo mật dữ liệu ngày càng được quan tâm hơn trong quá trình khai thác

dữ liệu. Làm sao để vừa có thể khai thác hợp pháp mà vừa tránh lộ ra các thông tin nhạy

cảm. Có rất nhiều hướng tiếp cận nhưng nổi trội trong số đó là khai thác luật kết hợp đảm

bảo sự riêng tư nhằm ẩn các luật nhạy cảm. Gần đây, có một thuật toán meta heuristic khá

hiệu quả để đạt mục đích này, đó là thuật toán tối ưu hóa Cuckoo (COA4ARH). Trong bài

báo này, một đề xuất cải tiến của COA4ARH được đưa ra để tính toán số lượng tối thiểu

các item nhạy cảm cần được xóa để ẩn luật, từ đó hạn chế việc mất các luật không nhạy

cảm. Các kết quả thực nghiệm tiến hành trên ba tập dữ liệu thực cho thấy trong một số

trường hợp thì cải tiến đề xuất có kết quả khá tốt so với thuật toán ban đầu.

pdf 14 trang phuongnguyen 5420
Bạn đang xem tài liệu "Cải thiện thuật giải Cuckoo trong vấn đề ẩn luật kết hợp", để 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: Cải thiện thuật giải Cuckoo trong vấn đề ẩn luật kết hợp

Cải thiện thuật giải Cuckoo trong vấn đề ẩn luật kết hợp
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT Tập 8, Số 2, 2018 45–58 
45 
CẢI THIỆN THUẬT GIẢI CUCKOO 
TRONG VẤN ĐỀ ẨN LUẬT KẾT HỢP 
Đoàn Minh Khuêa*, Lê Hoài Bắcb 
aKhoa Công nghệ Thông tin, Trường Đại học Đà Lạt, Lâm Đồng, Việt Nam 
bKhoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia TP. Hồ Chí Minh, 
TP. Hồ Chí Minh, Việt Nam 
*Tác giả liên hệ: Email: khuedm@dlu.edu.vn 
Lịch sử bài báo 
Nhận ngày 23 tháng 01 năm2018 
Chỉnh sửa ngày 24 tháng 04 năm 2018 | Chấp nhận đăng ngày 14 tháng 05 năm 2018 
Tóm tắt 
Hiện nay, vấn đề bảo mật dữ liệu ngày càng được quan tâm hơn trong quá trình khai thác 
dữ liệu. Làm sao để vừa có thể khai thác hợp pháp mà vừa tránh lộ ra các thông tin nhạy 
cảm. Có rất nhiều hướng tiếp cận nhưng nổi trội trong số đó là khai thác luật kết hợp đảm 
bảo sự riêng tư nhằm ẩn các luật nhạy cảm. Gần đây, có một thuật toán meta heuristic khá 
hiệu quả để đạt mục đích này, đó là thuật toán tối ưu hóa Cuckoo (COA4ARH). Trong bài 
báo này, một đề xuất cải tiến của COA4ARH được đưa ra để tính toán số lượng tối thiểu 
các item nhạy cảm cần được xóa để ẩn luật, từ đó hạn chế việc mất các luật không nhạy 
cảm. Các kết quả thực nghiệm tiến hành trên ba tập dữ liệu thực cho thấy trong một số 
trường hợp thì cải tiến đề xuất có kết quả khá tốt so với thuật toán ban đầu. 
Từ khóa: Ẩn luật nhạy cảm; Khai thác dữ liệu đảm bảo sự riêng tư; Tác dụng phụ; Thuật 
toán tối ưu hóa Cuckoo. 
Mã số định danh bài báo:  
Loại bài báo: Bài báo nghiên cứu gốc có bình duyệt 
Bản quyền © 2018 (Các) Tác giả. 
Cấp phép: Bài báo này được cấp phép theo CC BY-NC-ND 4.0 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
46 
 IMPROVEMENT OF CUCKOO ALGORITHM FOR 
ASSOCIATION RULE HIDING PROBLEM 
Doan Minh Khuea*, Le Hoai Bacb 
aThe Faculty of Information Technology, Dalat University, Lamdong, Vietnam 
bThe Faculty of Information Technology, University of Science, VNU Hochiminh City, 
Hochiminh City, Vietnam 
*Corresponding author: Email: khuedm@dlu.edu.vn 
Article history 
Received: January 23rd, 2018 
Received in revised form: April 24th, 2018 | Accepted: May 14th, 2018 
Abstract 
Nowadays, the problem of data security in the process of data mining receives more 
attention. The question is how to balance between exploiting legal data and avoiding 
revealing sensitive information. There have been many approaches, and one remarkable 
approach is privacy preservation in association rule mining to hide sensitive rules. 
Recently, a meta-heuristic algorithm is relatively effective for this purpose, which is cuckoo 
optimization algorithm (COA4ARH). In this paper, an improved version of COA4ARH is 
presented for calculating the minimum number of sensitive items which should be removed 
to hide sensitive rules, as well as limit the loss of non-sensitive rules. The experimental 
results gained from three real datasets showed that the proposed method has better results 
compared to the original algorithm in several cases. 
Keywords: Cuckoo optimization algorithm; Privacy-preserving data mining; Sensitive 
association rule hiding; Side effect. 
Article identifier:  
Article type: (peer-reviewed) Full-length research article 
Copyright © 2018 The author(s). 
Licensing: This article is licensed under a CC BY-NC-ND 4.0 
Đoàn Minh Khuê và Lê Hoài Bắc 
47 
1. GIỚI THIỆU 
Trong hợp tác kinh doanh, việc chia sẻ dữ liệu giữa các tổ chức là rất phổ biến. 
Việc này có thể cung cấp các thông tin có giá trị, chẳng hạn như mô hình mua sắm của 
khách hàng tại các siêu thị hay phát hiện gian lận xảy ra trong ngành ngân hàng. Tuy 
nhiên, điều này dẫn đến một lo ngại là để lộ ra các thông tin nhạy cảm không mong 
muốn cho các bên thứ ba. Trong tình huống này rất cần thiết có một lĩnh vực nghiên cứu 
để vừa có thể khai thác dữ liệu vừa đảm bảo không làm lộ những tri thức nhạy cảm 
trong cơ sở dữ liệu ấy. Chính vì lý do này, lĩnh vực khai thác dữ liệu đảm bảo sự riêng 
tư đã ra đời và đang được phát triển trong những năm gần đây. 
Kể từ khi công trình tiên phong của Agrawal và Srikant (2000, tr. 439-450) và 
Lindell và Pinkas (2000), một vài phương pháp đã được đề xuất nhằm mục đích đảm 
bảo sự riêng tư trong khai thác dữ liệu. Bài báo này sẽ tập trung vào hướng nghiên cứu 
tiếp cận được biết nhiều là tập phổ biến và khai thác luật kết hợp đảm bảo sự riêng tư 
nhằm ẩn các luật kết hợp nhạy cảm. Luật kết hợp là các phép kéo theo được rút ra từ 
một cơ sở dữ liệu giao dịch theo các tham số được chỉ định bởi người dùng. Luật kết 
hợp sẽ cung cấp tri thức cô đọng nhất cho người khai thác dữ liệu vì chúng là bản tóm 
tắt dữ liệu, trong đó có chứa các mối quan hệ giữa các item trong dữ liệu. Thuật ngữ "ẩn 
luật kết hợp" đã được đề cập lần đầu tiên bởi Atallah, Bertino, Elmagarmid, Ibrahim, và 
Verykios (1999, tr. 45-52) trong một hội thảo về kỹ thuật tri thức và dữ liệu. Các tác giả 
của công trình này đã tìm cách sửa đổi cơ sở dữ liệu ban đầu theo một cách sao cho các 
luật kết hợp nhạy cảm sẽ được ẩn, nhưng điều này có thể gây ảnh hưởng đến tập dữ liệu 
gốc và các luật kết hợp không nhạy cảm. 
Có thể xem quá trình ẩn luật kết hợp nhạy cảm là quá trình biến đổi tập dữ liệu 
ban đầu, với các luật kết hợp nhạy cảm được chỉ định bởi người dùng, quá trình này 
thường được gọi là quá trình thanh trùng (sanitization) dữ liệu. Kết quả quá trình thanh 
trùng là sẽ tạo ra tập dữ liệu thanh trùng để cho dù bất kỳ thuật toán khai thác luật kết 
hợp nào được áp dụng trên tập dữ liệu này thì sẽ không có khả năng để phát hiện ra các 
luật nhạy cảm theo các thiết lập tham số chỉ định và sẽ có thể khai thác tất cả các luật 
không nhạy cảm đã xuất hiện trong các tập dữ liệu ban đầu (theo các thiết lập tham số 
tương tự hoặc cao hơn) và không có thêm các luật khác được tạo ra. 
Do đó, thách thức đặt ra là làm thế nào để cân bằng giữa nhu cầu ẩn luật nhạy 
cảm với việc khai thác thông tin hợp pháp của dữ liệu người dùng. Trong trường hợp lý 
tưởng là tất cả các luật nhạy cảm được ẩn, không có luật không nhạy cảm từ cơ sở dữ 
liệu gốc bị mất và không có luật ma được tạo ra. Tuy nhiên, thực tế chứng minh rằng rất 
khó để đạt được một mục tiêu lý tưởng như vậy mà không phát sinh bất kỳ tác dụng phụ 
nào. Bởi lẽ nó còn phụ thuộc các yếu tố như tập dữ liệu ban đầu đa dạng ra sao hay các 
luật nhạy cảm được định nghĩa bởi người dùng là đơn giản hay phức tạp. Để giải quyết 
vấn đề này, đã có rất nhiều kỹ thuật được đề xuất, chẳng hạn như sửa đổi dữ liệu 
(distortion) (Oliveira & Zaïane, 2004) là thêm mới hay xóa bỏ các item hiện có trong dữ 
liệu gốc, còn kỹ thuật ngăn chặn (blocking) (Chang & Moskowitz, 1998) thì thay thế 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
48 
các item bằng ẩn số (unknowns). Cho đến thời điểm hiện tại thì các hoạt động để bảo vệ 
sự riêng tư trong khai thác luật kết hợp có thể được chia thành ba loại chính là: i) Tiếp 
cận heuristic; ii) Tiếp cận dựa vào biên; và iii) Tiếp cận chính xác. 
Trong những năm gần đây, các thuật toán meta heuristic đã được sử dụng để 
khai thác luật kết hợp nhằm đảm bảo sự riêng tư, chẳng hạn như thuật toán tối ưu hóa 
Cuckoo (Walton, Hassan, Morgan, & Brown, 2011) và ẩn luật kết hợp sử dụng thuật 
toán tối ưu hóa Cuckoo (Mahtab, Mohammad, & Mehdi, 2016). Tuy nhiên, các thuật 
toán này để bảo vệ thông tin nhạy cảm tránh bị tiết lộ thì chưa thật sự hoàn hảo và vẫn 
còn một số hiệu ứng phụ, đặc biệt là về việc mất luật còn rất cao. Chẳng hạn, trong công 
trình nghiên cứu và thực nghiệm “thuật toán tối ưu hóa Cuckoo” của Mahtab và ctg. 
(2016), chúng tôi nhận thấy rằng trong một vài trường hợp thì “thuật toán tối ưu hóa 
Cuckoo” không thể ẩn hoàn toàn các luật nhạy cảm. Đó là khi tập các luật kết hợp được 
định nghĩa bởi người dùng khá nhập nhằng. Do vậy, chúng tôi đề xuất một cải thiện để 
khắc phục nhược điểm này của thuật toán. Giải pháp của chúng tôi tập trung vào việc 
tính toán số lượng nhỏ nhất các item nhạy cảm để vừa đảm bảo ẩn hết các luật nhạy 
cảm, vừa hạn chế thao tác xóa lên dữ liệu ban đầu. Kết quả thực nghiệm với một số 
trường hợp đã cho thấy cải tiến của chúng tôi có thể ẩn hoàn toàn các luật nhạy cảm 
cùng một lúc. Để đạt được hiệu suất như vậy là do cải tiến dựa trên mối tương quan 
giữa các luật nhạy cảm mà tính toán ra item nhạy cảm. 
2. ĐỊNH NGHĨA BÀI TOÁN 
Giả sử rằng I = {i1, i2, i3, ..., im} là một tập của các item. D là một cơ sở dữ liệu 
bao gồm nhiều giao dịch. Mỗi giao dịch là một tập con của I. Tập các luật kết hợp được 
rút ra từ D là R và tập các luật kết hợp nhạy cảm là Rs, với Rs⊂R. Mỗi luật kết hợp được 
biểu diễn như A → B trong đó A là tiền đề hoặc phía bên trái và B là kết quả hoặc phía 
bên phải, để A, B ⊂I và A ∩ B = ∅. Mục đích là để thay đổi D thành D’, để các luật hiện 
hành trong Rs không thể được khai thác từ D’ trong khi các luật hiện hành trong R - Rs 
có thể được có thể khai thác. Hai tiêu chí được xem xét trong việc khai thác luật kết hợp 
bao gồm: 
 Tiêu chí đầu tiên được gọi là độ hỗ trợ item cho biết tần suất của một luật 
trong cơ sở dữ liệu và có thể được tính bằng công thức (1): 
Sup(A→B)=
|A∪B|
|D|
 (1) 
Trong đó Sup(A→B) là độ hỗ trợ của luật kết hợp A→B, |A∪B| là số giao dịch 
chứa tất cả các items trong cả hai tập A và B. D là tổng số giao dịch. 
 Tiêu chí thứ hai là độ tin cậy luật cho biết độ mạnh luật trong cơ sở dữ liệu 
và có thể được tính bằng công thức (2): 
Đoàn Minh Khuê và Lê Hoài Bắc 
49 
Conf(A→B)=
|A∪B|
|A|
 (2) 
Đối với mỗi luật kết hợp, một ngưỡng hỗ trợ nhỏ nhất (Minimum Support 
Threshold - MST) và một ngưỡng tin cậy nhỏ nhất (Minimum Confidence Threshold - 
MCT) được xác định. Một luật thỏa mãn khi độ hỗ trợ của nó là cao hơn MST và độ tin 
cậy của nó cao hơn MCT. 
Khai thác luật kết hợp thường bao gồm hai giai đoạn: Giai đoạn 1 là tập các 
itemset phổ biến được khai thác với một ngưỡng MST đã cho và Giai đoạn 2 là luật kết 
hợp mạnh được sinh ra từ các tập phổ biến thu được trong Giai đoạn 1 và phụ thuộc một 
ngưỡng MCT đã cho. Các luật được đề cập đến sau này đều là các luật mạnh. Có ba tác 
dụng phụ có thể có sau khi chuyển từ D thành D': Tập con của các luật nhạy cảm không 
được ẩn trong D' gọi là HF (Hiding Failure), HF = {r ∈ RS|r ∈ R’}. Bất kỳ các luật 
không nhạy cảm nào bị ẩn sai và bị mất trong D', gọi là LR (Lost Rules), LR= {r ∈ (R- 
RS) |r ∉ R’}. Các luật giả tạo sinh ra trong D' được chứa vào GR (Ghost Rules), GR = {r 
∈ R’|r ∉ R}. 
Giả định: Một luật được coi là được ẩn nếu độ hỗ trợ của nó là nhỏ hơn so với 
MST hoặc độ tin cậy của nó là nhỏ hơn MCT. Nói cách khác, nếu một luật mạnh trong D 
không còn là mạnh trong D', chúng ta xem nó là được ẩn. Nhiệm vụ của phương pháp 
ẩn luật là bằng cách nào đó để chuyển từ D sang D’ mà tất cả luật nhạy cảm RS trở nên 
ẩn trong D' trong khi tránh được các dụng phụ (nghĩa là giảm thiểu các thành viên có 
trong HF, LR, và GR). 
Do đó, để che giấu một luật thì đòi hỏi phải giảm độ hỗ trợ hoặc sự tự tin của nó 
đến một mức dưới ngưỡng. Quá trình ẩn thường có thể ảnh hưởng đến các luật không 
nhạy cảm trong D hoặc các luật tiền mạnh trong D. Các luật tiền mạnh là những luật với 
độ hỗ trợ không nhỏ hơn MST và độ tin cậy nhỏ hơn MCT. Một luật tiền mạnh có thể 
trở nên mạnh khi độ tin cậy của nó trên MCT. Một luật không nhạy cảm trong D có thể 
chấm dứt mạnh khi độ hỗ trợ của nó giảm xuống dưới MST hay độ tin cậy của nó giảm 
xuống dưới MCT trong D' do việc loại bỏ item. 
3. ĐỀ XUẤT CẢI THIỆN THUẬT TOÁN 
3.1. Giới thiệu thuật toán 
Phương pháp đề xuất của chúng tôi là một phiên bản cải tiến của COA4ARH 
(Mahtab & ctg., 2016). Vì vậy, hầu hết các bước của đề xuất là tương đồng với thuật 
toán ban đầu, chỉ có khác ở bước xác định các item nhạy cảm trong giai đoạn tiền xử lý. 
Các bước chính của thuật toán COA4ARH được trình bày trong Hình 1. 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
50 
Hình 1. Thuật toán COA4ARH 
3.2. Sửa đổi hoạt động tiền xử lý tập dữ liệu ban đầu 
Như trình bày ở trên thì một luật kết hợp nhạy cảm được ẩn khi độ hỗ trợ hay độ 
tin cậy của nó nằm dưới ngưỡng. Để giảm độ tin cậy của một luật X→Y, ta có thể tăng 
độ hỗ trợ của X, là các item bên trái luật, hay giảm độ hỗ trợ của itemset X∪Y. Trường 
hợp thứ hai, nếu ta chỉ giảm độ hỗ trợ của Y, là các item bên phải luật, thì nó sẽ giảm độ 
tin cậy nhanh hơn khi chỉ giảm độ hỗ trợ của X∪Y. Để giảm độ hỗ trợ của một itemset, 
ta sẽ sửa đổi một item bằng cách xóa item này trong các giao dịch hỗ trợ. Dựa vào 
những nhận định này, bài báo gốc của Mahtab và ctg. (2016) đã đưa ra cách xác định 
các item nhạy cảm của riêng nó trong hoạt động tiền xử lý như sau: 
 Nếu một luật nhạy cảm chỉ có duy nhất một item ở bên phải, item độc nhất 
này sẽ được chọn làm item nhạy cảm. 
Input: 
Tập dữ liệu gốc D, Rs, MST và MCT; 
α, Npop, Nmax, MinNNS, MaxNNS, MaxIteration; 
Output: 
Một tập dữ liệu đã làm sạch D’; 
begin 
Tiền xử lý mới cho tập dữ liệu gốc: 
Khởi tạo 1 quần thể ban đầu; 
call FitnessFunction; 
 call BestSolutionFunction; 
repeat 
 // Tạo ra giải pháp mới 
for each solution in population 
K = (Max NNS - Min NNS) × Rand [0, 1] + Min NNS; // Xác định K 
MR = [∝ ×
Current solution's K
Total of all solution's K
] × (Varhi - Varlow); //Xác định MR 
for K times do 
 for MR times do 
Chọn ngẫu nhiên một item trong số các item nhạy cảm; 
 Đặt Rand [0,1] cho item đã chọn; 
end for 
 end for 
end for 
call FitnessFunction; 
 call BestSolutionFunction; 
Limit number of solutions to Nmax; 
for each solution in population 
call ImmigrationFunction; // Di chuyển tất cả các giải pháp hiện tại đến giải pháp tốt nhất 
end for 
call FitnessFunction; 
 call BestSolutionFunction; 
until Điều kiện dừng được thỏa mãn; 
end. 
Đoàn Minh Khuê và Lê Hoài Bắc 
51 
 Nếu một luật nhạy cảm có nhiều hơn một item ở bên phải, một item trong số 
chúng sẽ được chọn làm item nhạy cảm mà item này có tần suất xuất hiện 
nhiều nhất ở phía bên phải của các luật nhạy cảm và có tần suất ít nhất của 
các luật không nhạy cảm. 
Dễ nhận thấy rằng, trong trường hợp một luật nhạy cảm có nhiều item ở bên 
phải, một item có thể có tần suất xuất hiện nhiều nhất ở phía bên phải của các luật nhạy 
cảm và có thể có tần suất nhiều nhất ở phía bên phải của các luật không nhạy cảm so với 
các item còn lại trong luật nhạy cảm này. Điều này dẫn đến vấn đề là không có item 
nhạy cảm cho luật nhạy cảm, hay luật này không được ẩn (HF ≠ 0). Như vậy, trong tình 
huống này, thuật toán ban đầu đã bị thất bại trong mục tiêu hàng đầu của mình là ẩn hết 
hoàn toàn và cùng một lúc các luật nhạy cảm. Do vậy, cần có một phương pháp để khắc 
phục nhược điểm này của “thuật toán tối ưu hóa Cuckoo”. Chúng tôi đề xuất phương 
pháp xác định các item nhạy cảm bằng “lược đồ nhạy cảm”, được mô tả chi tiết trong 
phần dưới đây. 
3.2.1. Các định nghĩa cho đề xuất 
Dựa vào mối tương quan giữa các luật nhạy cảm mà chọn ra item nhạy cảm 
nhưng cũng phải đảm bảo gây ảnh hưởng đến cơ sở dữ liệu ở mức thấp nhất có thể 
được. Chúng tôi đưa ra định nghĩa một “lược đồ nhạy cảm” để đại diện cho một item 
nhạy cảm. Một lược đồ cho biết độ phủ các luật nhạy cảm và các ảnh hưởng lên cơ sở 
dữ liệu ban đầu của item mà nó đại diện. Một thời điểm chỉ chọn ra được một lược đồ 
có lợi nhất. “Lược đồ nhạy cảm” tốt nhất (có lợi) là lược đồ có độ phủ thông tin về số 
lượng các luật nhạy cảm nhiều nhất, đồng thời có tác động thấp nhất đến cơ sở dữ liệu 
các giao dịch. 
 Định nghĩa 1: “Lược đồ nhạy cảm” của một item nhạy cảm được định nghĩa 
như sau: 
L = (3) 
Trong đó: SI là item nhạy cảm mà lược đồ đại diện; CV là độ phủ luật của lược 
đồ; và AM (Affect Measure) là độ đo mức độ ảnh hưởng của một lược đồ đến các giao 
dịch. 
 Định nghĩa 2: (Giao dịch của lược đồ): Một giao dịch t được xem là chứa 
trong một lược đồ L nếu thỏa mãn hai điều kiện sau: i) NIL ⊆ t và ii) SIL ∈ 
t. Với tập tất cả các giao dịch được chứa trong L là TL. ∀ t ∈ TL. 
 Định nghĩa 3: (Độ bao phủ luật nhạy cảm r của một lược đồ L): Giả sử tập 
tất cả các luật nhạy cảm được phủ bởi L là SRL. Một luật nhạy cảm r: X → Y 
được xem là phủ bởi một lược đồ L nếu SIL ∈ Y. ∀ r ∈ SRL. Độ phủ (CV) 
của một L được định nghĩa là số lượng các luật trong SRL. Độ phủ CV được 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
52 
tính theo công thức (4). 
CV = |SRL| (4) 
 Định nghĩa 4: (Minimal Count - MC của một luật nhạy cảm): Cho một lược 
đồ L và một luật r: X → Y. Để đặc trưng cho tác động ẩn của một luật nhạy 
cảm r chứa trong một lược đồ L gây ra ảnh hưởng lên cơ sở dữ liệu các giao 
dịch TL. Để ảnh hưởng này là nhỏ nhất ta đưa ra định nghĩa MCr. MCr chính 
là số lượng nhỏ nhất các giao dịch bị ảnh hưởng khi ta ẩn các luật r trong 
SRL và MC của luật r được tính như công thức (5). 
MCr, L = min {MSCr, MCCCr} (5) 
Trong đó: MSC là số lượng tối thiểu các giao dịch mà cần phải được sửa đổi để 
giảm độ hỗ trợ của luật r; MCCC là số lượng tối thiểu các giao dịch mà cần phải được 
sửa đổi để giảm độ tin cậy của luật r. Công thức tính MSC và MCCC đã được Wu, 
Chiang, và Arbee (2007) trình bày chi tiết tại hội nghị IEEE về tri thức và dữ liệu. 
 Định nghĩa 5: (Độ đo ảnh hưởng - AM): Cho một lược đồ L, tập các luật 
nhạy cảm SRL và các giao dịch TL. Xét luật r: X → Y, ∀ r ∈ SRL. Luật r có 
một giá trị MCr, L. Mức độ ảnh hưởng của một lược đồ L đến các giao dịch 
TL được định nghĩa là số lượng ảnh hưởng MC lớn nhất của luật r được phủ 
trong L lên các giao dịch TL để đảm bảo ẩn tất cả các luật trong SRL. 
AML = max {MCri, L} (6) 
Trong đó: ri ∈ SRL và được phủ trong L. 
 Định nghĩa 6: (Rút gọn lược đồ): Một lược đồ L1 có thể rút gọn được nếu 
tồn tại lược đồ L2 sao cho SIL1 = SIL2. 
3.2.2. Chiến lược tìm kiếm các item nhạy cảm dựa vào “lược đồ nhạy cảm” 
Chiến lược này có thể theo các bước như sau: 
 Bước 1: Duyệt các luật nhạy cảm ban đầu, tính toán giá trị MSC và MCCC 
cho từng luật nhạy cảm; 
 Bước 2: Xây dựng bảng “lược đồ nhạy cảm”: Duyệt tất cả các luật nhạy 
cảm; Tạo các lược đồ tương ứng với mỗi item bên phải trong luật; Rút gọn 
các lược đồ dư thừa; 
 Bước 3: Chọn ra một lược đồ tốt nhất trong số các lược đồ còn lại ở Bước 2. 
Mục tiêu là để xác định ra item nhạy cảm: Nếu lược đồ có CV lớn nhất được 
chọn làm item nhạy cảm; Nếu nhiều lược đồ có cùng giá trị CV thì lược đồ 
Đoàn Minh Khuê và Lê Hoài Bắc 
53 
có AM nhỏ nhất được chọn làm item nhạy cảm; Nếu nhiều lược đồ có cùng 
giá trị AM nhỏ nhất thì chọn ngẫu nhiên một lược đồ làm item nhạy cảm; 
Bộ các luật nhạy cảm hiện hành = bộ các luật nhạy cảm ban đầu - CV của 
lược đồ tốt nhất; 
 Bước 4: Xuất ra danh sách các item nhạy cảm. 
Nếu mô hình tốt nhất tìm được ở Bước 3 có CV bằng số lượng các luật nhạy cảm 
ban đầu thì dừng, ngược lại, lặp lại Bước 2, Bước 3, Bước 4 để tìm các item nhạy cảm 
khác. 
4. VÍ DỤ MINH HỌA 
Cho một cơ sở dữ liệu gốc bao gồm 10 giao dịch (được thể hiện trong Bảng 1). 
Với MST = 10% và MCT = 70%. Giả sử tập các luật nhạy cảm cần được ẩn được trình 
bày trong Bảng 2. 
Bảng 1. Tập dữ liệu ban đầu 
 TID Items TID Items 
T1 a, b, c, e, f T6 b, c, e 
T2 e T7 a, b, c, d, e, f 
T3 b, c, e, f T8 a, b 
T4 d, f T9 c, e, f 
T5 a, b, d, f T10 a, b, c, e 
Bảng 2. Các luật nhạy cảm 
 ID SAR 
1 c, d f, a 
2 a, e, d c, f 
3 e b 
Đề xuất của chúng tôi được tiến hành như sau: 
 Bước 1: Tính toán MSC và MCCC cho từng luật nhạy cảm (Bảng 3); 
Bảng 3. MSC và MCCC cho từng luật nhạy cảm 
 ID SAR MSC MCCC 
1 c, d f, a 1 1.3 
2 a, e, d c, f 1 1.3 
3 e b 5 1.1 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
54 
 Bước 2: Xây dựng bảng các “lược đồ nhạy cảm” (Bảng 4): Bộ các luật 
nhạy cảm bao gồm {c, d f, a; a, e, d c, f; e b}; Sau đó ta rút gọn 
các lược đồ dư thừa. Kết quả thể hiện trong Bảng 5; 
Bảng 4. Các lược đồ nhạy cảm 
 ID SI CV AM 
1 f 2 Max (1, 1) = 1.0 
2 a 1 Max (1) = 1.0 
3 c 1 Max (1) = 1.0 
4 f 2 Max (1, 1) = 1.0 
5 b 1 Max (1.1) = 1.1 
Bảng 5. Lược đồ nhạy cảm sau khi tinh chỉnh 
 ID SI CV AM 
1 f 2 Max (1, 1) = 1.0 
2 a 1 Max (1) = 1.0 
3 c 1 Max (1) = 1.0 
4 b 1 Max (1.1) = 1.1 
 Bước 3: Xác định lược đồ có CV lớn nhất là lược đồ tốt nhất: Bảng 5 cho 
thấy Lược đồ 1 có CV = 2 là lớn nhất, như vậy Lược đồ 1 là tốt nhất; 
 Bước 4: Tập hợp các item nhạy cảm S = {1} = {f}: Do Lược đồ 1 có CV = 2 
bé hơn số lượng các luật nhạy cảm ban đầu nên bộ các luật nhạy cảm hiện 
hành là {e b} có số lượng = số lượng các luật nhạy cảm ban đầu trừ đi 
CV của Lược đồ 1 (3 - 2 = 1). Lặp lại Bước 2 với bộ các luật nhạy cảm hiện 
hành là {e b} có số lượng là 1 (Bảng 6); 
Bảng 6. Các lược đồ nhạy cảm 
 ID SI CV AM 
1 b 1 Max (1.1) = 1.1 
 Bước 5: Bảng 6 cho thấy chỉ còn một lược đồ và lược đồ này là lược đồ tốt 
nhất; 
 Bước 6: Tập hợp các item nhạy cảm S = {f, b}. 
Thuật toán dừng khi bộ các luật nhạy cảm hiện hành là rỗng ({∅}). Từ đó ta có 
kết luận là tập hợp các item nhạy cảm S = {f, b}. Trong khi đó với thuật toán ban đầu 
Đoàn Minh Khuê và Lê Hoài Bắc 
55 
chỉ xác định được b là item nhạy cảm. Điều này không đảm bảo ẩn hết ba luật nhạy cảm 
đã chỉ định trước đó. 
5. ĐÁNH GIÁ HIỆU SUẤT 
5.1. Tập dữ liệu 
Các tập dữ liệu được sử dụng để làm thực nghiệm bao gồm các tập dữ liệu thực 
lấy từ UCI (2018): Mushroom; Chess; và Cylinder Bands. Đặc điểm của các bộ dữ liệu 
cụ thể được trình bày trong Bảng 7. 
Bảng 7. Đặc tính của các tập dữ liệu 
Cơ sở dữ liệu Số lượng giao dịch Chiều dài trung bình giao dịch Số lượng item 
Mushroom 8124 23 119 
Chess 3196 37 75 
Cylinder Bands 512 39 1756 
5.2. Các độ đo hiệu suất 
Các tiêu chí quan trọng sẽ được sử dụng để so sánh đề xuất cải tiến so với thuật 
toán ban đầu COA4ARH bao gồm: 
 Hiding Failure (HF): Cho biết số lượng các luật nhạy cảm mà thuật toán 
làm sạch không thể ẩn và vẫn đang được khai thác từ cơ sở dữ liệu đã làm 
sạch D'. Công thức tính toán như sau: 
HF= 
|Rs(D
')|
|Rs(D)|
 (7) 
Trong đó: Rs(D
') là số lượng luật nhạy cảm tìm thấy trong cơ sở dữ liệu làm 
sạch; D' và Rs(D) là số lượng luật nhạy cảm trong cơ sở dữ liệu gốc ban đầu D. 
 Lost Rules (LR): Cho biết số lượng các luật không nhạy cảm bị mất do hoạt 
động thanh trùng sanitization và sẽ không còn được khai thác từ tập dữ liệu 
đã thanh trùng D'. Công thức tính toán là: 
LR=
|~Rs(D)|−|~Rs(D
')|
|~Rs(D)|
 (8) 
Trong đó: |~Rs(D)| là số lượng các luật không nhạy cảm trong tập dữ liệu ban 
đầu D; |~Rs(D
')| là số lượng các luật không nhạy cảm trong tập dữ liệu đã làm sạch D'. 
 Ghost Rules (GR): Cho biết số lượng các luật giả không có trong cơ sở dữ 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
56 
liệu gốc ban đầu D và được tạo ra do hoạt động làm sạch sanitization và 
được khai thác từ cơ sở dữ liệu D’. Công thức tính toán: 
GR= 
|R'| -|R∩R'|
|R'|
 (9) 
Trong đó: |R'| là số lượng các luật khai thác từ D'; |R| là số lượng các luật khai 
thác từ D. 
 Số vòng lặp: Số lần lặp yêu cầu để đạt được giải pháp tối ưu. 
5.3. Các kết quả thực nghiệm 
Các thí nghiệm ở cả hai thuật toán đều được tiến hành trên cùng một nền tảng là 
ngôn ngữ Java, thực hiện trên một máy tính PC với cấu hình @Intel CPU core i7 2.50 
GHz và RAM 16GB, Windows 10 (64-bit). Qua một số kiểm thử cụ thể, chúng tôi thu 
được các kết quả như trong Hình 2, Hình 3, và Hình 4. 
Hình 2. So sánh HF trên tập dữ liệu Mushroom 
Hình 3. So sánh HF trên tập dữ liệu Chess 
Đoàn Minh Khuê và Lê Hoài Bắc 
57 
Hình 4. So sánh HF trên tập dữ liệu Cylinder Bands 
Các hình trên cho thấy trong cả ba tập cơ sở dữ liệu, giá trị HF trong phương 
pháp cải tiến đều bằng 0, trong khi thuật toán ban đầu thì HF khác 0. Điều này nói lên 
rằng trong một số trường hợp thì thuật toán ban đầu không thể ẩn hết các luật nhạy cảm, 
còn phương pháp của chúng tôi thì khắc phục được nhược điểm này một cách triệt để. 
Có được hiệu quả này là do đề xuất cải tiến của chúng tôi tìm thấy được mối tương quan 
giữa luật nhạy cảm và các giao dịch hỗ trợ của nó, từ đó đưa ra phương pháp tính toán 
số lượng nhỏ nhất các item nhạy cảm để vừa đảm bảo ẩn hết các luật nhạy cảm và vừa 
gây ảnh hưởng thấp nhất lên các giao dịch hỗ trợ. 
6. KẾT LUẬN 
Bảo đảm sự riêng tư trong khai thác luật kết hợp là một chủ đề nghiên cứu quan 
trọng trong lĩnh vực bảo mật cơ sở dữ liệu. Bài báo này đã đề xuất một phương pháp cải 
tiến khá hiệu quả để giải quyết vấn đề ẩn hoàn toàn các luật kết hợp nhạy cảm bị nhập 
nhằng mà trước đó thuật toán gốc không xử lý được. Đề xuất cải tiến đã đề ra phương 
pháp tính toán chính xác số lượng các item nhạy cảm đảm bảo phủ hết các luật nhạy 
cảm nhưng cũng ít gây ảnh hưởng nhất đến các giao dịch dữ liệu. Các kết quả thực 
nghiệm trên các tập dữ liệu thực đã chứng tỏ hiệu quả của phương pháp cải tiến để ẩn 
hết các luật nhạy cảm. Trong tương lai, chúng tôi sẽ cố gắng tìm ra một cơ chế thích 
nghi cho các tham số đầu vào của thuật toán. Ngoài ra, tìm hiểu thêm về các cách tiếp 
cận khác (biên, chính xác) để từ đó cải tiến thuật toán tốt hơn trong trường hợp mất các 
luật không nhạy cảm cũng như đẩy nhanh tốc độ xử lý của thuật toán nhằm đạt được 
giải pháp tối ưu nhanh hơn. 
TÀI LIỆU THAM KHẢO 
Agrawal, R., & Srikant, R. (2000). Privacy-preserving data mining. SIGMOD Record, 
29(2), 439-450. 
Atallah, M., Bertino, E., Elmagarmid, A., Ibrahim, M., & Verykios, V. (1999). 
Disclosure limitation of sensitive rules. Paper presented at The IEEE Knowledge 
and Data Engineering Exchange Workshop (KDEX), USA. 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
58 
Chang, L., & Moskowitz, I. (1998). Parsimonious downgrading and decision trees 
applied to the inference problem. Paper presented at The Workshop on New 
Security Paradigms (NSPW), USA. 
Lindell, Y., & Pinkas, B. (2000). Privacy-preserving data mining. Journal of 
Cryptology, 15(3), 36-54. 
Mahtab, H. A., Mohammad, N. D., & Mehdi, A. (2016). Association rule hiding using 
Cuckoo optimization algorithm. Expert Systems with Applications, 64, 340-351. 
Oliveira, S., & Zaïane, O. (2004). Achieving privacy preservation when sharing data for 
clustering. Paper presented at The International Conference on Data Mining 
(SDM), Canada. 
UCI. (2018). Machine learning repository. Retrieved from https://archive.ics.uci.edu/ 
ml/index.php 
Walton, S., Hassan, O., Morgan, K., & Brown, M. (2011). Modified Cuckoo search: A 
new gradient-free optimisation algorithm. Chaos, Solitons & Fractals, 44, 710-
718. 
Wu, Y. H., Chiang, C. M., & Arbee, L. P. C. (2007). Hiding sensitive association rules 
with limited side effects. IEEE Transactions on Knowledge and Data 
Engineering, 19(1), 29-42. 

File đính kèm:

  • pdfcai_thien_thuat_giai_cuckoo_trong_van_de_an_luat_ket_hop.pdf