1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn tốt nghiệp Khoa học máy tính: Cải tiến một kỹ thuật bảo vệ thông tin riêng tư trong dữ liệu mở

37 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI (12)
    • 1.1. DỮ LIỆU MỞ VÀ TẦM QUAN TRỌNG CỦA VIỆC BẢO VỆ TÍNH RIÊNG TƢ CHO DỮ LIỆU MỞ (12)
    • 1.2. TÌNH HÌNH DỮ LIỆU MỞ Ở VIỆT NAM VÀ TRÊN THẾ GIỚI (13)
  • CHƯƠNG 2: CÁC NGHIÊN CỨU LIÊN QUAN (14)
    • 2.1. TỔNG QUAN VỀ CÁC HƯỚNG TIẾP CẬN VÀ MÔ HÌNH BẢO VỆ TÍNH RIÊNG TƢ (14)
      • 2.1.1. Các bộ quy tắc (14)
      • 2.1.2. Ẩn danh dữ liệu dựa trên ngẫu nhiên hóa (14)
      • 2.1.3. Ẩn danh dữ liệu dựa trên k-anonymity (14)
      • 2.1.4. Sử dụng công nghệ blockchain – smart contract (16)
    • 2.2. BẢO VỆ TÍNH RIÊNG TƢ ĐỐI VỚI CÁC DẠNG DỮ LIỆU KHÁC NHAU (16)
    • 2.3. CÁC KỸ THUẬT ẨN DANH DỮ LIỆU DỰA TRÊN K-ANONYMITY (17)
      • 2.3.1. Dựa trên tổng quát hoá và lƣợc bỏ (17)
      • 2.3.2. Dựa trên chia và nhóm (17)
      • 2.3.3. k-anonymity xác suất (18)
      • 2.3.4. Dựa trên gom cụm (18)
    • 2.4. BẢO VỆ TÍNH RIÊNG TƢ TRONG KHAI PHÁ DỮ LIỆU LUẬT KẾT HỢP (19)
      • 2.4.1. Tổng quan về Khai phá dữ liệu (19)
      • 2.4.2. Khai phá dữ liệu Luật kết hợp và vấn đề bảo vệ tính riêng tƣ (19)
    • 2.5. CÁC MÔ HÌNH, GIẢI PHÁP TRONG BẢO VỆ TÍNH RIÊNG TƢ ĐỐI VỚI (20)
    • 2.6. GIẢI THUẬT ẨN DANH DỮ LIỆU DỰA TRÊN DI CHUYỂN THÀNH VIÊN GIỮA CÁC NHÓM (21)
  • CHƯƠNG 3: CÁC KHÁI NIỆM CƠ BẢN (23)
  • CHƯƠNG 4: PHÁT BIỂU BÀI TOÁN (24)
  • CHƯƠNG 5: GIẢI PHÁP ĐỀ XUẤT (25)
    • 5.1. CÁC ĐỊNH NGHĨA (25)
    • 5.2. GIẢI THUẬT (26)
    • 5.3. PHÂN TÍCH (27)
  • CHƯƠNG 6: THỰC NGHIỆM VÀ ĐÁNH GIÁ (29)
    • 6.1. TẬP DỮ LIỆU (29)
    • 6.2. KẾT QUẢ THỰC NGHIỆM (29)
    • 6.3. ĐÁNH GIÁ (32)
  • CHƯƠNG 7: KẾT LUẬN (34)
    • 7.1. NHỮNG ĐIỀU ĐẠT ĐƢỢC (34)
    • 7.2. NHỮNG ĐIỀU CHƢA ĐẠT ĐƢỢC (34)
    • 7.3. HƯỚNG PHÁT TRIỂN (34)
  • TÀI LIỆU THAM KHẢO (36)

Nội dung

GIỚI THIỆU ĐỀ TÀI

DỮ LIỆU MỞ VÀ TẦM QUAN TRỌNG CỦA VIỆC BẢO VỆ TÍNH RIÊNG TƢ CHO DỮ LIỆU MỞ

RIÊNG TƢ CHO DỮ LIỆU MỞ

Ngày nay công nghệ thông tin đóng vai trò thiết yếu trong mọi lĩnh vực của cuộc sống

Dữ liệu là tài sản quan trọng và ngày càng bùng nổ trong thời đại dữ liệu lớn (big data), điện toán đám mây (cloud computing) và internet vạn vật (internet of things)

Do đó nhu cầu chia sẻ dữ liệu trở nên rất lớn, hay nói cách khác là sự phổ biến của xu hướng dữ liệu mở (open data) nhằm giúp nhiều người có thể dễ dàng tiếp xúc, sử dụng và khai thác dữ liệu Tuy nhiên, hầu hết những dữ liệu có giá trị đều là dữ liệu liên quan đến cá nhân, đó là các dữ liệu chứa đựng thông tin riêng tư của người dùng, ví dụ dữ liệu y tế, ngân hàng,… Vì vậy, để có thể chia sẻ dữ liệu hay biến một dữ liệu thành dữ liệu mở (open data), cần phải có các cơ chế để kiểm soát và che giấu đi mối liên hệ giữa các dữ liệu nhạy cảm với người dùng, nhưng đồng thời vẫn đạt được mục đích chia sẻ dữ liệu, không làm mất đi giá trị của dữ liệu (data utility) nhằm phục vụ mục đích khai phá dữ liệu

Trước hết chúng ta xem thử dữ liệu mở có những đặc điểm gì và làm thế nào để biến một dữ liệu thành dữ liệu mở Một dữ liệu mở là dữ liệu được chia sẻ cho người khác có thể sử dụng đƣợc mà không có hoặc ít ràng buộc cả về pháp lý và kỹ thuật, nó có những đặc điểm sau: [3]

- Trực tuyến (Online): Dữ liệu phải dễ truy cập, thông thường có thể tiếp cận thông qua Internet dưới dạng các tệp tin có thể tải xuống hoặc cơ sở dữ liệu trên các dịch vụ đám mây (cloud services)

- Đƣợc gán giấy phép mở (open license), quy định một số ràng buộc nhất định đối với người sử dụng Ví dụ: các giấy phép Creative Commons (CC or CCBY 4.0) hoặc UK Open Government Licence

(http://www.nationalarchives.gov.uk/doc/open-governmentlicence/version/2/) Để biến một dữ liệu thành dữ liệu mở, cần xác định đƣợc các yếu tố sau Đầu tiên, dữ liệu được chia sẻ hướng tới ai (nhà nghiên cứu, lập trình viên, nhân viên văn phòng hay bất cứ ai…), điều này rất quan trọng cho việc xác định đƣợc cách chia sẻ dữ liệu (về kỹ thuật) Tiếp theo xác định xem chia sẻ nhƣ thế nào về mặt kỹ thuật (technically open) Dữ liệu cần được chia sẻ ở dạng số, sao cho chương trình máy tính có thể hiểu được, ở định dạng và cách phù hợp với đối tượng hướng đến (cơ sở dữ liệu, file text, file excel, zip, thông qua API, FTP hay truy cập cơ sở dữ liệu…) Cuối cùng, dữ liệu phải mở về pháp lý, tức là được chia sẻ tuân thủ theo các giấy phép (license) tương tự nhƣ đối với phần mềm, và đƣợc tái sử dụng với quy tắc nào

Tuy nhiên việc mở dữ liệu có thể phát sinh rủi ro Do đó khi xây dựng dữ liệu mở cần chú ý đến các yếu tố sau: [3]

- Hiểu biết về dữ liệu: Dữ liệu thuộc loại gì, đƣợc dùng để làm gì và có những nguy cơ nào có thể xảy ra khi đƣợc mở

- Tham khảo ý kiến các bên liên quan dữ liệu (bên thu thập, bên tiền xử lý dữ liệu, bên xuất bản dữ liệu, bên sử dụng…) để xem họ ý thức về những nguy cơ khi mở dữ liệu nhƣ thế nào

- Nắm vững ba cột trụ: tính riêng tƣ (privacy), bảo vệ dữ liệu (data protection), niềm tin chung (public confidence) o Tính riêng tƣ (privacy): Dữ liệu liên quan đến cá nhân đƣợc che giấu, đặc biệt là các dữ liệu nhạy cảm như lương, bệnh tật… o Bảo vệ dữ liệu (data protection): Thông thường liên quan đến việc không cho phép dữ liệu đƣợc đọc bởi những đối tƣợng không có quyền, thông qua phân quyền truy cập dữ liệu (access control) hoặc mã hóa dữ liệu (dataencryption)… o Niềm tin công khai (public confidence): Liên quan đến vấn đề niềm tin, làm thế nào để người mở (public) dữ liệu chứng minh được quá trình thu thập dữ liệu và xuất bản dữ liệu là trong suốt và đáng tin cậy

- Biết chắc chắn về những gì cần làm cho việc xuất bản dữ liệu (nhƣ các vấn đề và các bước đã đề cập: dữ liệu mở hướng tới ai, được chia sẻ như thế nào về mặt kỹ thuật và đƣợc gắn một giấy phép mở)

- Bảo vệ tính riêng tƣ của dữ liệu bằng các cơ chế ẩn danh, …

- Đảm bảo giá trị hay tính hữu dụng của dữ liệu đối với người sử dụng nó, các cơ chế bảo vệ tính riêng tƣ có thể làm mất mát dữ liệu

- Theo dõi và có kế hoạch xử lý một khi xảy ra sự cố đối với dữ liệu: ví dụ ai đó vi phạm quyền hạn sử dụng dữ liệu hay có vấn đề liên quan đến tính riêng tƣ của dữ liệu

Trong đó bảo vệ tính riêng tƣ là rất quan trọng, các giải pháp bảo vệ tính riêng tƣ cần phải đƣợc nghiên cứu và giải quyết phù hợp với các bài toán cụ thể khác nhau, với mục tiêu giữ đƣợc giá trị dữ liệu cho việc khai phá dữ liệu.

TÌNH HÌNH DỮ LIỆU MỞ Ở VIỆT NAM VÀ TRÊN THẾ GIỚI

Nhiều quốc gia hiện nay đang xây dựng các cổng chuyên dụng cho chia sẻ dữ liệu để giúp người dân dễ dàng truy cập Dữ liệu mở còn được xem là một trong những thông số để đánh giá mức độ phát triển của Chính phủ điện tử (E-Government) Các bộ dữ liệu mở trên thế giới có thể kể đến nhƣ của Mỹ với 280,526 bộ dữ liệu và 195 tổ chức tham gia (tính đến ngày 22/5/2018) Ở Việt Nam, một số cổng chia sẻ dữ liệu mở cũng đang hoạt động nhƣ cổng chia sẻ dữ liệu của Chính phủ (https://open.data.gov.vn/), của thành phố Đà Nẵng (https://opendata.danang.gov.vn/) hay thành phố Hồ Chí Minh (https://data.hochiminhcity.gov.vn/) Ngoài ra còn có Thƣ Viện Học Liệu Mở Việt Nam (Vietnam Open Educational Resources – VOER) https://voer.edu.vn/ Tuy nhiên nhìn chung các tập dữ liệu này chưa nhiều về cả số lượng lẫn kích thước, chưa phong phú và chƣa có quy định rõ ràng nào về việc sử dụng, chia sẻ chúng

CÁC NGHIÊN CỨU LIÊN QUAN

TỔNG QUAN VỀ CÁC HƯỚNG TIẾP CẬN VÀ MÔ HÌNH BẢO VỆ TÍNH RIÊNG TƢ

Những ví dụ nổi bật là bộ quy tắc HIPAA (Health Insurance Portability and Accountability Act) ở Mỹ hay General Data Protection Regulation (GDPR) ở châu Âu Những bộ quy tắc này yêu cầu dữ liệu phải được lưu trữ và chia sẻ theo những quy tắc định trước nhằm đảm bảo an toàn và riêng tư, đồng thời xử phạt nặng những trường hợp không tuân thủ

2.1.2 Ẩn danh dữ liệu dựa trên ngẫu nhiên hóa Ẩn danh là một kỹ thuật xử lý dữ liệu nhằm loại bỏ hoặc sửa đổi thông tin nhận dạng cá nhân Kỹ thuật này tạo ra dữ liệu ẩn danh mà không thể dùng để liên kết với bất kỳ cá nhân nào Giả sử có một tập dữ liệu X={x1…xN} Đối với mỗi mẫu xi, thêm vào một thành phần nhiễu đƣợc tạo ra từ hàm phân phối ngẫu nhiên fY(y) với các thành phần độc lập nhau y1…yN Từ đó tập dữ liệu mới đƣợc tạo ra là z1 zN x1+y1…xN+yN Các thành phần nhiễu đƣợc chọn phù hợp sao cho khó có thể suy ngƣợc đƣợc chính xác dữ liệu gốc, tuy nhiên phân phối của chúng thì có thể khôi phục đƣợc [4] Ưu điểm của phương pháp này là đơn giản, các thành phần nhiễu là độc lập nên lúc biến đổi một bản ghi thì không cần biết đến phân phối của các bản ghi khác trong dữ liệu (khác với các phương pháp khác như k-anonymity) Do đó ngẫu nhiên hóa (randomization) có thể đƣợc thực hiện ở giai đoạn thu thập dữ liệu mà không cần chờ tới lúc đã thu thập đầy đủ dữ liệu

Tuy nhiên phương pháp này có nhược điểm là các nhiễu được thêm ngẫu nhiên mà không quan tâm đến sự tập trung cục bộ, do đó kẻ tấn công có thể suy đoán một số dữ liệu gốc thông qua những điểm dữ liệu ngoại lệ Việc áp dụng các phương pháp khác nhau để khắc phục điều này có thể sẽ làm mất đi giá trị của dữ liệu (data utility) gây khó khăn cho khai phá dữ liệu

2.1.3 Ẩn danh dữ liệu dựa trên k-anonymity

Ngẫu nhiên hóa (randomization) có thể đƣợc sử dụng tại thời điểm thu thập dữ liệu do đơn giản và việc thêm nhiễu là độc lập trên từng thực thể (bản ghi) Tuy nhiên các phân phối nhiễu ngẫu nhiên có thể sinh ra các điểm dữ liệu ngoại lệ giúp kẻ tấn công có cơ sở để suy ngƣợc dữ liệu gốc

Có ba mô hình ẩn danh dữ liệu dựa trên k-anonymity, đƣợc xếp theo độ phức tạp tăng dần là k-anonymity, l-diversity và t-closeness, trong đó l-diversity là mở rộng của k- anonymity và t-closeness là mở rộng của l-diversity Để minh họa cho các khái niệm trong k-anonymity, các bảng 1, 2, 3 đƣợc dùng để thể hiện một ví dụ về một mẫu dữ liệu (gọi là ví dụ 1)

Thuộc tính Mô tả Ví dụ

Explicit identifiers Thuộc tính định danh ID, NAME

Quasi attributes Thuộc tính khả định danh AGE, SEX, ZIP

Sensitive attributes Thông tin nhạy cảm của người dùng SALARY, DISEASE

Bảng 1 k-anonymity, các loại thuộc tính trong dữ liệu

ID AGE SEX ZIP PHONE SALARY

Bảng 2 Ví dụ về bảng dữ liệu chƣa đƣợc ẩn danh

ID AGE SEX ZIP PHONE SALARY

Bảng 3 Ví dụ 1 về bảng dữ liệu đƣợc ẩn danh

ID AGE SEX ZIP PHONE SALARY

Bảng 4 Ví dụ về 2 bảng dữ liệu đƣợc ẩn danh

- k-anonymity: o k-anonymity đƣợc đề xuất vào năm 1998 bởi Sweeney [16] Với bất kỳ thực thể (bản ghi) nào trong tập dữ liệu, nếu có ít nhất k-1 thực thể (bản ghi) có cùng giá trị trên tập thuộc tính quasi-identifier thì tập dữ liệu đã đạt kanonymity Nhóm các thực thể không thể phân biệt này tạo thành một lớp tương đương (equivalence class) Nhƣ vậy, một bên thứ ba có đƣợc tập dữ liệu đã đƣợc ẩn danh này thì cũng không có cơ sở để biết đƣợc thông tin nhạy cảm liên quan tới ai Trong ví dụ 1, tập dữ liệu đƣợc ẩn danh với cấp độ 2 Tập quasi attribute là

QI = {AGE, SEX, ZIP, PHONE} Thuộc tính nhạy cảm là SALARY (Lương) o Ƣu điểm:

 So với Ngẫu nhiên hóa, k-anonymity đã khắc phục đƣợc hạn chế là việc ẩn danh dữ liệu đƣợc thực hiện dựa trên cơ sở là toàn tập dữ liệu chứ không phụ thuộc riêng từng thực thể (bản ghi) o Nhƣợc điểm:

 k-anonymity có thể bị tấn công bởi các kiểu tấn công sau đây:

 Tấn công dựa trên sự đồng nhất (Homogeneity Attack): Xảy ra khi tất cả các thực thể trong một nhóm (lớp) k mẫu dữ liệu giống nhau về thuộc tính nhạy cảm Khi đó có thể dễ dàng biết đƣợc thông tin về thuộc tính nhạy cảm đối với các thực thể trong nhóm (lớp) đó

 Tấn công dựa trên tri thức nền (Background Knowledge Attack): Dựa trên mối liên hệ giữa một hoặc nhiều thuộc tính quasi-identifier với thuộc tính nhạy cảm để thu gọn đi tập các giá trị có thể xảy ra đối với thuộc tính nhạy cảm

 Vì không đƣa vào các giá trị ngẫu nhiên cho nên kẻ tấn công dễ suy ra đƣợc những thông tin liên quan đến các cá nhân

 Không hoạt động tốt với các dữ liệu nhiều chiều o Trong [1], Anisha Tiwari và Minu Choudhary đã tổng hợp và đánh giá ƣu, nhƣợc điểm của nhiều mô hình và giải thuật hiện thực k-anonymity, các công trình này đƣợc thực nghiệm trên nhiều tập dữ liệu khác nhau

- l-diversity: Là sự mở rộng của k-anonymity, ngoài đảm bảo tính chất kanonymity, tập dữ liệu còn phải đảm bảo mức độ đa dạng về giá trị của các thuộc tính nhạy cảm, trong đó mỗi thuộc tính nhạy cảm đều có ít nhất l giá trị khác nhau đối với từng lớp (một lớp gồm k thực thể không thể phân biệt) l-diversity đƣợc sinh ra là để khắc phục điểm yếu của k-anonymity liên quan đến việc bị tấn công bởi Tấn công dựa trên sự đồng nhất (Homogeneity Attack) do các thực thể trong cùng một lớp có thể có giá trị giống nhau ở một thuộc tính nào đó (đặc biệt là thuộc tính nhạy cảm, ví dụ có cùng bệnh tật) từ đó dễ dàng cho kẻ tấn công biết đƣợc thông tin nhạy cảm của người dùng Lưu ý rằng nếu có nhiều hơn một thuộc tính nhạy cảm, việc hiện thực mô hình l-diversity trở nên khó khăn hơn [11]

- t-closeness: Mô hình l-diversity không quan tâm đến sự phân bố của các giá trị, tức là đối với bất kỳ một thuộc tính nào thì sự phân bố của các giá trị không đƣợc xét tới Tuy nhiên trong thực tế, tập dữ liệu có thể dày hoặc thƣa trên một vài thuộc tính quasi identifier nào đó, nhờ đó kẻ tấn công có thể tấn công dựa trên kiến thức nền (background knowledge attack) nhằm suy ra đƣợc thông tin nhạy cảm dựa trên phân bố Mặt khác, mức độ nhạy cảm của thuộc tính cũng tùy thuộc vào giá trị của nó, ví dụ thuộc tính liên quan đến bệnh tật nếu là dương tính thì nhạy cảm hơn so với nếu giá trị là âm tính Vì những lý do này mô hình t-closeness được đề xuất, với ý tưởng chính là trong một lớp tương đương gồm k thực thể, sự phân bố giá trị của các thuộc tính nhạy cảm phải tương tự sự phân bố toàn cục của chúng [12]

2.1.4 Sử dụng công nghệ blockchain – smart contract Đây là một hướng tiếp cận mới, một mô hình để chia sẻ dữ liệu dựa trên công nghệ blockchain đƣợc giới thiệu ở [4].

BẢO VỆ TÍNH RIÊNG TƢ ĐỐI VỚI CÁC DẠNG DỮ LIỆU KHÁC NHAU

Các phương pháp bảo vệ tính riêng tư hiện tại hầu hết tập trung vào các dạng dữ liệu số (numerical) nhƣ tuổi tác hoặc phân loại (categorical data) nhƣ giới tính Tuy nhiên

6 các dạng dữ liệu khác nhƣ chuỗi, văn bản… cũng xuất hiện nhiều trong thực tế, đòi hỏi các giải pháp bảo vệ tính riêng tƣ phải đáp ứng đƣợc

- Dữ liệu văn bản (text): Đƣợc xem là dữ liệu nhiều chiều

- Dữ liệu chuỗi (string): Đặc điểm là có chiều dài không cố định

Các giải pháp bảo vệ tính riêng tƣ hiện tại, nổi bật là Ẩn danh dữ liệu chỉ mới tập trung vào các dữ liệu ít chiều và có độ dài ít khác nhau (số, loại).

CÁC KỸ THUẬT ẨN DANH DỮ LIỆU DỰA TRÊN K-ANONYMITY

2.3.1 Dựa trên tổng quát hoá và lƣợc bỏ

- Lƣợc bỏ (Suppression): Loại bỏ hoàn toàn giá trị của thuộc tính Trong ví dụ 1 có thể thấy ở thuộc tính ID (đƣợc thay thế bằng dấu *)

- Tổng quát hóa (Generalization): Đối với mỗi thuộc tính xây dựng một cây phân cấp tổng quát (thuộc tính dạng phân loại categorical attribute ) hoặc định nghĩa ra các miền giá trị đối với các thuộc tính số numerical attribute Sau đó thay thế giá trị của thuộc tính bằng giá trị tổng quát trên cây phân cấp hoặc một miền giá trị tổng quát hơn (Thuộc tính SEX và AGE trong ví dụ 1) o Tổng quát hóa toàn cục (Global generalization): Tổng quát hóa dựa trên giá trị của toàn bộ tập dữ liệu, tức là đối với mỗi thuộc tính chỉ có một giá trị tổng quát tương ứng Ưu điểm của cách này là đơn giản nhưng bù lại mức độ mất mát dữ liệu cao Tiêu biểu có giải thuật Incognito [7] o Tổng quát hóa cục bộ (Local generalization): Tổng quát hóa dựa trên giá trị của các bản ghi trong nhóm (lớp), tức là một thuộc tính có thể đƣợc tổng quát thành các giá trị khác nhau tùy vào nhóm (lớp) Cách này đảm bảo mức độ mất mát dữ liệu ít hơn Tổng quát hóa toàn cục nhƣng độ phức tạp về hiện thực cao hơn Một nhƣợc điểm khác của nó là tạo ra sự không đồng nhất về giá trị của thuộc tính do giá trị của nó có thể là giá trị cụ thể ở nhóm (lớp) này nhƣng lại là một giá trị tổng quát ở nhóm (lớp) khác OKA [5] và KACA [6] là các đại diện tiêu biểu

- Các giải thuật Lƣợc bỏ và Tổng quát hóa giúp che giấu đi các thông tin riêng tƣ nhƣng đồng thời đã làm giảm đi giá trị của dữ liệu Bên cạnh đó việc kết hợp các giải thuật Lƣợc bỏ và Tổng quát hóa này sao cho đạt hiệu quả cũng là một vấn đề cần giải quyết (Bài toán k-anonymity dựa trên Lƣợc bỏ và Tổng quát hóa đƣợc chứng minh là NP-khó)

2.3.2 Dựa trên chia và nhóm

- Microaggregation: Chia tập dữ liệu ra thành các lớp với ít nhất k thực thể (bản ghi) sao cho các thực thể (bản ghi) trong từng lớp là tương tự nhau, sau đó Tổng quát hóa quasi attribute các bản ghi trong mỗi nhóm dựa vào class centroid [10]

- Anatomy: Kỹ thuật này xem xét riêng biệt dữ liệu của các thuộc tính quasi attribute và các thuộc tính nhạy cảm Nó chia tập dữ liệu ra làm hai bảng, một bảng để lưu các quasi attribute và một bảng để lưu các thuộc tính nhạy cảm, hai bảng này được liên kết thông qua group id, trong đó mỗi group có k thực thể [17]

Trong cách tiếp cận này, một tập dữ liệu đƣợc xem là đạt tính chất k-anonymity nếu nhƣ đối với một tập quasi identifier, xác suất để tìm ra định danh đối với một bản ghi nhiều nhất là 1/k

Kỹ thuật gom cụm (clustering) là một trong những cách tiếp cận phổ biến đối với k- anonymity, trong đó xem bài toán k-anonymity nhƣ là bài toán gom cụm trong đó mỗi cụm có ít nhất k thực thể (bản ghi) tương tự nhau Một hướng tiếp cận phổ biến là gom tập dữ liệu thành các cụm và sau đó áp dụng Tổng quát hóa (Generalization) Việc các cụm có các thực thể gần giống nhau giúp giảm bớt mất mát dữ liệu khi thực hiện tổng quát hóa

Trong [14], Sang Ni, Mengbo Xie và Quan Qian đã đƣa ra một giải thuật hiện thực k- anonymity dựa trên gom cụm và so sánh kết quả thời gian chạy cũng nhƣ độ mất mát dữ liệu với các giải thuật KACA [6], Incognito [7] Tập dữ liệu đƣợc sử dụng là tập Adult [8] Độ đo mất mát (information loss) đƣợc định nghĩa nhƣ sau:

Giả sử giá trị thuộc tính x thuộc kiểu số (numerical attribute), giá trị gốc của x đƣợc tổng quát hóa thành [xmin, x max ], Max và Min lần lƣợt là giá trị lớn nhất và nhỏ nhất trong miền giá trị của x trên toàn bộ tập dữ liệu Khi đó độ đo mất mát là:

IL = (x max -x min ) / (Max-Min) Đối với thuộc tính kiểu nhãn (categorical attribute), để tính đƣợc độ mất mát, đầu tiên cần xây dựng một cây phân loại, nhƣ Hình 1 Ở đây, quy định giá trị size(y) bằng số nốt lá con cháu của nốt y và Size là tổng số nốt lá

Hình 1 Ví dụ về một cây phân loại thuộc tính

Ví dụ giá trị của thuộc tính đƣợc tổng quát hóa từ e thành c, khi đó độ mất mát đƣợc tính là 2/3, theo công thức:

IL = size(c) / Size Độ đo mất mát trên một bản ghi đƣợc tính bằng cách cộng gộp độ mất mát trên từng thuộc tính và trên cả tập dữ liệu bằng tổng mất mát của mọi bản ghi Dựa trên hàm đo độ mất mát nhƣ vậy, giải thuật ẩn danh dữ liệu đƣợc đƣa ra trong [14] trải qua bốn giai đoạn Grading, Centering, Clustering và Generalization (GCCG), giải thuật này đồng thời cũng được song song hóa một số bước nhằm cải thiện hiệu năng

BẢO VỆ TÍNH RIÊNG TƢ TRONG KHAI PHÁ DỮ LIỆU LUẬT KẾT HỢP

2.4.1 Tổng quan về Khai phá dữ liệu

Nhƣ đã giới thiệu ở phần I 1, hiện nay lƣợng dữ liệu ngày càng lớn (big data) dẫn đến bùng nổ nhu cầu chia sẻ dữ liệu (dữ liệu mở) để nhiều người có thể sử dụng, khai thác Những phương pháp khai thác giá trị của dữ liệu trong ngữ cảnh của máy tính có thể gọi chung là khai phá dữ liệu (data mining) Khai phá dữ liệu nhắm tới việc tìm ra trong tập dữ liệu những mẫu (pattern) hay trích xuất ra những thông tin có ích Khai phá dữ liệu bao gồm nhiều kỹ thuật, trong đó phổ biến là:

- Phân loại (Classification): Phân chia dữ liệu ra thành nhiều lớp và gán nhãn cho chúng

- Gom cụm (Clustering): Gom dữ liệu thành các cụm gồm các bản ghi có khoảng cách gần nhau

- Hồi quy (Regression): Tìm ra hàm biểu diễn mối quan hệ giữa các biến dữ liệu

- Phát hiện ngoại lệ (Anomaly detection): Phát hiện các item ngoại lệ, ví dụ trong các ứng dụng intrusion detection hay fraud detection

- Tóm tắt (Summarization): Tạo ra một cách biểu diễn tóm lƣợc cho tập dữ liệu, trong đó bao gồm cả việc trực quan hóa và tạo các báo cáo

- Luật kết hợp (Association rule): Tìm ra quy luật kết hợp giữa hai hay nhiều item Kỹ thuật này cùng với Phân loại là các kỹ thuật phổ biến nhất trong Khai phá dữ liệu

2.4.2 Khai phá dữ liệu Luật kết hợp và vấn đề bảo vệ tính riêng tƣ

Luật kết hợp là một trong những kỹ thuật khai phá dữ liệu phổ biến nhất Khai phá dữ liệu Luật kết hợp hướng tới việc tìm ra mối liên hệ (luật) giữa các itemset trong một tập giao dịch (transaction) Cho cơ sở dữ liệu T là tập các giao dịch t 1 , t 2 , …, t n T {t 1 , t 2 , …, t n } T gọi là cơ sở dữ liệu giao dịch (transaction database) Mỗi giao dịch t i bao gồm tập các đối tƣợng I (gọi là itemset) I = {i1, i 2 , …, im} Một itemset gồm k item gọi là k-itemset Luật X->Y biểu diễn rằng giao dịch nào chứa itemset X thì sẽ chứa itemset Y Có hai thông số cơ bản là độ hỗ trợ (support) và độ tin cậy

(confidence) Độ hỗ trợ là độ đo tần số xuất hiện của một item hoặc một itemset, trong khi độ tin cậy đại diện cho tần số xuất hiện của một itemset trong điều kiện xuất hiện của một itemset khác, ví dụ phần trăm số giao dịch có chứa cả X lẫn Y trong tổng số giao tác có chứa X Những luật có độ hỗ trợ và độ tin cậy lớn hơn các ngƣỡng (threshold) nào đó thì đƣợc xem là các luật có ý nghĩa Có nhiều giải thuật để tìm ra tập các luật kết hợp trong một tập dữ liệu, trong đó có giải thuật Apriori [13] Để bảo vệ tính riêng tƣ cho Luật kết hợp cũng nhƣ các kỹ thuật khai phá dữ liệu khác sử dụng Ẩn danh hóa dữ liệu, có hai hướng tiếp cận:

- Ẩn danh rồi khai phá (Anonymize and Mine): Ƣu điểm là việc ẩn danh có thểđƣợc thực hiện bởi người chủ dữ liệu, đảm bảo an toàn Trái lại, dữ liệu quaquá trình ẩn danh đã bị mất mát gây khó khăn cho quá trình khai phá

- Khai phá rồi ẩn danh kết quả (Mine and Anonymize): Ƣu điểm là việc khai phá đƣợc thực hiện trên dữ liệu gốc Tuy nhiên nhược điểm của hướng đi này là để đảm bảo an toàn, việc khai phá này chỉ đƣợc thực hiện bởi chủ dữ liệu do đó làm mất đi khả năng ứng dụng (không chia sẻ đƣợc với nhiều bên)

CÁC MÔ HÌNH, GIẢI PHÁP TRONG BẢO VỆ TÍNH RIÊNG TƢ ĐỐI VỚI

Các mô hình, giải pháp trong bảo vệ tính riêng tƣ đối với khai phá dữ liệu Luật kết hợp có thể đƣợc phân chia dựa trên bốn tiêu chí: tính phân tán của dữ liệu cần đƣợc bảo vệ, nội dung cần đƣợc bảo vệ (bản thân tập dữ liệu gốc hay là tập Luật đƣợc khai phá từ nó), kỹ thuật bảo vệ tính riêng tƣ (k-anonymity, differential privacy) và kỹ thuật biến đổi dữ liệu Trong [9], Lili Zhang, Wenjie Wang và Yuqing Zhang đã tổng hợp, phân loại các mô hình, giải pháp cũng nhƣ ƣu nhƣợc điểm của chúng

- Trên dữ liệu tập trung (Centralized data) o Bảo vệ dữ liệu nhạy cảm (Sensitive raw data)

 Dựa trên làm mờ dữ liệu (Data obscure based): Ngẫu nhiên hóa (Randomization), Ẩn danh dữ liệu (Anonymity) o Bảo vệ các Luật nhạy cảm (Sensitive patterns)

 Dựa trên Heuristic (Heuristic based)

 Xáo trộn (Perturbation): Chuyển đổi giá trị dữ liệu, ví dụ “1” thành “0”

 Chặn (Blocking): Che giấu luôn giá trị dữ liệu, ví dụ thay giá trị thật bằng dấu “?” hoặc “unknown”

 Dựa trên xây dựng lại (Reconstruction based): Xáo trộn (Perturbation)

 Dựa trên Metaheuristic (Metaheuristic based): GA, CS, ACO o Kết hợp cả hai: Bảo vệ dữ liệu và Luật

 Dựa trên mật mã học (Cryptography based): Mã hóa (Encryption)

- Trên dữ liệu phân tán (Distributed data): Bảo vệ dữ liệu và Luật o Tính toán đa bên an toàn (Secure multiparty computation - SMC): Mã hóa (Encryption), ngẫu nhiên hóa (randomization) o Dựa trên mật mã học (Cryptography based): Mã hóa (Encryption), ngẫu nhiên hóa (randomization)

Các mô hình, giải pháp trên có thể đƣợc xếp vào sáu nhóm chính:

- Các kỹ thuật làm mờ dữ liệu (Data obscure-based): Thêm nhiễu vào tập dữ liệu gốc

- Các kỹ thuật dựa trên heuristic: Chỉnh sửa chỉ một số bản ghi hay dữ liệu nhất định trong tập dữ liệu gốc nhằm tối thiểu hóa mất mát dữ liệu

- Dựa trên xây dựng lại: Không thay đổi tập dữ liệu gốc mà chỉ thay đổi cơ sở tri thức (Knowledge base - KB) của nó thành KB’ Ví dụ KB là tập Luật, KB’ là tập Luật sau khi đã loại bỏ những Luật nhạy cảm Dựa trên KB’ này dữ liệu gốc sẽ đƣợc khôi phục lại và sau đó xuất bản (publish)

- Dựa trên meta-heuristic: Những kỹ thuật dựa trên heuristic nhƣng ở cấp độ cao hơn, duyệt không gian tìm kiếm bằng những giải thuật thông minh

- Dựa trên mật mã học (Cryptography-based)

- Tính toán đa bên an toàn (Secure multiparty computation): Thường được dùng trong các dữ liệu phân tán, mục tiêu là khai phá tập Luật trên toàn cục dựa trên các cơ sở dữ liệu con (phân tán) nhƣng không làm lộ đầu vào cho các bên khác (mỗi bên chỉ biết phần dữ liệu mà họ đang làm việc trên đó) Ẩn danh dữ liệu (Data anonymity) là hướng phổ biến nhất trong các mô hình, giải pháp trên Trong [15], Swati Goel và Sanjay Sharma đã đề xuất một kỹ thuật ẩn danh

10 dữ liệu dựa trên Luật kết hợp Đầu tiên, bằng cách tìm các luật có độ hỗ trợ cao hơn một ngưỡng cho trước, các thực thể (bản ghi) được kiểm tra và chia thành nhóm nhạy cảm và nhóm không nhạy cảm Sau đó tổng quát hóa các quasi attribute sao cho các bản ghi thuộc nhóm nhạy cảm đƣợc gán các giá trị tổng quát nhất và ngƣợc lại cho các bản ghi thuộc nhóm không nhạy cảm (ít tổng quát nhất) Kỹ thuật này đƣợc đánh giá trên tập dữ liệu Adult [8] và đƣợc đánh giá dựa vào độ đo rủi ro về tính riêng tƣ đƣợc mô tả nhƣ sau: Đối với một bản ghi a, rủi ro của việc tổng quát hóa thuộc tính x của a đƣợc đo r a (x) = F(x)/n(x, D) trong đó F(x) = ∑ w i a (x i ) với w i a (x i ) là độ nhạy cảm của thuộc tính thứ i và n(x, D) là số bản ghi đƣợc ẩn danh wi a

(x i ) = 0 nếu xi mang giá trị tổng quát nhất; 0 < w i a (x i ) < 1 nếu x i mang giá trị nào đó dưới mức tổng quát nhất; w i a (x i ) = 1 nếu x i mang giá trị cụ thể (không đƣợc tổng quát hóa).

GIẢI THUẬT ẨN DANH DỮ LIỆU DỰA TRÊN DI CHUYỂN THÀNH VIÊN GIỮA CÁC NHÓM

THÀNH VIÊN GIỮA CÁC NHÓM Ẩn danh dữ liệu dựa trên k-anonymity là hướng tiếp cận phổ biến và được nghiên cứu nhiều nhất Trong [2], HUYNH Van Quoc Phuong, DANG Tran Khanh đã đƣa ra một giải thuật để biến đổi tập dữ liệu đạt k-anonymity, đồng thời giảm thiểu sự mất mát tập Luật khai phá trên nó Giải thuật này đƣa ra khái niệm Budget của một luật Budget(r) đƣợc tính trên support và confidence của luật đó, thông số này đại diện cho quỹ mà một luật còn giữ để nó có thể tồn tại Ngoài ra nó dùng hàm đo độ rủi ro cho một nhóm không an toàn (unsafe group) Risk(g) = 2*k - m với m là độ dài (hay số bản ghi) của nhóm g, hàm này được dùng trong các bước lặp nhằm tìm ra cặp nhóm tối ưu nhất cho phép di chuyển bản ghi (tối thiểu hóa tổng Risk) Giải thuật này đã cải thiện đƣợc nhƣợc điểm của các giải thuật tổng quát hóa và lƣợc bỏ Tổng quát hóa ở cấp độ thuộc tính (Attribute generalization) tạo ra nhiều mất mát cho các luật do thay thế nhiều giá trị gốc của các thuộc tính Tổng quát hóa ở cấp độ ô (Cell generalization) ít biến đổi dữ liệu song nó làm tăng số lƣợng giá trị khác nhau của các thuộc tính do đó không tốt cho việc bảo tồn các luật Lƣợc bỏ ở cấp độ ô (Cell suppression) tạo ra nhiều giá trị null/unknown thường sẽ bị loại bỏ trước khi khai phá Trong khi đó, lược bỏ ở cấp độ bản ghi (Tuple suppression) cũng gây ảnh hưởng đến độ hỗ trợ của các luật (giảm độ hỗ trợ) do loại bỏ nhiều bản ghi của tập dữ liệu Tương tự đối với lược bỏ ở cấp độ thuộc tính (Attribute suppression), lƣợc bỏ hoàn toàn một thuộc tính ra khỏi tập dữ liệu không phải là một điều mong muốn Giải thuật M3AR hướng tới việc di chuyển các bản ghi thành viên từ nhóm này sang nhóm khác (mỗi nhóm là một tập các bản ghi giống nhau trên tập quasi attribute) để làm cho tập dữ liệu đạt k-anonymity Khi một bản ghi đƣợc di chuyển sang một nhóm khác, giá trị trên tập quasi attribute của nó sẽ đƣợc cập nhật giống với phần còn lại của nhóm đó Do đó tập dữ liệu đƣợc tạo ra không chứa bất kỳ giá trị tổng quát hay lƣợc bỏ nào và không thể hiện dấu hiệu nào của việc bị biến đổi Giải thuật này cũng có ƣu điểm là không yêu cầu xây dựng cây phân cấp tổng quát và đối xử nhƣ nhau với thuộc tính dạng nhãn và dạng số Ban đầu tập dữ liệu đƣợc gom thành các nhóm bao gồm các bản ghi giống nhau trên quasi attribute sau đó chia thành tập các nhóm không an toàn unsafe group (có số bản ghi nhỏ hơn k) và nhóm an toàn safe group có số bản ghi không nhỏ hơn k Chiến lƣợc chung cho việc di chuyển là duyệt qua các unsafe group và tìm cho nó một nhóm sao cho việc thực hiện phép di chuyển bản ghi giữa hai nhóm này là tối ƣu nhất: tối thiểu Risk, Budget các luật bị ảnh hưởng bởi phép di chuyển còn mang giá trị dương và chi phí là nhỏ nhất Các thực nghiệm cho thấy giải thuật M3AR do HUYNH Van Quoc Phuong, DANG Tran Khanh đƣa ra đảm bảo tốt về mặt mất mát dữ liệu (luật), tuy nhiên giải thuật này có nhƣợc điểm là có nhiều vòng lặp nhằm tìm ra các lựa chọn tối

11 ƣu Đối với các tập dữ liệu lớn, hiệu năng của giải thuật về thời gian chạy có thể là vấn đề Ý tưởng về kỹ thuật hiện thực k-anonymity bằng cách di chuyển bản ghi giữa các nhóm là cơ sở cho giải thuật đƣợc đề xuất của học viên trong Luận văn này Các phần tiếp theo sẽ trình bày các kiến thức liên quan cũng nhƣ phát biểu bài toán và giải thuật đề xuất

CÁC KHÁI NIỆM CƠ BẢN

1 k-anonymity: Một mô hình bảo vệ tính riêng tƣ đƣợc dùng phổ biến, mô hình này hướng tới việc tạo ra các nhóm (lớp) trong đó mỗi nhóm (lớp) có tối thiểu k bản ghi giống nhau trên tập quasi attribute Một tập dữ liệu đat k-anonymity tức là đối với bất kỳ bản ghi nào của tập dữ liệu đó, có ít nhất k-1 bản ghi khác giống nó trên tập quasi attribute

2 Quasi attribute: Thuộc tính khả định danh người dùng, bên cạnh các thuộc tính định danh chính xác người dùng như ID, Name, một tập các thuộc tính quasi attribute có thể được dùng để định danh người dùng Ví dụ tập {age, sex, maritalstatus, native- country, race, education} trong Adult dataset [8] cũng là một tập nhƣ vậy

3 Nhóm hoặc lớp tương đương (group/equivalence class): Một tập hợp các bản ghi giống nhau trên quasi attribute

4 Độ đo mất mát dữ liệu: Thang đo mức độ mất mát dữ liệu sau khi thực hiện các biến đổi để tập dữ liệu đạt k-anonymity Độ đo này có thể mang tính tổng quát hoặc hướng đến một kỹ thuật khai phá dữ liệu cụ thể

5 Khai phá dữ liệu Luật kết hợp (Association Rule Mining): Tìm kiếm mối liên hệ giữa các item hay itemset trong tập dữ liệu để xem những itemset nào thường đi cùng với nhau Ví dụ luật age(30), sex(Male), native-country(United States) => capital-gain (>PK) đối với tập Adult Có 2 thông số cơ bản là độ hỗ trợ (support) và độ tin cậy (confidence) Mục đích của việc khai phá Luật kết hợp là tìm ra các luật (rule) có độ hỗ trợ và độ tin cậy không nhỏ hơn một ngưỡng cho trước min_sup và min_conf

PHÁT BIỂU BÀI TOÁN

Cho một tập dữ liệu D là tập hợp các bản ghi mang giá trị trên một tập thuộc tính xác định; tập quasi attribute; tập các Luật (rule) R khai phá từ D tại min_sup, min_conf; giá trị k Mục tiêu của bài toán là biến đổi D thành tập D’ đạt k-anonymity sao cho tối thiểu hóa đƣợc mất mát dữ liệu trên tập D’ với cùng min_sup và min_conf

Input: D, R (mined from D at min_sup & min_conf), k

Goal: Minimize information loss (Percentage of rules new/lost/different when mining D’ at min_sup and min_conf)

GIẢI PHÁP ĐỀ XUẤT

CÁC ĐỊNH NGHĨA

- G: Tập các nhóm (group) tạo đƣợc từ tập dữ liệu D

- |g|: Kích thước hay số thành viên trong nhóm bản ghi (tuple) g

- k-safe group: Nhóm bản ghi (tuple) với số thành viên không nhỏ hơn k (|g|>=k)

- k-unsafe group: Nhóm bản ghi (tuple) với số thành viên nhỏ hơn k (|g| rhs): Luật (rule) kết hợp với 2 thông số cơ bản độ hỗ trợ (support) và độ tin cậy (confidence)

- Budget(r): Quỹ mà một luật (rule) r còn để có thể tồn tại, thông số này khi về giá trị âm thì có nguy cơ mất luật r Gọi s và c lần lƣợt là support và confidence của rule r: o Nếu rhs (vế phải) của r có chứa quasi attribute

⌋) o Nếu rhs (vế phải) của r không chứa quasi atribute

- Độ rủi ro của group Risk(g): nếu g là một safe group độ rủi ro của nó bằng 0, còn nếu g là một unsafe group độ rủi ro của nó đƣợc tính bằng 2k-m

Một phép di chuyển tuple giữa 2 group gi và g j có ý nghĩa khi mà sau phép di chuyển đó tổng Risk(g i ) + Risk(g j ) giảm đi, khi đó ít nhất một trong 2 group có độ rủi ro về 0

(trở thành safe group hoặc giải tán hoàn toàn) Do đó trong các bước lặp để tìm kiếm group g để di chuyển với group SelG, tối thiểu hàm Risk là một trong những điều kiện quan trọng nhất

- gi→gj là phép di chuyển một tập bản ghi từ group g i sang group g j , khi một tập bản ghi từ group gi đƣợc di chuyển giá trị trên các quasi attribute của nó phải đƣợc cập nhật giống với giá trị trên các quasi attribute của group g j

Phần tiếp theo trình bày mã giả của giải thuật U-M3AR

GIẢI THUẬT

1 G = set of groups obtained from D (grouping tuples similar on quasi attributes)

2 Divide G into k-safe groups set SG, k-unsafe group set UG, k-unsafe small group set UG_SMALL (unsafe groups having length k/2)

3 Construct R_care from R_initial (rules may be affected in migration operations, each rule in R_care contains at least 1 quasi attribute)

4 Calculate budget Budget(r) for all the rule r in R_care

5 Sort groups in UG by length ascendingly

3 SelG = UG.pop(0) // Pop the first unsafe group

4 UG_BIG.remove(SelG); UG_SMALL.remove(SelG)

6 remaining_groups = UG_BIG + UG_SMALL + SG

8 remaining_groups = UG_SMALL + UG_BIG + SG

9 Find group g to migrate with SelG in remaining_groups g = find_group_to_migrate(SelG, remaining_groups)

10 if g is None: // No result, continue next iteration

11 UM.add(SelG); SelG = None // SelG will be dispersed

12 else: // There is a result, consider the pair (SelG, g)

13 If migrating n tuples from SelG to g:

14 Update budget of every rule r in

15 If migrating n tuples from g to SelG:

16 Update budget of every rule r in

SG.add(SelG); UG.remove(SelG);

UG_BIG.remove(SelG); UG_SMALL.remove(SelG)

UG_BIG.remove(g); UG_SMALL.remove(g)

19 if SelG is safe and g is safe: SelG = None

20 else: SelG = unsafe group in pair {SelG, g} endwhile

21 if |UM| > 0 for each um in UM: Pop um from UM; Disperse(um)

1 For each tuple t of other groups that has migrated into SelG:

2 Return t to its initial group; |g| += 1

3 Update budget of every rule r in R_affected(g, SelG):

5 For each remaining origin member t of SelG

6 g = find_group_to_move_dispersing(SG)

7 Update budget of every rule r in R_affected(SelG, g):

PHÂN TÍCH

Trọng tâm của giải thuật nằm ở bước tìm group g để thực hiện phép di chuyển tuple với giữa g và SelG trong mỗi bước lặp find_group_to_migrate (SelG, remaining_groups) Việc tìm group g đƣợc thực hiện dựa trên các chiến lƣợc nhƣ sau:

- Chỉ áp dụng với unsafe group: Nếu một unsafe group đã nhận tuple thì nó chỉ có thể tiếp tục nhận tuple, tương tự nếu một unsafe group đã cho tuple thì nó chỉ có thể tiếp tục cho tuple Điều này là để tránh sự mất đồng bộ (về giá trị quasi attribute) cho các group, nếu group nào đƣợc giải tán thì giải tán luôn và group nào đƣợc nhận thì nhận luôn (Tương tự M3AR)

- Khi xét một phép di chuyển n tuple từ group i sang group j phải đảm bảo rằng budget của các rule r bị ảnh hưởng bởi phép di chuyển này còn mang giá trị dương, tức là Budget(r) > 0 với mọi rule r thuộc R_affected(gi, gj) (Tương tự M3AR)

- Số lượng tuple được di chuyển n được tính như sau: (Tương tự M3AR) o Nếu g j là unsafe:

 Nếu gj → g i : n=Min(|g j |,k-|g i |) o Nếu g i là safe:

- Giải thuật M3AR quét hết tập các group g còn lại trong UG và SG sau đó tìm ra một phép migration giữa (SelG và g) tối ƣu về: chi phí (tối thiểu), số tuple cần di chuyển (tối thiểu), rủi ro risk reduction (tối thiểu) Với nhu cầu khai phá dữ liệu trên các tập dữ liệu lớn hiện nay, việc giảm độ phức tạp của giải thuật là cần thiết Trong giải thuật đề xuất, ở bước này học viên chỉ xét trên tiêu chí giảm thiểu rủi ro risk reduction đồng thời không gian tìm kiếm g đƣợc sắp xếp lại bằng việc thay đổi thứ tự UG_BIG, UG_SMALL Việc tìm group g sẽ không phải luôn luôn duyệt hết mọi group còn lại trong UG + SG nhƣ trong M3AR mà sẽ dừng lại khi tìm đƣợc một lựa chọn làm cho tổng rủi ro của SelG và g sau phép di chuyển giữa hai group về 0 Các tiêu chí về chi phí của phép di chuyển và số tuple cần di chuyển không đƣợc học viên dùng tới do những tiêu chí này phụ thuộc vào cách hiện thực, cách

17 chọn cấu trúc dữ liệu và hầu như ít ảnh hưởng Ở trong giải thuật đề xuất (U- M3AR) các group thuộc UG ban đầu cũng đƣợc sắp xếp theo thứ tự tăng dần về kích thước và các vòng lặp sẽ duyệt lần lượt theo thứ tự này chứ không lấy ngẫu nhiên nhƣ ở trong M3AR Tập xét duyệt (remaining_groups) cũng đƣợc sắp xếp lại tùy vào kích thước SelG, nếu kích thước SelG nhỏ hơn hoặc bằng k/2 thì ưu tiên tìm kiếm ở UG_BIG trước, do ở trong UG_BIG khả năng sẽ có group để thực hiện phép di chuyển với SelG sao cho tổng rủi ro đạt đƣợc về 0 Ngƣợc lại nếu kích thước SelG lớn hơn k/2 thì ưu tiên duyệt UG_SMALL trước với lý do tương tự Việc không chọn ngẫu nhiên SelG mà duyệt theo thứ tự đã sắp xếp cũng giúp tiết kiệm chi phí so với lúc giải thuật chạy với cách chọn ngẫu nhiên

Tìm group g trong SG để thực hiện phép di chuyển disperse cho group um_g find_group_to_move_dispersing(um_g, SG): Tiêu chí cho việc lựa chọn g giống nhƣ trong giải thuật M3AR, đó là số rule có Budget âm bị ảnh hưởng bởi phép di chuyển giữa (SelG, g) là tối thiểu Ở giai đoạn Disperse, số lượng group trong tập UM thường nhỏ nên tổng chi phí cho việc hoàn thành giai đoạn này nhỏ

THỰC NGHIỆM VÀ ĐÁNH GIÁ

TẬP DỮ LIỆU

- Tập dữ liệu được dùng là tập Adult [8] thường được dùng để đánh giá các giải thuật k-anonymity Tập này có 32,561 bản ghi và sau khi loại bỏ các bản ghi chứa null hoặc unknown thì còn 32,169 bản ghi Trong thực nghiệm này, học viên chỉ giữ lại 9 thuộc tính age, sex, marital-status, native-country, race, education, hours-per-week, capital- gain, workclass trong đó 6 thuộc tính đầu đƣợc chọn làm quasi attribute

Thuộc tính Số giá trị khác nhau Loại Quasi attribute? age 72 Số Y sex 2 Nhãn Y marital-status 7 Nhãn Y native-country 41 Nhãn Y race 5 Nhãn Y education 16 Nhãn Y hours-per-week 94 Số N capital-gain 118 Số N workclass 8 Nhãn N

KẾT QUẢ THỰC NGHIỆM

- Giải thuật đƣợc đánh giá trên tập Adult [8] và so sánh kết quả với các giải thuật OKA [5], GCCG[14] và M3AR [2] Cả 3 giải thuật này đều đƣợc hiện thực bằng ngôn ngữ Python (Python 3) và chạy trên máy tính có cấu hình Windows 10, Intel Core I5 3570 3.4GHz, RAM 8GB Các kết quả thống kê đƣợc chạy trên min_sup=0.5 và min_conf=0.5

Bảng 6 Kết quả đánh giá thời gian chạy (giây)

Bảng 7 Kết quả đánh giá Lost Rule Percentage k 5 10 15 20 25 30

Bảng 8 Kết quả đánh giá New Rule Percentage k 5 10 15 20 25 30

Bảng 9 Kết quả đánh giá Difference Rule Percentage k 5 10 15 20 25 30

Bảng 10 Kết quả đánh giá CAVG

Hình 2 Kết quả đánh giá thời gian chạy

Hình 3 Kết quả đánh giá Lost Rule Percentage

Hình 4 Kết quả đánh giá New Rule Percentage

Hình 5 Kết quả đánh giá Different Rule Percentage

Hình 6 Kết quả đánh giá CAVG

- Giải thích các độ đo: Với D là tập dữ liệu gốc và D’ là tập dữ liệu đã biến đổi đạt k- anonymity R và R’ lần lƣợt là tập Luật (rule) khai phá đƣợc trên D và D’ ở min_sup và min_conf |R| và |R’| là số lƣợng Luật trong tập R và R’ Khi đó: o LRP (Lost Rule Percentage): Phần trăm số rule bị mất khi khai phá trên tập dữ liệu biến đổi D’ so với D

| | o NRP (New Rule Percentage): Phần trăm số rule mới khi khai phá trên tập dữ liệu biến đổi D’ so với D

| | o DRP (Different Rule Percentage): Phần trăm số rule khác nhau

| | o CAVG (Average Group Size): Kích thước trung bình của các nhóm được tạo ra bằng tổng kích thước của các nhóm chia cho số nhóm rồi chia cho k

ĐÁNH GIÁ

- Dựa vào bảng kết quả có thể thấy giải thuật đề xuất U-M3AR cho kết quả khả quan, với thời gian chạy luôn thấp hơn giải thuật M3AR trong khi các độ đo đều nhƣ nhau và đều không mất mát (LRP = 0) Đối với k = 10 Giải thuật GCCG luôn chạy nhanh hơn ba giải thuật còn lại

Ngày đăng: 31/07/2024, 10:20

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN