Bảng giá trị chủ quan

Một phần của tài liệu khai thác dữ liệu phân tán bảo toàn tính riêng tư (Trang 84)

Ta có WIT-tree trong khai thác HUIs nhƣ sau:

item TID A B C D E Twu T1 0 0 16 0 1 21 T2 0 12 0 2 1 71 T3 2 0 1 0 1 12 T4 1 0 0 2 1 14 T5 0 0 4 0 2 14 T6 1 2 0 0 0 13 T7 0 20 0 2 1 111 T8 3 0 25 6 1 57 T9 1 2 0 0 0 13 T10 0 12 2 0 2 72 Item Benefit A 3 B 5 C 1 D 3 E 5

Chúng ta có thể thấy, giá trị twu(X) là tổng các giá trị twu của các giao tác mà tid của chúng chứa trong Tidset. Vì vậy, tính twu(X) và u(X) sẽ đƣợc thực hiện

nhanh chóng dựa vào Tidset.

Thuật toán TWU-Mining dựa trên WIT-tree để khai thác HUIs. Có 2 giai đoạn trong thuật tốn:

Giai đoạn 1 tìm tất cả tập mục có độ có ích trọng số giao tác cao.

Giai đoạn 2 chọn tất cả tập mục có độ có ích cao. Thật ra, giai đoạn 2 tính các

giá trị có ích dựa trên Tidset.

Đầu vào : CSDL gồm 2 bảng: Khách quan và chủ quan, ngƣỡng minutil. Đầu ra: HUIs chứa tất cả tập mục có ích cao.

Hình 2.18 Thuật tốn TWU-Mining

Thuật tốn bắt đầu bằng cách khởi tạo lớp tƣơng đƣơng rỗng ([]) chứa các mục đơn i sao cho twu(i)  minutil, sau đó gọi hàm TWU-Mining-Extend, đầu vào của hàm này là lớp tƣơng đƣơng P ([P]): Xét mỗi đỉnh li với các đỉnh sau lj, với X =

li lj, tính Y = Tidset(X) = Tidset(li)  Tidset(lj) (chi tiết xin xem [29]), nếu twu(X)

TWU-Mining()

HUIs = 

[] = {it(i)| i  I  twu(i) minutil} TWU-Mining-Extend([], minutil)

TWU-Mining-Extend ([P], minutil)

// Phase 1

1. for all li  [P] do 2. [Pi] = 

3. for all lj  [P], with j > i do 4. X = li  lj

5. Y = Tidset(li)  Tidset(lj) 6. if twu(X)  minutil then

7. [Pi] = [Pi]  { ) (X twu Y X } 8. TWU-Mining-Extend([Pi], minutil) // Phase 2 9. foreach itemset s in [P] do 10. If u(s)  minutil then 11. HUIs = HUIs  s

(đƣợc tính thơng qua Tidset(X)) thoả minutil, thêm đỉnh mới

) (X twu Y

X vào lớp tƣơng đƣơng [Pi], thuật toán gọi đệ qui để tìm các lớp tƣơng đƣơng ở mức sau đến khi khơng cịn đỉnh nào đƣợc tạo ra. Với mỗi lớp tƣơng đƣơng [P], thuật tốn tính giá trị có ích của tập mục dựa trên Tidset, nếu u(s)  minutil, thêm nó vào HUIs.

Ví dụ 2.6 (Minh họa thuật tốn TWU-Mining)

Xét q trình khai thác HUIs dựa trên thuật toán TWU-Mining với minutil = 130. Xét lớp tƣơng đƣơng [B],(hình 2.16)

Kết hợp với C, ta có itemset mới BC10 với twu(BC) = 72 < minutil, loại bỏ BC. Kết hợp với D, ta có itemset mới BD27 với twu(BD) = 71 + 111 = 182.

Kết hợp với E, ta có itemset mới BE2710 với twu(BE) = 71 + 111 + 72 = 254. Tiếp đó, tính u(BD) = 172, thoả minutil, vì vậy thêm vào HUIs, HUIs = {B, BC}. Ta tính u(BE) = 240, thoả minutil, và thêm vào HUIs, HUIs = {B, BC, BE}.

Tƣơng tự nhƣ vậy, xét lớp tƣơng đƣơng [BD]: kết hợp với BE, ta có itemset mới BDE27 với twu(BDE) = 71 + 111 = 182

Tiếp đó, tính u(BDE) = 182, thoả minutil, vì vậy thêm vào HUIs, HUIs = {B, BC,

BE, BDE}.

Làm tƣơng tự cho các bƣớc tiếp theo ta có kết quả chi tiết trong hình 2.18.

Nhận xét thuật tốn:

Các tác giả trong [14] đã giới thiệu một phƣơng pháp mới để khai thác tập mục có ích cao từ CSDL và đƣa ra thuật toán hiệu quả để khai thác HUIs. Nhƣ đã đƣợc đề cập ở trên, thuật toán dựa trên WIT-tree hiệu quả hơn các thuật toán dựa trên Apriori. Bằng kỹ thuật WIT-tree, thuật toán chỉ quét CSDL 1 lần dựa trên phần giao giữa các Tidset để tính nhanh giá trị có ích và giá trị trọng số giao tác của các tập mục. Trong phần thực nghiệm thuật toán cũng cho thấy thời gian thực thi của thuật toán TWU-Mining nhanh hơn Two-Phase. Ví dụ: Trong cơ sở dữ liệu MBS-POS với minutil = 1%, thời gian khai thác của Two-Phase khoảng 569 giây, trong khi thời gian khai thác của TWU-Mining khoảng 183 giây (bảng 2.18).

Thực nghiệm thuật toán:

Tất cả các thuật toán đƣợc viết bằng C# 2005. Cấu hình PC dùng cho thực nghiệm là CPU Intel 2.0 GHz Centrino, RAM 1 GB, Windows XP. CSDL thực nghiệm có đặc điểm nhƣ sau:

Database Trans Items

BMS-POS 515597 1656 Retail 88162 16469

Bảng 2.17 CSDL thực nghiệm

Chúng tôi bổ sung bằng cách thêm cột giá trị (ngẫu nhiên từ 1 đến 10) cho mỗi item tƣơng ứng với mỗi giao tác, và tạo thêm một bảng để lƣu giá trị lợi nhuận của các item (trong phạm vi từ 1 đến 10).

Do thuật toán Two-Phase [44] đƣợc so sánh là nhanh hơn các thuật toán khác dựa vào biên trên có ích và đã đƣợc chứng minh trong [26],[27], vì vậy chúng tơi chỉ so sánh thuật toán với Two-Phase.

Minutil(%) Two-Phase (s) TWU-Mining (s) HUIs

5 51.89 27.59 4

4 73.73 39.05 6

3 117.72 55.67 7

2 205.09 95.56 22

1 569.22 182.67 161

Minutil(%) Two-Phase (s) TWU-Mining (s) HUIs 1 7.67 7.46 20 0.8 11.38 11.31 29 0.6 24.63 23.23 45 0.4 60.25 57.69 64 0.2 210.78 178.19 239 0.1 546.03 426.27 800

Bảng 2.19 Bảng thực nghiệm 2 thuật toán trong CSDL Retail

Từ kết quả của bảng 2.17 và bảng 2.18, chúng ta thấy thời gian thực thi của thuật toán TWU-Mining nhanh hơn Two-Phase. Với ngƣỡng minutil càng nhỏ, khoảng cách thời gian khai thác của 2 thuật toán càng lớn. Điều đó cho thấy thuật toán TWU-Mining hiệu quả hơn một số thuật toán khác. Tuy nhiên, vào năm 2009 các tát giả trong [16] đã đề xuất phƣơng pháp sử dụng thuật toán TWU-Mining trong khai thác CSDL phân tán dọc. Với giả sử ban đầu là dữ liệu đã đƣợc phân tán tại hai bên và tiến hành theo phƣơng pháp mới là tính tốn một bƣớc trƣớc khi thu tập dữ liệu vào bên khai thác (Master). Vì vậy, thời gian khai thác tại Master sẽ ít hơn khi sử dụng TWU-Mining trên CSDL tập trung. Kết quả thực nghiệm [16] cho thấy, thời gian khai thác trên CSDL Retail với ngƣỡng minutil là 0.8 thuật toán TWU- Mining chạy hết 11.31s trong khi TWU-Mining Distribute chay hết 8.16s.

2.6. Kết chƣơng

Nội dung chƣơng 2 đã trình bày về các vấn đề: khai thác trên cơ sở dữ liệu phân tán dọc và cơ sở dữ liệu phân tán ngang. Trong đó cũng đã trình bày một số thuật toán do tác giả luận án đề xuất gồm: các thuật toán khai thác trên CSDL phân tán dọc với các phép kết ngoại khác nhau đƣợc phát triển từ phƣơng pháp IT-Tree, thuật tốn khai thác tập mục lợi ích cao, thuật tốn khai thác song song trên CSDL phân tán dọc. Các thuật toán này đều hƣớng đến việc tăng tốc độ khai thác và tính khả thi khi khai thác trên CSDL phân tán và có kích thƣớc dữ liệu của các bên tham gia lớn. Trong chƣơng 3 luận án sẽ trình bày các kết quả nghiên cứu là các thuật toán khai thác trên cơ sở dữ liệu phân tán có quan tâm đến bảo tồn tính riêng tƣ

CHƢƠNG 3

Khai thác dữ liệu phân tán bảo đảm tính riêng tƣ

3.1. Giới thiệu chƣơng

Trong chƣơng này, luận án sẽ trình bày các kết quả chính về khai thác CSDL phân tán có quan tâm đến bảo tồn tính riêng tƣ của các bên tham gia khai thác. Mục 3.2 là thuật tốn khai thác trên CSDL phân tán dọc có bảo tồn tính riêng tƣ. Mục 3.3 và 3.4 là các thuật toán và giao thức thực hiện trên CSDL phân tán ngang có quan tâm đến bảo tồn tính riêng tƣ của các bên tham gia khai thác.

3.2. Khai thác CSDL phân tán dọc bảo đảm tính riêng tƣ 3.2.1. Đặt vấn đề 3.2.1. Đặt vấn đề

Giả sử có 2 cơ sở dữ liệu là DB1 gọi là Master và DB2 gọi là Slave, miền giá trị của các TID (Transaction Index) là giống nhau và kích thƣớc tối đa là n giao dịch, các TID đƣợc sắp xếp từ 1 đến n. Có một bên thứ 3 cùng hỗ trợ quá trình khai thác của 2 bên với nhiệm vụ không làm lộ dữ liệu của 2 bên trong quá trình khai thác. Tác giả luận án đã dựa vào ý tƣởng sử dụng bên thứ ba của Boris Rosenber và các công sự [16] để đề xuất thuật toán ENUMERATE_FREQUENT_DISTRIBUTE_ PRIVACY [2], khai thác trên CSDL phân tán dọc, có bảo tồn tính riêng tƣ của các bên tham gia khai thác. Quá trình khai thác đƣợc thực hiện nhƣ sau (giả sử bên Master khai thác trƣớc)

Bƣớc 1: Các bên Master và Slave cũng gửi các TID thật cho bên thứ 3. Sau khi

kiểm tra giá trị các K=|TID(slave)  TID(Master)| thoả độ hỗ trợ tối thiểu (có khả năng khai thác luật ) bên thứ 3 thông báo cho các bên tham gia mọi việc đã sẵn sàng cho quá trình khai thác luật.

Bƣớc 2: Hai bên Master và Slave phát sinh dữ liệu giả bằng cách thêm vào các

TID giả là các TID chƣa sử dụng trong khoảng [1..n] và gửi dữ liệu giả đó cho nhau.

cho nhau để Slave thực hiện tìm kiếm các luật cho mình. Master lần lƣợt gửi các TID(i) của mình và các TID(j) thuộc phần phần dữ liệu giả của Slave đã đƣợc giao với các TID thực của Master đến bên thứ 3 và nhận về từ bên thứ 3 giá trị (là số phần tử của tập giao giữa dữ liệu Master và TID (|MTID  TID|)) đây cũng chính là độ hỗ trợ sẽ sử dụng để khai thác luật.

Bƣớc 4: Master dùng phƣơng pháp IT-Tree để sinh tập phổ biến và thuật toán

sinh luật dựa trên giữ liệu giả của Slave và độ hỗ trợ của từng itemset do bên thứ 3 trả về.

3.2.2. Thuật toán

Dữ liệu đầu vào là: CSDL DB1 của bên Master với tập các item là I1, CSDL DB2 của bên Slave với tập các item là I2 và ngƣỡng phổ biến minSup.

Kết quả đầu ra: tập FI gồm tất cả các tập phổ biến của CDSL D thỏa minSup.

ENUMERATE_FREQUENT_DISTRIBUTE_PRIVACY()

3rd party :TID = TID(DB1)  TID(DB2)// TID thực Master: [] = 

For each i  I1 do

Send T=TID(i) to 3rd Party and Receive sup If sup  minSup then [] = []  {i×T (sup)} For each i  I2 do // TID trên DB2 là TID giả

Send T=TID(i) to 3rd Party and Receive sup If sup  minSup then [] = []  {i×T (sup)}

ENUMERATE_FREQUENT([]) ENUMERATE_FREQUENT([P])

for all li  [P] do [Pi] = 

for all lj  [P], with j > i do I = lj

T = TID( li )  TID( lj )

Send T to 3rd Party and Receive sup If sup  minSup then

[Pi] = [Pi]  {I×T (sup)}

ENUMERATE_FREQUENT([Pi])

Trong thuật toán, nhiệm vụ của bên thứ ba là tính TID từ TID thực của Master và Slave gửi sang (TID = TID(DB1)  TID(DB2)) sau đó nhận và gửi dữ liệu với Master. Nhiệm vụ bên Master tính lớp tƣơng đƣơng ban đầu [] từ Các TID thật của CSDL thuộc Master và các TID giả từ CSDL do Slaver gửi sang. Sau đó gọi hàm ENUMERATE_FREQUENT để tính tập phổ biến dựa vào phƣơng pháp IT Tree có cải tiến bƣớc gửi và nhận thông tin với bên thứ 3.

3.2.3. Minh họa thuật tốn:

Hình 3.2 Sơ đồ hoạt động của thuật tốn

Ví dụ 3.1: Từ CSDL thực của 2 bên trong bảng 3.1

TID A B C TID D E F G 1 1 1 1 1 1 2 1 1 2 1 3 1 1 3 1 1 4 1 1 1 4 1 6 1 1 1 5 1 1 8 1 1 6 1 1 9 1 7 1 1 8 1 Master Slave

Bảng 3.1 CSDL thực của hai bên Master và Slave

Slave Tất cả các Tids thật

Master

3rd party

TID= TID(M) ∩ TID(S)

Trả về |TID(X) ∩ TID| (chính là sup của itemset

tƣơng ứng) Tất cả các Tids thật TID(X) Trả lời Là m vớ i d ữ li ệu g iả

CSDL giả đƣợc tạo ra từ CSDL thực bằng cách thêm vào các TID giả cho cả hai bên Master và Slave (dữ liệu giả là các TID chƣa sử dụng trong khoảng [1..n], n là số lƣợng các TID) ta có dữ liệu nhƣ trong bảng 3.2 sau:

TID A B C TID D E F G 1 1 1 1 1 1 2 1 1 2 1 3 1 1 3 1 1 4 1 1 1 4 1 5 1 1 1 5 1 1 6 1 1 1 6 1 1 7 1 1 7 1 1 8 1 1 8 1 9 1 9 1 1 1

Bảng 3.2 CSDL giả của cả hai bên Master và Slave

Trƣớc tiên, các bên gửi các TID thực của mình (Master gửi MTID = 1234689, Slave gửi STID = 12345678) cho bên thứ 3, bên thứ 3 sẽ tính TID = MTID  STID = 123468. Sau đó, Master sẽ tính lớp tƣơng đƣơng [] bằng cách gửi TID của các item đơn của các bên cho bên thứ 3 để thực hiện việc tính phần giao giữa TID giả của mỗi bên với TID của bên thứ 3. Kết quả trả về của bên thứ 3 cho bên đang khai thác chỉ là độ phổ biến (để phục vụ việc sinh luật sau này). Cụ thể nhƣ sau:

- Bên Master:

Xét item A: TID(A) = 13469 (TID thực) sẽ đƣợc gửi qua bên thứ 3, bên thứ 3 sẽ tính 13469  123468 = 1346 và gửi về 4. Nhƣ vậy (A) = 4. Tƣơng tự, (B) = 6, (C) = 4.

- Bên Slave:

Xét item D: gửi TID = 579 (TID giả) sang bên thứ 3 và nhận về |579123468| = 0 nên không thoả minSup = 3  loại. Tƣơng tự ta có (E)

Nhƣ vậy, ta có kết quả nhƣ sau:

Hình 3.3 Kết quả tạo ra lớp tƣơng đƣơng

Sau đó, áp dụng phƣơng pháp IT-tree để sinh ra tất cả các tập phổ biến bằng cách gửi TID của các itemset X cho bên thứ 3 và nhận về (X). Nếu (X)  minSup thì thêm X vào lớp tƣơng đƣơng [Pi]. Ta có kết quả nhƣ hình 3.4.

Hình 3.4 Kết quả khai thác trên CSDL phân tán dọc bảo tồn tính riêng tƣ Nhận xét thuật tốn Nhận xét thuật tốn

Về khả năng tiết lộ thơng tin: Sự tiết lộ thơng tin của thuật tốn phụ thuộc vào

việc có sự tiết lộ thơng tin từ bên thứ 3 không? Điều này là khơng thể xảy ra vì bên thứ 3 khơng có dữ liệu của cả 2 bên tham gia quá trình khai thác tập phổ biến.

Trong trƣờng hợp này chúng tôi xác định tính riêng tƣ cần đƣợc bảo toàn trong trƣờng hợp này là khả năng bên Master phát hiện ra các TID giả trong số các TID do Slaver gửi sang. Nhƣ vậy dụng tiêu chí đánh giá việc bị lộ thơng tin là xác suất của việc nhận ra một giao dịch là thật hay giả của bên khai thác với dữ liệu của bên kia.

Gọi L là tập tất cả các TID thực từ CSDL của Master, A là tập bất kỳ thuộc các TID thực từ CSDL của Master A  L. Cho m là độ hỗ trợ tối thiểu và lA là kích thƣớc của A. Cho Q: L → (T,F) là 1 kết quả đƣợc tính tốn bởi bên thứ 3 và cho P(A)T là xác suất mà Master sẽ nhận ra rằng 1 giao dịch a  A là một giao dịch thực trong CSDL của Slave. Với khái niệm này, các tác giả có thể định nghĩa số lƣợng của các thông tin bị tiết lộ bởi thuật tốn nhƣ sau:

Trong q trình tính tốn hỗ trợ tập A, nếu Q(A) = T, xác suất mà Master phát

hiện ra 1 giao dịch là giao dịch thực là

A T

l m A

P( )  . Nếu m = lA, thì P(A)T = 1 suy ra CSDL bị tiết lộ hồn tồn. Nếu Q(A) = F, chúng ta khơng có khả năng tìm ra xác

suất chính xác của A từ thơng tin này. Chúng ta chỉ có thể nói rằng

A T l m A P( )  1 .

Nhƣ vậy trƣờng hợp Master có thể xác định tập A là giao dịch thực xảy ra khi độ hỗ trợ tối thiểu (minsup) bằng với độ hỗ trợ của A. Lúc này tập A chứa toàn bộ các TID thật. Giả sử rằng độ hỗ trợ tối thiểu m=4 khi Master gửi đến bên thứ 3 một tập hợp 4 TID và kết quả trả về là 4. Điều đó có nghĩa là 4 TID vừa gửi đi là các TID thật. Tiếp theo, Master sẽ giữ lại 3 TID thật trong số 4 TID đó, và đối với mỗi TID j khác Master gửi đến bên thứ 3 tập hợp chứa 3 TID thật và TID j. Nếu câu trả lời của bên thứ 3 là 3 thì Master đã xác định đƣợc TID j là giả. Lần lƣợt nhƣ vậy Master sẽ tìm đƣợc tất cả các TID giả và thông tin của Slave sẽ bị lộ hoàn toàn.

Về thời gian thực hiện: Thuật toán do tác giả đề xuất đã cải tiến theo hƣớng giảm khối lƣợng dữ liệu phải trao đổi giữa các máy trong quá trình khai thác luật do đó giảm chi phí trên đƣờng truyền. Do thuật tốn sử dụng phƣơng pháp IT-Tree nên

nên việc truyền / nhận dữ liệu từ Master với máy thứ 3 sẽ giảm hơn so với thuật tốn [16]. Ngồi ra phƣơng pháp đề xuất của tác giả luận án đã cải tiến khi cho bên thứ 3 trả về độ hỗ trợ của các tập ứng viên, từ đó bên Master có độ hỗ trợ để sinh

Một phần của tài liệu khai thác dữ liệu phân tán bảo toàn tính riêng tư (Trang 84)

Tải bản đầy đủ (PDF)

(127 trang)