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

Khám phá phần tử ngoại lai trong cơ sở dữ liệu

121 578 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 121
Dung lượng 1,83 MB

Nội dung

Tuy nhiên, với số lượng dữ liệu được tập trung và lưu trữ trong cơ sở dữ liệu ngày càng lớn thì việc tìm kiếm các ngoại lệ hoặc các phần tử ngoại lai trở nên cấp thiết hơn nhiều.. Đồng t

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐẶNG THỊ THU HIỀN

KHÁM PHÁ PHẦN TỬ NGOẠI LAI

TRONG CƠ SỞ DỮ LIỆU

Chuyên ngành : Công nghệ thông tin

Mã số : 1.01.10

LUẬN VĂN THẠC SĨ

Người hướng dẫn khoa học:

TS Hoàng Xuân Huấn

Hà Nội – 2005

Trang 2

1.4 Mối quan hệ giữa phần tử ngoại lai và khai thác dữ liệu 12

CHƯƠNG 2: CÁC THUẬT TOÁN TÌM KIẾM PHẦN TỬ NGOẠI LAI

DỰA TRÊN KHOẢNG CÁCH

14

2.1 Định nghĩa các phần tử ngoại lai dựa trên khoảng cách 14

2.3.2 Thuật toán FindAllOutsM cho các tập dữ liệu trong bộ nhớ chính 18

2.3.2.2 Mô tả thuật toán FindAllOutsM (Find All Outliers in Memory) 19 2.3.2.3 Đánh giá độ phức tạp thuật toán trong không gian hai chiều 21

2.3.3 Tìm kiếm các phần tử ngoại lai DB(p,D) trong các tập dữ liệu lớn, ở

bộ nhớ ngoài

25

Trang 3

2.3.3.2 Thuật toán FindAllOutsD cho các phần tử ngoại lai nằm trong bộ

nhớ ngoài

27

3.1 Các khái niệm về độ mạnh của các phần tử ngoại lai DB 36

3.2.2 Các phần tử ngoại lai yếu và các phần tử ngoại lai tầm thường 40

3.4 Thuật toán tìm kiếm các phần tử ngoại lai không tầm thường

4.3.1 Tổng quát hoá các hàm khoảng cách, các phép biến đổi không gian

mạnh

63

4.3.2 Các bộ ước lượng nhị biến mạnh: hiệp phương sai và hiệp phương sai 67

Trang 4

mạnh

4.3.5.3 Các thuật toán ngẫu nhiên đối với việc tính toán DSE k-D 86

4.3.6.3 So sánh kích cỡ và số mặt cắt(patches) với tỷ lệ xung đột 94

CHƯƠNG 5: XÁC ĐỊNH CÁC PHẦN TỬ NGOẠI LAI CỤC BỘ DỰAVÀO

MẬT ĐỘ

97

5.1 Một số trở ngại của các cách tiếp cận trước đây 97

5.2 Định nghĩa các phần tử ngoại lai theo cách nhìn địa phương 98

5.3.4 Cận trên và cận dưới của đối tượng có các lân cận trực tiếp nằm trong

nhiều vùng

106

5.6 Đánh giá độ phức tạp của thuật toán xác định giá trị LOF 114

Trang 5

DANH MỤC TỪ VIẾT TẮT

KDD (Know ledgement Discovery

in Database)

Khám phá tri thức trong cơ sở dữ liệu

MAD (Median Absolute Deviation) Là tên một bộ ƣớc lƣợng mạnh đơn biến

Trang 6

MỞ ĐẦU

Thế kỷ XXI được xem là một kỷ nguyên của nền kinh tế tri thức Các công nghệ khám phá tri thức được áp dụng rộng rãi trong nhiều lĩnh vực và đã đem lại những thành tựu to lớn Nhưng các công nghệ khám phá tri thức thường nhằm mục đích tìm kiếm, khám phá các dạng và mẫu thường gặp Chủ yếu tập trung vào các hướng: Tìm kiếm các luật kết hợp, nhận dạng và phân lớp mẫu…Còn lĩnh vực khám phá phần tử ngoại lai mới bước đầu được sự quan tâm nghiên cứu Mặc dù nó được ứng dụng trong nhiều lĩnh vực của cuộc sống: như phát hiện những thẻ bất thường trong hệ thống ngân hàng, những tuyến đường bất ổn không hợp lý trong giao thông, ứng dụng trong hệ thống an ninh, dự báo thời tiết, trong thị trường chứng khoán, trong lĩnh vực thể thao v.v.v Tuy nhiên, với số lượng dữ liệu được tập trung và lưu trữ trong cơ sở

dữ liệu ngày càng lớn thì việc tìm kiếm các ngoại lệ hoặc các phần tử ngoại lai trở nên cấp thiết hơn nhiều

Xuất phát từ thực tế đó, luận văn này thực hiện các nhiệm vụ sau:

- Tìm hiểu các khái niệm về khám phá tri thức (KDD) và khai thác dữ liệu (Data mining)

- Tìm hiểu các khái niệm về phần tử ngoại lai theo cách nhìn toàn cục và địa phương

- Khảo cứu các thuật toán tìm kiếm các phần tử ngoại lai trên dữ liệu lớn, nhiều chiều

- Kiểm tra đánh giá các thuật toán trên dữ liệu thực: đó là tập dữ liệu về các cầu thủ chơi Hockey do Knorr thực hiện và tập dữ liệu về các khách hàng của ngân hàng đầu

tư và phát triển BIDV do chúng tôi thực hiện

Ngoài phần phần mở đầu và kết luận, luận văn gồm có năm chương

Chương 1, giới thiệu về quá trình khám phá tri thức bao gồm các khái niệm: Khai thác dữ liệu(Data mining), Khám phá tri thức, khái niệm về phần tử ngoại lai và các ứng dụng của chúng Đồng thời, trình bày các ứng dụng sử dụng các kỹ thuật khai thác dữ liệu trong các lĩnh vực khác nhau và mỗi quan hệ giữa phần tử ngoại lai và lĩnh vực khai thác dữ liệu

Chương 2 chúng tôi giới thiệu định nghĩa các phần tử ngoại lai dựa trên khoảng cách DB(p, D) theo cách nhìn toàn cục Đồng thời trình bày hai thuật toán khám phá phần

tử ngoại lai trong tập dữ liệu lớn, nhiều chiều: đó là thuật toán Nested-Loop có độ phức tạp O(kN2)(k là chiều và N là cỡ của dữ liệu ), thuật toán đánh giá theo ô có độ phức tạp tuyến tính với N nhưng lại lũy thừa đối với chiều của dữ liệu: O(mckkk/2+kN), với m là một số các ô, c là một hằng số

Trang 7

Chương 3 chúng tôi trình bày các kiến thức sâu về phần tử ngoại lai Cung cấp các khái niệm về độ mạnh yếu của phần tử ngoại lai Đưa ra một thuật toán tìm tất cả các phần tử ngoại lai DB “mạnh nhất” trong một tập dữ liệu Thuật toán này sử dụng chiến lược xén tỉa để tìm các phần tử ngoại lai mạnh nhất Nó cũng trả về các phần tử ngoại lai “yếu” tuỳ theo yêu cầu

Chương 4, trình bày sự phân tích về cách tìm các giá trị mặc định cho các tham số p

và D, đồng thời giới thiệu các phép biến đổi để giúp việc tìm kiếm các phần tử ngoại lai DB có ý nghĩa hơn Công việc này liên quan đến việc biến đổi Box-Cox sang dạng chuẩn tương đối và tích phân monte-Carlo.Chúng tôi cũng khám phá vai trò lấy mẫu trong việc xác định các giá trị mặc định p và D Tổng quát hoá cách tìm kiếm các phần tử ngoại lai bằng việc sử dụng các biến đổi không gian mạnh Chúng tôi giới thiệu bộ đánh giá Donoho-Stahel (DSE) Trình bày một số thuật toán dùng để tính toán bộ DSE Trong đó có thuật toán mới của Knorr, gọi là thuật toán lai - ngẫu nhiên (Hybrid – Random) Trong hầu hết các trường hợp, nó thực hiện tốt hơn các thuật toán DSE khác

Chương 5 chúng tôi giới thiệu một định nghĩa chặt chẽ hơn về phần tử ngoại lai khi xem xét các đối tượng trong tập dữ liệu dựa trên mật độ theo cách nhìn địa phương Trình bày cấp độ ngoại lai và các tính chất của từng đối tượng Đồng thời kiểm tra chương trình ứng dụng thuật toán LOF trên cơ sở dữ liệu thực của ngân hàng đầu tư

và phát triển BIDV, sau đó đưa ra ý nghĩa của các phần tử ngoại lai Cuối cùng trình bày đánh giá độ phức tạp của thuật toán xác định giá trị LOF

Trang 8

CHƯƠNG 1: KHÁM PHÁ TRI THỨC TRONG CƠ SỞ DỮ LIỆU VÀ

PHẦN TỬ NGOẠI LAI

Nội dung của chương này 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 thực tế có sự hỗ trợ của các kỹ thuật khai thác dữ liệu Đồng thời, trình bày khái niệm về phần tử ngoại lai và mỗi quan hệ giữa lĩnh vực khám phá phần tử ngoại lai và lĩnh vực khai thác dữ liệu

số các hệ thống cơ sở dữ liệu hỗ trợ như: Dữ liệu âm thanh, hình ảnh…không thể đáp ứng được khi các yêu cầu của người sử dụng ngày càng cao và phức tạp Do đó, với nhu cầu tìm kiếm tri thức trong cơ sở dữ liệu đã hình thành một lĩnh vực mới: Khám phá tri thức trong cơ sở dữ liệu Khám phá tri thức là toàn bộ quá trình tìm kiếm tri thức từ dữ liệu, bao gồm các bước sau:

- Chuẩn bị dữ liệu: Dữ liệu được tập trung vào trong các cơ sở dữ liệu, các kho dữ

liệu Dữ liệu có thể là chưa sạch tức là có cả dữ liệu sai sót, không phù hợp, nhiễu, và các dữ liệu không đủ thông tin Do đó, trong bước này dữ liệu được làm sạch để loại

bỏ các dữ liệu không phù hợp, dữ liệu không liên quan Công việc này có thể được tiến hành trước hoặc sau khi phát hiện dữ liệu bị nhiễm bẩn Đồng thời, sau khi được làm sạch, dữ liệu được làm giàu để bổ sung những thông tin cần thiết Sau đó dữ liệu được biến đổi theo các dạng phù hợp để thực hiện quá trình khai thác dữ liệu

- Khai thác dữ liệu: Khai thác dữ liệu là một bước quan trọng trong quá trình khám

phá tri thức Bước này sử dụng các kỹ thuật, các phương thức thông minh để xác định các mẫu dữ liệu theo yêu cầu

Khai thác dữ liệu được định nghĩa là quá trình khai thác, khám phá những thông tin hữu ích, chưa được biết trước, tiềm ẩn và không tầm thường từ những tập dữ liệu lớn

Khai thác dữ liệu có thể bao gồm:

● Tìm kiếm các luật kết hợp: Sử dụng các luật đơn giản để biểu diễn tri thức Tìm kiếm những mỗi quan hệ có ích của dữ liệu

● Dự báo: Xác định các hàm hồi quy

Trang 9

● Nhận dạng và phân lớp mẫu: tìm kiếm, xác định các mẫu theo yêu cầu, phân chia các mẫu thành các lớp nhằm phục vụ cho mục đích sử dụng

● Phát hiện phần tử ngoại lệ : Tìm kiếm và xác định các đối tượng dữ liệu lỗi, bất thường, và các phần tử ngoại lai

Môi trường khám phá tri thức nhằm mục đích hỗ trợ quá trình khai thác dữ liệu Do đó, hai thuật ngữ “khai thác dữ liệu”(Data Mining) và “khám phá tri thức”(Knowledge Discovery) thường được sử dụng để thay thế cho nhau

- Đánh giá: Bước đánh giá bao gồm đánh giá mẫu và biểu diễn tri thức Đánh giá

mẫu là tìm ra những mẫu quan tâm từ các mẫu đã có trong bước khai thác dữ liệu Có thể sử dụng các ngưỡng cần thiết để lọc ra các mẫu cần khai thác Biểu diễn tri thức

là quá trình cho phép người sử dụng tương tác với hệ thống bằng các nhiệm vụ hoặc các truy vấn tìm kiếm dữ liệu cụ thể Cung cấp thông tin nhằm mục đích trợ giúp việc tìm kiếm và thực hiện khai thác dữ liệu chi tiết dựa trên dữ liệu đã được khai thác Ngoài ra, biểu diễn tri thức cho phép người sử dụng trình duyệt các lược đồ cơ sở dữ

liệu và kho dữ liệu hoặc các cấu trúc dữ liệu

Hình 2.1 trình bày tổng thể qui trình KDD, không chỉ bao gồm khai thác dữ liệu mà còn có các bước khác để có được kết quả Các bước khai thác dữ liệu thường tiêu tốn thời gian và phức tạp nhất của qui trình, tuy nhiên các bước tiền xử lý và hậu xử lý cũng không đơn giản và có thể tiêu tốn nhiều thời gian hơn so với các thuật toán khai thác dữ liệu

Chúng tôi thực hiện hầu hết các bước trên hình 2.1 trong việc tìm kiếm các phần tử ngoại lai DB Một số bước tiền xử lý liên quan đến việc tìm các giá trị khởi tạo hợp lý cho p và D (xem chương 4) Hậu xử lý có thể được thực hiện bởi chuyên gia Những

sự lựa chọn thích hợp được thực hiện trong các bước tiền xử lý bởi cả người sử dụng

và máy có thể giảm nhiều thời gian liên quan đến bước khai thác dữ liệu và có thể giảm công việc thủ công trong phần hậu xử lý Bằng cách lựa chọn các giá trị thích hợp cho p và D, quy trình KDD có thể làm cho các phần tử ngoại lai có nhiều ý nghĩa hơn đối với người sử dụng và giảm thời gian xác định p và D

Trang 10

Hình 2.1 Qui trình KDD Knowledgement Discovery in Database – Khám phá Tri thức trong Cơ sở dữ liệu

1.2 Các ứng dụng sử dụng kỹ thuật khai thác dữ liệu

Có rất nhiều ứng dụng trong các lĩnh vực khác nhau sử dụng các kỹ thuật khai thác

dữ liệu nhằm hỗ trợ cho mục đích sử dụng Ví dụ: trong thương mại, một công ty hay một tổ chức sử dụng các kỹ thuật khai thác dữ liệu để tặng khuyễn mãi cho các khách hàng dựa vào tần suất truy cập website, kiểu khách hàng, số lượng hàng đã mua ở các lần trước Trong ngân hàng, người ta sử dụng các kỹ thuật khai thác dữ liệu để xác định rủi ro về thẻ tín dụng Trong các công ty bảo hiểm, sử dụng kỹ thuật khai thác

Đánh Giá và Biểu Diễn

Các File Bằng

Trang 11

dữ liệu để xác định các lỗi và các trường hợp rủi ro cao có thể xảy ra Các tổ chức chống tội phạm sử dụng các kỹ thuật khai thác dữ liệu để tìm kiếm, nhận dạng tội phạm Các công cụ tìm kiếm trang Web áp dụng các kỹ thuật thông minh để có thể tìm kiếm được những trang web theo yêu cầu của người sử dụng với độ chính xác cao

Các kỹ thuật khai thác dữ liệu còn được áp dụng trong các lĩnh vực khác như phân tích thị trường chứng khoán, dự báo tỷ lệ thay đổi ngoại tệ, mô hình hóa Protein, tìm kiếm các gene trong các chuỗi DNA, dự báo thời tiết , nhận dạng ảnh và văn bản…

1.3 Phần tử ngoại lai

Trong các tập dữ liệu thường tồn tại các đối tượng dữ liệu không tuân theo một hình thức hoặc một mô hình dữ liệu chung, các đối tượng dữ liệu mà giá trị dữ liệu được xem là nằm ngoài phạm vi hoặc không liên quan tới tập dữ liệu còn lại Những đối tượng có đặc tính trên được gọi là các phần tử ngoại lai

Các phần tử ngoại lai có thể do lỗi thực hiện hoặc lỗi phép đo gây ra Ví dụ việc hiển thị một người có tuổi 999 có thể là do việc thiết lập mặc định chương trình không giới hạn tuổi dữ liệu Mặt khác, các phần tử ngoại lai có thể là kết quả của quá trình tự nhiên

Có nhiều thuật toán khai thác dữ liệu cố gắng làm cực tiểu hoá sự ảnh hưởng của các phần tử ngoại lai, loại bỏ chúng cùng một lúc Tuy nhiên, điều đó có thể làm mất những thông tin tiềm ẩn quan trọng khi “nhiễu của người này lại là tín hiệu của người khác”

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.” Hawkins 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 nhiều với đối tượng khác do đó dẫn đến

sự nghi ngờ rằng chúng được tạo ra bởi một kỹ thuật khác.” [20] Nói khác đi, các đối tượng không cùng một mô hình tạo sinh với tập dữ liệu còn lại được xem là các phần

tử ngoại lai

Một phần tử ngoại lai có thể là một đối tượng dữ liệu trong các trường hợp sau:

● Nằm trong một phân bố khác với phân bố của tập dữ liệu còn lại

● Là một đối tượng có giá trị hợp lệ nhưng không phải là đối tượng mong muốn

● Là đối tượng dữ liệu được tạo sinh có sai sót

Đối với trường hợp các phần tử ngoại lai có thể là các đối tượng hợp lệ nhưng chúng

có giá trị không mong muốn, ta không cần thiết phải loại bỏ chúng khỏi tập dữ liệu nhưng các đối tượng này phải được xác định hay nhận dạng Draper và Smith nhận

Trang 12

xét rằng một phần tử ngoại lai có thể “cung cấp thông tin mà các đối tượng khác không thể bởi vì nó xuất hiện từ sự kết hợp bất bình thường của một số trường hợp rất có ý nghĩa” [13]

Nếu một phần tử ngoại lai không phải là một đối tượng hợp lệ ( có thể là do nó được đánh giá và đưa vào không đúng) thì nó có thể được phát hiện, khắc phục và đánh giá bởi các chuyên gia Do đó, 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 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 điểm khác.Tuy nhiên, không có một định nghĩa 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 thoả 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 chuyên gia

1.4 Mối quan hệ giữa phần tử ngoại lai và khai thác dữ liệu

Trước khi các kỹ thuật khai thác thác dữ liệu ra đời, thông tin hữu ích chỉ được khai thác hiệu quả trên các tập dữ liệu với cỡ và số chiều dữ liệu là nhỏ Do đó, để có thể khai thác dữ liệu một cách hiệu quả với khối lượng thông tin lớn thì cần thiết phải có các công cụ khai thác dữ liệu tốt, các thuật toán khai thác dữ liệu tự động, thời gian thực hiện nhanh Trong thực tế các chương trình ứng dụng khai thác dữ liệu thường phải khai thác dữ liệu trên các tập dữ liệu rất lớn không phù hợp với bộ nhớ chính

Dữ liệu đó được gọi là dữ liệu nằm ở bộ nhớ ngoài(Disk-resident Data)

Một vấn đề được quan tâm trong luận văn này là tìm hiểu các thuật toán khai thác, tìm kiếm các phần tử ngoại lai trong các tập dữ liệu lớn, nhiều chiều Hiện nay, một

số các kỹ thuật phát hiện phần tử ngoại lai nhằm các mục đích sau:

a) 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

b) Cung cấp một số thông tin về mối quan hệ giữa các phần tử ngoại lai (ví dụ đối với cường độ của hai phần tử ngoại lai )

Một vấn đề khác cần quan tâm 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ó thể định 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 và đặc trưng của từng lĩnh vực áp dụng, nên rất khó để đưa ra được một định nghĩa hoàn chỉnh về phần tử ngoại lai

1.5 Ứng dụng của các phần tử ngoại lai

Trang 13

Đối với một số ứng dụng khám phá tri thức, các sự kiện hiếm có thường được quan tâm hơn các sự kiện thông thường, chẳng hạn việc phát hiện các thẻ tín dụng giả, theo dõi các hoạt động tội phạm trong thương mại điện tử

Sau sự tấn công các trang web năm 2000 và đặc biệt sự kiện khủng bố tấn công nước

Mỹ ngày 11/9/2001, người ta quan tâm nhiều đến việc bảo mật máy tính, bao gồm cả phần cứng, phần mềm và cả hệ thống mạng (ví dụ:phát hiện sự xâm nhập) Bảo mật

hệ thống mạng bao gồm tần suất của các tấn công dịch vụ mà một sự kiện bên ngoài được phát hiện trong gói dữ liệu hệ thống mạng (ví dụ: số lượng lớn không bình thường các gói dữ liệu từ một nguồn lạc danh) Công cụ thống kê có thể được dùng

để tìm ra một thói quen là ngoại lệ tương ứng với một lịch sử đã biết (ví dụ: những thói quen điển hình theo đăng nhập, sử dụng CPU và truy xuất dữ liệu )

Đối với các hệ thống thanh toán điện tử bao gồm các ứng dụng thẻ tín dụng, thẻ điện thoại và thẻ thông minh, chúng ta quan tâm tới việc phát hiện thẻ giả

Một ứng dụng nữa của việc phát hiện phần tử ngoại lai là nghiên cứu cổ phiếu Các công ty và các cá nhân đã từng thử dự đoán giá trị các cổ phiếu được niêm yết Giả sử phần lớn giá các cổ phiếu ở một nghành đang lên cao ở một thị trường ảo, và có các thị trường khác (trong cùng một ngành) mà giá cổ phiếu biến động đột ngột Các phần tử ngoại lai như thế nên được xác định, và sau đó nhà phân tích có thể dựa vào các nguyên nhân để giải thích sự quá nóng hoặc quá lạnh của thị trường để xác định khuynh hướng của cổ phiếu (ví dụ mua, bán, tích luỹ) Sự có mặt của các phần tử ngoại lai trong các cổ phiếu của các quỹ chung, có thể giúp làm đa dạng hoá bảng niêm yết cổ phiếu trong cùng một loại

Trên các thị trường chứng khoán thế giới, hàng triệu giao dịch được thực hiện mỗi ngày Các nhà quản lý bảng niêm yết, các nhà tư vấn đầu tư & các doanh nhân nhỏ tìm mua các cổ phiếu đang xuống để kiếm lời Các hãng kinh doanh ở phố Wall là một trong những nhà chứng khoán sành sỏi nhất thế giới về phần cứng và phần mềm máy tính tiên tiến Ví dụ Công ty Insighful nhà sản xuất phần mềm thống kê S-PLUS bán các công cụ thống kê và khai thác dữ liệu siêu việt cho rất nhiều khách hàng trong lĩnh vực đầu tư

Trong thể thao chuyên nghiệp các ông bầu thường khuyến khích sự cạnh tranh giữa các cầu thủ trong đội để xây dựng một đội mạnh đặc biệt với nguồn tài chính cố định

và một đội hình tài năng, đa dạng (được xác định bằng những sự thống kê, sự trình diễn của các cầu thủ) Ví dụ một ông bầu có thể chấp nhận các cầu thủ chưa nổi danh (có thể tương đối dẻ), những cầu thủ có phong cách thi đấu tốt và ấn tượng

Trang 14

CHƯƠNG 2: CÁC THUẬT TOÁN TÌM KIẾM PHẦN TỬ NGOẠI LAI

DỰA TRÊN KHOẢNG CÁCH

Trong chương này 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 NL 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 trên các tập dữ liệu lớn, nhiều chiều nằm trong bộ nhớ trong hoặc nằm trong bộ nhớ ngoài Chúng tôi giới thiệu đánh giá độ phức tạp về thời gian của các thuật toán, trình bày thực nghiệm của Knorr[24] để đánh giá và so sánh thời gian thực hiện của các thuật toán

2.1 Định nghĩa các phần tử ngoại lai dựa trên khoảng cách

Cho N là số lượng các đối tượng trong tập dữ liệu T Gọi d là hàm khoảng cách giữa một cặp đối tượng bất kỳ trong tập dữ liệu Với một đối tượng O, gọi S(o) là tập các lân cận của o bao gồm tất cả các đối tượng q thỏa mãn điều kiện: d(o,q)≤ D, trong đó

D là tham số đầu vào

Có nghĩa là:S(o)= {qT| d(o,q)≤ D }

S(o) được gọi là tập các lân cận của điểm O theo khoảng cách D

Định nghĩa: Một đối tượng O trong một tập cơ sở dữ liệu T được gọi là một phần tử

ngoại lai dựa trên khoảng cách DB(p, D) (DB là viết tắt của từ Distance Based) nếu

có ít nhất p phần trăm các đối tượng trong T mà khoảng cách giữa chúng với O lớn hơn D Điều đó có nghĩa là lực lượng của tập hợp S(o) là nhỏ hơn hoặc bằng (100-p)% cỡ của T

Gọi M là số lượng lớn nhất các đối tượng thuộc S(o) mà một đối tượng ngoại lai có thể có

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 lai sau khi kết thúc quá trình tìm kiếm mà lực lượng của S(o) ≤M thì thông báo O là phần tử ngoại lai

2.2 Thuật toán Nested-Loop

2.2.1 Tư tưởng thuật toán

Để tìm kiếm tất cả các phần tử ngoại lai dựa trên khoảng cách DB(p, D) trên tập dữ liệu lớn, nằm ở bộ nhớ ngoài, thuật toán NL chia tập dữ liệu thành các khối sử dụng các vòng lặp lồng nhau để tìm kiếm.Cụ thể, giả sử có một bộ nhớ trung gian cỡ b%

Trang 15

tập dữ liệu Tư tưởng thuật toán chia bộ nhớ thành hai phần gọi là mảng A và mảng

B Mỗi mảng cỡ b/2% cỡ của tập dữ liệu Chia tập dữ liệu thành n=2*100/b khối để

mỗi khối có thể được chứa trong mỗi mảng của bộ nhớ

Đầu tiên, đọc một khối vào mảng A, với mỗi đối tượng O trong mảng A, thuật toán

lưu lại số lượng các đối tượng thuộc S(o) Việc tính toán sẽ kết thúc cho một đối

tượng cụ thể ngay khi số lượng các đối tượng thuộc S(o) vượt quá M và thông báo O

không phải là phần tử ngoại lai Tiếp theo, đọc lần lượt các khối còn lại vào trong

mảng B Với mỗi đối tượng O thuộc mảng A chưa được thông báo là không ngoại lai

và các đối tượng q thuộc khối nằm trong mảng B Chúng ta sẽ tiến hành tính toán

khoảng cách d(o,q) để xem xét q có là lân cận thuộc S(o) hay không Khi số lượng

của S(o) lớn hơn M thì thông báo P là không ngoại lai Ngược lai sau khi thực hiện

tính toán với tất cả các khối còn lại mà số lượng S(o) ≤M thì thông báo O là ngoại lai

Bằng cách đổi vai trò hai mảng : mảng A và mảng B , thuật toán sẽ lần lượt tính toán

và đánh giá được tất cả các điểm thuộc các khối còn lại

Xét thuật toán NL với bộ nhớ trung gian là 50% cỡ cơ sở dữ liệu Gọi A,B,C,D lần

lượt là 4 khối lôgíc 1/4 chứa tập dữ liệu Chúng ta đưa các khối vào các mảng theo

thứ tự dưới đây và so sánh:

1 A với A , sau đó với các khối B,C,D Tổng số là 4 khối được đọc

2 D với D , sau đó với các khối A ( không yêu cầu đọc ),B,C Tổng số là 2 khối

được đọc

3 C với C , sau đó với các khối D,A,B Tổng số là 2(A,B) khối được đọc

4 B với B , sau đó với các khối C,A,D Tổng số là 2 khối được đọc

Do đó, có 10 khối lớn được đọc, tức là tập dữ liệu được đọc 10/4=2.5 lần Trong phần

2.3.3.2.3 chúng ta sẽ tính toán số lượng yêu cầu đọc tập dữ liệu cho quá trình thực

hiện thuật toán trong trường hợp chung

2.2.2 Mô tả thuật toán NL:

1 Đưa một khối các điểm dữ liệu từ T vào trong mảng A (có cỡ là b/2% cỡ của

Trang 16

3 while (những khối còn chưa được so sánh với mảng A) do

{

a Lưu một khối vào mảng B ( Nhưng sẽ giữ lại một khối mà nó chưa được lưu vào mảng A để tính toán cho lần sau)

b for(mỗi điểm ti chưa được đánh dấu trong mảng A) do

{ for(mỗi điểm tj trong mảng B) do

if (d(ti,tj)≤D) { counti++;

if (counti>M) { ti =không ngoại lai; break;} }

} }

4 for(mỗi điểm ti chưa được đánh dấu trong mảng A) do ti=ngoailai;

5 thuật toán sẽ kết thúc nếu khối đang lưu trong mảng B đã được lưu vào mảng A ở một thời điểm nào đó trong quá trình tính toán trước đây ; ngược lại, đổi vai trò hai mảng A và B và quay lai bước 2

2.2.3 Đánh giá độ phức tạp của thuật toán NL

Trong bước 1 của thuật toán chỉ có một khối được đọc vào bộ nhớ trong nên thời gian của bước này là thời gian hằng Tuy nhiên, điều này còn tùy thuộc vào tốc độ xử lý của CPU và tốc độ vào ra (I/O) Do một mảng chứa b/2% cỡ của cơ sở dữ liệu T nên mỗi khối có x=(b/2)*(N/100) đối tượng Hàm tính khoảng cách d(x,y) có độ phức tạp tuyến tính với số chiều của dữ liệu K nên ở trong bước 2 mất thời gian tính toán là O(x2*k) Trong bước 3.b mất thời gian là O(x2*k) Do đó độ phức tạp trong bước 3 là O((n-1)*x2*k) với n là tổng số các khối dữ liệu Ở bước 4, mất thời gian là O(x) Cho nên tổng thời gian thực hiện thuật toán của các bước 2, bước 3, bước 4 là O((n-1)*x2*k)

Trong bước 5, hai mảng A và B được trao đổi vai trò cho nhau và quay lại bước 2 Bước này có số vòng lặp là (n-1) lần tương ứng với n-1 khối nằm trong mảng đóng vai trò là mảng A

Do đó, độ phức tạp của toàn bộ thuật toán NL là O((n-1)2

*x2*k)=O(N2*k)

Trong phần dưới đây, chúng ta sẽ trình bày 2 phiên bản của thuật toán đánh giá theo ô ( Cell Based Algorithms ) Thuật toán có độ phức tạp tuyến tính với N, nhưng lại lũy thừa đối với k Do đó, thuật toán này chỉ áp dụng đối với các giá trị k bé Mục đích quan trọng là làm tăng tính hiệu quả việc sử dụng quá trình xử lý giữa các ô để thay thế việc tính toán khoảng cách giữa các cặp điểm Do đó tránh được độ phức tạp tuyến tính với N2

Trang 17

2.3 Thuật toán đánh giá theo ô.

Để minh họa cho ý tưởng và các đánh giá khác nhau của thuật toán đánh giá theo ô Đầu tiên, một phiên bản đơn giản của thuật toán sẽ được xem xét Phiên bản này giả

sử rằng cả cấu trúc ô nhiều chiều và toàn bộ cơ sở dữ liệu đều có thể lưu được trong

bộ nhớ chính Để dễ dàng cho việc trình bày, thuật toán được mô tả để thực hiện với các tập dữ liệu trong không gian hai chiều, và sau đó xử lí trong k chiều Trong phần 2.3.3 sẽ trình bày phiên bản đầy đủ của thuật toán đánh giá theo ô tìm kiếm các phần

tử ngoại lai trên các tập dữ liệu lớn nằm trong bộ nhớ ngoài

2.3.1 Các khái niệm và tính chất liên quan

Với chiến lược tìm kiếm tất cả các phần tử ngoại lai dựa trên khoảng cách dựa vào ô, mỗi một đối tượng trong tập dữ liệu được ánh xạ hoặc lượng tử hóa tới các ô có cạnh l= D /(2√¯

Thường thì L1 của một ô bao gồm có 8 ô Chỉ loại trừ những ô ở gần biên của cấu trúc ô

Tính chất 1: Bất kỳ một cặp đối tượng trong cùng một ô thì khoảng cách giữa chúng

lớn nhất là D/2

Tính chất 2: Nếu Cu,v là một ô thuộc L1(Cx,y) thì với mỗi P€Cu,v và với mọi

q€Cx,y ta luôn có khoảng cách giữa chúng lớn nhất là D

Tính chất 1 đúng bởi vì khoảng cách giữa hai điểm bất kỳ trong cùng một ô luôn nhỏ hơn độ dài đường chéo của ô có cạnh bằng l= D/(2*√¯

2) mà độ dài đường chéo của một hình vuông là √¯2*l=√¯2(D/(2√¯

2))=D/2

Trang 18

Tính chất 2 cũng đúng vì khoảng cách giữa cặp đối tượng bất kỳ trong hai ô không thể lớn hơn hai lần độ dài đường chéo của ô Các điểm q và r trong hình 2.1 minh họa điều này

Gọi L2(Cx,y) là tầng các lân cận thứ hai của ô Cx,y bao gồm các ô Cu,v thỏa mãn điều kiện:

L2(Cx,y)={Cu,v| u= x  3,v= y  3; Cu,vL1(Cx,y); Cu,v≠Cx,y} (2.2)

Chú ý rằng khoảng cách giữa một số điểm nằm trong L2 và các điểm nằm trong Cx,y

là bé hơn khoảng cách D( ví dụ so sánh khoảng cách các điểm q và s trong hình 2.1) Thông thường L2 của một ô có 72

-32=40 ô, chỉ loại trừ những ô ở trên hoặc ở gần biên của cấu trúc ô Trong không gian hai chiều L1 có độ dày bằng 1 và L2 có độ dày bằng 2 L2 được định nghĩa theo cách này để thỏa mãn các tính chất sau đây:

Tính chất 3: Nếu Cu,v≠Cx,y cũng không thuộc L1 và L2 của ô Cx,y thì mọi đối

tượng P€Cx,y và mọi đối tượng q€Cu,v khoảng cách giữa chúng luôn lớn hơn D

Do tổng độ dày của L1 và L2 là 3 ô nên khoảng cách d(p,q) phải lớn hơn 3l=3* D/(2√¯

2)> D Ví dụ như là các điểm P và điểm q ở trên hình 2.1

Tính chất 4:

a): Nếu có quá M đối tượng trong Cx,y thì không có ngoại lai trong ô Cx,y

b): Nếu có quá M đối tượng trong Cx,yU L1(Cx,y) thì không có ngoại lai trong ô Cx,y

c) Nếu số lượng của các đối tượng thuộc Cx,yU L1(Cx,y) U L2(Cx,y) không lớn hơn

M thì mọi đối tượng trong ô Cx,y là ngoại lai

Tính chất 4(a) và 4(b) là hệ quả trực tiếp từ tính chất 1 và tính chất 2 Và tính chất 4(c) được suy ra từ tính chất 3

2.3.2 Thuật toán FindAllOutsM cho các tập dữ liệu trong bộ nhớ chính

2.3.2.1 Tư tưởng thuật toán

Các đối tượng dữ liệu trong tập dữ liệu được ánh xạ tới các ô phù hợp Trong quá trình ánh xạ số lượng các phần tử trong mỗi ô sẽ được lưu lại Với những ô có số lượng phần tử lớn hơn M thì sẽ được tô màu “đỏ” Điều này chứng tỏ rằng tất cả các phần tử trong các ô đó là không ngoại lai Với những ô Cu,v thuộc tầng các lân cận thứ nhất của các ô “đỏ” mà Cu,v chưa được tô màu đỏ sẽ được tô màu “hồng” Theo tính chất 4.b tất cả các đối tượng nằm trong ô màu “hồng” không phải là ngoại lai Hơn nữa, cũng theo tính chất 4.b những ô Cx,y thỏa mãn điều kiện : số lượng các phần tử thuộc Cx,yU L1(Cx,y) lớn hơn M sẽ được tô màu “hồng” Với các ô chưa được tô màu thỏa mãn điều kiện: số lượng các phần tử trong Cx,yUL1(Cx,y)

Trang 19

UL2(Cx,y) nhỏ hơn hoặc bằng M thì mọi đối tượng trong ô Cx,y được thông báo là ngoại lai

Những ô không thỏa mãn các trường hợp trên Tức là, số lượng các đối tượng dữ liệu trong Cx,yUL1(Cx,y) UL2(Cx,y) lớn hơn M nhưng Cx,yUL1(Cx,y) nhỏ hơn M thì thuật toán sẽ lưu lại số lượng (sl) các phần tử trong Cx,yUL1(Cx,y) Với mỗi đối tượng P trong ô Cx,y, thuật toán tiến hành tính toán khoảng cách d(p,q) với q là các đối tượng nằm trong ô thuộc L2(Cx,y) Với những điểm q thỏa mãn điều kiện d(p,q)

≤ D(tức là q€S(p)) giá trị sl sẽ được tăng lên một đơn vị Ngay khi sl lớn hơn M thì thông báo P là 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 ngoại lai

Mộ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 lại 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à được

tô màu hồng Hình 2.2.b có thêm 3 ô màu hồng được các hình mũi tên chỉ tới Trong hình 2.2.c, chúng ta có một phần tử ngoại lai khả nghi bởi vì không có điểm nào nằm trong các ô thuộc L1 Hình 2.2.d cho biết rằng phần tử ngoại lai tiềm ẩn đó thực chất

là phần tử ngoại lai bởi vì chỉ có 3 điểm nằm trong các ô thuộc vào L2 Trong đó L2

là vùng giới hạn bởi L1 và các đoạn thẳng được gán nhãn L2 ( xem hình vẽ ) Cuối cùng, chú ý rằng điểm nằm trong ô [6,4] và điểm nằm ở ô[7,5] có nhiều hơn 4 điểm trong các L2 tương ứng Nhưng điều đó không có nghĩa rằng hai điểm đó không thể

là ngoại lai Nó còn phụ thuộc vào có bao nhiêu điểm trong L2 thực sự nằm trong tập các lân cận tương ứng của chúng Vì vậy, ứng với mỗi điểm trong các ô [6,4] và [7,5] phải tiến hành quá trình tính khoảng cách giữa các cặp điểm với số lượng các điểm ít nhất có thể được trong L2 của mỗi ô

2.3.2.2 Mô tả thuật toán FindAllOutsM (Find All Outliers in Memory)

Trong bước 2 của thuật toán FindAllOutsM lượng hóa mỗi đối tượng dữ liệu vào trong ô phù hợp với nó Bước 3 sẽ gán nhãn tất cả các ô có số lượng các đối tượng lớn hơn M đối tượng bằng màu đỏ Điều này tương ứng với tính chất 4.a Các ô là thuộc L1 của ô đỏ sẽ được gán nhãn là màu hồng trong bước 4 và chúng cũng không chứa phần tử ngoại lai vì tính chất 4.b Những ô khác thỏa mãn tính chất 4.b sẽ được gán nhãn là màu hồng trong bước 5.b Cuối cùng trong bước 5.c.2 của thuật toán, các

ô thỏa mãn tính chất 4c sẽ được xác định

Thuật toán FindAllOutsM :

Trang 20

Nói tóm lại, tất cả các tính chất trong phần 2.3.1 được sử dụng để trợ giúp 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 một cách đáng kể bởi vì có thể loại bỏ một cách nhanh chóng một 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 tính chất

1 for (q=1;q<=m;q++) countq=0;

2 for(mỗi đối tượng P thuộc T)

{ ánh xạ P tới ô Cq phù hợp; lưu P;

countq++; }

3 for (q=1;q<=m;q++) if (countq>M) Cq=đỏ;

4 for(mỗi ô đỏ Cr)

{ Cl=hồng;(trong đó Cl là ô thuộc L1(Cr) và chưa được gán màu đỏ)

5 for( mỗi ô màu trắng Cw) do:

a countw2=countw+∑i € L1(Cw) counti; b if (countw2>M ) Cw=hồng c else { 1 countw3=countw2+∑i € L2(Cw) counti; 2.if(countw3≤M) gán tất cả các đối tượng trong Cw là ngoại lai 3.else for (P€Cw) {

i countp=countw2; ii for(q€L2(Cw)) if (d(p,q)≤D) { counti++; if (counti>M) { P =không ngoại lai;

Quay lại bước 5.c.3 }

} iii P=ngoại lai; } }

Trang 21

4 thuật toán tiến hành tính toán khoảng cách cho các đối tượng ứng với các ô đó Đó

là các ô đánh dấu là các ô trắng(Cw) Trong bước 5.c.3 của thuật toán FindAllOutsM, mỗi đối tượng P€Cw phải so sánh với mọi đối tượng q trong các ô thuộc vào L2 của ô

Cw để có thể xác định có bao nhiêu điểm thực sự nằm trong tập các lân cận của P ( S(p) ) Ngay khi số lượng S(p) vượt quá M , thì chúng ta sẽ khai báo P không phải là ngoại lai Còn nếu sau khi kết thúc quá trình tính toán mà số lượng tập các lân cận không lớn hơn M thì chúng ta khai báo P là ngoại lai

2.3.2.3 Đánh giá độ phức tạp thuật toán trong không gian hai chiều

Bây giờ, chúng ta sẽ đánh giá độ phức tạp của thuật toán FindAllOutsM cho không gian hai chiều Bước 1 mất O(m) thời gian, với m là tổng số các ô và m nhỏ hơn rất nhiều so với n Bước 2 và bước 3 mất O(n) và O(m) thời gian tương ứng với mỗi bước Với M là số lượng lớn nhất các đối tượng có thể xuất hiện trong tập các lân cận ( S(p) ) của một phần tử ngoại lai vì vậy có nhiều nhất là n/(M+1) ô đỏ Do đó, bước

4 mất O(n/M) thời gian Độ phức tạp của bước 5 là rắc rối nhất Trong trường hợp tồi nhất: (i) không có ô nào được gán nhãn là ô đỏ hoặc ô hồng trong các bước trước và (ii) bước 5c là cần thiết cho tất cả các ô Nếu không có ô nào được tô màu ( đỏ hoặc hồng ) thì mỗi ô chứa nhiều nhất là M đối tượng Do đó, trong bước 5c mỗi đối tượng trong một ô yêu cầu được kiểm tra (tính khoảng cách và so sánh với D) với M đối tượng trong mỗi ô thuộc một trong 40 ô của L2 Do đó, O(40*M2) là thời gian yêu cầu cho mỗi ô Cho nên, trong bước 5 mất (m*M2

) thời gian Thực tế chúng ta mong muốn rằng p cực gần tới 1 Đặc biệt là với các tập dữ liệu lớn nên O(Mn2

(1-p)2) xấp

xỉ bằng O(m) Cho nên, độ phức tạp của thuật toán FindAllOutsM trong không gian hai chiều là O(n+m) Chú ý rằng độ phức tạp này đưa ra là rất ổ định Bởi vì trong thực tế, cấu trúc ô có nhiều ô màu đỏ và màu hồng Do đó, có rất ít khoảng cách giữa các cặp đối tượng được so sánh Do đó, bước 5.c trở thành kém lợi thế và thuật toán yêu cầu thời gian tính toán nhỏ

Trang 22

Hình 2.2b Hình 2.2 a

Trang 23

Hình 2.2c

Hình 2.2d

2.3.2.4 Tổng quát cho trường hợp nhiều chiều

Khi áp dụng thuật toán FindAllOutsM thực hiện với các tập dữ liệu lớn, nhiều chiều Các tính chất 1 đến tính chất 4 được nêu ra trong phần 2.3.2.1 cần được bảo toàn Do

đó, cạnh của các ô hay là các hình hộp trong không gian K chiều cần phải thay đổi

L2

Trang 24

Cụ thể, để bảo toàn tính chất 1 và tính chất 2 thì cạnh của hình hộp phải là l= D/(2√¯

k)

Trong không gian k chiều, tầng các lân cận thứ nhất L1 của ô Cx1, x2, xk được định nghĩa lại như sau:

L1(Cx1, x2, xk)={ Cu1, u2, uk| ui = xi 1 1 i  k ; Cx1, x2, xk ≠ Cu1, u2, uk }; (2.3)

Định nghĩa L1 trên là sự tổng quát hóa của (2.1)

Để bảo toàn tính chất 3 thì định nghĩa tầng các lân cận thứ 2 ( L2 ) cần được thay đổi Gọi x là độ dày của L2 trong không gian K chiều Ta có tổng độ dày của L1 và L2 là x+1 Theo tính chất 3 thì l(x+1) > D hay x=2√¯

2.3.2.5 Đánh giá độ phức tạp trong không gian nhiều chiều

Trong không gian nhiều chiều, các độ phức tạp về thời gian từ các bước 1 tới 4 trong thuật toán FindAllOutsM được giữ nguyên Tuy nhiên, chúng ta thấy rằng m là lũy thừa đối với k và không nhỏ hơn N là bao nhiêu Cụ thể, số lượng các ô trong cấu trúc

do giá trị D lớn và giá trị của p lại rất gần tới 1 Giá trị D lớn tương ứng với việc có một số lượng nhỏ các ô trong mỗi chiều Nếu gọi ma là số lượng trung bình các ô trong một chiều thì m≈ ma

k Thứ hai, mặc dù hằng số c là lớn hơn 1 nhưng nó là một hằng số nhỏ Thứ 3, các giá trị của p khá gần tới 1 suy ra M là nhỏ, có nghĩa rằng sẽ

có nhiều ô màu đỏ và màu hồng Điều này có nghĩa là số lượng các đối tượng yêu cầu

Trang 25

so sánh từng cặp là tương đối nhỏ Điều thứ 4 và cũng là cuối cùng là khi số chiều k tăng lên sẽ làm một số ô là rỗng Do đó, trong thực tế số lượng các ô không rỗng nhỏ hơn m rất nhiều Điều đó mang lại cho việc thực hiện thuật toán hấp dẫn hơn nhiều so với độ phức tạp thuật toán đưa ra theo giả thuyết

2.3.3 Tìm kiếm các phần tử ngoại lai DB(p,D) trong các tập dữ liệu lớn, ở bộ nhớ ngoài

2.3.3.1 Phân tích tổng quát

Trong phần trước,thuật toán dựa vào ô được thiết kế để có thể thực hiện được với các tập dữ liệu nằm trong bộ nhớ trong Ở đây, thuật toán dựa vào ô được cải tiến để phù hợp với việc thực hiện trên các tập dữ liệu lớn nằm trên bộ nhớ ngoài Thuật toán cải tiến này bảo toàn độ phức tạp tuyến tính với N và cũng đảm bảo rằng không nhiều hơn 3 lần đọc toàn bộ cơ sở dữ liệu vào bộ nhớ Khi thực hiện với các tập dữ liệu lớn, nằm ở bộ nhớ ngoài thì mục đích là làm giảm tối thiểu số lượng các trang được đọc vào bộ nhớ chính hoặc là số lần đọc toàn bộ dữ liệu Các trang ở đây là một khối dữ liệu nhỏ nhất truyền giữa bộ nhớ ngoài và bộ nhớ chính Trong thuật toán dựa vào ô,

có hai bước cần phải đọc các trang:

 Quá trình ánh xạ ban đầu của các đối tượng vào các ô phù hợp

Trong bước hai của thuật toán FindAllOutsM, mỗi một đối tượng được ánh

xạ tới các ô phù hợp, bước này yêu cầu một lần toàn bộ tập dữ liệu của chúng ta

 Quá trình tính toán khoảng cách giữa các cặp đối tượng

Trong bước 5.c.3, với mỗi đối tượng p trong các ô trắng Cw và mỗi đối tượng trong ô thuộc vào L2 của Cw cần được đọc để thực hiện công việc tính toán khoảng cách Do không giả sử rằng các đối tượng ánh xạ vào cùng một ô hoặc các ô liền kề tức là các ô thuộc vào L1 của ô đang xét được phân vào một vùng cần thiết trên đĩa

để mỗi cặp đối tượng yêu cầu tính toán khoảng cách được đọc trên cùng một trang

Do đó, nảy sinh nguyên nhân là số lượng các lần đọc vào ra (I/O) là rất lớn Nếu công việc tính toán khoảng cách giữa các cặp đối tượng được thực hiện một cách chính xác như đã mô tả trong thuật toán ở bước 5.c.3 thì một trang có thể được đọc nhiều lần Một câu hỏi đặt ra là trong quá trình tính toán khoảng cách của các cặp đối tượng thì

có thể đọc các trang chỉ đúng một lần không Gọi Pages(C) ký hiệu cho tập hợp các trang chứa ít nhất một điểm ánh xạ tới ô C Suy ra , để tính toán khoảng cách cho các đối tượng trong một ô trắng Cw, cần đọc các trang trong Pages(Cw) Đồng thời cũng cần đọc các trang trong Pages(L2(Cw))=UCv ЄL2(Cw)Pages(Cv) bởi vì cần đọc trang chứa các điểm ánh xạ tới ánh xạ tới Cv là ô thuộc L2(Cw) để thực hiện công việc tính

Trang 26

toán khoảng cách Hơn nữa, nếu muốn đảm bảo rằng các trang Pages(L2(Cw)) chỉ đọc một lần thì cần đọc các trang:

- Các trang cần cho Cv bởi vì bản thân Cv có thể là một ô trắng

- Những trang sử dụng Cv bởi vì Cv có thể là ô thuộc L2 của nhiều ô trắng khác nhau

Nói chung bao đóng bắc cầu kiểu này có thể bao mọi trang của tập dữ liệu Nói một cách khác đi: chỉ có một cách đảm bảo rằng một trang có thể đọc nhiều nhất

là một lần trong quá trình tính toán khoảng cách giữa các cặp điểm là phải có một bộ nhớ trung gian bằng cỡ của tập dữ liệu mà chúng ta đang xét và đây là một giả thiết quá mạnh vì các tập dữ liệu mà chúng ta đang xét là các tập dữ liệu lớn không thể lưu toàn bộ trong bộ nhớ trong

Tiếp cận của thuật toán là trường hợp chỉ có một tập con các đối tượng lựa chọn trong tập dữ liệu được lưu trong bộ nhớ trong Tập con được chọn này là tập tất cả các đối tượng ánh xạ vào các ô trắng ( hoặc các ô vàng đó là các ô sẽ được mô tả ở phần sau trong thuật toán) Việc lựa chọn theo cách này một phần là bởi vì chúng là những đối tượng cần được tính toán khoảng cách và một phần là số lượng các điểm trắng (các điểm nằm trong các ô trắng) theo định nghĩa chúng bị chặn trên bởi M Hơn nữa, tất cả các trang sẽ phân vào trong ba lớp:

- Lớp I: Bao gồm các trang chứa một số các điểm trắng

- Lớp II: Các trang không chứa điểm trắng nào nhưng lại chứa các đối tượng ánh xạ tới các ô không trắng mà các ô này thuộc L2 của một số ô trắng

- Lớp III: Tất cả các trang còn lại

Để làm cực tiểu các trang được đọc Đầu tiên, thuật toán của chúng ta sẽ đọc các trang thuộc lớp I Sau đó, là các trang thuộc lớp II Tiếp theo, thuật toán gần như phải đọc lại các trang lớp I để hoàn tất quá trình tính toán khoảng cách Các trang lớp III không cần thiết cho quá trình tính toán khoảng cách giữa các cặp điểm Chú ý rằng việc thực hiện thuật toán là phụ thuộc vào số lượng các trang trắng (các trang thuộc lớp I)

Xem xét một ví dụ đơn giản bao gồm 600 trang trong một tập dữ liệu Giả sử rằng từ trang 1 đến trang 200 là các trang thuộc lớp I., từ trang 201 đến trang 400 là các trang thuộc lớp II, từ trang 401 đến trang 600 là các trang thuộc lớp III Giả sử điểm p ánh

xạ tới ô trắng Cw và được lưu ở trang i (thuộc lớp I ) Để p thực hiện quá trình tính toán khoảng cách giữa p và các điểm q thuộc các trang ánh xạ tới các ô thuộc L2(Cw), chúng ta phân các đối tượng mà chúng ta cần thành ba loại:

 Các điểm trắng ánh xạ tới ô trắng thuộc L2 của ô Cw

Trang 27

 Các điểm không trắng q ánh xạ tới một ô không trắng thuộc L2 của Cw và được lưu ở trang ji

 Các điểm không trắng q ánh xạ tới một ô không trắng thuộc L2 của Cw và được lưu ở trang j<i

Với loại đối tượng đầu tiên, cặp điểm (p,q) luôn được giữ trong bộ nhớ chính sau khi

200 trang đầu tiên được đọc Bởi vì chúng đều là các điểm trắng Do đó khoảng cách của chúng được tính toán và các biến đếm ( biến đếm là biến dùng để đếm số lượng các đối tượng trong tập các lân cận của một điểm p ) có thể được cập nhật sau khi tất

cả các trang thuộc lớp I đã được đọc Với loại đối tượng thứ hai, khoảng cách giữa cặp đối tượng (p,q) được xử lí khi trang j được đọc vào trong bộ nhớ chính, bởi vì điểm p đã nằm trong bộ nhớ chính do trang ij Do đó, sau khi 400 trang đầu tiên được đọc bao gồm tất cả các trang thuộc lớp I và lớp II thì các đối tượng loại thứ hai được kiểm tra Vấn đề chỉ còn liên quan tới loại đối tượng thứ 3 Trong trường hợp này, khi q (được lưu ở trang j) được đọc vào trong bộ nhớ trong thì điểm p (lưu ở trang i) chưa được đọc Vì q là điểm không trắng nên nó không được lưu lại trong bộ nhớ cho nên khi p được lưu vào thì điểm q không còn nằm trong bộ nhớ Do đó, trong trường hợp này đòi hỏi phải cần phải đọc lại trang j Nhìn chung, tất cả các trang lớp I cần phải đọc lại Nhưng rõ ràng rằng bởi vì chỉ có các điểm trắng được lưu trong bộ nhớ chính, do đó có đủ bộ nhớ để đọc các lại các trang thuộc lớp I lần thứ hai

Trước khi trình bày chính thức thuật toán chúng ta đưa ra hai vấn đề tổng quát cho ví

dụ trên Thứ nhất, ví dụ trên giả sử rằng tất cả các trang thuộc lớp I được đánh số trước các trang lớp II và các trang được đọc theo thứ tự tăng dần Thứ hai, các trang thuộc lớp I có thể được phân chia vào hai lớp con:

- Lớp I.1 gồm các trang không chứa bất kỳ một đối tượng không trắng nào mà chúng ta cần

- Lớp I.2 bao gồm các trang chứa các đối tượng không trắng mà chúng ta cần

Theo như phân tích ở trên là cần đọc lại các trang thuộc lớp I nhưng theo sự phân chia này thì chỉ cần đọc lại các trang thuộc lớp I.2 Để cho đơn giản thì đánh giá này không được mô tả ở thuật toán

2.3.3.2 Thuật toán FindAllOutsD cho các phần tử ngoại lai nằm trong bộ nhớ ngoài

2.3.3.2.1 Tư tưởng thuật toán

Hầu hết công việc xử lí trong 5 bước đầu của thuật toán FindAllOutsD cũng giống như đã mô tả ở thuật toán FindAllOutsM Nhưng trong bước 2 của thuật toán

Trang 28

FindAllOutsD không lưu lại p mà chỉ đưa ra một chú ý rằng trang lưu điểm p có chứa một số điểm ánh xạ tới ô Cq Điều này là quan trọng bởi vì cần biết những ô có các đối tượng thuộc các trang nào

Trong bước 5.c.2 các ô trắng được tô vàng nếu tất cả các đối tượng trong ô đó là các phần tử ngoại lai Các đối tượng đó sẽ được nhận dạng ở bước 8 sau khi chúng được đọc từ các trang của chúng trong bước 6 của thuật toán Bước 6 chỉ đọc các trang chứa ít nhất một điểm trắng hoặc một điểm vàng Điều này tương ứng với việc đọc tất

cả các trang thuộc lớp I Những điểm trắng và điểm vàng từ những trang đó sẽ được lưu vào các ô trắng Cw mà chúng ánh xạ tới Cw chứa chính xác Countw đối tượng và Countw<M Để chuẩn bị cho quá trình tính toán khoảng cách, bước 6.b.1 sẽ khởi tạo biến đếm các đối tượng thuộc tập các lân cận của các điểm trong Cw bằng số lượng các điểm trong CwUL1(Cw)

Trong bước 7, với mỗi ô trắng Cw, chúng ta sẽ đếm số lượng các đối tượng trong tập các lân cận của mỗi đối tượng p thuộc Cw bằng cách sử dụng các điểm đã được đọc

và lưu vào các ô ở trong bước 6 Ngay khi chúng ta tìm thấy p có hơn M đối tượng trong quá trình đếm tập các lân cận (S(p)) của p, thuật toán sẽ dừng lại và đánh dấu p

là không ngoại lai Sau bước 7 này, có thể có một số ô trắng không yêu cầu đọc thêm bất kỳ một trang nào từ tập dữ liệu Do đó, làm giảm số lượng trang cần đọc ở trong bước 9

Việc đọc các trang có các đối tượng ánh xạ đến các ô không trắng cũng không vàng ở bước 9 là cần thiết Điều này tương đương với việc đọc tất cả các trang thuộc lớp II

và đọc lại (một số trang) lớp I Và tiếp tục số lượng các tập các lân cận của mỗi điểm

p trong mỗi ô trắng lại được đếm bằng cách sử dụng các đối tượng được đọc ở bước này Nếu trong quá trình đếm mà tập các lân cận của điểm p vượt quá M thì ta đánh dấu p là không ngoại lai

2.3.3.2.2 Mô tả thuật toán FindAllOutsD

Thuật toán FindAllOutsD được mô tả như sau:

{ a ánh xạ P tới ô Cq phù hợp nhưng không lưu P

b Countq++;

c Đánh dấu ô Cq ánh xạ tới trang chứa điểm P

Trang 29

4 for(mỗi ô đỏ Cr)

{ Cl=hồng;(trong đó Cl là ô thuộc L1(Cr) và chưa được gán màu đỏ)

5 for( mỗi ô màu trắng Cw) do:

a Countw2=Countw+∑i € L1(Cw) Counti;

b if (Countw2>M ) Cw=hồng

c else {

1 Countw3=Countw2+∑i € L2(Cw) Counti; 2.if(Countw3≤M) Cw=vàng //tức là tất cả các điểm ánh xạ tới ô Cw đều là ngoại lai;

3.else Sumw=Countw2;

6 for(mỗi trang i chứa ít nhất một điểm trắng hoặc một điểm vàng) do

a Đọc trang i;

b for (mỗi ô trắng hoặc ô vàng Cq có các điểm ánh xạ tới trang i) do

1 for (mỗi đối tượng p trong trang i ánh xạ tới Cq) do

i Lưu P vào Cq

a For(mỗi ô trắng hoặc ô vàng CLЄL2(Cw)) do

1 For(mỗi đối tượng qЄCL) if (d(p,q)≤D) { KountP++;

if (KountP>M) đánh dấu p là không ngoại lai; xét điểm p tiếp theo (goto 7)}

8 For(mỗi đối tượng q trong ô vàng) thông báo q là ngoại lai

9 For (mỗi trang chứa ít nhất một điểm không trắng cũng không vàng và ánh xạ tới ô

Trang 30

2.3.3.2.3 Đánh giá thuật toán FindAllOutsD và so sánh với thuật toán NL

Thuật toán FindAllOutsD cũng có độ phức tạp tuyến tính với N bởi các lý do tương

tự như đã giải thích cho thuật toán FindAllOutsM Nhưng thuật toán FindAllOutsD tìm kiếm các phần tử ngoại lai trên các tập dữ liệu mà nó không phù hợp với bộ nhớ chính Với một tập dữ liệu lớn thì phải mất nhiều thời gian để đọc dữ liệu từ đĩa vào trong bộ nhớ chính, ngay cả khi nếu dung lượng bộ nhớ có đủ Liên quan tới vấn đề này, thuật toán FindAllOutsD có tính chất quan trọng Đó là tính chất mà chúng ta mong muốn khi khai thác các tập dữ liệu lớn nằm trong bộ nhớ ngoài Đó là:

Tính chất 1: thuật toán FindAllOutsD yêu cầu nhiều nhất là 3 lần đọc toàn bộ tập dữ

liệu

Chứng minh: Quá trình ánh xạ ban đầu yêu cầu một lần đọc tập dữ liệu Gọi n là tổng

số trang trong tập dữ liệu đã cho và n1,n2,n3 lần lượt là số trang thuộc lớp I, lớp II, lớp III Ta có n=n1+n2+n3 Như đã trình bày ở phần 2.3.3.1 tổng số trang được đọc trong quá trình phân tích tính toán khoảng cách giữa các cặp điểm là n1+n2+n1 Tổng số này rõ ràng là nhỏ hơn 2*n Do đó, toàn bộ thuật toán yêu cầu không quá 3 lần đọc toàn bộ tập dữ liệu

Chú ý rằng tính chất trên là bảo toàn với hai lý do Đầu tiên, tổng số n1+n2+n1 có thể nhỏ hơn n Ví dụ nếu n1<n3 thì tổng n1+n2+n1<n Có nghĩa là trong khi một số trang

có thể được đọc tới ba lần thì tổng số trang đọc là tương đương với không nhiều hơn

2 lần đọc tập dữ liệu Thứ 2, thuật toán giả sử rằng:

i Có đủ bộ nhớ trung gian để lưu các điểm trắng Rõ ràng đây không phải là một giả thiết mạnh bởi vì về cơ bản là không có quá nhiều ô trắng

ii Chỉ có một trang thuộc lớp I và lớp II được lưu trong bộ nhớ trung gian Nhiều không gian bộ nhớ có thể lưu được nhiều trang thuộc lớp I cùng một lúc và điều này làm giảm được số lượng trang cần đọc lại của lớp I

Xem xét lại thuật toán NL đã được mô tả ở phần 2.2 Thuật toán này phân chia tập dữ liệu nằm ở bộ nhớ ngoài thành các khối và xử lý vòng lặp lồng nhau để thực hiện Chúng ta sẽ chứng minh thuật toán FindAllOutsD bảo đảm số lần đọc toàn bộ tập dữ liệu là thấp hơn thuật toán NL với các tập dữ liệu đủ lớn

Tính chất 2: Nếu một tập dữ liệu được phân chia vào trong n= 100/(b/2) khối lôgíc một bộ nhớ trung gian cỡ bằng b% cỡ của cơ sở dữ liệu và một khối lôgic bao gồm nhiều trang thì trong trường hợp chung Tổng số khối yêu cầu đọc của thuật toán

NL là n+(n-1)*(n-2) Do đó, số lần đọc tập dữ liệu ít nhất là n-2 lần nhưng không nhiều hơn n-1 lần

Chứng minh

Trang 31

Theo thuật toán Nest Loop thì :

- Đợt 1: (tương ứng với một khối trong mảng thứ nhất) có n khối được đọc

- Đợt 2: Có n-2 khối được đọc vì đã có 2 khối nằm trong bộ nhớ do Đợt 1 còn lưu lại trong hai mảng

Nhìn chung, thuật toán NL yêu cầu nhiều lần đọc tập dữ liệu hơn là thuật toán FindAllOutsD Ví dụ với một tập dữ liệu lớn được phân vào trong 10 khối thì theo tính chất 2 ta có thuật toán NL cần từ 8 đến 9 lần đọc tập dữ liệu Tức là nhiều hơn 5 đến 6 lần so với thuật toán FindAllOutsD cần

2.4 Xử lý thực nghiệm

2.4.1 Thiết lập thực nghiệm

Tập dữ liệu của Knorr [24] đưa ra bao gồm 855 đối tượng Đây là tập dữ liệu thống

kê thành tích của các cầu thủ môn Hockey của liên đoàn Hockey quốc gia năm 1996 (viết tắt là NHL 96) Số liệu thống kê sử dụng các thông tin như : số bàn thắng, khả năng phối hợp của các cầu thủ, thời gian treo giò, số trận đấu mà các cầu thủ tham gia, khả năng ghi bàn, Đây sẽ là cơ sở dữ liệu chính cho các thực nghiệm trong toàn

bộ luận văn này Cơ sở dữ liệu thực của môn Hockey là khá nhỏ và để thực hiện các

bộ test cho các thuật toán trên các tập dữ liệu lớn nằm ở bộ nhớ ngoài, Knorr đã đưa

ra các tập dữ liệu tổng hợp có cùng phân bố với các dữ liệu thống kê trong tập dữ liệu môn Hockey Sau đó, Knorr đã đưa ra các tập dữ liệu 10.000 đến 2 triệu đối tượng để tiến hành thực nghiệm Mỗi một trang trong tập dữ liệu chứa 13 điểm

Tất cả các thực nghiệm mà Knorr đưa ra đã được chạy trên máy Sun MicroSystems UltraSPARC-1với 128 MB bộ nhớ Thời gian thực hiện bằng tổng thời gian của CPU

và thời gian vào ra I/O Trong trường hợp thời gian CPU vượt qua 2147 giây thì sẽ sử dụng toán tử > để ký hiệu rằng thời gian CPU bị chặn dưới Mã chương trình mà Knorr đưa ra được viết bởi C và các cách thức hoạt động như sau:

Trang 32

2.4.2 Thay đổi cỡ của tập dữ liệu

Trong hình 2.3 đã trình bày các cỡ dữ liệu khác nhau trong không gian ba chiều với p=0.9999 Đặc biệt là đồ thị đã biểu diễn được sự phụ thuộc của thời gian CPU+ thời gian I/O vào số lượng các điểm Ví dụ, CS phải mất 235.90 giây để tìm tất cả các phần tử ngoại lai DB(p,D) trong 2 triệu điểm của tập dữ liệu NL mất 2332.10 giây gấp 9 lần thời gian thực hiện của CS

Phần trên liên quan tới các tập dữ liệu nằm trên bộ nhớ ngoài, bảng dưới đây sẽ đưa

ra các kết quả với các tập dữ liệu trong không gian ba chiều nằm trong bộ nhớ trong với p=0.9995

1.02 4.26 9.64 17.58 27.67

Thực nghiệm trên thì CS lại có thời gian thực hiện tốt hơn NL Cuối cùng, để chứng minh tính hiệu quả của CS với các tập dữ liệu lớn, nằm trên bộ nhớ ngoài(Chỉ xét về

time

NL

CS

Số lượng điểm(triệu)

Trang 33

cỡ của dữ liệu) Chúng ta thấy rằng ngay cả khi có 100% bộ nhớ cho cả CS và NL thì

CS vẫn thực hiện tốt hơn Điều này được thể hiện qua bảng dưới đây:

p=0.99990 p=0.99993 p=0.99996 p=0.99999 CS(3-D)

NL(3-D)

253.90 703.40

230.71 534.65

210.25 367.40

082.90 211.97 CS(4-D)

NL(4-D)

606.56 965.60

550.20 720.23

396.52 477.92

246.79 247.93

Trong không gian 3 chiều, bộ nhớ sử dụng là 47MB cho NL và 9MB cho CS CS chỉ thực hiện giữa 1.04 đến 1.33 lần đọc toàn bộ tập dữ liệu cho mỗi trường hợp Trong không gian 4 chiều, bộ nhớ sử dụng là 55 MB cho NL và 21 MB cho CS CS chỉ thực hiện giữa 1.09 đến 1.44 lần đọc toàn bộ dữ liệu

2.4.3 Thay đổi giá trị của p

Mặc dù hình 2.3 đã đưa ra các kết quả với p=0.9999 nhưng các giá trị p khác cũng cho kết quả tương tự

Hình 2.4 trình bày các hàm phần trăm các ô trắng, hồng, đỏ, và các ô không trắng theo các giá trị p Tổng số các ô trong cấu trúc ô bằng tổng số các ô trắng, các ô đỏ và các ô hồng

Thời gian xử lý là bé khi hàm phần trăm của các ô hồng và các các ô đỏ là lớn với lý

do là khi đó có thể loại bỏ được một số lượng lớn các điểm được xem như là ngoại lai Rõ ràng sự thành công của các thuật toán dựa vào ô là lớn bởi vì có nhiều ô đỏ và

ô hồng tức là có ít ô trắng và bởi vì các ô trắng đòi hỏi thời gian tính toán lớn

Đỏ

Hình 2.4

Trang 34

2.4.4 Thay đổi chiều dữ liệu và số lượng ô

Trong phần này Knorr đã đưa ra thực nghiệm cho chúng ta cách thức tác động của số lượng chiều và số lượng các ô tới sự thực hiện các thuật toán Như chúng ta đã thấy thời gian thực hiện ở các bảng thực nghiệm trước cho thấy thời gian thực hiện của CS

là tốt hơn NL trong các cơ sở dữ liệu lớn trong không gian 3 chiều hoặc 4 chiều Ở đây, Knorr đã đưa ra thực nghiệm chứng tỏ rằng với các cơ sở dữ liệu lớn có số chiều lớn hơn hoặc bằng 5 thì thời gian thực hiện của NL lại tốt hơn thời gian thực hiện của

CS Bảng dưới đây trình bày sự so sánh giữa CS và NL trong các chiều khác nhau hoặc với các cỡ của các tập dữ liệu khác nhau nằm trong bộ nhớ ngoài với p=0.9999 Với các giá trị p khác chúng ta cũng nhận được các kết quả tương tự

3-D( ba chiều) 4-D 5-D

N CS(103) NL CS(104) NL CS(105) CS(85) CS(65) NL 100.000

23.32 114.00 606.56

45.79 233.51 1421.16

93.40 695.37

>2147

217.04 997.11

>2147

205.63 1061.33

>2147

17.30 148.44 1555.78

Với CS trong không gian 5 chiều, ta thấy rằng đã có sự thay đổi về số lượng các ô mi

trong chiều i mi đã được chọn bằng 10,8,6 cho mỗi chiều Do đó, các cột CS(105 ), CS(85 ), CS(65 ) lần lượt ký hiệu cho cấu trúc các ô chứa m=∏ki=1 mi=105, 85, 65 ô

Từ bảng chúng ta thấy rằng:

- CS trong không gian 3 chiều và 4 chiều có thời gian thực hiện tốt hơn(bé hơn) NL

- Trong không gian 5 chiều thì NL lại có thời gian thực hiện tốt hơn bởi vì số lượng các ô được tăng lên lũy thừa với số chiều của dữ liệu Thực tế, trong tất cả các thực nghiệm thì chỉ có thời gian thực hiện của CS là có thể tốt hơn NL Nhưng nhìn chung

là CS không thể đánh bại được NL ngay cả khi số lượng các ô giảm xuống đáng kể trong không gian 5 chiều Bảng trên đã cho thấy rằng khi số lượng các ô giảm xuống thì cũng không tạo ra một kết quả cần thiết cho thời gian thực hiện của CS

Cuối cùng , do CS và NL đã sử dụng cùng một dung lượng nhớ cho công việc so sánh hai thuật toán.Và dung lượng nhớ là có đủ khi NL tăng chẳng hạn như số chiều Điều này giải thích tại sao thời gian thực hiện của NL thường giảm xuống khi số chiều tăng lên Nếu không gian nhớ là không đổi thì thời gian thực hiện của NL sẽ tăng lên

2.5 Tóm tắt

Trong chương này đã giới thiệu và phân tích một số các thuật toán cho việc tìm kiếm các phần tử ngoại lai DB(p, D) Ngoài các thuật toán có độ phức tạp O(K*N2

), chúng tôi đã giới thiệu một số thuật toán dựa vào ô với độ phức tạp tuyến tính với N và thực hiện tốt với các giá trị k(số chiều của dữ liệu) không lớn hơn 4 Chúng ta cũng đã giới

Trang 35

thiệu thuật toán dựa vào ô cho các tập dữ liệu lớn nằm trên bộ nhớ ngoài và đã chứng minh rằng không có trang nào trong tập dữ liệu đọc quá 3 lần nếu không nói là chỉ đọc một lần hoặc hai lần

Thực nghiệm mà Knorr đƣa ra cho chúng ta thấy rằng:

 Các thuật toán dựa vào ô là tốt hơn thuật toán NL với số chiều nhỏ hơn 5

 Sử dụng thuật toán NL là một sự lựa chọn tốt cho các tập dữ liệu lớn với số chiều lớn hơn hoặc bằng 5

 Việc tìm kiếm các phần tử ngoại lai là một công việc có thể thực hiện đƣợc với các tập dữ liệu lớn, nhiều chiều và nằm trên bộ nhớ ngoài

Trang 36

CHƯƠNG 3: TRI THỨC SÂU VỀ PHẦN TỬ NGOẠI LAI

Chương này trình bày việc tìm kiếm các loại phần tử ngoại lai khác nhau trong một

tập dữ liệu Trước tiên, chúng tôi nghiên cứu tìm kiếm tri thức sâu của các phần tử ngoại lai Tri thức sâu đơn giản là một mô tả hay một giải thích tại sao một điểm là

một phần tử ngoại lai Cụ thể là tìm kiếm phần tử ngoại lai trên những tập các thuộc

tính có chiều thấp Tiếp theo, chúng tôi giới thiệu các khái niệm: các phần tử ngoại lai mạnh nhất, yếu và không tầm thường Cuối cùng, trình bày một thuật toán tìm

kiếm tất cả các phần tử ngoại lai trong tập dữ liệu lớn, đa chiều

3.1 Các khái niệm về độ mạnh của các phần tử ngoại lai DB

Trong phần này, chúng tôi trình bày các thước đo trực quan độ mạnh tương đối của các phần tử ngoại lai DB(p,D), cụ thể là so sánh các kết quả khi p hoặc D là hằng số

Sau đó, chúng tôi trình bày các phần tử ngoại lai mạnh nhất Trước tiên là định nghĩa

của phần tử ngoại lai-j

Định nghĩa 3: Một phần tử ngoại lai-j là một phần tử ngoại lai DB(p,D) với j chiều

Có rất nhiều cách để định nghĩa độ mạnh của phần tử ngoại lai DB(p,D) nh ư sau:

(1) Với p và D đã cho, chúng ta nói rằng phần tử ngoại lai j mạnh hơn phần tử

ngoại lai j’ nếu j<j’

Ví dụ nếu t1 là phần tử ngoại lai-2, t2 là phần tử ngoại lai-3, thì t1 mạnh hơn t2 Chúng

ta chỉ cần xét 2 thuộc tính trước khi quan sát xem t1 có đủ xa so với các điểm khác trong tập dữ liệu, ngược lại chúng ta xét 3 thuộc tính để kết luận tương tự về t2 Một

đồ thị 2-D của tất cả các điểm trong tập dữ liệu T đã chỉ ra t1 đủ xa hơn t2 từ vùng dữ

liệu Đặc biệt, nó sử dụng ít thuộc tính hơn để giải thích tại sao t1 là phần tử ngoại lai Nhược điểm của khái niệm này là ở 3-D, t2 có thể thực sự xa hơn t1 từ vùng dữ liệu,

vì thế, ở 3-D t2 là phần tử ngoại lai mạnh hơn

(2) Giả sử t1 và t2 đều là phần tử ngoại lai-j Nếu t1 là phần tử ngoại lai trong a

tổ hợp của j thuộc tính và t2 là phần tử ngoại lai trong b tổ hợp của j thuộc tính và a>b thì ta nói rằng t1 là phần tử ngoại lai mạnh hơn t2

Định nghĩa này đã thuyết phục bởi vì, một đối tượng bất kỳ “nổi bật” so với các đối tượng còn lại sử dụng nhiều hơn một tổ hợp thuộc tính chắc chắn đáng quan tâm hơn Nhược điểm của khái niệm là có thể t2 thực sự xa hơn t1 Ví dụ, t2 thực xa hơn nhiều

so với tất cả b tổ hợp của nó, ngược lại t1 có thể chỉ lớn hơn khoảng cách D đối với tất

cả a tổ hợp của nó Biện pháp khắc phục nhược điểm này là người dùng lấy một giá trị D lớn hơn và nó sẽ loại trừ t1 không còn là phần tử ngoại lai

(3) Giả sử t1 và t2 đều là phần tử ngoại lai-j Và giả sử ít nhất tỉ lệ p1 của các đối tượng trong T lớn hơn khoảng cách D từ t1và ít nhất tỉ lệ p2 của các đối tượng

Trang 37

trong T phải lớn hơn khoảng cách D từ t2 , với p1 > p2  p Thì chúng ta nói rằng t1 là

phần tử ngoại lai mạnh hơn t2

Khái niệm này đã nhấn mạnh đến số đối tượng trong lân cận D Các phần tử ngoại lai

có ít số đối tượng hơn trong các lân cận D của chúng có thể được xem là các phần tử ngoại lai mạnh hơn Tất nhiên, nếu người dùng tăng đủ giá trị của p, thì t2 sẽ không còn là một phần tử ngoại lai nữa (nhưng t1 sẽ vẫn là phần tử ngoại lai)

(4) Giả sử t1 và t2 đều là phần tử ngoại lai-j Giả sử nữa là ít nhất tỉ lệ p của các đối tượng trong T lớn hơn khoảng cách D1 từ t1 và ít nhất tỉ lệ p của các đối tượng trong T phải lơn hơn khoảng cách D2 từ t2 , với D1 D2 D Thì chúng ta nói rằng t1

là phần tử ngoại lai mạnh hơn t2

Khái niệm này đã sắp xếp thứ tự một nhóm các phần tử ngoại lai dựa trên khoảng cách của từng phần tử ngoại lai đến một số điểm trong T Tất nhiên, nếu người dùng tăng đủ giá trị của D, thì t2 sẽ không còn là một phần tử ngoại lai nữa (nhưng t1 sẽ vẫn

là phần tử ngoại lai)

3.2 Các định nghĩa và thuật ngữ

Cho một đối tượng P đã được xác định là ngoại lai trong không gian thuộc tính Ap, 2

thành phần của tri thức sẽ được người dùng quan tâm là:

1 Tập các thuộc tính nhỏ nhất là gì để giải thích tại sao P là ngoại lai?

2 P có “nổi trội” hơn các phần tử ngoại lai khác không?

Câu hỏi (1) chỉ tập trung vào P Không gian đã cho Ap, chúng tôi tìm tất cả các

tập con các thuộc tính tối thiểu mà ở đó P là ngoại lai Câu hỏi (2) quan tâm đến việc đánh giá P đối với các phần tử ngoại lai khác Cụ thể chúng tôi tìm các tập thuộc tính

tối thiểu ở đó có một phần tử ngoại lai – phần tử ngoại lai bất kỳ, là P, Q,…

Định nghĩa 4: Một không gian-j là một trong bất kỳ Ckj tổ hợp của j thuộc tính ở k

chiều

Định nghĩa 5: Không gian-As là kí hiệu một không gian cho tập As duy nhất của ít

nhất một thuộc tính trong k thuộc tính Hạng hoặc số chiều của không gian-As là |As|

Có 2k-1 không gian con không rỗng có thể của k thuộc tính Vì thế nếu k=3 thì có 7 không gian con duy nhất: 3 trong 1-D, 3 trong 2-D, 1 trong 3-D Nếu 3 thuộc tính ký

hiệu bởi A, B, C thì danh sách của các không gian này là: A A , A B , A C , A AB , A AC , A BC ,

A ABC hoặc nếu các thuộc tính xác định là không quan trọng thì danh sách sẽ là A S1 ,

A S2 , A S3 , A S4 , A S5 , A S6 , A S7 với A Si được hiểu là duy nhất Nhớ rằng mỗi không

gian-A Si là một không gian |A Si | P là một phần tử ngoại lai – j nếu P là phần tử ngoại lai trong không gian A p với |A p|=j

Trang 38

Ta quan tâm đến giá trị j nhỏ nhất để P là phần tử ngoại lai Trừ khi trong ngữ cảnh yêu cầu, nếu không chúng ta coi đó là giá trị tối thiểu của j để P là phần tử ngoại lai, khi sử dụng thuật ngữ phần tử ngoại lai-j Lý do duy nhất là j thuộc tính dùng để chỉ

ra rằng P là phần tử ngoại lai Nói cách khác đây là cách đơn giản nhất để giải thích

tại sao P được phân loại là phần tử ngoại lai DB Chúng tôi sử dụng thuật ngữ Ap, bởi

vì Ap tham chiếu tới một tập j thuộc tính, ngược lại với thuật ngữ phần tử ngoại lai-j

không tạo sự tham chiếu tới tập j thuộc tính đang sử dụng Chú ý rằng P có thể là phần tử ngoại lai-j với hơn một không gian-j

Chúng ta phân biệt các phần tử ngoại lai phổ biến và các phần tử ngoại lai có cấu trúc Các phần tử ngoại lai phổ biến là các phần tử ngoại lai-1, các phần tử ngoại lai

có cấu trúc là các phần tử ngoại lai-j (j2)

Chúng ta phân biệt giữa các không gian thông thường và không thông thường Với không gian không thông thường, phân biệt giữa các không gian mạnh nhất và không mạnh nhất

Định nghĩa 6: Không gian As là thông thường nếu nó không chứa phần tử ngoại lai,

và là không thông thường nếu nó chứa ít nhất một phần tử ngoại lai

Bổ đề 3: Nếu không gian As là thông thường, thì tất cả các tập con As’ As là thông thường

Chứng minh: Chứng minh là một hệ quả của định nghĩa về các phần tử ngoại

lai-DB Giả sử không gian As có chiều j và khoảng cách giữa các đối tượng P,QT là

)

,

( Khi không gian con bất kỳ A’s  As có chỉ số j’<j, thì

),()

()

đầy đủ trong As, thì chúng có thể không phải là một phần đầy đủ trong As’

Phần tiếp theo, chúng tôi định nghĩa các phần tử ngoại lai mạnh nhất và yếu nhất, đồng thời cũng mở rộng các định nghĩa này bằng các định nghĩa phần tử ngoại lai

mạnh nhất và yếu top-u đây, chúng tôi sắp xếp các phần tử ngoại lai mạnh nhất hoặc yếu P theo chiều tăng dần số các thuộc tính của không gian kết hợp Ap Chúng

tôi muốn một phần tử ngoại lai có thể được giải thích với ít thuộc tính hơn Trong thực tế, khái niệm top-u là bản chất của các phần tử ngoại lai yếu một cách đặc biệt Điều này là vì bản chất đã cho của chúng, các phần tử ngoại lai yếu có thể nhiều hơn nhiều so với các phần tử ngoại lai mạnh nhất Khái niệm top-u giúp loại trừ tình huống có quá nhiều phần tử ngoại lai được trả về so với số phần tử ngoại lai người dùng quan tâm

Trang 39

3.2.1 Các phần tử ngoại lai mạnh nhất và mạnh nhất Top-u

a Các phần tử ngoại lai mạnh nhất

Định nghĩa 7: Giả sử rằng Ap là một không gian thuộc tính chứa một hoặc nhiều

phần tử ngoại lai Ap được gọi là một không gian mạnh nhất nếu không có phần tử

ngoại lai nào thuộc bất cứ không gian con B Ap; ngược lại Ap được gọi là không gian không mạnh nhất Một đối tượng P bất kỳ là một phần tử ngoại lai trong một

không gian mạnh nhất là một phần tử ngoại lai mạnh nhất

Chú ý rằng các không gian thông thường không chứa bất kỳ một phần tử ngoại lai nào, mà chỉ có các không gian không thông thường mới chứa Hai loại không gian không thông thường là không gian mạnh nhất và không gian không mạnh nhất

b Các phần tử ngoại lai mạnh nhất Top-u

Định nghĩa 8: Các phần tử ngoại lai mạnh nhất top-u P1, P2,…, Pu trong các không gian tương ứng của chúng Ap1, Ap2,…, Apu thoả các tính chất sau:

1.Pi là phần tử ngoại lai mạnh nhất trong không gian Api

A, B, C, D, E Tiếp theo ta giả sử rằng:

(i) P1 là phần tử ngoại lai mạnh nhất trong không gian D-1, (ii) P2 là phần tử ngoại lai mạnh nhất trong không gian E-1 (iii) P1 = P2

Nếu một đối tượng đủ điều kiện là phần tử ngoại lai mạnh nhất ở hai không gian khác nhau là cần quan tâm bởi vì có thể tạo thành một tri thức thú vị Vì vậy, chúng tôi thông báo P1 và P2 là hai phần tử ngoại lai mạnh nhất trong từng không gian tương ứng

Tương tự nếu:

(i) P3 là phần tử ngoại lai mạnh nhất trong không gian AB-2, (ii) P4 là phần tử ngoại lai mạnh nhất trong không gian AC-2, (iii) P3 = P4

Cả P3 và P4 là phần tử ngoại lai mạnh nhất Top-u, bởi vì, AP4 AP3 và (thậm chí AP4

 AP3) Có thể cho rằng A là thuộc tính nổi trội trong cả không gian AB lẫn AC,

Trang 40

tương ứng với trạng thái của phần tử ngoại lai P3 và P4, chúng tôi thông báo P3 và P4(trong không gian tương ứng của chúng) là hai phần tử ngoại lai mạnh nhất riêng rẽ

3.2.2 Các phần tử ngoại lai yếu và các phần tử ngoại lai tầm thường

Trong phần này chúng tôi định nghĩa phần tử ngoại lai yếu và phần tử ngoại lai tầm thường Chúng ta sẽ thấy, phần tử ngoại lai yếu chuyển thông tin mới tới người dùng, còn phần tử ngoại lai tầm thường thì không

a Các phần tử ngoại lai yếu và các phần tử ngoại lai tầm thường

Bổ đề 4: Nếu P là phần tử ngoại lai-j trong không gian Ap thì P cũng là phần tử ngoại

lai-j+1, phần tử ngoại lai-j+2,…, phần tử ngoại lai-j+k

Chứng minh: chứng minh là một hệ quả của định nghĩa phần tử ngoại lai DB Giả sử không gian Ap có chiều j, và khoảng cách giữa các đối tượng P,QT đã được cho bởi

)

,

),()

()

Định nghĩa 9: Giả sử P là phần tử ngoại lai trong không gian AP P được gọi là phần

tử ngoại lai không tầm thường trong AP nếu P không phải là phần tử ngoại lai trong không gian con bất kỳ B  AP, ngược lại P được gọi là phần tử ngoại lai tầm thường Theo định nghĩa trên thì nếu P là phần tử ngoại lai mạnh nhất thì P phải là không tầm thường Hơn thế nếu P là phần tử ngoại lai mạnh nhất trong không gian AP thì tất cả các siêu không gian của AP chứa P như là phần tử ngoại lai tầm thường

Để phân loại hoàn toàn các phần tử ngoại lai không tầm thường, chúng tôi đưa ra định nghĩa sau:

Định nghĩa 10: Giả sử P là một phần tử ngoại lai không tầm thường trong không gian

thuộc tính AP được gọi là phần tử ngoại lai yếu trong không gian AP nếu P không phải

là phần tử ngoại lai mạnh nhất

Trong hình 3.5, đối tượng Q là phần tử ngoại lai yếu trong không gian ABC, bởi vì có một phần tử ngoại lai mạnh nhất trong không gian con của không gian ABC, có tên là đối tượng AB của không gian AB Không phải P mà cũng không phải Q là các phần

tử ngoại lai ở bất kỳ các không gian nào khác

Các phần tử ngoại lai yếu có thể được người dùng quan tâm bởi vì một số trong chúng thể hiện “hầu hết” các phần tử ngoại lai mạnh nhất Ví dụ trong các trường hợp phát hiện sự giả mạo, các phần tử ngoại lai yếu có thể không phải là “kẻ phạm tội nguy hiểm nhất”, nhưng các phần tử ngoại lai yếu trong các không gian với chiều

Ngày đăng: 25/03/2015, 09:40

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Anton, H. and Rorres, C. (1994), Elementary Linear Algebra: Applications Versions, John Wiley &amp; Sons, 7 th edition Sách, tạp chí
Tiêu đề: Elementary Linear Algebra: Applications Versions
Tác giả: Anton, H. and Rorres, C
Năm: 1994
[3] Atkinson, A. (1983), Diagnotic regression analysis and shifted power transformations, Technometrics, 25(1),pp. 23-33 Sách, tạp chí
Tiêu đề: Technometrics
Tác giả: Atkinson, A
Năm: 1983
[4] Barnett, V. and Lewis T. (1994), Outliers in Statiscal Data, John Wiley, 3 rd edition Sách, tạp chí
Tiêu đề: Outliers in Statiscal Data
Tác giả: Barnett, V. and Lewis T
Năm: 1994
[5] Bechmann, N., Kriegel, H.-P., Schneider, R., and Seeger, B. (1990), The R*-tree: An efficient and robust access method for points and rectangles, In Proc. ACM SIGMOD, pp. 322-331 Sách, tạp chí
Tiêu đề: Proc. ACM SIGMOD
Tác giả: Bechmann, N., Kriegel, H.-P., Schneider, R., and Seeger, B
Năm: 1990
[6] Box, G. and Cox, D. (1964), An analysis of transformations (with discussion) Journal of the Royal Statiscal Society, Series B (Methodological), 26, pp. 211-252 Sách, tạp chí
Tiêu đề: Journal of the Royal Statiscal Society, Series B (Methodological)
Tác giả: Box, G. and Cox, D
Năm: 1964
[7] Breunig, M., Kreigel, H.-P., Ng, R., and Sander, J. (2000), LOF: Identifying density-based local outliers. In Proc. SIGMOD, pp. 93-104 Sách, tạp chí
Tiêu đề: Proc. SIGMOD
Tác giả: Breunig, M., Kreigel, H.-P., Ng, R., and Sander, J
Năm: 2000
[8] Burden, R. and Faires, J. (1993), Numerical Analysis, PWS Publishing Sách, tạp chí
Tiêu đề: Numerical Analysis
Tác giả: Burden, R. and Faires, J
Năm: 1993
[9] Carroll, R. (1980), A robust method for testing transformations to achieve approximate normality, Journal of the Royal Statistical Society, Series B (Methodological), 42(1), pp. 71-78 Sách, tạp chí
Tiêu đề: Journal of the Royal Statistical Society, Series B (Methodological)
Tác giả: Carroll, R
Năm: 1980
[10] Cochran, W. (1963), Sampling Techniques, John Wiley &amp; Sons, 2 nd edition Sách, tạp chí
Tiêu đề: Sampling Techniques
Tác giả: Cochran, W
Năm: 1963
[12] Donoho, D. (1982), Breakdown properties of multivariate location estimators, PhD qualifying paper, Havard University Sách, tạp chí
Tiêu đề: Breakdown properties of multivariate location estimators
Tác giả: Donoho, D
Năm: 1982
[13] Draper, N. and Smith, H. (1996), Applied Regression Analysis, John Wiley &amp; Sons Sách, tạp chí
Tiêu đề: Applied Regression Analysis
Tác giả: Draper, N. and Smith, H
Năm: 1996
[14] Ester, M., Kriegel, H.-P., Sander, J., and Xu, X. (1996), A density-based algorithm for discovering clusters in large spatial databases with noise, In Proc.KDD, pp. 226-231 Sách, tạp chí
Tiêu đề: Proc. "KDD
Tác giả: Ester, M., Kriegel, H.-P., Sander, J., and Xu, X
Năm: 1996
[15] Faloutsos, C., Barber, R., Flickner, M., Hafner, j., Niblack, W., Petkovic, D., and Equitz, W. (1994), Efficient and effective querying by image content, Journal of Intelligent Information Systems, 3(4), pp. 231-262 Sách, tạp chí
Tiêu đề: Journal of Intelligent Information Systems
Tác giả: Faloutsos, C., Barber, R., Flickner, M., Hafner, j., Niblack, W., Petkovic, D., and Equitz, W
Năm: 1994
[16] Fisher, R. and Yates, F. (1957), Statiscal Tables for Biological, Agricultural, and Medical Research, Oliver and Boyd, Edinburgh, 5 th edition Sách, tạp chí
Tiêu đề: Statiscal Tables for Biological, Agricultural, and Medical Research
Tác giả: Fisher, R. and Yates, F
Năm: 1957
[17] Guttmann, R. (1984), R-trees: A dynamic index structure for spatial searching. In Proc. ACM SIGMOD, pp. 47-57 Sách, tạp chí
Tiêu đề: Proc. ACM SIGMOD
Tác giả: Guttmann, R
Năm: 1984
[18] Hampel, F. (1974), The influence curve and its role in robust estimation, Journal of the American Statiscal Association, 69: pp. 383-393 Sách, tạp chí
Tiêu đề: Journal of the American Statiscal Association
Tác giả: Hampel, F
Năm: 1974
[19] Hansen, M., Hurwitz, W., and Mahow, W. (1953), Sample Survey Methods and Theory, Volume I: Methods and Applications, John Wiley &amp; Sons Sách, tạp chí
Tiêu đề: Sample Survey Methods and Theory, Volume I: Methods and Applications
Tác giả: Hansen, M., Hurwitz, W., and Mahow, W
Năm: 1953
[20] Hawkins, D. (1980), Identification of Outliers, Chapman and Hall, London Sách, tạp chí
Tiêu đề: Identification of Outliers
Tác giả: Hawkins, D
Năm: 1980
[21] Hinneburg, A. and Keim, D. (1998), An efficient approach to clustering in large multimedia database with noise, In Proc. KDD, pp 58-65 Sách, tạp chí
Tiêu đề: Proc. KDD
Tác giả: Hinneburg, A. and Keim, D
Năm: 1998
[22] Johnon, R. and Wichern, D. (1982), Applied Multivariate Statistical Analysis, Prentice-Hall Sách, tạp chí
Tiêu đề: Applied Multivariate Statistical Analysis
Tác giả: Johnon, R. and Wichern, D
Năm: 1982

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w