Thuật toán được trình bày chi tiết trong [7].
Thuật toán DMAR cho việc khai phá luật kết hợp phân tán sử dụng kỹ thuật meta-learning. Đó là khai phá các tập phổ biến cục bộ mà chúng được sử dụng như là siêu tri thức tại mọi điểm trong hệ thống phân tán và tạo ra các tập ứng viên phổ biến toàn cục từ những siêu tri thức này, sau đó quét cơ sở dữ liệu giao dịch một lần để thu được các tập phổ biến toàn cục. Thuật toán này có hiệu năng khai phá cao hơn và yêu cầu số lượng các giao tiếp thông điệp ít hơn.
Kỹ thuật phân tán cho khai phá luật kết hợp sử dụng meta- learning:
Meta-learning là để thu được kết quả cuối cùng thông qua việc học phổ biến. Tập các tập phổ biến cục bộ L(i) (i=1,..,n) tại mọi điểm có thể được nhìn nhận như là kết quả của quá trình học đầu tiên sử dụng kỹ thuật meta- learning. Có thể tạo các tập ứng viên phổ biến toàn cục C bằng cách sử dụng L(i) và thu được các tập phổ biến toàn cục L bằng cách sử dụng C. Đó là, tạo các tập phổ biến cục bộ L(i) trong cơ sở dữ liệu giao dịch tại mọi điểm và tính
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
toán các tập ứng viên phổ biến toàn cục C = L(1) L(2) … L(n), quét DBi
(i=1,..,n) một lần và thu được độ hỗ trợ của bất kỳ tập mục C-L(i) trong DBi.
Thêm độ hỗ trợ của mọi tập mục trong C tại mọi điểm, thu được tập các tập mục phổ biến toàn cục:
L={A | sup(A) |DB|*minsup, A C}
Thuật toán:
Thuật toán khai phá luật kết hợp phân tán được thực hiện qua vài bước, có sử dụng kỹ thuật meta-learning:
Bước đầu tiên là khai phá tập các tập phổ biến cục bộ, tập hợp tất cả các
tập phổ biến cục bộ tại mọi điểm, sau đó tạo tập các tập ứng viên phổ biến toàn cục.
Bước hai là quét cơ sở dữ liệu tại mọi điểm, tính toán giá trị hỗ trợ của các
tập không phổ biến tại mọi điểm trong tập các tập ứng viên phổ biến toàn cục. Cuối cùng là tính giá trị hỗ trợ của các tập ứng viên phổ biến toàn cục tại mọi điểm, và tạo các tập phổ biến toàn cục.
Thuật toán khai phá phân tán sử dụng một bảng để tập hợp các tập phổ biến cục bộ tại mỗi điểm và tạo các tập ứng viên toàn cục tại mọi điểm.
Itemset S1 S2 … Sn S Support σ Itemset 1 Itemset 2 … Itemset m Bảng 2.1. Các tập phổ biến
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Trong đó:
- Si: là độ hỗ trợ của tập mục phổ biến cục bộ trong DBi, i=1,2,..,n
- S= n i i S 1 là độ hỗ trợ của tập mục trong DB
- σ=S/|DB| là độ hỗ trợ của các tập ứng viên phổ biến toàn cục, nếu
σ minsup thì tập mục là phổ biến toàn cục.
Algorithm: DMAR
Input: DB phân tán {DB1,DB2,..,DBn}, minsup
Output: Tập các tập phổ biến toàn cục L trong DB
(1) For all sites do /* khai phá độc lập tại mỗi điểm*/
{
(2) L(i)=Local-Mining(DBi, minsup); /* tạo tập phổ biến cục bộ L(i) */ (3) receive(i,L(i)); /*tập hợp các tập phổ biến cục bộ tại mỗi điểm */ (4) Làm đầy mọi tập mục trong L(i) và độ hỗ trợ tương ứng vào bảng các tập mục phổ biến;
}
(5)For i=l to m do {
(6) Tạo tập các tập ứng viên phổ biến C của mọi điểm từ bảng các tập mục phổ biến nơi mà C(i)={M | Si=0, Si tương đương với tập mục M trong bảng}; /*C(i)=C-L(i)*/
(7) send(i,C(i)); /* Truyền tập các tập mục ứng viên phổ biến toàn cục tới điểm thứ i (tri thức meta) */
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
(8) For all sites do (
(9) Quét DBi một lần và tạo ra độ hỗ trợ của mọi tập trong C(i)
(10) receive(i,C(i)); /*tập hợp độ hỗ trợ của các tập ứng viên phổ biến toàn cục tại mọi điểm */
(11) Làm đầy độ hỗ trợ của các tập mục trong C(i) vào trong cột Si trong bảng các tập mục phổ biến */
}
(12) L=Φ;
(13)|DB|=|DB1|+|DB2|+ . .. +|DBn|; /* tính tổng các giao dịch */ (14) Với mọi tập mục M trong bảng
{ (15) S= n i i S 1 ; (16) σ=S/|DB|; (17) if σ minsup then L=L {M}; } (18) END DMAR Đánh giá:
Sử dụng bảng các tập mục phổ biến trong thuật toán này cho phép chúng ta dễ dàng thêm bớt các điểm. Khi xóa một điểm i, chỉ cần thiết lập độ
hỗ trợ cột Si trong bảng về 0 và tính lại giá trị S và σ, sau đó sẽ thu được tập
phổ biến toàn cục. Khi thêm một điểm, sẽ thêm một cột vào bảng và đăng ký độ hỗ trợ của các tập phổ biến cục bộ. Nếu các tập phổ biến cục bộ tại điểm đó là phần tử thêm mới vào bảng, thì cần phải sử dụng các tập mục mới này
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
để quét tại mọi điểm một lần, sau đó sẽ thu được độ hỗ trợ của các tập mục, tính lại S và σ, sau đó sẽ thu được tập phổ biến toàn cục.
Truyền thông: để khai phá được tập các tập mục phổ biến toàn cục k phần tử trong mỗi vòng lặp, thuật toán FDM cần phải trao đổi độ hỗ trợ của tập các tập ứng viên phổ biến k phần tử và các tập cục bộ, và kết quả là có một số lượng lớn truyền thông và giao thức truyền thông phức tạp. Trong khi đó DMAR truyền và đăng ký tập các tập mục phổ biến cục bộ tại bước (3), với một lần truyền thông tại bước (7) và (10). Vì vậy, thuật toán DMAR có tần suất ít hơn (3 lần) và số lượng truyền thông nhỏ hơn (tập các tập phổ biến cục bộ và các tập không phổ biến trong các tập ứng viên phổ biến toàn cục tại mọi điểm và độ hỗ trợ của chúng).
Khai phá hiệu quả: Với thuật toán FDM, mọi điểm phải được đồng bộ trong quá trình đợi việc tập hợp các độ hỗ trợ của các tập phổ biến tại các điểm tại thời điểm kết thúc mỗi vòng lặp. Trong khi đó với DMAR, quá trình khai phá tại mọi điểm là độc lập và đôi khi có thể off-line với một số lượng nhỏ truyền thông. Vì vậy, tính hiệu quả trong khai phá của thuật toán DMAR là cao hơn so với của thuật toán FDM.
Kết luận chƣơng 2
Trong chương này chúng ta đã đi tìm hiểu về phương pháp khai phá luật kết hợp. Thực chất của quá trình khai phá luật kết hợp chính là việc tìm kiếm các tập phổ biến, tức là các tập có độ hỗ trợ lớn hơn một ngưỡng cho trước nào đó. Có khá nhiều phương pháp tìm kiếm luật kết hợp như FP-tree, AIS,.., nhưng trong chương này ta chỉ xem xét một trong các phương pháp nổi tiếng và tương đối đơn giản thông qua sử dụng phương pháp sinh tập ứng viên đó là phương pháp Apriori – được phát triển từ những năm 1995. Thuật
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
toán Apriori cho phép tìm kiếm các tập phổ biến sau đó sinh ra các luật kết hợp.
Với cơ sở dữ liệu phân tán thì bài toán khai phá luật kết hợp sẽ phức tạp hơn, nó liên quan đến các vấn đề về tính cục bộ cũng như toàn cục của tập ứng viên và tập phổ biến, mà ở trong chương 2 này chúng ta đã đi đến một hướng tiếp cận để giải quyết vấn đề này là thuật toán khai phá phân tán luật kết hợp DMAR cho phép tìm kiếm các luật kết hợp trên cơ sở dữ liệu phân tán.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Chƣơng 3
MỘT SỐ THUẬT TOÁN KHAI PHÁ LUẬT KẾT HỢP CÓ ĐẢM BẢO TÍNH RIÊNG TƢ
Trong chương này sẽ trình bày về một số thuật toán để bảo đảm tính riêng tư khai thác luật kết hợp trên dữ liệu phân tán ngang, các giao thức được trình bày chi tiết về các bước thực hiện đồng thời đưa ra các nhận xét, đánh giá và và so sánh các phương pháp trên các khía cạnh như: Tính riêng tư, chi phí truyền thông, chi phí tính toán.
3.1. Phƣơng pháp dựa trên tính tổng bảo mật chống lại sự thông đồng
3.1.1. Các định nghĩa
Một hệ thống được phân tán đồng nhất của M sites được biểu thị như
sau: {S1, S2,…. SM,}. Cơ sở dữ liệu giao dịch là một tập hợp các tập mục ký
hiệu là DB = {T1, T2,…. Tn,}. Ti (1 ≤ i ≤ n) là một bộ tập mục Ti I, ở đó I =
{i1, i2,…. Im,}, biểu thị một tập mục cấu thành giản đồ của DB). DB được
phân tán ngang thành {DB1, DB2,…. DBM,}, với DBi được đặt tại Si (1 ≤ i ≤
M). Giả sử rằng mọi Site đều biết miền hạng mục I.
Cho X.sup (được gọi là độ hỗ trợ toàn cục) và X.supi (được gọi là độ hỗ
trợ cục bộ tại Si) biểu thị số lượng giao dịch tương ứng bao gồm tập phổ biến
X trong DB và trong DBi. Độ hỗ trợ toàn cục của X được đưa ra là
M
i X i
X
1 .sup
sup
. của tập mục X được xem là tập phổ biến nếu độ hỗ trợ
của X lớn hơn hoặc bằng ngưỡng hỗ trợ cụ thể cho trước. Đặc biệt là X được
xem là tập phổ biến cục bộ tại Si nếu X.supi ≥ min_supporti, và X được xem là
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Cho Lk biểu thị bộ tập phổ biến toàn cục k-itemsets. Một DB đã cho,
mục đích của phương pháp là để khám phá mọi itemset mà độ hỗ trợ của chúng lớn hơn hoặc bằng ngưỡng hỗ trợ cụ thể cho trước, ví dụ, để khám phá
một bộ Lk với k ≥ 1 và độ hỗ trợ cho các itemsets này. Đặc biệt là nó yêu cầu
phải đảm bảo được tính riêng tư.
Một luật kết hợp X Y, Với X I, Y I và X Y = . X Y giữ
ở DB với độ hỗ trợ S nếu S% của của giao dịch trong DB bao gồm X ∩ Y, và với độ tin cậy C nếu C% của các giao dịch trong DB bao gồm cả X và Y. Trên thực tế, việc sử dụng các tập phổ biến toàn cục, các luật kết hợp có thể tính toán được một cách dễ dàng.
Dựa trên mô hình semi-honest, mỗi site được giả định theo thuật toán, nhưng miễn phí cho việc sử dụng lần sau, những gì nó thấy trong quá trình thực hiện thuật toán để thỏa hiệp sự an toàn. Điều này là có tính thực tế trong thế giới thực bởi vì các bên muốn khai thác dữ liệu vì lợi ích các bên sẽ theo giao thức để đạt kết quả chính xác. Cũng như vậy, một giao thức được che dấu trong phần mềm lớn và phức tạp không thể dễ dàng thay đổi được.
3.1.2. Thuật toán khai phá dữ liệu đảm bảo tính riêng tư chống lại sự thông đồng. đồng.
Phần này giới thiệu CRDM (Collusion – Resistant privacy – preserving Data Mining algorithm) - thuật toán khai phá dữ liệu đảm bảo tính riêng tư chống lại sự thông đồng. CRDM được trình bày trong hai phần:
(1), Phương pháp nặc danh SecureSum, (2), Thuật toán CRDM
Trên thực tế, CRDM có thể được tùy biến theo nhiều cách khác nhau. Ví dụ một phiên bản bình thường có thể chỉ rõ một giá trị nhỏ hơn cho số
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
phân chia của đối tượng V trong SecureSum; tuy nhiên, trong trường hợp có ít các bên, có thể gặp rủi ro bảo mật cao. Ta cũng chia các sites thành các nhóm và áp dụng CRDM trên các nhóm để giảm chi phí giao tiếp (thông tin); tuy nhiên, việc chia nhóm có thể tốn chi phí, và phải được điều khiển bởi bộ quản lý.
3.1.2.1. Tính tổng bảo mật với Secure Sum
Trong CRDM, vần đề cần phải tính tổng một số yếu tố như tổng các tập phổ biến, tổng các độ hỗ trợ ở các đối tượng tham gia tính toán và tổng toàn cục.
Cho một hệ thống gồm M site, và một đối tượng ký hiệu bởi V. Vi là
một ví dụ của Site Si (0 ≤ i < M). Tính toán iM01Vi theo cách mà các Vi
không thể biết được các thông tin của bên khác hoặc các bên cũng không thể
biết được thông tin của Si, trừ khi một số site thông đồng với nhau.
Phương pháp giao tiếp nặc danh được đưa ra trong quy trình SecureSum và được mô tả trong hình 3.1. Công nghệ này gọi là “chia sẻ và
che dấu” được sử dụng để bảo vệ sự nặc danh của Vi, và cố gắng để giảm chi
phí truyền thông. Giả mã.
Procedure SecureSum: Cho một đối tượng V, Vi là một thể hiện của V tại
site Si (0≤i<M). Tính tổng bảo mật
Đầu vào: (1) {Si}0≤i<M : A tập hợp các site, M≥3.
(2) Vi: Một thể hiện của V tại Si (0≤i<M).
Đầu ra: Tổng bảo mật SecureSum begin
Pha 1: Chia ngẫu nhiên Vi và gửi tới M-i site
foreach site Si (1≤i<M) do
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 3.1. SecureSum(): Tính tổng bảo mật các Vi (0 ≤ i ≤ M-1)
Ví dụ 3.1 Ở hình 3.2, một hệ thống gồm 6 sites được sử dụng để minh họa cho SecureSum. Có hai giai đoạn.
Ở giai đoạn 1, site Si (1 ≤ i ≤ 5) chia ngẫu nhiên giá trị Vi của mình thành (6 – i) phần: {Vi,i, Vi,i+1,….. Vi,5}, và gửi Vi,j đến Sj. (i+1 ≤ j ≤ 5)
for j=i+1 to M-1 do
Gửi Vi, j đến Si;
Pha 2: Gửi giá trị đã được làm nhiễu tại mỗi site đến S0
foreach site Si (1≤i<M) do
V’iVi,i + ;
Gửi Vi’ đến S0;
for site S0 do return V0+
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 3.2a. Giai đoạn 1 của ví dụ sử dụng SecureSum
Ở giai đoạn 2, site Si (1 ≤ i ≤ 5) gửi (Vi,i + 11 ,
i
j Vji ) đến S0. Cuối cùng
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 3.2b. Giai đoạn 2 của ví dụ về sử dụng SecureSum
Tiếp theo ta sẽ đưa ra các bản phân tích về mức độ chống lại sự thông đồng và chi phí truyền thông của Secure Sum. Chúng được đưa ra với hai đặc tính: Đặc tính 1 và đặc tính 2.
Đặc tính 1 (mức độ chống lại sự thông đồng)
Đưa ra hệ thống của M sites. Với việc sử dụng quy trình Secure Sum, site
Si (0≤ i < M) không thể biết Vj (0 ≤ j < M, và j ≠ i) trừ khi nó thông đồng với
mọi sites khác trừ Sj Nghĩa là mức độ chống lại sự thông đồng ở đây là M-2.
Chứng minh đặc tính này trong 2 trường hợp:
Trường hợp 1 (đối với Site Si): S0 không gửi bất cứ dữ liệu nào liên
quan đến V0 đến bất kỳ site nào khác. Trước khi gửi đến site khác, Vì vậy, V0
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Trường hợp 2 (Đối với site Si, 1≤ i < M): Giả sử Sx (x ≠ i) đã biết Vi.
Điều đó có nghĩa là Sx phải đã biết {Vi,i, Vi,i+1, Vi,i+2, …. Vi,M-1,}. mà để biết
được {Vi,i+1, Vi,i+2, …. Vi,M-1,} nó yêu cầu cho các Si+1, Si+2, … SM-1 để thông
đồng với nhau. Còn để biết được Vi,i thì nó phải yêu cầu S1, S2,…… SM-1 và
So để thông đồng. Điều này là không thể trừ khi tất cả các site thông đồng thông nhau.
Mặt khác Vi là một thể thống nhất được phân chia một cách ngẫu nhiên
trong khoảng (-∞, + ∞) (chú ý trong thực tế, máy tính có giới hạn theo kiểu dữ liệu sử dụng),
Bằng việc này chúng ta đã chỉ ra rằng Sx không thể biết Vi, hoặc đoán
biết Vi trừ khi nó thông đồng với tất cả site khác.
Đặc tính 2 (Chi phí truyền thông). Đưa ra hệ thống gồm M site. Bằng việc sử dụng quy trình Secure Sum, chi phí truyền thông sẽ được tính theo:
(1). Số thông điệp là M( M-1)/2
(2). Thời gian yêu cầu là (M-1)T, ở đó T là thời gian trung bình đề gửi thông điệp từ site này đến site khác.
- Chứng minh đặc tính này ở 2 bước.
Bước 1: Đối với số thông điệp: Vì Site Si (1 ≤ i < M), M-i-1 thông điệp được gửi đến giai đoạn 1, và một thông điệp ở giai đoạn 2. Vì chúng ta có M sites, trong tổng số, số thông điệp có thể ước tính là M (M-1)/2.
Bước 2: Đối với thời gian yêu cầu: Ở giai đoạn 1, Si (1 ≤ i < M), gửi
các thông điệp cho Vi,j (i+1 ≤ j < M) liên tục. Trong tất cả các site, S1 gửi số
thông điệp lớn nhất, và số là M – 2. Vì đối với mọi sites Si và Sj (i ≠ j), các
thông điệp cho Vi và Vj được gửi đồng thời, nếu chúng ta nhận các thông điệp