1. Trang chủ
  2. » Công Nghệ Thông Tin

luận văn thuật toán phát hiện phần tử ngoại lai và ứng dụn

75 194 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 75
Dung lượng 1,11 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 phần tử ngoại lệ hoặc các phần tử ngoại lai trong quá trình sử dụng và kh

Trang 1

LỜI CAM ĐOAN

Tôi cam đoan những kết quả trong luận văn là của việc tìm hiểu, có trích dẫn và tham chiếu đến các nguồn tư liệu tin cậy Nội dung luận văn không sao chép từ các kết quả của các luận văn, luận án khác

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, tôi xin được gửi lời cảm ơn sâu sắc nhất tới thầy giáo TS

Lê Văn Phùng, người thầy đã trực tiếp dành nhiều thời gian tận tình hướng dẫn, cung cấp những thông tin, tài liệu quý báu giúp đỡ tôi hoàn thành bản luận văn này

Tôi cũng xin gửi lời cảm ơn đến các giảng viên trường Đại học công nghệ thông tin và truyền thông - Đại học Thái Nguyên, các thầy Viện công nghệ thông tin - Viện hàn lâm khoa học công nghệ Việt Nam đã giảng dạy, truyền đạt những kiến thức và giúp đỡ tôi trong suốt quá trình học tập của mình

Tôi cũng xin gửi lời cảm ơn tới Phòng giáo dục và đào tạo huyện Văn Yên, tỉnh Yên Bái, đã tạo mọi điều kiện thuận lợi cho tôi tham gia khóa học

và trong suốt quá trình hoàn thành luận văn

Cuối cùng, tôi xin cảm ơn những người thân, bạn bè và gia đình đã luôn

cổ vũ động viên tôi hoàn thành luận văn tốt nghiệp này

Mặc dù đã hết sức cố gắng hoàn thành luận văn với tất cả sự nỗ lực của bản thân, nhưng luận văn không tránh khỏi những thiếu sót Kính mong nhận được những ý kiến đóng góp của quý thầy cô và bạn bè, đồng nghiệp

Tôi xin chân thành cảm ơn!

Thái Nguyên, ngày 05 tháng 05 năm 2016

Học viên

Phạm Hồng Hải

Trang 3

MỤC LỤC LỜI CAM ĐOAN I MỤC LỤC III DANH MỤC CÁC TỪ VIẾT TẮT VI DANH MỤC CÁC BẢNG, HÌNH VẼ VII

MỞ ĐẦU 1

CHƯƠNG 1 PHẦN TỬ NGOẠI LAI VÀ ỨNG DỤNG TRONG 3

KHAI PHÁ DỮ LIỆU 3

1.1 Khai phá dữ liệu và phát hiện tri thức 3

1.1.1 Một số khái niệm 3

1.1.2 Khai phá dữ liệu 3

1.1.3 Phát hiện tri thức 5

1.2.MộT Số KHÁI NIệM LIÊN QUAN ĐếN PHầN Tử NGOạI LAI 7

1.2.1 Khái niệm về ngoại lai 7

1.2.2 Khái niệm ngoại lai trong cơ sở dữ liệu 9

1.3 Phát hiện các phần tử ngoại lai trong dữ liệu 12

1.4 Ứng dụng phát hiện phần tử ngoại lai 16

1.4.1 Phát hiện xâm nhập 16

1.4.2 Phát hiện gian lận 17

1.4.3 Phát hiện bảo hiểm yêu cầu bồi thường gian lận 18

1.4.4 Ứng dụng trong y tế công cộng 18

1.4.5 Phát hiện thiệt hại công nghiệp 19

1.4.6 Xử lý hình ảnh 19

1.4.7 Mạng cảm biến 20

CHƯƠNG 2 CÁC THUẬT TOÁN TÌM KIẾM PHẦN TỬ NGOẠI LAI THEO TỶ LỆ KHÁC BIỆT DB(PCT,DMIN) 21

2.1 Định nghĩa các phần tử ngoại lai theo tỷ lệ khác biệt 21

Trang 4

2.2 Thuật toán đánh giá theo ô 22

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

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

2.2.2.1 Tư tưởng thuật toán 24

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

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

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

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

2.3 Phát hiện các phần tử ngoại lai DB(pct,Dmin) trong các tập dữ liệu lớn, ở bộ nhớ ngoài 32

2.3.1 Phân tích tổng quát 32

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

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

2.4 Xử lý thực nghiệm 39

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

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

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

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

2.5 Kết luận chương 43

CHƯƠNG 3 44

CHƯƠNG TRÌNH THỰC NGHIỆM 44

3.1 Hiện trạng và đặt bài toán 44

3.1.1 Chỉnh sửa dữ liệu 44

3.1.2 Chỉnh lỗi cú pháp 45

3.1.3 Phát hiện ngoại lai 46

3.2 Cài đặt thuật toán và chạy chương trình 46

Trang 5

3.2.1 Sử dụng các luật trong bảng điểm 46

3.2.1.1 Xử lí dữ liệu thủ công 46

3.2.1.2 Cài đặt thuật toán 47

3.2.1.3 Một số qui luật xác định ngoại lai 48

3.2.1.4 Các xã thuộc huyện Văn Yên 49

3.2.1.5 Những xã đặc biệt khó khăn 50

3.2.1.6 Các dân tộc thiểu số trong huyện Văn Yên 51

3.2.2 Ứng dụng thuật toán FindAllOutsD tìm phần tử ngoại lai theo tỷ lệ khác biệt 51

3.3 Kết luận chương 54

KẾT LUẬN 55

TÀI LIỆU THAM KHẢO 56

PHỤ LỤC 57

Trang 6

ECG(Electrocardiograms) Điện tâm đồ

Electroencephalograms Điện não đồ

ID (Identification) Nhận biết

FindAllOutsM Find All Outliers in memory FindAllOutsD Find All Outliers in Disk

ADN – Aciddeoxyribonuclic Chuỗi phân tử

DB (Distance Based) Dựa theo khoảng cách

Trang 7

DANH MỤC CÁC BẢNG, HÌNH VẼ

Hình 1.1 Vai trò của tri thức 5

Hình 1.2 Phát hiện tri thức 7

Hình 1.3 Phần tử ngoại lai trong tập điểm có tọa độ (x,y) trên mặt phẳng có giá trị tung độ y nhỏ hơn hẳn các phần tử khác của tập hợp 9

Hình 1.4 Thí dụ phân tích dữ liệu ngoại lai 11

Hình1.5: Minh họa- giá trị ngoại lai trong một bộ dữ Hình 1.6: Các thành phần chính liên quan đến kỹ thuật phát hiện ngoại lai 14

Hình 1.7: Biểu đồ nhiệt độ tại các tháng khác nhau trong năm 16

Hình 2.2 a 29

Hình 2.2b 29

Hình 2.2c 30

Hình 2.2d 30

Hình 2.3 Thời gian chạy của CPU+I/O với các tập dữ liệu ba chiều nằm trong bộ nhớ ngoài Với pct=0.9999 40

Hình 2.4 42

Hình 3.1 Dữ liệu ban đầu, chưa điều chỉnh thủ công 45

Hình 3.2 Bảng điểm đã điều chỉnh, cho phù hợp với yêu cầu tin học hóa 47

Hình 3.3 Bản đồ Huyện Văn Yên – Tỉnh Yên Bái 49

Hình 3.4: Tệp Excel bảng điểm cơ sở dữ liệu đầu vào 52

Hình 3.5: Các danh mục 52

Hình 3.6: Ta có thể thêm vào hoặc xóa tên các dân tộc 53

Hình 3.7 Ta có thể sửa thêm vào hoặc xóa tên các trường THCS 53

Hình 3.8 Ta có thể sửa, xóa hoặc thêm môn thi 54

Hình 3.9 Kết quả tìm phần tử ngoại lai 54

Trang 8

MỞ ĐẦU

Trong vài thập niên gần đây, cùng với sự thay đổi và phát triển không ngừng của ngành công nghệ thông tin dẫn đến sự bùng nổ thông tin và dữ liệu Luồng thông tin được chuyển tải mau lẹ rất nhanh chóng.Công nghệ khai phá dữ liệu và phát hiện tri thức đang là chủ đề được quan tâm trong công nghệ thông tin và đượ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 Xác định phần tử ngoại lai(outlier) trong tập hợp dữ liệu là một hướng mới được quan tâm, nghiên cứu và có nhiều ứng dụng thiết thực 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 phần tử ngoại lệ hoặc các phần tử ngoại lai trong quá trình sử dụng và khai thác thông tin ngày càng được chú trọng

Do tính hấp dẫn của khai phá dữ liệu, đặc biệt là các thuật toán phát hiện phần tử ngoại lai, tôi đã chọn đề tài “Thuật toán phát hiện phần tử ngoại lai và ứng dụng” là luận văn cao học của mình Hiện nay lĩnh vực giáo dục đang phát triển mạnh mẽ, hệ thống trường lớp ngày càng được mở rộng, việc

áp dụng công nghệ thông tin trong quản lý và giảng dạy, học tập ngày càng được chú trọng, trong đó có quản lý điểm thi trong kỳ thi học sinh giỏi các môn văn hóa do phòng giáo dục và đào tạo huyện Văn Yên, tỉnh Yên Bái tổ chức Với mong muốn phát hiện tự động những sai sót trong bảng dữ liệu thi học sinh giỏi tại huyện Văn Yên, Yên Bái, từ đó sử dụng phần mềm phát hiện

tự động các ngoại lai, rồi điều chỉnh theo ý kiến chuyên gia giáo dục

Xuất phát từ thực tế đó, luận văn này được trình bày nhằm mục đích:

1 Tìm hiểu các khái niệm về khai phá dữ liệu và phát hiện tri thức, một số khái niệm liên quan đến phần tử ngoại lai, phát hiện phần

tử ngoại lai trong cơ sở dữ liệu và ứng dụng…

Trang 9

2 Khảo cứu một số thuật toán phát hiện phần tử ngoại lai theo tỷ lệ khác biệt trên dữ liệu lớn, nhiều chiều

3 Kiểm tra thuật toán FindAllOutsD cho các phần tử ngoại lai nằm trong bộ nhớ ngoài trên dữ liệu thực tế

Trang 10

CHƯƠNG 1 PHẦN TỬ NGOẠI LAI VÀ ỨNG DỤNG TRONG

KHAI PHÁ DỮ LIỆU

Nội dung của chương này giới thiệu quá trình phát hiện tri thức, khai phá dữ liệu, trình bày một số khái niệm liên quan đến phần tử ngoại lai và phát hiện phần tử ngoại lai trong cơ sở dữ liệu Đồng thời, đi sâu tìm hiểu ứng dụng thực tế của phần tử ngoại lai trong các lĩnh vực của cuộc sống

1.1 Khai phá dữ liệu và phát hiện tri thức

Tri thức hay kiến thức bao gồm những dữ kiện, thông tin, sự mô tả, hay

kỹ năng có được nhờ trải nghiệm hay thông qua giáo dục Trong tiếng Việt,

cả "tri" lẫn "thức" đều có nghĩa là biết Tri thức có thể chỉ sự hiểu biết về một đối tượng, về mặt lý thuyết hay thực hành Nó có thể tiềm ẩn, chẳng hạn những kỹ năng hay năng lực thực hành, hay tường minh, như những hiểu biết

lý thuyết về một đối tượng, nó có thể ít nhiều mang tính hình thức hay có tính

hệ thống Mặc dù có nhiều lý thuyết về tri thức, nhưng hiện không có một định nghĩa nào về tri thức được tất cả mọi người chấp nhận

Thành tựu tri thức liên quan đến những quá trình nhận thức phức tạp: tri giác, truyền đạt, liên hệ, và suy luận Trong triết học, ngành nghiên cứu về tri thức được gọi là tri thức luận

1.1.2 Khai phá dữ liệu

Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập

Trang 11

kỷ 80, nó bao hàm một loạt kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các kho dữ liệu Về bản chất khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu tri thức trong tập dữ liệu

Trong thực tế có nhiều kỹ thuật khai phá dữ liệu khác nhau và được chia thành hai nhóm chính: kỹ thuật khai phá dữ liệu mô tả, kỹ thuật khai phá

dữ liệu dự đoán

Một số kỹ thuật phổ biến thường được sử dụng để khai phá dữ liệu hiện nay là: phân cụm dữ liệu, khai phá luật kết hợp, hồi quy, phân lớp dữ liệu, giải thuật di truyền, mạng nơ ron…

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 phá 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 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 thì 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…

Do khai phá dữ liệu được ứng dụng rộng rãi nên nó có thể làm việc với rất nhiều kiểu dữ liệu khác nhau:

 Cơ sở dữ liệu quan hệ

Trang 12

 Kho dữ liệu

 Cơ sở dữ liệu giao dịch

 Dữ liệu không gian và thời gian

 Dữ liệu chuỗi thời gian

 Cơ sở dữ liệu đa phương tiện

1.1.3 Phát hiện tri thức

Với sự tiến bộ của khoa học kỹ thuật và nhu cầu con người ngày càng tăng đã tạo nên một thời đại bùng nổ thông tin trong mọi lĩnh vực của đời sống Với lượng thông tin “khổng lồ” đó thì cần có các kỹ thuật khai phá dữ liệu hiệu quả để lấy ra những thông tin hữu ích Một số các ngôn ngữ truy vấn như SQL được sử dụng nhằm lấy ra những thông tin theo yêu cầu của người

sử dụng, nhưng hầu hết các ngôn ngữ này chỉ lấy ra được dữ liệu theo những yêu cầu đơn giản Các kiểu dữ liệu đa phương tiện được một 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

Hình 1.1 Vai trò của tri thức

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: Phát hiện tri thức trong cơ sở dữ liệu Phát hiện 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:

1 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

Trang 13

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

2 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

 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 phá dữ liệu" và “phát hiện tri thức” thường được sử dụng để thay thế cho nhau

3 Đá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

Trang 14

khai phá 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 phá 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.[3]

Cấu trúc của quá trình phát hiện tri thức trong cơ sở dữ liệu:

Hình 1.2 Phát hiện tri thức 1.2 Một số khái niệm liên quan đến phần tử ngoại lai

1.2.1 Khái niệm về ngoại lai

Từ điển kinh tế, triết học đã xác định khái niệm ngoại lai

Ảnh hưởng ngoại lai, trong kinh tế học, là ảnh hưởng gây ra bởi hoạt động của một chủ thể kinh tế này và tác động trực tiếp tới chủ thể kinh tế khác (nghĩa là không thông qua cơ chế thị trường) Nếu chủ thể kinh tế chịu tác động bị tổn thất, thì có ảnh hưởng ngoại lai tiêu cực Còn nếu chủ thể kinh

tế chịu tác động được lợi, thì có ảnh hưởng ngoại lai tích cực Ô nhiễm môi trường do chất thải của một nhà máy đối với dân cư trong khu vực là ví dụ về ảnh hưởng ngoại lai tiêu cực Sự dễ chịu do cảnh đẹp ở vườn nhà hàng xóm tới nhà mình là ví dụ về ảnh hưởng ngoại lai tích cực Ảnh hưởng ngoại lai

Trang 15

tích cực thường gắn liền với nạn kẻ đi xe không trả tiền (ngồi không hưởng lợi) Giải pháp khắc phục ảnh hưởng ngoại lai tiêu cực, trong kinh tế học được gọi là các biện pháp nội bộ hóa ảnh hưởng ngoại lai

Phần tử ngoại lai có thể có nhiều nguyên nhân bất thường Một bộ máy vật lý cho lấy số đo có thể đã phải chịu đựng một sự cố thoáng qua Có thể có một lỗi trong truyền dữ liệu hoặc sao chép Ngoại lai phát sinh do sự thay đổi trong hệ thống hành vi, hành vi gian lận, lỗi của con người, lỗi công cụ, hay chỉ đơn giản là thông qua độ lệch tự nhiên trong quần thể Một mẫu có thể đã

bị nhiễm các yếu tố từ bên ngoài dân số được kiểm tra Ngoài ra, một ngoại lai có thể là kết quả của một lỗ hổng trong lý thuyết giả định, kêu gọi tiếp tục điều tra bởi các nhà nghiên cứu

Phần tử ngoại lai là quan sát xa nhất, có thể bao gồm tối đa hoặc tối thiểu mẫu, hoặc cả hai, tùy thuộc vào việc phần tử đó cao hay thấp Tuy nhiên, tối đa và tối thiểu mẫu không phải lúc nào cũng là giá trị ngoại lai bởi

vì có thể không có bất thường xa với quan sát khác Giải thích của các số liệu thống kê từ các tập dữ liệu bao gồm các giá trị ngoại lai có thể gây hiểu nhầm

Ví dụ: Nếu một người tính toán nhiệt độ trung bình của 10 đối tượng trong một căn phòng, và chín trong số đó là từ 20oC đến 25oC, nhưng một đối tượng ở 175°C, trung bình của các dữ liệu sẽ được giữa 20oC và 25°C, nhưng nhiệt độ trung bình sẽ vào khoảng 35,5oC và 40°C Trong trường hợp này, trung bình tốt hơn phản ánh nhiệt độ của một đối tượng lấy mẫu ngẫu nhiên hơn so với trung bình Tuy nhiên giải thích nghĩa là "một mẫu điển hình", tương đương với mức trung bình, là không chính xác Như minh họa trong trường hợp này, giá trị ngoại lai có thể chỉ ra các điểm dữ liệu mà thuộc về một dân số khác biệt so với phần còn lại của tập hợp mẫu Ước lượng khả năng đối phó với các ngoại lệ được cho là mạnh mẽ.[9]

Trang 16

1.2.2 Khái niệm ngoại lai trong cơ sở dữ liệu

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

Phần tử ngoại lai của một tập dữ liệu là các phần tử mà theo một cách nhìn nào đó có các đặc tính không giống với tập hợp đa số còn lại của tập dữ liệu Chẳng hạn trong hình cho thấy một phần tử ngoại lai theo vị trí hình học

Hình 1.3 Phần tử ngoại lai trong tập điểm có tọa độ (x,y) trên mặt phẳng có giá trị tung độ y nhỏ hơn hẳn các phần tử khác của tập hợp

Các phần tử ngoại lai có thể là ngoại lại gây ra bởi lỗi thực hiện hoặc là lỗi phép đo Ví dụ việc hiển thị một người có tuổi 199 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” Nói khác đi, các phần tử ngoại lai có thể trở thành một lĩnh vực cụ thể như là trong công việc phát hiện lỗi nơi các phần tử ngoại lai đóng vai trò là lỗi Do đó, việc phân tích và phát hiện phần

Trang 17

tử ngoại lai là một công việc khai thác dữ liệu thú vị được đề cập tới như là khai thác phần tử ngoại lai.[1]

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”.[4] 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” Nói khác đi, các đối tượng không cùng một mô hình thực hiện với tập dữ liệu còn lại được xem là các phần tử ngoại lai.[7]

Có nhiều cách định nghĩa và hiểu khác nhau về phần tử ngoại lai Tuy nhiên chúng có điểm chung là: Một phần tử ngoại lai là những quan trắc mà

có sự khác biệt đáng kể đối với những quan trắc còn lại

Có nhiều công trình nghiên cứu về phát hiện phần tử ngoại lai Các phương pháp chính để phát hiện phần tử ngoại lai bao gồm:

1 Xác định phần tử ngoại lai theo khoảng cách (Distance – Based):

Theo hướng tiếp cận này cần phải xác định một hàm đo khoảng cách(metric) giữa các phần tử trong tập dữ liệu Các phần tử ngoại lai là những phần tử nằm khá xa với tập các phần tử còn lại Điển hình cho hướng tiếp cận này là các tác giả Knorr and Ng.[5]

2 Xác định theo thống kê (Statistical – Based):

Hướng nghiên cứu này dựa trên việc xác định các mô hình phân phối thống kê mà các phần tử phải tuân theo(phân phối chuẩn, phân phối X2…) Phần tử ngoại lai là những phần tử không tuân theo luật này Điển hình cho hướng tiếp cận này là các tác giả Barnett and lewis[4]

Trang 18

3 Xác định theo độ khác biệt (Deviation – Based):

Hướng nghiên cứu này dựa trên những đặc trưng cơ bản của các phần tử trong một tập các phần tử Các phần tử có những đặc trưng khác biệt quá lớn so với các phần tử còn lại thì là các phần

tử ngoại lai Điển hình cho hướng tiếp cận này là các tác giả Arning, Agrawal, Raghaval.[1]

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:

1 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

2 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

3 Là đối tượng dữ liệu được đánh giá, hoặc sinh ra do sai sót, không chính xác

Hình 1.4 Thí dụ phân tích dữ liệu ngoại lai

Đố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 Chúng không cần thiết phải loại

bỏ 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 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 có thể là thực sự cần thiết” [4] Có

Trang 19

thể các phần tử ngoại lai thực sự liên quan tới một mô hình xác xuất cụ thể hoặc cũng có thể là nằm trong mô hình cần được làm mịn

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ể phải được phát hiện, khắc phục và đánh giá trong miền 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 Ví dụ, trong một cơ sở dữ liệu đáp ứng thời gian thực cho hệ thống giao dịch trực tuyến, các phần tử ngoại lai có thể là những giá trị cực đại trong các phiên giao dịch mà các kết nối mạng phục vụ Các phiên giao tiếp được xem như là không thành công trong hệ thống trực tuyến Đây là một trường hợp có ý nghĩa là loại bỏ giá trị ngoại lai

để tránh sự vượt quá thời gian đáp ứng trung bình của các phiên giao dịch 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 xét là các điểm không thoả mãn dưới mô hình của dữ liệu 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 từ chuyên gia

1.3 Phát hiện các phần tử ngoại lai trong dữ liệu

Phát hiện phần tử ngoại lai là các mẫu trong dữ liệu mà không phù hợp với một định nghĩa khái niệm về hành vi bình thường Hình 1.5 minh họa giá trị ngoại lai trong một bộ dữ liệu hai chiều đơn giản Những dữ liệu có hai khu vực bình thường N1 và N2 , vì hầu hết các quan sát nằm ở hai vùng này Điểm đó là đủ xa cách xa các khu vực ví dụ: chỉ o1 và o2, và điểm trong khu vực O3, là giá trị ngoại lai x y N1 N2 o1 o2 O3

Trang 20

Hình1.5: Minh họa- giá trị ngoại lai trong một bộ dữ liệu 2 chiều đơn giản

Những khó khăn trong việc phát hiện phần tử ngoại lai trong cơ sở dữ liệu:

 Bao gồm việc xác định mọi hành vi bất bình thường có thể có trong khu vực cơ sở dữ liệu

 Chỉ ra được ranh giới không chính xác giữa bình thường và ngoại lai

 Mỗi một lĩnh vực thì khái niệm phần tử ngoại lai có thể khác nhau Chính vì vậy lĩnh vực ứng dụng để áp dụng kỹ thuật tìm kiếm phát hiện phần tử ngoại lai là rất khó khăn

Do những thách thức trên, vấn đề phát hiện phần tử ngoại lai ở dạng chung nhất của nó, không phải là dễ dàng để giải quyết Trong thực tế, hầu hết các phần tử ngoại lai hiện các kỹ thuật phát hiện giải quyết cụ thể xây dựng vấn đề được gây ra bởi các yếu tố khác nhau Chẳng hạn như tính chất của dữ liệu, sẵn có của dữ liệu được dán nhãn, loại các giá trị ngoại lai được phát hiện… Thông thường những yếu tố này xác định bởi các miền ứng dụng, trong đó giá trị ngoại lai cần phải được phát hiện Các nhà nghiên cứu

áp dụng các khái niệm từ các môn học đa dạng như thống kê, học máy, khai thác dữ liệu, thông tin, lý thuyết quang phổ, và áp dụng chúng vào vấn đề cụ thể Hình 1.6 cho thấy sự quan trọng nêu trên các thành phần liên quan đến

Trang 21

bất kỳ phát hiện ngoại lai

Hình 1.6: Các thành phần chính liên quan đến kỹ thuật phát hiện ngoại lai

Nếu một thể hiện dữ liệu cá nhân có thể được coi là bất thường đối với phần còn lại của dữ liệu, được gọi là một ngoại lai điểm Đây là đơn giản nhất ngoại lai và là trọng tâm của phần lớn các nghiên cứu về phát hiện ngoại lai [9]

Lĩnh vực nghiên cứu:

Học máy khai phá dữ liệu

Lý thuyết thông tin Số liệu thống kê

 Lỗi / phát hiện thiệt hại

 Tội phạm/ điều tra / lập kế hoạch khủng bố

 Tin học y tế

Trang 22

Ví dụ: Trong hình 1.1 , các điểm O1 và o2 cũng như các điểm trong khu vực O3 nằm ngoài ranh giới của khu vực bình thường, và do đó có giá trị ngoại lai điểm từ họ là khác nhau từ các điểm dữ liệu bình thường

Ví dụ: Nếu chúng ta phát hiện xem xét gian lận thẻ tín dụng với tập dữ liệu tương ứng với thẻ tín dụng của một cá nhân giao dịch, giả sử dữ liệu bởi chỉ có một tính năng là số tiền chi Một giao dịch mà số tiền bỏ ra là rất cao so với mức bình thường chi tiêu cho người đó sẽ là một ngoại lai điểm

Nếu một trường dữ liệu là bất thường trong một văn bản cụ thể (nhưng không khác), sau đó nó được gọi là một ngoại lai theo ngữ nghĩa Các khái niệm về một bối cảnh được gây ra bởi cấu trúc trong thiết lập dữ liệu và có được quy định như một phần của việc xây dựng vấn đề

Dữ liệu được định nghĩa sử dụng hai bộ của các thuộc tính, theo ngữ cảnh

và thuộc tính Các thuộc tính ngữ cảnh được sử dụng để xác định các nội dung

Ví dụ: Trong bộ dữ liệu không gian, kinh độ và vĩ độ của một vị trí là các thuộc tính ngữ cảnh Trong chuỗi thời gian dữ liệu, thời gian là một thuộc tính ngữ cảnh mà xác định vị trí của một trường hợp trên toàn bộ chuỗi Các thuộc tính về hành vi xác định những đặc tính phi ngữ cảnh

Ví dụ: Trong một tập hợp dữ liệu không gian mô tả lượng mưa trung bình của toàn thế giới, lượng mưa ở bất kỳ vị trí nào là một thuộc tính hành

vi Các hành vi bất thường được xác định bằng cách sử dụng các giá trị cho các thuộc tính về hành vi trong một bối cảnh cụ thể Một dữ liệu có thể là một ngoại lai theo ngữ cảnh trong một định bối cảnh, nhưng một thể hiện dữ liệu giống hệt nhau (về thuộc tính hành vi) có thể được xem là bình thường trong một bối cảnh khác nhau

Trang 23

Hình 1.7: Biểu đồ nhiệt độ tại các tháng khác nhau trong năm

Hình 1.7 cho thấy một ví dụ về chuỗi thời gian nhiệt độ mà hiển thị nhiệt độ hàng tháng của một khu vực trong năm Nhiệt độ 35o F có thể là bình thường trong suốt mùa đông (tại thời điểm t1) tại nơi đó, nhưng giá trị như

nhau trong mùa hè (tại thời điểm t2) sẽ là một ngoại lai Một ví dụ tương tự

có thể được tìm thấy trong các gian lận thẻ tín dụng phát hiện với bối cảnh là thời điểm mua hàng Giả sử một cá nhân thường có một hóa đơn mua sắm hàng tuần 100$ ngoại trừ trong tuần Giáng sinh, khi nó đạt đến 1000$ Một lần mua mới 1000$ trong một tuần vào tháng nào đó sẽ được coi là một ngoại lai theo ngữ cảnh, vì nó không phù hợp để các hành vi bình thường của cá nhân trong bối cảnh thời gian (mặc dù cùng một số lượng đã tiêu hết trong tuần Giáng sinh sẽ được xem là bình thường ).[9]

1.4 Ứng dụng phát hiện phần tử ngoại lai

1.4.1 Phát hiện xâm nhập

Phát hiện xâm nhập dùng để phát hiện các hoạt động nguy hiểm (phá vỡ thâm nhập và các hình thức khác của máy tính) trong một hệ thống máy tính liên quan từ một vấn đề bảo mật Khác với hệ thống hành vi bình thường, phát

Trang 24

hiện xâm nhập áp dụng các kỹ thuật phát hiện ngoại lai Các thách thức chính cho việc phát hiện ngoại lai là:

+ Khối lượng dữ liệu lớn: Điều này đòi các kỹ thuật hiệu quả tính toán + Truyền dữ liệu: Điều này đòi hỏi phân tích trực tuyến

+ Tỷ lệ báo động sai: Tỷ lệ phần trăm nhỏ nhất của báo động sai trong

số hàng triệu đối tượng dữ liệu có thể làm cho là quá sức đối với một nhà phân tích

+ Được gán nhãn dữ liệu thường không có sẵn cho xâm nhập: Đây sẽ

ưu tiên cho ban giám sát và phát hiện ngoại lai không có giám sát kỹ thuật Hệ thống phát hiện xâm nhập đã được phân loại vào máy chủ dựa và mạng dựa trên hệ thống phát hiện xâm nhập

1.4.2 Phát hiện gian lận

Gian lận liên quan đến hoạt động tội phạm xảy ra trong các tổ chức thương mại, các tổ chức như ngân hàng, các công ty thẻ tín dụng, cơ quan bảo hiểm, các công ty điện thoại di động, thị trường chứng khoán , … Người sử dụng độc hại có thể là khách hàng thực tế của tổ chức hoặc phải dùng đến hành vi trộm cắp danh tính (giả làm khách hàng) Các hoạt động phát hiện nhằm mục đích phát hiện tiêu thụ trái phép các nguồn tài nguyên được cung cấp bởi tổ chức để ngăn chặn thiệt hại kinh tế Một cách tiếp cận chung để phát hiện ngoại lai ở đây sẽ liên quan duy trì một cấu hình sử dụng cho từng khách hàng và theo dõi các cấu hình để phát hiện bất kỳ sai lệch được gọi là hoạt động giám sát Một số ứng dụng cụ thể của phát hiện gian lận:

- Phát hiện thẻ tín dụng gian lận: Kỹ thuật phát hiện ngoại lai được áp dụng để phát hiện gian lận đối với thẻ tín dụng Điều này cũng tương tự như việc phát hiện gian lận bảo hiểm Cách sử dụng gian lận của thẻ tín dụng: Kết hợp với các vụ trộm cắp thẻ tín dụng Các hồ sơ dữ liệu được xác định trên một số phương diện như nhận diện người sử dụng, đã dành số tiền, thời gian

Trang 25

giữa các lần liên tiếp sử dụng thẻ… Các gian lận thường được phản ánh trong

hồ sơ giao dịch (giá trị ngoại lai điểm) và tương ứng với thanh toán cao, tốc

độ cao, mua các mặt hàng không bao giờ mua bởi người sử dụng trước,… sẵn

có của ghi nhãn là không có vấn đề vì các công ty tín dụng có đầy đủ dữ liệu

có sẵn Hơn nữa, dữ liệu rơi vào sự khác biệt dựa vào người sử dụng thẻ tín dụng Vì thế các kỹ thuật trên thường được sử dụng trong lĩnh vực này Phát hiện trực tuyến lừa đảo ngay sau khi giao dịch gian lận xảy ra là một thách thức trong việc phát hiện thẻ tín dụng trái phép hiện nay

1.4.3 Phát hiện bảo hiểm yêu cầu bồi thường gian lận

Một vấn đề quan trọng trong ngành công nghiệp bảo hiểm là các hành vi gian lận: ví dụ xe hơi gian lận bảo hiểm Các cá nhân và tổ chức bên yêu sách

và các nhà cung cấp yêu cầu bồi thường hệ thống xử lý cho các tuyên bố trái phép và bất hợp pháp Các dữ liệu trong lĩnh vực này để phát hiện gian lận đến từ các văn bản trình của các bên tranh chấp

Các kỹ thuật trích xuất các tính năng khác nhau (cả phân loại cũng như liên tục) từ các tài liệu này Thông thường , điều chỉnh các yêu cầu và điều tra đánh giá những tuyên bố cho gian lận Những điều tra bằng tay trường hợp được sử dụng như trường hợp dán nhãn của giám sát và kỹ thuật giám sát cho gian lận bảo hiểm phát hiện Phát hiện bảo hiểm bồi thường gian lận là khá thường xuyên xử lý như một vấn đề giám sát hoạt động chung, kỹ thuật dựa trên mạng lưới thần kinh cũng đã được áp dụng để xác định yêu cầu bảo hiểm bất thường

Trang 26

đo đạc lỗi hoặc lỗi ghi âm Hầu hết các ngoại lai hiện tại kỹ thuật phát hiện trong này nhằm mục đích phát hiện tại hồ sơ bất thường (ngoại lai điểm) Thông thường các dữ liệu được dán nhãn thuộc về bệnh nhân khỏe mạnh, do

đó hầu hết các kỹ thuật áp dụng giám sát tiếp cận Một hình thức khác của dữ liệu xử lý bởi ngoại lai kỹ thuật phát hiện trong lĩnh vực này là dữ liệu chuỗi thời gian, chẳng hạn như điện tâm đồ (ECG) và điện não đồ (EEG) Kỹ thuật phát hiện ngoại lai đã được áp dụng để phát hiện giá trị ngoại lai trong dữ liệu như vậy Một số kỹ thuật cũng có tập trung vào việc phát hiện dịch bệnh ở một khu vực cụ thể Vì vậy việc phát hiện ngoại lai là rất quan trọng vấn đề trong lĩnh vực này và đòi hỏi mức độ cao và chính xác Các khía cạnh thách thức nhất của việc phát hiện ngoại lai là vấn đề trong lĩnh vực này là chi phí phân loại một ngoại lai như bình thường có thể rất cao

1.4.5 Phát hiện thiệt hại công nghiệp

Các nhà máy công nghiệp bị thiệt hại do liên tục sử dụng và hao mòn thông thường, thiệt hại như vậy cần phải được phát hiện sớm để ngăn chặn sự leo thang hơn nữa và gây tổn thất dẫn đến thiệt hại Các dữ liệu trong phạm vi này thường là cảm biến dữ liệu được ghi bằng các cảm biến khác nhau và thu thập cho phân tích

Ví dụ: Phát hiện lỗi trong đơn vị cơ khí và thành phần như động cơ, tua bin, dầu chảy trong đường ống, Các vết nứt trong dầm, thủng trong khung máy bay, dữ liệu không lường trước được sử dụng cho lỗi phát hiện ở các nhà máy

cơ khí…

1.4.6 Xử lý hình ảnh

Phát hiện ngoại lai ở đây nhằm phát hiện những thay đổi trong một hình ảnh theo thời gian (phát hiện chuyển động) hoặc trong các khu vực mà xuất hiện bất thường trên hình ảnh tĩnh Tên miền này bao gồm các hình ảnh

vệ tinh, công nhận chữ số, quang phổ, hình ảnh X quang vú, và giám sát

Trang 27

video Các yếu tố được gây ra bởi chuyển động hoặc chèn đối tượng hoặc thiết bị lỗi Các dữ liệu có không gian cũng như đặc điểm thời gian Mỗi điểm

dữ liệu có một vài các thuộc tính liên tục như màu sắc, kết cấu , …Các giá trị ngoại lai thú vị là những điểm hoặc bất thường hoặc khu vực trong ảnh (điểm

và sự chênh lệch theo ngữ cảnh) Một trong những thách thức quan trọng trong lĩnh vực này là kích thước lớn của đầu vào Thách thức lớn khi giao dịch với dữ liệu video, và các kỹ thuật phát hiện trực tuyến là cần thiết

1.4.7 Mạng cảm biến

Mạng cảm biến gần đây đã trở thành một chủ đề quan trọng nghiên cứu từ góc độ phân tích dữ liệu, kể từ các dữ liệu thu thập được từ các cảm biến không dây khác nhau có một số đặc điểm độc đáo Ngoại lai trong dữ liệu đó thu thập hoặc có thể bao hàm một hoặc nhiều cảm biến bị lỗi (Các ứng dụng cảm biến phát hiện lỗi), hoặc các cảm biến sự kiện phát hiện (ứng dụng phát hiện xâm nhập) là thú vị cho các nhà phân tích Một mạng lưới cảm biến duy nhất có thể bao gồm một hỗn hợp của cảm biến thu thập các loại dữ liệu khác nhau : Chẳng hạn như nhị phân, rời rạc, liên tục, âm thanh, video… dữ liệu được tạo ra trong một chế độ trực tuyến và thu thập dữ liệu thường chứa tiếng ồn và mất giá trị do hạn chế áp đặt bởi triển khai môi trường và kênh truyền thông Điều này đặt ra một tập hợp các thách thức duy nhất Các luồng

dữ liệu các cuộc gọi cho kỹ thuật phát hiện bên ngoài để hoạt động trong một cách tiếp cận trực tuyến Các nguồn tài nguyên nghiêm trọng hạn chế gọi cho

kỹ thuật phát hiện trọng lượng nhẹ Các dữ liệu thu thập được trong một thời gian phân phối cuộc gọi, phương pháp khai thác dữ liệu để phân tích các dữ liệu Cuối cùng sự hiện diện của tiếng ồn trong dữ liệu cảm biến làm cho phát hiện ngoại lai khó khăn hơn, vì nó có đến bây giờ phân biệt giữa giá trị ngoại lai thú vị và giá trị mong muốn (tiếng ồn / giá trị bị mất)

Trang 28

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

THEO TỶ LỆ KHÁC BIỆT DB(pct,Dmin)

Với mục đích của luận văn là tìm hiểu các thuật toán phát hiện phần tử ngoại lai Do đó, trong chương này sẽ trình bày khái niệm các phần tử ngoại lai theo tỷ lệ khác biệt Đồng thời giới thiệu 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 Ngoài ra đi sâu tìm hiểu thuật toán phát hiện phần tử ngoại lai FindAllOutsD để chương 3 viết chương trình demo ứng dụng vào bài toán thực tế Đưa ra đá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[6] để đá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 theo tỷ lệ khác biệt

Cho N là số lượng các đối tượng trong tập dữ liệu D 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 p, gọi S(p) là tập các lân cận của p bao gồm tất cả các đối tượng q thỏa mãn điều kiện: d(p,q)≤ Dmin, trong đó Dmin là tham số đầu vào

Có nghĩa là:S(p)= {q€D| d(p,q)≤ Dmin }

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

Định nghĩa: Một đối tượng p trong một tập cơ sở dữ liệu D được gọi

là một phần tử ngoại lai theo tỷ lệ khác biệt DB(pct, Dmin) nếu có ít nhất pct (percentage) phần trăm các đối tượng trong D mà khoảng cách giữa chúng với

p lớn hơn Dmin Điều đó có nghĩa là lực lượng của tập hợp S(p) là nhỏ hơn hoặc bằng (100-pct)% cỡ của D

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

Theo định nghĩa các phần tử ngoại lai theo tỷ lệ khác biệt DB(pct, Dmin) thì M=(1-pct)*N Việc tìm kiếm tất cả các phần tử ngoại lai sẽ được

Trang 29

bắt đầu từ việc tìm kiếm các đối tượng thuộc S(p) của tất cả các điểm P trong tập dữ liệu Trong quá trình tìm kiếm nếu số lượng của S(p) lớn hơn M thì p đượ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(p) ≤M thì thông báo p là phần tử ngoại lai

2.2 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.2 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.2.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 theo tỷ lệ khác biệt 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= Dmin /2√¯2

Gọi Cx,y là ô giao giữa dòng x và cột y L1(Cx,y) được định nghĩa là tầng các lân cận thứ nhất của ô Cx,y bao gồm các ô Cu,v thỏa mãn điều kiện :L1(Cx,y)={Cu,v| (|u-x|≤1)^(|v-y|≤1); Cu,v≠Cx,y} (2.1)

Trang 30

Bảng 2.1 : Các ô của cấu trúc ô trong không gian hai chiều, xem xét ô trung tâm ô C[4,4] được ký hiệu bởi dấu * Các ô thuộc L1 được đánh

dấu là số 1 Các ô thuộc L2 được đánh dấu là số 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à Dmin

Tính chất 1 là đúng đắn 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= Dmin /2*√¯2mà độ dài đường chéo của một hình vuông là |/¯2 *l= Dmin /2

Tính chất 2 cũng là đúng đắn với 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)^ (|u-x|≠1)^(|v-y|≠1); Cu,v≠Cx,y}

Trang 31

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 Dmin ( 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 Dmin

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* Dmin /2√¯2> Dmin Ví dụ như là các điểm p và điểm q ở trên hình 2.1

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

2.2.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ô

Trang 32

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) 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) ≤ Dmin (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

Trang 33

đ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.2.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 :

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 {

Trang 34

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)

{ p =không ngoại lai;

} iii p=ngoại lai; } }

Nói tóm lại, tất cả các tính chất trong phần 2.2.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 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

Trang 35

2.2.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 Dmin) 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 36

Hình 2.2 a

Hình 2.2b

Trang 37

Hình 2.2c

Hình 2.2d

2.2.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

L

2

Ngày đăng: 16/04/2017, 17:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Hoàng Xuân Huấn, Phạm Hạ Thủy (2006), Phát hiện phần tử ngoại lai trong cơ sở dữ liệu nhờ phân tích hồi quy. Tạp chí tin học và điều khiển T22(1) trang 45-52 Sách, tạp chí
Tiêu đề: Phát hiện phần tử ngoại lai trong cơ sở dữ liệu nhờ phân tích hồi quy
Tác giả: Hoàng Xuân Huấn, Phạm Hạ Thủy
Năm: 2006
[2]. Phạm Hạ Thủy (2007), Nghiên cứu phần tử ngoại lai trong cơ sở dữ liệu và ứng dụng. Luận án tiến sỹ. Viện Công nghệ thông tin. Viện Hàn lâm khoa học và công nghệ Việt Nam.B. Tiếng Anh Sách, tạp chí
Tiêu đề: Nghiên cứu phần tử ngoại lai trong cơ sở dữ liệu và ứng dụng". Luận án tiến sỹ. Viện Công nghệ thông tin. Viện Hàn lâm khoa học và công nghệ Việt Nam
Tác giả: Phạm Hạ Thủy
Năm: 2007
[3]. Dieter Adriaans, Dolf Zanting (1996), Data mining. Addision- Wesley Sách, tạp chí
Tiêu đề: Data mining
Tác giả: Dieter Adriaans, Dolf Zanting
Năm: 1996
[4]. Barnett, V. and Lewis T.(1994), Outliners in Statiscal Data, Jonh Wiley, 3 rd edition Sách, tạp chí
Tiêu đề: Outliners in Statiscal Data
Tác giả: Barnett, V. and Lewis T
Năm: 1994
[6]. Edwin M.Knorr (1998), Algorithms for Mining Distance-Based Outliers in Large Datasets. In Proc. VLDB.Pages 211-222 Sách, tạp chí
Tiêu đề: Algorithms for Mining Distance-Based Outliers in Large Datasets
Tác giả: Edwin M.Knorr
Năm: 1998
[7]. Hawkins. “Indentification of Outliers”. Chapman and Hall, London,1980 Sách, tạp chí
Tiêu đề: Indentification of Outliers
[8]. JiaWei Han, Michiline Kember (2001), Datamining. MorGan. KauFmann Publishers. Academic. Press Sách, tạp chí
Tiêu đề: Datamining
Tác giả: JiaWei Han, Michiline Kember
Năm: 2001
[9]. Karanjit Singh and Dr. Shuchita Upadhyaya (2012) Outlier Detection: Applications And Techniques Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w