Ngược lại, nếu c chứa nhiều hơn MinptsLB đối tượng thì tập các lân cận phụ thuộc tham số Minpts của các đối tượng nằm sâu trong c sẽ không chứa p nhưng hầu hết

Một phần của tài liệu Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính (Trang 60 - 64)

các đối tượng của c sẽ nằm trong NMinpts(p) • Do đó phụ thuộc vào khoảng cách giữa p với c và mật độ của c, LOF của p có thể khác với LOF của các đối tượng trong c. Nhận xét quan trọng nữa là MinptsLB xem như là số lượng nhỏ nhất của các đối tượng trong một vùng (như vùng C). Vì thế, các đối tượng khác (như p) có thể là phần tử ngoại lai cục bộ liên quan tới vùng này, giá trị này phụ thuộc vào ứng dụng. Hầu hết các tập dữ liệu mà Knorr thử nghiệm thì thường chọn từ 10 tới 20 để thực hiện.

Tiếp theo, chúng ta sẽ lựa chọn các giá trị có thể của MinptsUB là giá trị cận trên của miền giá trị Minpts: Giống như cận dưới MinptsLB, cận trên có ý nghĩa tương tự. Cho с là một tập hợp trên vùng của các đối tượng “close by” thì MinptsƯB có thể xem nhu là lực lượng lớn nhất của tập с với tất cả các đối tượng trong с có khả năng là phần tử ngoại lai, từ “close by” có nghĩa là các giá trị directmax, directmin, indirect^, indriectmin rất giống nhau. Trong trường hợp này, YỚi các giá trị Minpts lớn hơn MinptsUB thì theo định lý 1 yêu cầu rằng LOF của các đối tượng trong с là gần tới 1 cho nên chúng ta sẽ cung cấp cách chọn MinptsUB là giá trị lớn nhất của các đối tượng gần nhau mà chúng có khả năng là các phàn tử ngoại lai cục bộ.

Chúng ta hãy xem lại trường hợp trình bày trong hình 3.8, nêu lại rằng Si chứa 10 đối tượng, s2 chứa 35 đối tượng và s3 chứa 500 đối tượng, từ các biểu đồ đó, rõ ràng rằng các đối tượng trong s3 không bao giờ là các phần tử ngoại lai và luôn có giá

trị

LOF của chúng gần bằng 1. Ngược lại các đối tượng trong Si có các phần tử ngoại lai lớn và giá trị Minpts=10 tới 35, các đối tượng trong s2 là ngoại lai bắt đầu từ Minpts=45. Hai kết quả cuối có được là do bắt đàu Minpts=36 thì tập các lân cận phụ thuộc tham số Minpts của các đối tượng trong s2 sẽ bắt đầu bao gồm cả một số đối tượng trong Si. từ đó, các đối tượng trong Si và s2 thực hiện cách xử lý giống nhau. Bây giờ, với Minpts=45 các đối tượng trong tập kết hợp các đối tượng Si và s2 bắt đàu có các đối tượng từ s3 cũng là lân cận chung của chúng và do vậy, bắt đầu có các phàn tử ngoại lai liên quan tới s3, phụ thuộc vào miền áp dụng mà chúng ta muốn xem xét một nhóm gồm 35 đối tượng (như s2) thành một vùng hay một nhóm gồm các phần tử gần như các phần tử ngoại lai cục bộ.

Thực vậy, khi đã xác định được MinptsLB và MinptsUB, chứng ta có thể tính toán giá trị LOF của mỗi đối tượng trong miền này và chúng ta đưa ra một đánh giá của việc sắp xếp các đối tượng theo giá trị LOF lớn nhất trong miền xác định, có nghĩa là việc sắp xếp các đối tượng dựa vào max{LOFMinpts(p)|MinptsLB<Minpts< MinptsƯB}. Ngoài cách sắp xếp theo giá trị lớn nhất LOF của mỗi đối tượng trong

miền giá trị của Minpts, có thể sắp xếp theo giá trị nhỏ nhất hoặc giá trị trung bình. Trường hợp ở trong hình 3.8 chứng tỏ rằng việc đưa ra giá trị nhỏ nhất có thể không phù hợp bởi vì giá trị nhỏ nhất có thể loại bỏ hoàn toàn tính ngoại lai của một đối tượng. Việc sắp xếp theo giá trị trung bình có thể làm giảm đi tính ngoại lai của đối tượng, do đó, sắp xếp theo giá trị lớn nhất để làm nổi bật trường hợp mà đối tượng là mang tính ngoại lai nhất.

Hình 3.8 Miền giá tri LOF của các đối tượng trong các vùng Si s2 và s3 3.5 Đánh giá độ phức tạp của thuật toán xác định giá trị LOF.

Khi tính toán các giá trị LOF trong miền giữa MinptsLB và MinptsUB, với n đối tượng trong cơ sở dữ liệu D, chúng ta phải thực hiện hai bước: Bước thứ nhất xác định các lân cận MinptsUB-nearest, và bước thứ hai là tính các giá trị LOF.

Trong bước thứ nhất các lân cận MinptsUB-nearest của mọi điểm p được tìm thấy vùng YỚi khoảng cách của chúng tới p, kết quả của bước này là do việc thực hiện cơ sở dữ liệu M cỡ n*MinptsUB khoảng cách. Một lưu ý nhỏ là cỡ của kết quả tức thời này phụ thuộc vào số chiều của dữ liệu nguồn. Độ phức tạp thời gian của bước này là 0(n*thời gian truy vấn k-nn), với truy vấn k-nn(k-nearest-neighbor) chúng ta có nhiều sự lựa chọn khách nhau: Với dữ liệu có số chiều thấp, chúng ta sử dụng và tiếp cận dựa trên ô để có được truy Y ấn k-nn trong thời gian hằng số, dẫn đến thời gian chạy là O(n) cho việc thực hiện bước này. Với dữ liệu có số chiều từ

trung bình đến trung bình khá thì chúng ta có thể sử dụng một chỉ số, cho ta độ phức tạp trung bình để có được truy Y ấn k-nn là O(logn), dẫn đến độ phực tạp cho bước này là 0(n*logn), với số chiều cao chứng ta nên quét tuần tự, YỚi độ phức tạp là 0(n), vì vậy dẫn đến độ phức tạp của cả bước này là 0(n2 ). Trong các thực nghiệm, chúng ta chỉ sử dụng tập dữ liệu với số chiều cỡ trung bình nên độ phức tạp là 0(n*logn), đồng thời ta thấy việc thực hiện gần như tuyến tính đối với dữ liệu từ 2 đến 5 chiều nhưng lại suy biến với các tập dữ liệu từ 10 đến 20 chiều.

Trong bước thứ hai, các giá trị LOF được tính toán bằng việc thực hiện cơ sở dữ liệu M, cơ sở dữ liệu nguồn D không càn cho bước này bởi vì cơ sở dữ liệu M có đủ thông tin để tính toán các giá trị LOF và cơ sở dữ liệu M được duyệt 2 lần YỚi một giá trị của Minpts giữa MinptsLB và MinptsUB. Trong lần duyệt đầu tiên các mật độ cục bộ đạt được của mọi đối tượng được tính toán và trong lần duyệt thứ hai các giá trị LOF cuối cùng được tính toán và ghi ra file, các giá trị này sau đó sẽ được sử dụng để sắp xếp các đối tượng theo giá trị lớn nhất của LOF nằm trong MinptsLB và MinptsUB. Do vậy, độ phức tạp thời gian của bước này là 0(n).

CHƯƠNG 4: CÀI ĐẶT VÀ THỬ NGHIỆM4.1Yêu cầu cài đăt 4.1Yêu cầu cài đăt

Chương trình “Thuật toán Nested Loop” được viết bằng ngôn ngữ C# trên bộ Visual Studio 2010 sử dụng phiên bản .Net Framewok 4.0. Yêu cầu tối thiểu của hệ thống khi sử dụng chương trình:

- .Net Framework phiên bản 4.0 trở lên. - Hệ điều hành tối thiểu Windows XP SP2. - Sql Server phiên bản 2000 trở lên.

Phiên bản .Net Framework 4.0 hỗ trợ hệ điều hành Windows XP SP3 trở lên, để cài đặt trên Windows XP SP2, cần cài đặt thêm phần mở rộng Windows Imaging Component (WIC) trước khi cài đặt .Net Framework 4.0.

Mã nguồn đã được biên dịch thành tệp thực thi .exe trên môi trường Windows nên chỉ cần cài đặt bộ thư viện yêu cầu ở trên là có thể chạy được chương trình.

4.1.1 Cấu trúc tệp dữ liệu đầu vào

Chương trình sử dụng file Excel để chứa dữ liệu đầu vào. cấu trúc file như sau:

+ Tên file excel: Tùy ý theo quy chuẩn đặt tên file của hệ điều hành Windows. + Gồm 1 sheet chứa dữ liệu:

Sheet 1: Chứa dữ liệu toàn bộ các bản ghi, dòng thứ nhất là tiêu đề cột có cấu trúc: (MaKH; TenKH; SoTienPheDuyet; SoGocDaThu; SoLaiDaThu) lần lượt là tên cột dữ liệu, các dòng tiếp theo là các bản ghi chứa dữ liệu xử lý-

4.1.2 Cấu trúc các lớp chưomg trình

Mối liên hệ giữa các lớp ừong chương trình:

Sỉ Nested Loop

A B c D E I

1 MaKH TenKH SoTienPheD

uvet SoGocDaThư SoLaiDaThu 1

_2 31600194972 92 Trần Thị ánh 10000000 5QQOOOO 1491700 3 ^ 316001957951531600196249 Vũ Văn Sắt 600Ũ0ỮQ0 48385000 6006000 50 La Vãn Do 5QOOOOQO 16000000 7713500 5 31600034922

92 Nguyễn Trung Thầnh 2QQOOQOQ ũ 984QOO

Một phần của tài liệu Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính (Trang 60 - 64)

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

(89 trang)
w