Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
78
Dung lượng
1,47 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - PHẠM VĂN KHANH ỨNGDỤNGLÝTHUYẾTGIÀNGIAOTRONGKHAITHÁCDỮLIỆU LUẬN VĂN THẠC SỸ Chuyên ngành: Công nghệ Thông tin Mã số ngành: 60480201 TP HỒ CHÍ MINH, tháng 09 năm 2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM - PHẠM VĂN KHANH ỨNGDỤNGLÝTHUYẾTGIÀNGIAOTRONGKHAITHÁCDỮLIỆU LUẬN VĂN THẠC SỸ Chuyên ngành: Công nghệ Thông tin Mã số ngành: 60480201 CÁN BỘ HƯỚNG DẪN KHOA HỌC: PGS TSKH NGUYỄN XUÂN HUY TP HỒ CHÍ MINH, tháng 09 năm 2014 LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng Các số liệu, kết nêu Luận văn trung thực chưa công bố công trình khác Tôi xin cam đoan giúp đỡ cho việc thực Luận văn cảm ơn thông tin trích dẫn Luận văn rõ nguồn gốc Học viên thực Luận văn Phạm Văn Khanh LỜI CẢM ƠN Trong suốt quá trình học tập và hoàn thành luận văn này, đã nhận được sự hướng dẫn, giúp đỡ quý báu của quý thầy cô, gia đình, bạn bè và đồng nghiệp Với lòng kính trọng và biết ơn sâu sắc xin được bày tỏ lời cảm ơn chân thành tới: Khoa Công Nghệ Thông Tin, Phòng quản lý khoa học - Đào tạo sau đại học trường Đại Học Công Nghệ Thành Phố Hồ Chí Minh đã tạo mọi điều kiện thuận lợi giúp đỡ quá trình học tập và hoàn thành luận văn này Thầy hướng dẫn Phó giáo sư - Tiến sĩ Khoa học Nguyễn Xuân Huy, thầy đã truyền đạt kiến thức bổ ích cho quá trình học tập, đã hết lòng tạo điều kiện giúp đỡ quá trình hoàn thành luận văn này Phó giáo sư - Tiến sĩ Lê Hoài Bắc, thầy đã truyền đạt kiến thức bổ ích cho quá trình học tập, thầy đã hết lòng giúp đỡ và cung cấp cho tài liệu nghiên cứu cần thiết liên quan đến luận văn này Thầy Cao Tùng Anh, thầy đã hết lòng giúp đỡ, bảo, động viên và tạo mọi điều kiện thuận lợi cho suốt quá trình học tập và hoàn thành luận văn này Toàn thể quý thầy cô đã nhiệt tình giảng dạy và truyền đạt kiến thức bổ ích cho suốt khóa học vừa qua Cuối xin cảm ơn đến tất cả người thân gia đình, bạn bè và đồng nghiệp đã giúp đỡ suối quá trình học tập và thực luận văn này Phạm Văn Khanh MỤC LỤC MỞ ĐẦU Chương TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAITHÁCDỮLIỆU 1.1 Khám phá tri thức khaithácliệu 1.2 Quá trình khám phá tri thức 1.3 Quá trình khaithácliệu 1.4 Các phương pháp khaithácliệu 1.5 Các lĩnh vực ứngdụng thực tiễn khaithácliệu .10 1.6 Các phương pháp, kỹ thuật áp dụngkhaithácliệu 11 1.7 Các thách thức – khó khăn khám phá tri thức khaithácliệu 13 1.8 Khaithác tập phổ biến, luật kết hợp tương quan 15 1.8.1 Bài toán kinh điển dẫn đến việc khaithác luật kết hợp .15 1.8.2 Tập phổ biến luật kết hợp .18 1.8.3 Các phương pháp khaithác tập phổ biến .19 1.9 Khaithácliệu bảo đảm tính riêng tư .26 1.9.1 Bài toán khaithácliệu bảo đảm tính riêng tư 26 1.9.2 Phân loại phương pháp PPDM 27 1.9.3 Các phương pháp giấu liệu nhạy cảm 30 1.9.3.1 Làm xáo trộn (Perturbation) 30 1.9.3.2 Ngăn chặn (Blocking) 30 1.9.3.3 Gom trộn (Aggregation / Merging) .30 1.9.3.4 Đổi chỗ (Swapping) 30 1.9.3.5 Lấy mẫu .32 Chương ÁNH XẠ ĐÓNG VÀ GIÀNGIAO ÁNH XẠ ĐÓNG .37 2.1 Ánh xạ đóng .37 2.1.1 Các khái niệm tính chất ánh xạ đóng 37 2.1.2 Phép hạn chế ánh xạ đóng 39 2.2 Các phép toán hội hợp thành ánh xạ đóng .39 2.2.1 Phép toán hội 40 2.2.2 Phép hợp thành ánh xạ đóng .40 2.3 Giàngiao ánh xạ đóng 45 2.3.1 Điểm bất động 45 2.3.2 Giàngiao ánh xạ đóng 45 Chương ẨN CÁC TẬP MỤC NHẠY CẢM 49 3.1 Giàngiao AXĐ toán ẩn tập mục nhạy cảm 49 3.2 Phát biểu toán .50 3.3 Giàngiao 52 3.4 Các tính chất tập mục thường xuyên 53 3.5 Thuật toán ẩn tập mục nhạy cảm 56 3.6 Ví dụ minh họa cho thuật toán 57 Chương CHƯƠNG TRÌNH THỰC NGHIỆM 61 4.1 Giới thiệu 61 4.2 Các chức chương trình .62 KẾT LUẬT 66 TÀI LIỆU THAM KHẢO 68 DANH MỤC CÁC KÝ HIỆU, CHỮ CÁI VIẾT TẮT KPDL Khaithácliệu KPTT Khám phá tri thức PPDM (Privacy Data Mining) Preserving Khaithácliệu đảm bảo tính riêng tư AXĐ Ánh xạ đóng CSDL Cơ sở liệu LĐQH Lược đồ quan hệ PTH Phụ thuộc hàm ∈ Thuộc ∉ Không thuộc ⊆ Là tập ⊇ Chứa tập \ Phép trừ tập hợp ∩ Phép giao tập hợp ∪ Phép hợp tập hợp ≡ Tương đương ≠ Khác ∀ Với LS(f) Tập vế trái luật sinh f RS(f) Tập vế phải luật sinh f ∅ Tập rỗng DANH MỤC CÁC BẢNG Bảng 1.1 Dấu liệu phương pháp đổi chỗ 36 Bảng 3.1 Bảng trị T tập mục thường xuyên theo ngưỡng 56 Bảng 3.2 Các tập mục thường xuyên theo ngưỡng 62 Bảng 3.3 Sửa giá trị E chứa ADE 64 Bảng 3.4 Sửa giá trị E chứa ABE 65 10 DANH MỤC CÁC HÌNH MINH HOẠ Hình 1.1 Quá trình khám phá tri thức 12 Hình 1.2 Quá trình khaithácliệu 14 Hình 2.1 Ví dụ thuật toán Apriori 29 Hình 2.2 Ví dụ thuật toán Apriori 30 Hình 3.1 Đồ thị giàn tập mục thường xuyên P 58 Hình 3.2 Giàngiao đầy đủ Poset(ABE) .59 Hình 4.1 Giao diện chương trình .63 Hình 4.2 Giao diện chương trình tính độ hỗ trợ tất tập mục .64 Hình 4.3 Giao diện chương trình tìm tất tập mục thường xuyên .65 Hình 4.4 Giao diện chương trình hiển thị tập mục thường xuyên 66 64 Giả sử X ∈ P Y ⊆ X Ta có α(Y) ≥ α(X) ≥ σ Từ suy Y ∈ P, nghĩa tập X tập mục thường xuyên Do Poset(X) chứa tập X nên Poset(X) đầy đủ đương nhiên đóng với phép giao Theo mệnh đề ta thấy với mục A∈X, X− {A} khuyết phần tử, chúng có cha Mọi tập lại Poset(X) khuyết từ hai phần tử trở lên chúng có hai cha Vậy Gen(X) bao gồm phần tử đứng hàng thứ hai đồ thị biểu diễn giàn cho Do Gen(X) gồm tập khuyết phần tử X nên thuật toán xác định Gen(X) đơn giản Thuật toán Gen sau sử dụng để xác định tập sinh giàngiao đầy đủ Gen(X) Thuật toán xác định tập sinh giàn giao đầy đủ Gen(X) Algorithm Gen Input: Tập mục X ⊆ U Output: Họ các tập sinh G của giàn giao đầy đủ X Method G = ∅; for each item A in X Add X−{A} to G; endfor; return G; EndGen Mệnh đề tính chất nghịch biến hàm α cho ta thấy phần tử Gen(X) có độ hỗ trợ nhỏ Poset(X)− {X} Nếu X ∈ P, với mục A 65 ∈ X ta xét hàm L(A,X) cho giá trị nhỏ số độ hỗ trợ tập (tức tập X khác X) chứa A X, L(A,X) = {α(Y) | A ∈ Y, Y ⊂ X} Dựa vào nhận xét ta thấy tính L(A,X) thông qua tập chứa A Gen(X) Mệnh đề 4: Nếu tập mục thường xuyên X bị ẩn tập mục thường xuyên Y chứa X bị ẩn theo Chứng minh Nếu X bị ẩn α(X) < σ Giả sử X ⊆ Y Ta có, α(Y) ≤ α(X) < σ, nghĩa Y bị ẩn theo Mệnh đề 5: Nếu X ∈ P Update(A,X,d), A ∈ X kéo theo Update(A,Y,d), Y ⊆ X, A ∈ Y Chứng minh Để ý thao tác Update(A,X,1) xóa xuất mục A tập mục X, nghĩa thay X X− {A} Từ suy tập mục chứa A X giảm số lần xuất đơn vị Các tập mục Y mô tả mệnh đề gọi tập mục chịu hiệu ứng phụ cập nhật (xóa) mục A tập mục X Mệnh đề cho thấy cập nhật mục A tập mục X cần ý đến tập mục chứa A X Nếu độ hỗ trợ chúng lớn ngưỡng σ không nhiều chúng có nguy bị ẩn theo 3.5 Thuật toán ẩn tập mục nhạy cảm Dựa vào mệnh đề … 5, phần trình bày thuật toán Itemhide ẩn tập mục nhạy cảm H Việc mở rộng thuật toán để ẩn nhiều tập mục nhạy cảm dễ dàng 66 Cho bảng T gồm N giao tác M mục, cho ngưỡng hỗ trợ σ giả thiết ta xây dựng họ tập mục thường xuyên P Cho tập mục nhạy cảm H ∈ P Khi thuật toán ẩn tập mục H thực qua bước sau Bước 1: Xác định họ V tập mục chứa H Coatom(P) , V = {X ∈ Coatom(P) | H ⊆ X } Bước 2: Với mục A ∈ H với X V lượng giá xem có nên sửa mục A X không? Tiêu chuẩn đặt việc sửa mục A X không gây hiệu ứng phụ đến tập chứa A X Giả sử (A,X) đạt giá trị max {L(A,X) | A ∈ H, X ∈ V} ta gọi thủ tục Update(A, X, d), với d = {α(H) – (σ–1), α(X)} Bước lặp đến α(H) = σ – Thuật toán Itemhide - ẩn tập mục nhạy cảm Algorithm Itemhide Input: T − bảng trị 0/1 thể các giao tác tập mục U, P – họ các tập mục phổ biến của U, σ − ngưỡng hỗ trợ, H − tập mục nhạy cảm H (cần ẩn), M ∈ P nhạy cảm H (cần ẩn), M ∈ P H − tập mục Output: bảng kết quả T Method s = α(H); while (s > σ – Compute V = {X ∈ Coatom(P) | H ⊆ X }; Let (A, X) = GetMax {L(A,X) | A ∈ H, X ∈ V}; Compute d = {s – (σ–1), α(X)}; Update(A,X,d); s = s – d; endwhile 1) 67 end Itemhide 3.6 Ví dụ minh họa cho thuật toán Xét CSDL bao gồm 22 giao tác sau Bảng 3.2 Các tập mục thường xuyên theo ngưỡng α ABCDE ABCDE 10101 12 01011 A 10 10101 13 00110 B 11 11001 14 10011 11001 15 01101 C 01010 16 11001 D 12 00111 17 11001 E 18 10011 18 01010 AB 01101 19 00111 AD 00011 20 10011 AE 10 10 01000 21 01101 11 10011 22 00011 BE CE DE ABE ADE Bảng T với 22 giao tác Các tập mục thường xuyên được viết thành hai mảnh theo ngưỡng σ = Tập mục cần ẩn M = {AE} Thuật toán thực sau: - Tập U = ABCDE - Tập phổ biến P = {A/10, B/11, C/8, D/12, E/18, AB/4, AD/4, AE/10, BE/8, CE/7, DE/9, ABE/4, ADE/4} - Gen(P) = {ABE, ADE, DE, CE, BE, AD, AB, C} - Tựa giàn tập phổ biến ngưỡng σ = 68 - Coatom(P,M) = {ABE, ADE} - Với X = ABE ta có: • Gen(A, ABE) = {AB, AE} • Xét A ABE, ta có: L(A, ABE) = • Xét E ABE, ta có: L(E, ABE) = - Với X = ADE ta có: • Gen(ADE) = {AD, AE, DE} • Xét A ADE, ta có: L(A, ADE) = • Xét E ADE, ta có: L(E, ADE) = - V = Max{4, 8, 4, 9} = - Sửa giá trị E chứa ABE ADE Sửa giá trị E chứa ADE, có gạch chân bảng 3.3 - Lúc α(AE) = 10 – = > c Bảng 3.3 Sửa giá trị E chứa ADE ABCDE ABCDE 10101 12 01011 10101 13 00110 11001 14 10011 11001 15 01101 01010 16 11001 00111 17 11001 10011 18 01010 01101 19 00111 00011 20 10011 10 01000 21 01101 11 10011 22 00011 69 - Tiếp tục sửa giá trị E chứa ABE, có gạch chân bảng 3.4 (các dòng 3,4,16) - Sau thực sửa lần, ta có α(AE) = – = < c Lúc AE ẩn, thuật toán dừng - Tập phổ biến sau ẩn: P = {DE, CE, BE, AD, AB, A, B, C, D, E}, - Số tập mục bị ẩn nhầm: ⇒ Hiệu ứng phụ = Xét A ABE, Min(A, ABE) = Xét A ADE, Min(A, ADE) = Xét E ABE, Min(E, ABE) = Xét E ADE, Min(E, ADE) = β = Max = Kết luận: Sửa E ABE ADE Bảng 3.4 Sửa giá trị E chứa ABE ABCDE Tập mục thường xuyên α 10101 12 01011 A 10 10101 13 00110 B 11 11000 - 14 10010 + *C 11000 - 15 01101 D 12 01010 16 11000 - E 18/11 00111 17 11001 *AB 10010 + 18 01010 *AD 01101 19 00111 AE ! 10/3 00011 20 10010 + *BE 8/5 10 01000 21 01101 *CE 11 10010 + 22 00011 *DE 9/5 ABE ! 4/1 ADE ! 4/0 ABCDE 70 + sửa E dòng chứa ADE, - sửa E dòng chứa ABE, ! Tập mục bị ẩn Kết quả 71 Chương CHƯƠNG TRÌNH THỰC NGHIỆM 4.1 Giới thiệu Trong luận văn này, học viên tập trung nghiên cứu thiết kế cài đặt phần mềm quản lý để ẩn tập mục nhạy cảm Chương trình viết ngôn ngữ C# phiên Visual Studio 2010 với chức chủ yếu ẩn tập mục nhạy cảm dựa giàngiao Cơ sở liệu lưu trữ SQL Server 2008 Việc cài đặt chương trình ứngdụng nhằm mục đích mô kết nghiên cứu học viên thông qua ví dụ Chương trình có tên ứng “Ẩn tập mục nhạy cảm” (Itemhide.exe) với: Dữliệu đầu vào bao gồm: • M: độ dài tập • T: bảng trị 0/1 • σ: ngưỡng hỗ trợ • H: tập mục nhạy cảm cần ẩn Dữliệu đầu bao gồm: Ẩn tập mục nhạy cảm danh mục tập mục thường xuyên Bảng trị file CSDL cho trước (các cấu trúc bao gồm: mục, giao tác) nhập liệu trực tiếp từ cửa sổ chương trình, sau ghi vào CSDL để sử dụng cho lần sau 4.2 Các chức chương trình 72 Dưới mô tả hoạt động chức chương trình Hình 4.1 Giao diện chương trình • GIAO TÁC: Hiển thị tất giao tác file CSDL lên hình 73 Hình 4.2 Giao diện chương trình tính độ hỗ trợ tất tập mục • ĐỘ PHỔ BIẾN: Tính độ hỗ trợ tất tập mục 74 Hình 4.3 Giao diện chương trình tìm tất tập mục thường xuyên • ĐỘ HỖ TRỢ: Chương trình cho phép nhập độ hỗ trợ Sau tìm hiển thị tất tập mục thường xuyên 75 Hình 4.4 Giao diện chương trình hiển thị tập mục thường xuyên • TẬP MỤC ẨN: Chương trình cho phép nhập vào tập mục nhạy cảm cần ẩn Sau ẩn tập mục nhạy cảm hiển thị tập mục thường xuyên • Ngoài chương trình thiết kế số chức khác như: BROWSE, IMPORT, LƯU CSDL, CẬP NHẬT, XÓA, THOÁT KẾT LUẬN 76 Kết đạt luận văn Ẩn các tập mục nhạy cảm toán quan trọngkhaithácliệu Đây công việc nhiều nhà nghiên cứu quan tâm Một vấn đề nhà nghiên cứu quan tâm giải toán giảm hiệu ứng phụ, tức ẩn nhầm tập mục phổ biến khác giảm số lần truy cập giao tác Trên sở nghiên cứu lýthuyếtgiàngiao hướng nghiên cứu trước đây thực để giải toán ẩn tập mục nhạy cảm, luận văn đề xuất hướng tiếp cận để giải toán tiếp cận MaxMin dựa lýthuyếtgiàngiao Trên sở phân tích đặc điểm toán, định lý, mệnh đề lýthuyếtgiàngiao từ liên quan toán lýthuyếtgiàngiao Do đó, việc ứngdụnglýthuyếtgiàngiao để giải toán hoàn toàn có sở toán học đảm bảo tính đắn Từ đó, luận văn sử dụnglýthuyếtgiàngiao để đề xuất hai thuật toán quan trọng: thuật toán tìm Gen(G) thuật toán ẩn tập mục nhạy cảm M Thuật toán ẩn tập mục nhạy cảm thực việc ẩn tập mục nhạy cảm cách sửa mục tập biên tập sinh Gen cho tác động đến tập sinh Gen nhất, hiệu ứng phụ xảy CSDL kết Với số mục vừa phải, chẳng hạn 64 mục, thuật toán cài đặt với việc quản lý mục thông qua số nguyên Ngoài ra, thuật toán đưa cài đặt ứngdụng với bảng sở liệu có số lượng ghi vài chục ngàn Nếu lựa chọn cấu trúc liệu thích hợp, thuật toán áp dụng cho bảng liệu lớn Hướng nghiên cứu Trên sở nghiên cứu trình trình bày luận văn, tiếp tục tìm hiểu thuật toán liên quan Cài đặt CSDL lớn chuẩn từ so sánh với thuật toán công bố trước Mặc dù thân cố gắng tập trung nghiên cứu tham khảo tài liệu, báo, tạp chí khoa học nước, trình độ nhiều hạn chế 77 nên tránh khỏi thiếu sót Rất mong nhận đóng góp quý thầy cô nhà khoa học để luận văn hoàn thiện 78 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] NGUYỄN XUÂN HUY, LÊ QUỐC HẢI, NGUYỄN GIA NHƯ, CAO TÙNG ANH, BÙI ĐỨC MINH, Lý thuyết giàn và ứngdụng thuật toán ẩn tập mục nhạy cảm, Báo cáo Hội thảo Quốc gia " Một số vấn đề chọn lọc CNTT truyền thông, Đồng Nai, 5-6 Tháng 8, (2009) [2] NGUYỄN XUÂN HUY, LÊ ĐỨC MINH, VŨ NGỌC LOÃN, Các ánh xạ đóng ứngdụng sở liệu, Tạp chí Tin học và Điều khiển học, 16, No 4, 2000, 1-6 [3] NGUYỄN XUÂN HUY, Giàngiao ánh xạ đóng, Chuyên san công trình nghiên cứu - triển khai viễn thông công nghệ thông tin, số 14, 4-2005, 35-42 [4] NGUYỄN XUÂN HUY, Các phụ thuộc logic sở liệu, Viện KH&CN VN, NXB Thống kê, 2006 Tài liệu tiếng Anh [5] George V Moustakides, Vassilios S Verykios, A MaxMin Approach for Hiding Frequent Itemsets, Data & Knowledge Engineering 65, p.75-89, 2008 [6] Xingzhi Sun, Philip S.Yu, Hiding Sensitive Frequent Itemsets by a BorderBased Approach, J Computing and Engineering, Vol.1, No.1, p.74-94, 2007 [7] S.R.M Oliveira, O.R Zai ¨ ane, Privacy preserving frequent itemset mining, in: Proceedings of the 2002 IEEE International Conference on Privacy, Security and Data Mining (CRPITS 2002), (2002), pp 43–54 ... lĩnh vực ứng dụng thực tiễn khai thác liệu .10 1.6 Các phương pháp, kỹ thuật áp dụng khai thác liệu 11 1.7 Các thách thức – khó khăn khám phá tri thức khai thác liệu 13 1.8 Khai thác tập... hợp liệu bước trình khai thác liệu Đây bước khai thác sở liệu, kho liệu chí liệu từ nguồn ứng dụng Web Trích lọc liệu: Ở giai đọan liệu lựa chọn phân chia theo số tiêu chuẩn phục vụ mục đích khai. .. VÀ KHAI THÁC DỮ LIỆU 1.1 Khám phá tri thức khai thác liệu 1.2 Quá trình khám phá tri thức 1.3 Quá trình khai thác liệu 1.4 Các phương pháp khai thác liệu