Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI TRẦN VIỆT CƯỜNG NGHIÊN CỨU CÁC PHẦN TỬ NGOẠI LAI LUẬN VĂN THẠC SĨ MÁY TÍNH HÀ NỘI, 2015 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI TRẦN VIỆT CƯỜNG NGHIÊN CỨU CÁC PHẦN TỬ NGOẠI LAI Chuyên ngành: Khoa học Máy tính Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ MÁY TÍNH Người hướng dẫn khoa học: GS.TS. Vũ Đức Thi HÀ NỘI, 2015 LỜI CẢM ƠN Em xin chân thành gửi lời cảm ơn tới GS.TS Vũ Đức Thi, thầy nhiệt tình hướng dẫn giúp đỡ em trình hoàn thành luận văn này. Em xin chân thành gửi lời cảm ơn tới thầy cô Viện CNTT thuộc Viện Khoa học Hàn lâm Việt Nam tận tình giảng dạy, bảo giúp đỡ em trình học tập trường thời gian hoàn thành luận văn này. Em xin chân thành gửi lời cảm ơn tới thầy cô phòng Sau Đại học, khoa CNTT thư viện trường ĐHSPHN2 tận tình giúp đỡ truyền đạt kiến thức quý giá trình học tập trình hoàn thành luận văn này. LỜI CAM ĐOAN Tôi xin cam đoan tất số liệu kết nghiên cứu luận văn hoàn toàn trung thực không trùng lặp với đề tài 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. Tác giả luận văn Trần Việt Cường MỤC LỤC LỜI CẢM ƠN . LỜI CAM ĐOAN . MỤC LỤC BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT . MỞ ĐẦU . NỘI DUNG . CHƯƠNG 1: KHÁM PHÁ TRI THỨC TRONG CƠ SỞ DỮ LIỆU VÀ PHẦN TỬ NGOẠI LAI . 1.1 Khám phá tri thức 1.2 Những ứng dụng sử dụng kỹ thuật khai thác liệu. 12 1.3 Phần tử ngoại lai. 13 1.3.1 Khái niệm phần tử ngoại lai 13 1.3.2 Những ứng dụng phần tử ngoại lai 15 1.4 Mối quan hệ phần tử ngoại lai khai thác liệu. 17 CHƯƠNG 2: MỘT SỐ THUẬT TOÁN TÌM KIẾM PHẦN TỬ NGOẠI LAI DỰA TRÊN KHOẢNG CÁCH . 19 2.1 Định nghĩa phần tử ngoại lai dựa khoảng cách 19 2.2 Thuật toán Nested-Loop . 20 2.2.1 Tư tưởng thuật toán. . 20 2.2.2 Mô tả thuật toán Nested Loop: . 21 2.2.3 Ước lượng tham số p, D sử dụng phương pháp lấy mẫu . 22 2.2.4 Đánh giá độ phức tạp thuật toán Nested Loop. . 25 2.3 Thuật toán đánh giá theo ô 25 2.3.1 Các khái niệm tính chất liên quan . 26 2.3.2 Thuật toán FindAllOutsM cho tập liệu nhớ chính. . 28 2.3.2.1 Tư tưởng thuật toán. . 28 2.3.2.2 Mô tả thuật toán FindAllOutsM (Find All Outlier in Memory) 33 2.3.2.3 Đánh giá độ phức tạp thuật toán không gian hai chiều. . 36 2.3.2.4 Tổng quát cho trường hợp nhiều chiều 36 2.3.2.5 Đánh giá độ phức tạp không gian nhiều chiều. . 37 2.3.3 Tìm kiếm phần tử ngoại lai DB(p,D) tập liệu lớn, nhớ ngoài. 38 2.3.3.1 Phân tích tổng quát. 39 2.3.3.2 Thuật toán FindAllOutsD cho phần tử ngoại lai nằm nhớ 42 CHƯƠNG 3: XÁC ĐỊNH CÁC PHẦN TỬ NGOẠI LAI CỤC BỘ DỰA VÀO MẬT ĐỘ . 49 3.1 Một vài trở ngại cách tiếp cận trước 49 3.2 Định nghĩa phần tử ngoại lai theo cách nhìn địa phương. 51 3.3 Tính chất phần tử ngoại lai cục bộ. 55 3.3.1 Yếu tố ngoại lai cục đối tượng nằm sâu vùng. 55 3.3.2 Cận cận yếu tố ngoại lai cục (LOF) . 56 3.3.3 Tính chặt chẽ cận LOF. 59 3.3.4 Cận cận đối tượng có lân cận trực tiếp nằm nhiều vùng. . 61 3.4. Sự ảnh hưởng tham số Minpts. 64 3.4.1 Sự phụ thuộc LOF theo Minpts. 64 3.4.2 Xác định miền Minpts . 65 3.5 Đánh giá độ phức tạp thuật toán xác định giá trị LOF. 68 CHƯƠNG 4: CÀI ĐẶT VÀ THỬ NGHIỆM 70 4.1 Yêu cầu cài đặt 70 4.1.1 Cấu trúc tệp liệu đầu vào . 70 4.1.2 Cấu trúc lớp chương trình 71 4.2 Thực chương trình đánh giá kết 73 4.2.1 Sơ đồ thuật toán Nested Loop . 73 4.2.2 Thực chương trình kết 75 4.2.2.1 Nhập liệu: . 75 4.2.2.2 Thực thuật toán: . 76 4.2.2.3 Kết thực nghiệm: . 76 4.2.2.4 Thông tin phần tử ngoại lai tìm sau thực thuật toán 77 4.2.3 Đánh giá tốc độ thực 77 KẾT LUẬN . 80 TÀI LIỆU THAM KHẢO 83 BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT Từ viết tắt Tiếng Anh Nghĩa tiếng Việt Knowledgement Discovery in Database Khám phá tri thức sở liệu DB Distance Based Dựa khoảng cách LOF Local Outlier Factor Yếu tố ngoại lai cục KDD MỞ ĐẦU 1. Lý chọn đề tài Trong sống đại ngày nay, ngày phải đối mặt với nhiều vấn đề cần giải như: Làm để phát thẻ rút tiền bất thường hệ thống ngân hàng, bất thường thị trường chứng khoán, tuyến đường bất ổn không hợp lý giao thông, ứng dụng hệ thống an ninh, dự báo thời tiết, lĩnh vực thể thao…vv. Tuy nhiên, với số lượng liệu tập trung lưu trữ sở liệu ngày lớn việc tìm kiếm phần tử ngoại lai trở nên cần thiết nhiều sống. Xuất phát từ yêu cầu ý nghĩa thực tiễn đó, đồng thời mong muốn tìm hiểu nghiên cứu vấn đề này, lựa chọn thực luận văn với đề tài “Nghiên cứu phần tử ngoại lai”. Đây lĩnh vực tương đối mới, hy vọng đề tài với hướng dẫn GS.TS Vũ Đức Thi, góp ý chuyên gia giúp giải số toán thực tế phục vụ cho xã hội ngày phát triển công Công nghiệp hóa Hiện đại hóa đất nước. 2. Mục đích nghiên cứu - Cung cấp số giải thích mô tả không gian liệu mà xuất phần tử ngoại lai. - Cung cấp số thông tin mối quan hệ phần tử ngoại lai. - Đưa ứng dụng liên quan đến phần tử ngoại lai nhằm giải vướng mắc thực tế. 3. Nhiệm vụ nghiên cứu - Tìm hiểu khái niệm khám phá tri thức khai thác liệu. - Tìm hiểu khái niệm phần tử ngoại lai theo cách nhìn địa phương toàn cục. - Tìm hiểu thuật toán tìm kiếm phần tử ngoại lai liệu lớn, nhiều chiều. - Kiểm tra, đánh giá thuật toán sở liệu thực tập liệu khách hàng Ngân hàng Nông nghiệp Phát triển Nông thôn Agribank. 4. Đối tượng phạm vi nghiên cứu - Nghiên cứu phần tử ngoại lai, mối quan hệ phần tử ngoại lai khai thác liệu ứng dụng phần tử ngoại lai. - Tìm hiểu thuật toán Nested-Loop, thuật toán đánh giá theo ô đồng thời đánh giá độ phức tạp thuật toán việc tìm kiếm phần tử ngoại lai. 5. Phương pháp nghiên cứu - Tham khảo tài liệu có liên quan đến lĩnh vực nghiên cứu phần tử ngoại lai việc khai thác xử lý liệu. - Tham khảo ý kiến chuyên gia, thầy hướng dẫn lĩnh vực nghiên cứu. - Lập kế hoạch, lên quy trình tiến độ thực đề tài. 6. Đóng góp đề tài: - Hệ thống hóa sâu vào vấn đề nghiên cứu. - Có thể sử dụng kết nghiên cứu để phát triển thành ứng dụng giải số toán vướng mắc thực tế. 69 việc thực sở liệu M cỡ n*MinptsUB khoảng cách. Một lưu ý nhỏ cỡ kết tức thời phụ thuộc vào số chiều liệu nguồn. Độ phức tạp thời gian bước O(n*thời gian truy vấn k-nn), với truy vấn k-nn(k-nearest-neighbor) có nhiều lựa chọn khách nhau: Với liệu có số chiều thấp, sử dụng tiếp cận dựa ô để có truy vấn k-nn thời gian số, dẫn đến thời gian chạy O(n) cho việc thực bước này. Với liệu có số chiều từ trung bình đến trung bình sử dụng số, cho ta độ phức tạp trung bình để có truy vấn k-nn O(logn), dẫn đến độ phực tạp cho bước O(n*logn), với số chiều cao nên quét tuần tự, với độ phức tạp O(n), dẫn đến độ phức tạp bước O(n2). Trong thực nghiệm, sử dụng tập liệu với số chiều cỡ trung bình nên độ phức tạp O(n*logn), đồng thời ta thấy việc thực gần tuyến tính liệu từ đến chiều lại suy biến với tập liệu từ 10 đến 20 chiều. Trong bước thứ hai, giá trị LOF tính toán việc thực sở liệu M, sở liệu nguồn D không cần cho bước sở liệu M có đủ thông tin để tính toán giá trị LOF sở liệu M duyệt lần với giá trị Minpts MinptsLB MinptsUB. Trong lần duyệt mật độ cục đạt đối tượng tính toán lần duyệt thứ hai giá trị LOF cuối tính toán ghi file, giá trị sau sử dụng để xếp đối tượng theo giá trị lớn LOF nằm MinptsLB MinptsUB. Do vậy, độ phức tạp thời gian bước O(n). 70 CHƯƠNG 4: CÀI ĐẶT VÀ THỬ NGHIỆM 4.1 Yêu cầu cài đặt Chương trình “Thuật toán Nested Loop” viết ngôn ngữ C# Visual Studio 2010 sử dụng phiên .Net Framewok 4.0. Yêu cầu tối thiểu hệ thống sử dụng chương trình: - .Net Framework phiên 4.0 trở lên. - Hệ điều hành tối thiểu Windows XP SP2. - Sql Server phiên 2000 trở lên. Phiên .Net Framework 4.0 hỗ trợ hệ điều hành Windows XP SP3 trở lên, để cài đặt Windows XP SP2, cần cài đặt thêm phần mở rộng Windows Imaging Component (WIC) trước cài đặt .Net Framework 4.0. Mã nguồn biên dịch thành tệp thực thi .exe môi trường Windows nên cần cài đặt thư viện yêu cầu chạy chương trình. 4.1.1 Cấu trúc tệp liệu đầu vào Chương trình sử dụng file Excel để chứa liệu đầu vào. Cấu trúc file sau: + Tên file excel: Tùy ý theo quy chuẩn đặt tên file hệ điều hành Windows. + Gồm sheet chứa liệu: Sheet1: Chứa liệu toàn ghi, dòng thứ tiêu đề cột có cấu trúc: (MaKH; TenKH; SoTienPheDuyet; SoGocDaThu; SoLaiDaThu) tên cột liệu, dòng ghi chứa liệu xử lý. 71 Hình 4.1 Bảng liệu đầu vào excel 4.1.2 Cấu trúc lớp chương trình Mối liên hệ lớp chương trình: Hình 4.2 Mối liên hệ lớp chương trình 72 Chương trình thiết kế bao gồm lớp sau: ImportData: Thao tác với tệp liệu Excel đưa vào sở liệu SQL Server. Ngoài ra, chứa phương thức để đọc liệu từ sở liệu vào nhớ xử lý. Hình 4.3 Lớp ImportData chương trình NestedLoopAlgo: Chứa hai phương thức quan trọng sử dụng thuật toán ProcessSelf đánh dấu phần tử ngoại lai khối ProcessOther kiểm tra với ghi thuộc khối khác. Đây lớp thực thi thuật toán Nested Loop. Hình 4.4 Lớp NestedLoopAlgo chương trình SqlHelper: Chịu tránh nhiệm làm việc với sở liệu SqlServer 73 Hình 4.5 Lớp SqlHelper chương trình NestedLoopMain: Xử lý giao diện chương trình. 4.2 Thực chương trình đánh giá kết 4.2.1 Sơ đồ thuật toán Nested Loop a) Bài toán: Cài đặt thuật toán Nested Loop tìm kiếm phần tử ngoại lai tập liệu khách hàng ngân hàng • Dữ liệu đầu vào: File excel chứa liệu khách hàng ngân hàng Nông nghiệp Phát triển Nông thôn Agribank • Tham số đầu vào gồm: p: Phần trăm tối thiểu đối tượng tập liệu mà đối tượng không ngoại lai D: khoảng cách ước lượng để tìm kiếm phần tử ngoại lai. 74 Đưa khối T vào mảng A b) Thuật toán Nested Loop: Kết thúc đưa phần tử ngoại lai chưa đánh dấu Đ Khối đc lưu A chưa? S i số khối? S S j [...]... về phần tử ngoại lai, việc xác định các phần tử ngoại lai trong mỗi lĩnh vực là khác nhau, bởi vì ý nghĩa ngoại lai của các phần tử ngoại lai mang tính chất và đặc trưng của từng lĩnh vực áp dụng (có thể nhiễu của người này nhưng lại là tín hiệu tốt của người khác), nên rất khó có thể đưa ra được một định nghĩa hoàn chỉnh và chính xác về phần tử ngoại lai 19 CHƯƠNG 2: MỘT SỐ THUẬT TOÁN TÌM KIẾM PHẦN... thuật phát hiện phần tử ngoại lai nhằm các mục đích sau: Cung cấp một số thông tin về mối quan hệ giữa các phần tử ngoại lai Cung cấp một số giải thích hoặc mô tả về không gian dữ liệu mà trong đó xuất hiện phần tử ngoại lai Và một vấn đề khác chúng tôi cần quan tâm đó là việc liên quan tới ý nghĩa của các phần tử ngoại lai Cho đến nay, chưa có một định nghĩa nào có 18 thể định nghĩa một cách đầy đủ... cả các tính chất trong phần 2.3.1 được sử dụng để trợ giúp cho việc xác định các phần tử ngoại lai và không ngoại lai trên cơ sở quan hệ ô - ô và hơn nữa trên cơ sở tính toán khoảng cách giữa các cặp đối tượng, điều này làm giảm thời gian thực hiện thuật toán một cách đáng kể bởi vì có thể loại bỏ một cách nhanh chóng số lượng lớn các đối tượng không phải là ngoại lai Đối với các ô không thỏa mãn các. .. không ngoại lai Ngược lại, sau khi tiến hành tính toán khoảng cách với tất cả các đối tượng thuộc L2(Cx,y) mà sl vẫn nhỏ hơn M thì thông báo P là ngoại lai Ta xét ví dụ về cách chọn cấu trúc ô được trình bày ở hình 2.2.a Các ô đỏ là các ô có số lượng lớn hơn 4 điểm, những ô đó không chứa phần tử ngoại lai Hơn nữa, tất cả các ô liền kề tức là những ô thuộc vào L1 cũng sẽ không chứa phần tử ngoại lai và... một định nghĩa nào về phẩn tử ngoại lai nào được chấp nhận rộng rãi, các phần tử ngoại lai thường được xem là các điểm không thỏa mãn mô hình dữ liệu đang xét Việc phần tử ngoại lai có bị loại bỏ hay không còn phụ thuộc vào từng chương trình ứng dụng và quyết định bởi các chuyên gia 1.3.2 Những ứng dụng của phần tử ngoại lai Đối với một số ứng dụng khám phá tri thức, thường các sự kiện hiếm có, khó có... PHẦN TỬ NGOẠI LAI DỰA TRÊN KHOẢNG CÁCH Trong chương này chúng tôi sẽ trình bày khái niệm các phần tử ngoại lai theo cách nhìn toàn cục, đồng thời giới thiệu thuật toán Nested Loop và hai phiên bản của thuật toán đánh giá theo ô để tìm kiếm các phần tử ngoại lai dựa trên các tập dữ liệu chính nhiều chiều nằm trong bộ nhớ trong và nằm trong bộ nhớ ngoài Chúng tôi đánh giá độ phức tạp về thời gian của các. .. tượng thuộc S(o) mà một đối tượng ngoại lai có thể có 20 Theo định nghĩa các phần tử ngoại lai dựa trên khoảng cách DB(p,D) thì M=(1 - p)*N Việc tìm kiếm tất cả các phần tử ngoại lai sẽ được bắt đầu từ việc tìm kiếm các đối tượng thuộc S(o) của tất cả các điểm O trong tập dữ liệu Trong quá trình tìm kiếm nếu số lượng của S(o) lớn hơn M thì O được gọi là không ngoại lai Ngược lại sau khi kết thúc quá... một phần tử ngoại lai không phải là một đối tượng hợp lệ (có thể do nó được đánh giá và đưa vào không đúng) thì nó có thể được phát hiện, khắc 15 phục và đánh giá bởi các chuyên gia Do đó, nó phụ thuộc vào từng ngữ cảnh các phần tử ngoại lai có thể được loại bỏ từ tập dữ liệu để làm tăng tính thuần nhất của tập dữ liệu còn lại Nói tóm lại, các phẩn tử ngoại lai là những đối tượng đủ khác với hầu hết các. .. LIỆU VÀ PHẦN TỬ NGOẠI LAI Trong chương này, chúng tôi giới thiệu quá trình khám phá tri thức, khai thác dữ liệu và các ứng dụng trong thực tế khai thác dữ liệu có sự hỗ trợ của các kỹ thuật khai thác dữ liệu (Data minning) Tiếp theo chúng tôi trình bày các khái niệm về phần tử ngoại lai, mối quan hệ giữa lĩnh vực khai thác dữ liệu và lĩnh vực khám phá phần tử ngoại lai, cuối cùng tôi xin trình bày các. .. liên quan tới tập dữ liệu còn lại Những đối tượng có đặc tính như vậy được gọi là phần tử ngoại lai Có nhiều định nghĩa được đưa ra để định nghĩa phần tử ngoại lai như định nghĩa của Barnet và Levis: “Một phẩn tử ngoại lai là một đối tượng xuất hiện không nhất quán với tập dữ liệu còn lại” Với Hawkins thì mô tả định nghĩa trực quan về phần tử ngoại lai có thể là “Một đối tượng mà nó lệch hướng rất 14 nhiều . nghĩa một cách đầy đủ và chính xác về phần tử ngoại lai, việc xác định các phần tử ngoại lai trong mỗi lĩnh vực là khác nhau, bởi vì ý nghĩa ngoại lai của các phần tử ngoại lai mang tính chất. 4. Đối tượng và phạm vi nghiên cứu - Nghiên cứu phần tử ngoại lai, mối quan hệ giữa phần tử ngoại lai và khai thác dữ liệu và những ứng dụng của các phần tử ngoại lai. - Tìm hiểu thuật toán. kiếm các phần tử ngoại lai. 5. Phương pháp nghiên cứu - Tham khảo các tài liệu có liên quan đến lĩnh vực nghiên cứu các phần tử ngoại lai trong việc khai thác và xử lý dữ liệu. - Tham khảo các