Tải bản đầy đủ (.pdf) (60 trang)

nghiên cứu các phần tử ngoại lai trong cơ sở dữ liệu và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (950.3 KB, 60 trang )

1

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG



NGUYỄN XUÂN TRƢỜNG


NGHIÊN CỨU CÁC PHẦN TỬ NGOẠI LAI
TRONG CSDL & ỨNG DỤNG



LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH




THÁI NGUYÊN – 2014
2

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG


NGUYỄN XUÂN TRƢỜNG


NGHIÊN CỨU CÁC PHẦN TỬ NGOẠI LAI


TRONG CSDL & ỨNG DỤNG


Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01


LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Ngƣời hƣớng dẫn khoa học:
GS.TS VŨ ĐỨC THI





THÁI NGUYÊN – 2014
3


LỜI CAM ĐOAN

Luận văn thạc sỹ này tôi nghiên cứu và thực hiện dƣới sự hƣớng dẫn
của Thầy giáo GS.TS Vũ Đức Thi . Để hoàn thành bản luận văn này, ngoài
các tài liệu đã liệt kê, tôi cam đoan không sao chép các công trình hoặc thiết
kế tốt nghiệp của ngƣời khác.

Thái Nguyên, ngày 18 tháng 04 năm 2014
Học viên


Nguyễn Xuân Trƣờng




4

LỜI CẢM ƠN

Trƣớc hết, tôi vô cùng biết ơn sâu sắc đến Thầy giáo GS.TS Vũ Đức
Thi, 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.
Sau cùng tôi xin bày tỏ lòng biết ơn đến ngƣời thân, cùng bạn bè, đồng
nghiệp cơ quan, những ngƣời luôn cổ vũ động viên tôi hoàn thành bản luận
văn tốt nghiệp này.


Thái Nguyên, ngày 18 tháng 04 năm 2014
Học viên

Nguyễn Xuân Trƣờng










5

MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 4
DANH MỤC THUẬT NGỮ 7
DANH MỤC HÌNH VẼ 8
MỞ ĐẦU 9
CHƢƠNG I: KHÁM PHÁ TRI THỨC TRONG CƠ SỞ DỮ LIỆU VÀ
PHẦN TỬ NGOẠI LAI 10
1.1 Khám phá tri thức. 10
1.2 Các ứng dụng sử dụng kỹ thuật khai thác dữ liệu. 14
1.3 Phần tử ngoại lai. 14
1.4 Mối quan hệ giữa các phần tử ngoại lai và khai thác dữ liệu. 18
1.5 Ứng dụng của các phần tử ngoại lai. 19
CHƢƠNG II: CÁC ĐỊNH NGHĨA, THUẬT TOÁN TÌM KIẾM CÁC PHẦN
TỬ NGOẠI LAI. 21
2.1 Các định nghĩa và thuật ngữ các phần tử ngoại lai. 21
2.2 Các thuật toán tìm kiếm các phần tử ngoại lai trong cơ sở dữ liệu. 26
2.2.1 Thuật toán Nested – Loop. 26
6

2.2.2 Thuật toán tìm kiếm các phần tử ngoại lai không tầm thƣờng
(FindNonTrivialOuts) 30
2.2.3 Thuật toán đánh giá theo ô. 33
CHƢƠNG III: CHƢƠNG TRÌNH THỰC NGHIỆM 53
KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 59



7

DANH MỤC THUẬT NGỮ

Từ viết tắt
Nghĩa của từ
Box_Cox
Tên phép biến đổi thành dạng xấp xỉ chuẩn
DB (Distance Based)
Dựa theo khoảng cách
DSE (Donoho Stahel)
Tên bộ ƣớc lƣợng mạnh đa biến
KDD (Know ledgement
Discovery in Database )
Khám phá tri thức trong cơ sở dữ liệu
LOF ( Local Outlier Factor)
Yếu tố ngoại lai cục bộ
MAD (Median Absolute
Deviation)
Là tên một bộ ƣớc lƣợng mạnh đơn biến
NL ( Nested Loop)
Tên một thuật toán phát hiện phần tử ngoại
lai
Shorth ( Shortest half)
Là tên một bộ ƣớc lƣợng mạnh đơn biến








8

DANH MỤC HÌNH VẼ

Hình 1.1: Qui trình KDD Knowledgement Discovery in Database –
Khám phá tri thức trong Cơ sở dữ liệu . 11
Hình 2.1: 32
Hình 2.2.a: 39
Hình 2.2.b: 39
Hìn 2.2.c: 40
Hình 2.2.d: 40











9

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 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 trong 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 thong, ứ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 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.









10

CHƢƠNG I: 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 các lĩnh vực khám phá phần tử ngoại lai và lĩnh vực khai thác dữ liệu.
1.1 Khám phá 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 thác 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ữ chuy
vấn đƣợc sử dụng nhằm lấy ra những thông tin 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. 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 dữ liệu, bao gồm các bƣớc sau:
- Chuẩn bị dữ liệu : Dữ liệu đƣợc tập chung 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 không sạch. Đồng thời, sau khi đƣợc làm sạch, dữ liệu đƣợc làm
11

giàu để bổ sung những thông tin cần thiết. Sau đó dữ liệu đƣợc biến đổi theo
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.
 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 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
12

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






13
























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



KNOWLEDGE
Đánh Giá và Biểu Diễn
Các Mẫu Trích Chọn
Khai thác Dữ Liệu
Trích Chọn và Biến Đổi
Dữ Liệu
Làm Sạch và Tích Hợp
Dữ Liệu
Các Cơ Sở Dữ Liệu
Các File Bằng
14

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 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 mjnh để
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 nhau 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 gen trong 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 là nằm ngoài pham 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 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.
15

Có nhiều thuật toán khai thác dữ liệu cố gắng làm cực tiểu hóa 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à đố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 xét rằng một phần tử ngoại lai có thể “ cung cấp
thông tin mà đố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,
16

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 thỏa mãn mô hình dữ liệu đang xét. Việc phần tử ngoại lai có bị
loại bỏ hay không còn tùy thuộc vào từng chƣơng trình ứng dụng và quyết
định bởi chuyên gia.
Một cách hình thức ngƣời ta có thể định nghĩa phần tử ngoại lai của

một tập dữ liệu 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, hình dƣới
cho thấy một phần tử ngoại lai theo vị trí hình học.

17

Các khái niệm về ngoại lai đầu tiên có nguồn gốc từ lĩnh vực thống kê.
Barnett và Lewis định nghĩa: một phần tử ngoại lai là một quan trắc hoặc một
tập con các quan trắc mà sự xuất hiện của chúng trái ngƣợc với những quan
trắc còn lại. Phần tử ngoại lai cũng có thể đƣợc hiểu nhƣ một quan trắc mà giá
trị của nó khác biệt quá nhiều so với những quan trắc khác gây cho ngƣời ta
nghi ngờ rằng nó đã đƣợc thực hiện bằng một kỹ thuật khác. Nói một cách
khác, những quan trắc không tuân theo cùng mô hình thống kê nhƣ các quan
trắc còn lại đƣợc coi là các phần tử ngoại lai.
Có nhiều cách định nghĩa và hiểu khác nhau về phần tử ngoại lại. 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 để xác định phần tử ngoại lai bao gồm:
- 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à E. Knorr.
- 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 X
2
).
Phần tử ngoại lai là những phần tử không tuân theo các luật này. Điển hình

cho hƣớng tiếp cận này là các tác giả Barnett, Lewis.
- Xác định theo độ khác biệt (Deviation-Based):
18

Hƣớng nghiên cứu này dựa trên việc xác định 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, Raghavan.
Các phƣơng pháp nghiên cứu trên hiệu quả khi áp dụng trong lĩnh vực
Data mining ( nghiên cứu phát hiện các tri thức, các luật trong một tập các
phần tử dữ liệu). Tuy nhiên chúng khó áp dụng, hoặc không hiệu quả trong
các trƣờng hợp đối với các dữ liệu của cơ sở dữ liệu dạng quan hệ trong đó có
nhiều thuộc tính vừa là số vừa là định danh, hoặc trong trƣờng hợp khi chúng
ta quan tâm nhiều đến sự vi phạm của các phần tử dữ liệu đối với một tập các
ràng buộc, quy tắc (luật) đƣợc cho trƣớc. Ở đây chúng tôi đề xuất việc phát
hiện các phần tử ngoại lai trong CSDL quan hệ dựa theo các luật (Rule-Base).
Hƣớng tiếp cận này giúp khắc phục đƣợc những hạn chế của các hƣớng
nghiên cứu trƣớc đồng thời có thể mang lại hiệu quả hơn trong việc phát hiện
những phần tử ngoại lai trong CSDL quan hệ.
1.4 Mối quan hệ giữa các phần tử ngoại lai và khai thác dữ liệu.
Trƣớc khi các kỹ thuật khai 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 lớn
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 trong bộ nhớ ngoài(Disk-resident
Data ).
19


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 định nghĩa một cách đầy
đủ và chính xác về phần tử ngoại lại. 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.
Đố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ự sâ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
20

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 ngành.









21

CHƢƠNG II: CÁC ĐỊNH NGHĨA, THUẬT TOÁN TÌM KIẾM CÁC
PHẦN TỬ NGOẠI LAI.
Trong chƣơng này sẽ trình bầy các định nghĩa, khái niệm và thuật ngữ
các phần tử ngoại lai trong cơ sở dữ liệu theo cách nhìn toàn cục. Đồng thời
giới thiệu các thuật toán, độ phức tạp 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 Các định nghĩa và thuật ngữ các phần tử ngoại lai.
Đị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) đƣợ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 1: 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 so 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ì
22

M=(1-p)*N.Việc tìm kiếm tất 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ả điểm O trong
tập dữ liệu. Trong quá trình tìm kiếm nếu số lƣợng của S(o) lớn hơn M
thì O đƣợc gọi là không ngoại lai. Ngƣợc lại sau khi kết thúc quá 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.
Các khái niệm về độ mạnh của các phần tử ngoại lai DB.
Định nghĩa 2: 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 t
1
là phần tử ngoại lai -2, t

2
là phần tử ngoại lai -3, thì
t
1
mạnh hơn t
2
. Chúng ta chỉ cần xét 2 thuộc tính trƣớc khi quan sát
xem t
1
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ề t
2
. Một đồ thị 2-D của tất cả
các điểm trong tập dữ liệu T đã chỉ ra t
1
đủ xa hơn t
2
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 t
1
là phần tử
ngoại lai.
Nhƣợc điểm của khái niệm này là ở 3-D, t
2
có thể thực sự xa hơn
t
1
từ vùng dữ liệu, vì thế, ở 3-D t
2
là phần tử ngoại lai mạnh hơn.

(2) Giả sử t
1
và t
2
đều là phần tử ngoại lai –j. Nếu t
1
là phần tử
ngoại lai trong a tổ hợp của j thuộc tính và t
2
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 t
1
là phần tử ngoại lai
mạnh hơn t
2
.
23

Đị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 này có thể t
2
thực sự xa
hơn t
1
. Ví dụ: t
2
thực xa hơn nhiều so với tất cả các b tổ hợp của nó, ngƣợc lại
t
1

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 của nó sẽ
loại trừ t
1
không còn là phần tử ngoại lai.
(3) Giả sử t
1
và t
2
đề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ừ t
1
và ít nhất tỉ lệ p
2
của
các đối tƣợng trong T phải lớn hơn khoảng cách D từ t
2
, với p
1
> p
2
p. Thì
chúng ta nói rằng t
1
là phần tử ngoại lai mạnh hơn t
2
.
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
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ì t
2
sẽ không còn là một phần tử ngoại lai nữa ( nhƣng t
1
sẽ vẫn là
phần tử ngoại lai).
(4) Giả sử t
1
và t
2
đề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 D
1
từ t
1
và ít nhất tỉ lệ p
của các đối tƣợng trong T lớn hơn khoảng cách D
2
từ t
2
, với D
1
D
2
D. Thì
chúng ta nói rằng t
1
là phần tử ngoại lai mạnh hơn t
2
.

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ì t
2
sẽ không còn là một phần
tử ngoại lai nữa
( nhƣng t
1
sẽ vẫn là phần tử ngoại lai).
24

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 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ử bất kỳ, là P, Q,…
Định nghĩa 3: Một không gian –j là một trong bất kỳ tổ hợp của j
thuộc tính ở k chiều.
Định nghĩa 4: 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à .
Có 2
k
-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, 3 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 gian
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 . 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 =
j.
25

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ữ A
p
, bởi vì A
p
tham chiếu tới một
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 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 5: 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ổ đề: 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 co chiều j và khoảng cách
giữa các đối tƣợng P,Q T là:

×