PHÁT HIỆN DỮLIỆU BẤT THƯỜNG VỚI RỪNG CÔ LẬP
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CẦN THƠ
CHÂU XUÂN PHƯƠNG
PHÁT HIỆN DỮ LIỆU BẤT THƯỜNG
VỚI RỪNG CÔ LẬP
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Cần Thơ - 2009
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CẦN THƠ
CHÂU XUÂN PHƯƠNG
PHÁT HIỆN DỮ LIỆU BẤT THƯỜNG
VỚI RỪNG CÔ LẬP
Chuyên ngành: HỆ THỐNG THÔNG TIN
Mã số: 60 44 31
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Người hướng dẫn: TS HUỲNH XUÂN HIỆP
Cần Thơ - 2009
Trang 3LỜI CẢM ƠN
Sau hai năm theo học tại lớp Cao Học Hệ Thống Thông Tin khoá 14, và gần sáu tháng thực hiện luận văn, ngoài sự nổ lực của bản thân, tôi đã nhận được rất nhiều sự động viên, chia sẻ, giúp đỡ của quý Thầy Cô, gia đình, bạn bè Nay luận văn đã hoàn tất, tôi xin chân thành gởi lời tri ân đến:
Thầy hướng dẫn, TS Huỳnh Xuân Hiệp, đã nhiệt tình hướng dẫn và đóng góp nhiều ý kiến quý báu cho tôi trong suốt quá trình thực hiện luận văn
Tất cả các Thầy Cô bộ môn ở Khoa Công Nghệ Thông Tin và Truyền Thông, các Thầy ở học viện IFI-Hà Nội, đã nhiệt tình truyền thụ kiến thức, kinh nghiệm cho chúng em trong suốt thời gian gần hai năm học qua
Tất cả các Thầy Cô, các anh chị em đồng nghiệp bộ môn Toán - khoa Sư Phạm đã phối hợp, tạo điều kiện thuận lợi trong công tác để tôi yên tâm vừa hoàn thành tốt công tác chuyên môn và hoàn thành tốt việc học
Bên cạnh đó, tôi không quên gởi lời cảm ơn đến các bạn cùng lớp Cao học Hệ Thống Thông Tin đã chia sẻ động viên tôi rất nhiều trong quá trình học tập cũng như trong quá trình thực hiện luận văn
Con xin gởi lời tri ân chân thành đến cha mẹ kính yêu, kính chúc cha mẹ luôn khoẻ mạnh để dõi theo sự thành đạt của con cái
Cám ơn chồng con thân yêu của tôi, luôn là chổ dựa tinh thần vững chắc cho tôi có được thành công như ngày hôm nay
Lời cuối, kính chúc tất cả mọi người lời chúc sức khỏe, thành đạt
Châu Xuân Phương
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan rằng toàn bộ nội dung đề tài “Phát hiện dữ liệu bất thường với Rừng cô lập” là kết quả nghiên cứu của tôi, ngoại trừ các phần được trích dẫn
Người cam đoan
Châu Xuân Phương
Trang 5MỤC LỤC
LỜI CẢM ƠN
LỜI CAM ĐOAN
TÓM TẮT
ABSTRACT
KÍ HIỆU, THUẬT NGỮ VÀ VIẾT TẮT
DANH MỤC BẢNG
DANH MỤC BIỂU ĐỒ
DANH MỤC HÌNH
CHƯƠNG 1: MỞ ĐẦU 1
1.1 Đặt vấn đề 1
1.2 Lịch sử giải quyết vấn đề 2
1.3 Phạm vi của đề tài 2
1.4 Phương pháp nghiên cứu 2
1.5 Nội dung nghiên cứu 3
CHƯƠNG 2: TỔNG QUAN VỀ PHÁT HIỆN DỮ LIỆU BẤT THƯỜNG 4
2.1 Tồn tại dữ liệu bất thường trong tập dữ liệu 4
2.2 Một số thử thách trong vấn đề phát hiện bất thường 5
2.3 Những khía cạnh liên quan vấn đề phát hiện bất thường 6
2.3.1 Bản chất của dữ liệu 6
2.3.2 Các loại bất thường 6
2.3.3 Nhãn dữ liệu 9
2.3.4 Đầu ra của phát hiện bất thường 11
2.4 Những ứng dụng cho phát hiện bất thường 11
2.4.1 Phát hiện tấn công 11
2.4.2 Phát hiện gian lận 12
2.4.3 Phát hiện bất thường về sức khỏe y tế và sức khỏe cộng đồng 12
2.4.4 Phát hiện sự hư hại của thiết bị công nghệ 12
2.4.5 Phát hiện bất thường trong quá trình xử lý ảnh 12
2.4.6 Phát hiện bất thường trên dữ liệu văn bản 13
2.5 Những kỹ thuật phát hiện bất thường đang được sử dụng .13
2.5.1 Các kỹ thuật phát hiện bất thường dựa trên phân lớp (Classification) 13
2.5.2 Phát hiện bất thường dựa trên lân cận gần nhất (Nearest Neighbor) 14
2.5.3 Các kỹ thuật phát hiện bất thường dựa trên gom cụm (Clustering) 15
2.5.4 Các kỹ thuật phát hiện bất thường theo thống kê (Statistical) 16
2.5.5 Các kỹ thuật phát hiện bất thường dựa vào lý thuyết thông tin (Information Theoretic) 16
2.5.6 Các kỹ thuật phát hiện bất thường theo phổ (Spectral) 17
Trang 62.6 Đánh giá hiệu quả của giải thuật học 17
2.6.1 Nghi thức kiểm tra 17
2.6.1.1 Phương pháp huấn luyện và kiểm tra (Training and Test sets): 18
2.6.1.2 k-fold cross-validation 18
2.6.1.3 N-fold cross-validation (leave-one-out) 19
2.6.2 Các độ đo cổ điển 19
2.6.3 Đường cong ROC (Receiver Operating Characteristic) [10] 20
2.6.4 Diện tích dưới đường ROC [10]- Area Under Curve (AUC) 22
CHƯƠNG 3: 24
KỸ THUẬT RỪNG CÔ LẬP CHO PHÁT HIỆN BẤT THƯỜNG 24
3.1 Cây cô lập (iTree) và rừng cô lập (iForest) 24
3.1.1 Định nghĩa cây cô lập 24
3.1.2 Định nghĩa rừng cô lập 24
3.1.3 Độ dài đường dẫn h(x) 25
3.1.4 Điểm số bất thường s(x,n) 25
3.2 Các đặc điểm của cây cô lập 26
3.2.1 Sự xuất hiện ‘ít và khác biệt’ trong tập dữ liệu 26
3.2.2 Loại bỏ ảnh hưởng của swamping và masking nhờ mẫu kích thước nhỏ27 3.3 Chọn mẫu (sub-sample) 29
3.4 Ưu điểm của rừng cô lập 29
3.5 Phát hiện dữ liệu bất thường sử dụng rừng cô lập (iForest) 29
3.5.1 Giai đoạn huấn luyện (Training) 29
3.5.1.1 Giải thuật xây dựng rừng cô lập 30
3.5.1.2 Giải thuật xây dựng cây cô lập (iTree) 31
3.5.2 Giai đoạn đánh giá (Evaluating) 32
3.5.2.1 Hàm tính điểm số bất thường (AnomalyScore) cho thể hiện x: 32
3.5.2.2 Hàm tính độ dài đường dẫn của mỗi thể hiện trên tập 33
3.6 Ví dụ minh họa cho việc xây dựng rừng cô lập 34
3.6.1 Giai đoạn huấn luyện (xây dựng rừng cô lập) 35
3.6.2 Giai đoạn đánh giá: tính điểm số bất thường (AnomalyScore) cho các thể hiện x trên tập kiểm tra 40
3.7 Mối tương quan về cấu trúc và hoạt động giữa cây cô lập (iTree) và cây nhị phân tìm kiếm (Binary Search Tree -BST) .41
CHƯƠNG 4 43
CÀI ĐẶT MÔ HÌNH RỪNG CÔ LẬP 43
4.1 Xây dựng rừng cô lập 43
4.1.1 Cấu trúc cây cô lập 43
Trang 74.1.1.1 Nút tổng quát 43
4.1.1.2 Nút trong 43
4.1.1.3 Nút ngoài 43
4.1.2 Cấu trúc rừng cô lập 43
4.2 Triển khai một số giải thuật trên rừng cô lập 44
4.2.1 Lấy mẫu ngẫu nhiên 44
4.2.2 Chọn giá trị cắt ngẫu nhiên 45
4.2.3 Xây dựng cây cô lập 45
4.2.4 Xác định độ dài đường dẫn của một thể hiện 46
4.2.5 Tính điểm số bất thường 47
4.2.6 Sử dụng mô hình rừng cô lập để kiểm tra dữ liệu 47
4.2.6.1 Dữ liệu đầu vào 47
4.2.6.2 Xây dựng rừng cô lập từ dữ liệu đầu vào 48
4.2.6.3 Kiểm thử dữ liệu 49
4.3 Giới thiệu giao diện của mô hình rừng cô lập: 49
CHƯƠNG 5: NỘI DUNG VÀ KẾT QUẢ THỰC NGHIỆM 51
5.1 Chọn các tập dữ liệu thực nghiệm 51
5.2 Thực nghiệm mô hình rừng cô lập trên các tập dữ liệu 58
5.2.1 Thực nghiệm 1: sử dụng nghi thức k fold cross-validation 58
5.2.2 Thực nghiệm 2: tập Training và tập Test là một 78
5.2.3 Thực nghiệm 3: Loại bỏ các thể hiện bất thường ra khỏi tập Training 80
5.3 Đánh giá kết quả thực nghiệm 80
5.3.1 Khẳng định lại một số tính chất của mô hình dựa vào thực nghiệm: 80
5.3.2 Đánh giá hiệu quả phát hiện của mô hình 81
5.3.3 Nhận xét về thời gian chạy của chương trình 82
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 84
6.1 Kết luận 84
6.2 Hướng phát triển 86
Trang 8TÓM TẮT
Hầu hết các tiếp cận dựa trên những mô hình đang tồn tại về phát hiện bất thường đi xây dựng các tiểu sử của các thể hiện bình thường, kế đến là nhận dạng ra những thể hiện nào không phù hợp với những tiểu sử bình thường thì cho là bất thường Đề tài "Phát hiện dữ liệu bất thường với Rừng cô lập" đề cập đến một phương pháp tiếp cận khác biệt về cơ bản đó là cô lập trực tiếp các bất thường thay
vì dựa trên mô tả của các thể hiện bình thường Cách tiếp cận này được đề cập trong một bài báo của các tác giả Fei Tony Liu, Kai Ming Ting and Zhi-Hua Zhou được đăng vào cuối năm 2008 [27]
Đề tài đã nghiên cứu tổng quan về dữ liệu bất thường và các kỹ thuật phát hiện bất thường hiện tại, triển khai thành công kỹ thuật rừng cô lập theo ý tưởng giải thuật được các tác giả đề xuất [27], lựa chọn những tập dữ liệu có những tính chất đặc trưng để tiến hành thực nghiệm trên mô hình và đánh giá hiệu quả phát hiện của mô hình Các thực nghiệm đã chứng tỏ được việc sử dụng ít bộ nhớ là ưu điểm nổi bật của mô hình bởi vì bộ nhớ đòi hỏi cho mô hình chỉ tăng tuyến tính theo số lượng cây và kích thước mẫu (không bị ảnh hưởng bởi kích thước toàn tập
dữ liệu) Ngoài ra, từ thực nghiệm đã khẳng định rằng mô hình sẽ đáp ứng tốt về hiệu quả phát hiện bất thường cho các tập dữ liệu thoả mãn được hai tính chất “ít và khác” ngay cả khi không có thể hiện bất thường nào trong tập kiểm tra Bên cạnh
đó, mô hình đã bộc lộ một số điểm yếu đó là: đối với những tập dữ liệu không thoả mãn tốt hai giả định “ít và khác” thì mô hình cho kết quả không tốt, thậm chí là rất
tệ, điều này hạn chế khả năng ứng dụng của mô hình trên các tập dữ liệu được thu thập tự nhiên
Trang 9ABSTRACT
To detect anomaly, most existing approaches construct profiles of normal instances and then classify an instance that does not belong the normal profiles as anomaly However, this project presents the different approach in which an abnormal object is isolated explicitly This approach, named as IForest, was proposed by Fei Tony Liu, Kai Ming Ting and Zhi-Hua Zhou iForest [27]
The project has implemented the proposed iForest successfully based on the concept which was presented on [27] Some experiences have been carried out
on some different characteristic datasets in order to evaluate it The outcome results show that the proposed iForest performs quite well in general Using less memory is its first advantage because memory requirement is bounded and only grows linearly with the number of trees and sample size Especially, it shows excellent performances when it is used in the dataset, satisfied ‘minority and difference’ requirement even though there is no anomaly in training set However, the proposed iForest has weaknesses itself Its performance is very poor if the dataset does not satisfy the ‘minority and difference’ requirement This limitation prevents iForest from being applied on real-life domain
Trang 10KÍ HIỆU, THUẬT NGỮ VÀ VIẾT TẮT
1 iTree Isolation tree – cây cô lập
2 iForest Isolation Forest – rừng cô lập
3 BST Binary Search Tree – cây nhị phân tìm kiếm
6 Attribute Thuộc tính
7 Anomaly instance Thể hiện bất thường
8 Normal instance Thể hiện bình thường
9 Training Tập huấn luyện
10 sub-sample Mẫu con
TỪ KHOÁ
Dữ liệu bất thường, phát hiện bất thường, kỹ thuật phát hiện bất thường, cây cô lập, rừng cô lập, anomaly data, anomaly detection, anomaly detection techniques, iForest, iTree, sub-sampling
Trang 11Bảng 5.5 8 thể hiện bất kỳ (ngẫu nhiên) trong tập RayNau 54 Bảng 5.6 Mô tả các thuộc tính trong tập Spambase 55 Bảng 5.7 8 thể hiện bất kỳ (ngẫu nhiên) trong tập Spambase 55
Bảng 5.9 8 thể hiện bất kỳ ( được lấy ngẫu nhiên) trong tập Pima 56 Bảng 5.10 Mô tả các thuộc tính của tập Mammographic 57 Bảng 5.11 8 thể hiện bất kỳ (chọn ngẫu nhiên) trong tập Mammographic 57 Bảng 5.12 Bảng giá trị cho các (FPR,TPR) – tập Breastw 59 Bảng 5.13 Kết quả theo AUC trên tập Breastw theo thực nghiệm 1 62 Bảng 5.14 Bảng giá trị cho các (FPR,TPR – tập RayNau 63 Bảng 5.15 Kết quả tính theo AUC trên tập RayNau theo thực nghiệm 1 66 Bảng 5.16 Bảng giá trị cho các (FPR,TPR) – tập Spambase 67 Bảng 5.17 Kết quả tính theo AUC trên tập Spambase theo thực nghiệm 1 69 Bảng 5.18 Bảng giá trị cho các (FPR,TPR) – tập Pima 70 Bảng 5.19 Kết quả tính theo AUC trên tập Pima theo thực nghiệm 1 73 Bảng 5.20 Bảng giá trị cho các (FPR,TPR) – tập Mammographic 74 Bảng 5.21 Kết quả tính theo AUC trên tập Mammographic theo thực
nghiệm
77 Bảng 5.22 Tổng hợp kết quả chọn T, Ψ và giá trị AUC cho 3 thực nghiệm 81
Trang 12DANH MỤC BIỂU ĐỒ
Biểu đổ 5.1 Đường cong ROC cho tập Breastw (Thực nghiệm 1) 60 Biểu đồ 5.2 Kết quả thực nghiệm trên tập Breastw 62
Biểu đồ 5.6 Kết quả thực nghiệm trên tập Spambase 69
Biểu đổ 5.10 Kết quả thực nghiệm trên tập Mammographic 77
Biểu đồ 5.14 So sánh hiệu quả của mô hình trên 3 thực nghiệm 81
Trang 13Hình 2.4 Phát hiện bất thường theo mô hình một lớp, nhiều lớp 14
Hình 3.3 (a) Tập mẫu gốc (4096 thể hiện),(b): sub-sample(128 thể hiện) 28 Hình 3.4 Cây T1 được xây dựng cho tập mẫu 16 phần tử 36 Hình 3.5 Cây T2 được xây dựng cho tập mẫu 16 phần tử 38 Hình 3.6 Cây T3 được xây dựng cho tập mẫu 16 phần tử 39
Hình 5.2 Minh họa Top(4) và Bottom(4) với tập Breastw 60 Hình 5.3 So sánh giá trị trung bình giữa 2 nhóm Top(4) và Bottom(4)
Hình 5.4 Minh họa top(4) và bottom(4) với tập RayNau 64 Hình 5.5 So sánh giá trị trung bình của các thuộc tính trên 2 nhóm Top(4) và Bottom(4) trên tập RayNau 65
Hình 5.7 So sánh giá trị trung bình của các thuộc tính của 2 nhóm Top(4) và Bottom(4) trên tập Spambase 68
Hình 5.9 So sánh giá trị trung bình của các thuộc tính của 2 nhóm
Hình 5.10 Top(4) và Bottom(4) trên tập Mammographic 68 Hình 5.11 So sánh giá trị trung bình của các thuộc tính của 2 nhóm
Trang 14CHƯƠNG 1: MỞ ĐẦU 1.1 Đặt vấn đề
Phát hiện bất thường liên quan tới vấn đề tìm những mẫu dữ liệu không phù hợp với những hành vi được mong đợi Những mẫu không phù hợp này thường liên quan đến sự bất thường, sự tách rời, sự ngoại lệ, sự nhầm lẫn, hoặc sự lập dị trong nhiều lĩnh vực ứng dụng khác nhau Bất thường (Anomaly) và tách rời (Outlier) là hai thuật ngữ được dùng phổ biến trong ngữ cảnh phát hiện bất thường, đôi khi thay thế nhau Phát hiện bất thường được sử dụng và thể hiện sự hữu ích trong một phạm
vi rộng của nhiều ứng dụng khác nhau như: phát hiện sự gian lận trong thẻ tín dụng, bảo hiểm, chăm sóc y tế, phát hiện tấn công trên an ninh mạng, phát hiện lỗi trong những hệ thống quyết định an toàn
Phát hiện bất thường thể hiện vai trò quan trọng là do trên thực tế những bất thường trong dữ liệu thường chuyển thành những thông tin có giá trị trong nhiều lĩnh vực ứng dụng khác nhau Ví dụ, sự bất thường trong giao dịch thẻ tín dụng có thể báo hiệu người dùng không trung thực về sử dụng thẻ tín dụng [2] Những dấu vết bất thường trong hình ảnh thiên văn có thể chỉ ra sự phát hiện một hành tinh mới Một mẫu đường đi khác lạ trên mạng máy tính có thể đại diện cho một sự truy cập không được phép [34] Một hình ảnh MRI có thể cho thấy một khối u ác tính [33] hoặc những hiểu biết bất thường từ bộ cảm biến trên máy bay có thể báo hiệu một sai lầm trong một vài bộ phận của máy bay [19]
Hầu hết các tiếp cận đang tồn tại để phát hiện bất thường đi xây dựng tiểu sử của các thể hiện bình thường, kế đến là nhận dạng ra các thể hiện mà không thích hợp với các tiểu sử bình thường thì cho là bất thường Ví dụ như các phương pháp thống kê, các phương pháp phân lớp, các phương pháp gom nhóm, tất cả đều dùng theo cách tiếp cận tổng quát này Một bất lợi chính của các phương pháp trên đó là
độ phức tạp trong tính toán quá cao, điều này gây hạn chế khi áp dụng các phương pháp trên cho các ứng dụng có số chiều cao và tập dữ liệu lớn
Rừng cô lập (iForest), một cách tiếp cận khá mới mẻ do giáo sư Zhi-Hua Zhou đưa ra vào cuối năm 2008 đó là cô lập một cách trực tiếp các bất thường thay
vì dựa trên mô tả của các thể hiện bình thường [27] Phương pháp này sẽ góp phần khắc phục nhược điểm của các phương pháp dựa vào khoảng cách và các phương pháp dựa vào mật độ về độ phức tạp thời gian tính toán Việc tạo ra các giải thuật
mà ở đó có độ phức tạp thời gian tuyến tính với hằng số thấp và yêu cầu về bộ nhớ thấp, iForest cũng làm việc tốt cho vấn đề có số chiều cao mà có số lượng lớn của
Trang 15các thuộc tính không liên quan, và thậm chí trong tình huống mà tập huấn luyện không chứa bất kỳ sự bất thường nào
1.2 Lịch sử giải quyết vấn đề
iForest là một tiếp cận mới trong kho tàng rộng lớn về phát hiện bất thường trong dữ liệu, và chỉ được đề cập bởi một bài báo duy nhất của giáo sư Zhi-Hua Zhou đưa ra vào cuối năm 2008 [27], và đến tận tháng 7/2009 tác giả có đưa thêm một vài thông tin cho dự án này lên web Ngoài những ý kiến từ cá nhân của tác giả, chưa có thêm ý kiến khác từ các nhà khai mỏ dữ liệu bàn về kỹ thuật này Với những thuyết phục từ những ưu điểm nổi bật của cách tiếp cận này trong lĩnh vực phát hiện bất thường, đề tài đã tiến hành triển khai kỹ thuật rừng cô lập theo ý tưởng ban đầu của tác giả, kiểm thử kỹ thuật trên các tập dữ liệu có tính chất khác nhau nhằm làm rõ những ràng buộc cũng như những ưu khuyết điểm của nó Ứng dụng của đề tài sẽ cho phép người dùng có thể xây dựng được rừng cô lập theo hai tham
số chính đó là kích thước mẫu con và số lượng cây Thêm vào đó, người dùng có thể dùng tập các cây cô lập trên để thực hiện tính điểm số bất thường cho các thể hiện trong tập dữ liệu Tất cả những điều này rất có ích trong việc học tập và nghiên cứu về phát hiện bất thường vốn là một lĩnh vực rất hấp dẫn nhưng cũng khá phức tạp
1.3 Phạm vi của đề tài
Đề tài trình bày khá chi tiết về các vấn đề liên quan đến phát hiện bất thường trong dữ liệu, sự tồn tại của dữ liệu cô lập trong tập dữ liệu, khái niệm và các tính chất của cây cô lập, các giải thuật có liên quan để dựng cây cô lập và rừng cô lập
Đề tài thực hiện xây dựng rừng cô lập với kích thước mẫu con và số cây Kế đến là tính điểm số bất thường cho các thể hiện trên tập dữ liệu Tuỳ vào từng ứng dụng cụ thể, ngưỡng phát hiện bất thường sẽ được chọn và dựa vào đó có thể đánh giá được hiệu quả phát hiện bất thường của giải thuật iForest Ngoài ra, đề tài đã tiến hành thực nghiệm trên một số tập dữ liệu cụ thể để đo hiệu quả phát hiện bất thường trên các tập này, từ đó đưa ra một số nhận xét trên loại thuộc tính, loại ứng dụng (tập dữ liệu) nào nên và không nên được dùng trong mô hình rừng cô lập để đạt được hiệu quả phát hiện bất thường mong muốn Kết quả thực nghiệm được xem như một đánh giá thiết thực về sử dụng kỹ thuật rừng cô lập trong phát bất thường
1.4 Phương pháp nghiên cứu
Để thực hiện đề tài, tôi đã nghiên cứu các lý thuyết có liên quan về vấn đề phát hiện bất thường trong dữ liệu, các giải thuật có liên quan về dựng cây như cây quyết
Trang 16định, cây tìm kiếm nhị phân, …
Về nghiên cứu tài liệu: Tìm hiểu các khái niệm và kiến thức có liên quan đến phát hiện bất thường, nghiên cứu giải thuật dựng cây cô lập được công bố trên bài báo của giáo sư Zhi-Hua Zhou [27], từ đó nghiên cứu các kiến thức có liên quan trên các sách chuyên ngành, các bài báo đăng trên các tạp chí khoa học, các giáo trình, bài giảng có liên quan đến khai mỏ dữ liệu, đặc biệt là những nội dung về phát hiện bất thường
Về nghiên cứu thực nghiệm: Tiến hành cài đặt mô hình rừng cô lập, xem xét các vấn đề trên thực tế và ứng dụng rừng cô lập để phát hiện dữ liệu bất thường trên một số tập dữ liệu cụ thể, lựa chọn dữ liệu để tiến hành kiểm chứng tính hiệu quả của kỹ thuật, lựa chọn phương pháp đo để đánh giá tính hiệu quả của kỹ thuật, kiểm chứng lại hiệu quả của mô hình với dự đoán ban đầu
1.5 Nội dung nghiên cứu
Đề tài nghiên cứu về những nội dung sau:
- Lý thuyết tổng quan về phát hiện bất thường
- Sự tồn tại dữ liệu cô lập trong tập dữ liệu
- Lý thuyết về rừng cô lập
- Giải thuật dựng rừng cô lập
- Dựng rừng cô lập từ tập dữ liệu rèn luyện
- Tính điểm số bất thường cho các thể hiện trong tập Test
- Thực nghiệm mô hình rừng cô lập trên một số tập dữ liệu
- Đánh giá mô hình
Trang 17CHƯƠNG 2: TỔNG QUAN VỀ PHÁT HIỆN DỮ LIỆU BẤT THƯỜNG 2.1 Tồn tại dữ liệu bất thường trong tập dữ liệu
Những dữ liệu bất thường là những mẫu dữ liệu không phù hợp với khái niệm được định nghĩa rõ là hành vi bình thường Hình 2.1 minh hoạ những dữ liệu bất thường trong tập dữ liệu 2 chiều đơn giản [12] Có hai vùng dữ liệu bình thường
là N1, N2 bởi vì hầu như các điểm đều nằm trong hai vùng này Những điểm mà thật sự tách xa các vùng này, ví dụ như O1, O2 và O3 được xem là những điểm bất thường
Những điểm có thể được cho là bất thường trong tập dữ liệu vì rất nhiều lí
do, trong đó đa phần là những hoạt động có dụng ý xấu, ví dụ như, gian lận thẻ tín dụng, tấn công trên mạng, hoạt động khủng bố hoặc sự ngưng trệ của một hệ thống, nhưng tất cả các lí do đều có đặc điểm phổ biến là chúng đang gây chú ý đến các nhà phân tích Sự liên quan của những bất thường đến cuộc sống thực là một đặc trưng chính của phát hiện bất thường
Phát hiện bất thường có liên quan đến nhiễu không mong muốn trong dữ liệu [17] Nhiễu có thể được định nghĩa như sự việc kỳ lạ trong dữ liệu mà không gây thích thú cho các nhà phân tích, thậm chí chúng còn gây trở ngại cho các nhà phân tích Thực hiện loại bỏ nhiễu chính là việc cần thiết loại bỏ đi những đối tượng không mong muốn trước khi một sự phân tích dữ liệu nào được thực hiện
Ví dụ một số nguyên nhân về nhiễu trong dữ liệu:
• Dữ liệu từ những lớp khác: cân trọng lượng của bưởi, nhưng có một ít cam lẫn lộn vào
• Những biến dị tự nhiên: chiều cao bất thường của con người
Hình 2.1 Ví dụ đơn giản về các bất thường trong tập dữ liệu hai chiều [23]
Trang 18• Lỗi dữ liệu (sai lầm trong ghi chép dữ liệu): đứa trẻ 2 tuổi nặng
200 kg
Chủ đề khác liên quan tới phát hiện bất thường đó là phát hiện sự mới lạ (novelty detection) [11], mà mục đích là phát hiện ra những mẫu không được quan sát trước đó (mới nổi lên hoặc rõ nét hơn) trong tập dữ liệu Phân biệt giữa những mẫu mới lạ và bất thường là những mẫu mới lạ được sáp nhập vào trong mô hình bình thường sau khi nó được phát hiện
2.2 Một số thử thách trong vấn đề phát hiện bất thường
Về mặt lý thuyết, một thể hiện bất thường được định nghĩa như một mẫu mà không phù hợp với những hành vi bình thường được mong đợi Vì thế, một cách tiếp cận dễ hiểu về phát hiện bất thường là định nghĩa một vùng mô tả những hành
vi bình thường và tuyên bố bất cứ quan sát nào trong tập dữ liệu mà không theo vùng bình thường này là bất thường Nhưng có vài nhân tố làm cho tiếp cận đơn giản này có nhiều vấn đề thử thách [12]:
- Việc định nghĩa một vùng để chứa đựng tất cả các hành vi bình thường
có thể là một vấn đề rất khó Hơn nữa, ranh giới giữa hành vi bình thường và bất thường thì thường không được xác định một cách rõ ràng
Vì vậy trên thực tế, một quan sát bất thường mà nằm gần với ranh giới
đó có thể được cho là bình thường và ngược lại
- Khi những bất thường là kết quả của những hành động có ý đồ xấu, đối phương thường tự chỉnh sửa, phỏng lại để làm những quan sát bất thường xuất hiện bình thường, vì lẽ đó công việc định nghĩa hành vi bình thường sẽ càng khó khăn hơn
- Trong nhiều lĩnh vực, những hành vi bình thường có thể tuân theo sự tiến hoá và một khái niệm hiện tại của hành vi bình thường có thể không còn đúng trong tương lai
- Khái niệm chính xác của bất thường không giống nhau cho các ứng dụng Ví dụ như, trong lĩnh vực y khoa, một sự lệch nhỏ như sự dao động trong nhiệt độ cơ thể: nhiệt độ bình thường là 360C, lệch thêm 2.5
độ rất có thể là một bất thường, trong khi một sự lệch tương tự trong lĩnh vực thị trường chứng khoán (ví dụ, sự dao động trong giá trị của chứng khoán) có thể được đánh giá là bình thường Vì vậy việc áp dụng một kỹ thuật đã phát triển cho một lĩnh vực nào đó vào trong một lĩnh vực khác là một điều không dễ làm
Trang 19- Thông thường dữ liệu chứa nhiễu mà nó có khuynh hướng giống như những bất thường trên thực tế Vì vậy khó để phân biệt và khử nhiễu Chính vì những thử thách này nên vấn đề phát hiện bất thường trong hầu hết các dạng tổng quát là không dễ giải quyết
2.3 Những khía cạnh liên quan vấn đề phát hiện bất thường
2.3.1 Bản chất của dữ liệu
Một cách tổng quát, dữ liệu đầu vào là một bộ sưu tập của các thể hiện (instance, object, record, point, vector, pattern, event, case, sample, observation, hoặc entity) [34] Mỗi thể hiện có thể được mô tả việc sử dụng một tập các thuộc tính (attributes, variable, characteristic, feature, field, hoặc dimension) Các thuộc tính có thể thuộc nhiều loại khác nhau như nhị phân (binary), kiểu loại (categorical), hoặc liên tục (continuous) Mỗi thể hiện có thể chỉ bao gồm một thuộc tính (univariable), hoặc nhiều thuộc tính (multivariable) Trong trường hợp thể hiện có nhiều thuộc tính, tất cả các thuộc tính có thể cùng một loại cũng có thể là hỗn hợp nhiều loại khác nhau
Bản chất của thuộc tính sẽ xác định khả năng có thể dùng được của các kỹ thuật phát hiện bất thường Ví dụ, các mô hình thống kê phải được dùng cho dữ liệu kiểu liên tục và loại Tương tự, đối với các kỹ thuật lân cận, thì bản chất của các thuộc tính xác định việc đo khoảng cách sẽ được dùng Thông thường, thay vì đưa vào dữ liệu thực tế, khoảng cách theo cặp giữa các thể hiện có thể được cung cấp theo dạng ma trận khoảng cách Ở những trường hợp như vậy, các kỹ thuật có yêu cầu dữ liệu gốc thì không thể áp dụng được, ví dụ như các kỹ thuật thống kê và kỹ thuật dựa trên phân lớp
Dữ liệu đầu vào cũng có thể được phân loại dựa trên mối quan hệ hiện tại giữa các thể hiện [34] Hầu hết các kỹ thuật phát hiện bất thường đang tồn tại quan tâm đến dữ liệu mẫu tin hoặc dữ liệu điểm, ở đó không cần mối quan hệ giữa các thể hiện
2.3.2 Các loại bất thường
Một khía cạnh quan trọng của kỹ thuật phát hiện bất thường là bản chất của các thể hiện bất thường Những bất thường có thể được chia thành 3 loại [12]:
a) Những bất thường dạng điểm (Point anomalies): Nếu một thể hiện
riêng lẻ nào đó có thể được xem xét như là bất thường theo khía cạnh yên tĩnh của
dữ liệu, thì thể hiện được gọi là điểm bất thường Đây là loại bất thường đơn giản nhất và là trọng tâm của đa số các nghiên cứu về phát hiện bất thường
Trang 20Ở Hình 2.1, điểm O1 và O2, cũng như các điểm trong vùng O3, nằm bên ngoài đường biên của các vùng bình thường, vì lý do đó nên được cho là các điểm bất thường
Trong thực tế, xem xét phát hiện gian lận thẻ tín dụng Đặt tập dữ liệu phù hợp với những giao dịch thẻ tín dụng của một cá nhân Để đơn giản, giả sử rằng dữ liệu được định nghĩa chỉ dùng một đặc trưng: số lượng tiền chi tiêu cho thẻ tín dụng Một giao dịch cho số tiền chi tiêu quá cao được so sánh với dãy chi tiêu bình thường của một người sẽ là điểm bất thường
b) Những bất thường theo ngữ cảnh (contextual anomalies)
Nếu một thể hiện là bất thường trong một ngữ cảnh cụ thể, nhưng không bất thường trong những ngữ cảnh khác, thì nó được cho là một bất thường theo ngữ cảnh cũng được gọi là bất thường theo điều kiện (conditional anomaly)[32]
Khái niệm ngữ cảnh được thuyết phục bởi cấu trúc trong tập dữ liệu Mỗi thể hiện được định nghĩa bằng việc dùng hai tập thuộc tính sau:
• Các thuộc tính ngữ cảnh (Contextual attributes): được dùng để xác định ngữ cảnh (hoặc láng giềng) cho thể hiện đó Ví dụ, trong các tập dữ liệu về không gian, kinh độ và vĩ độ của một vùng là những thuộc tính ngữ cảnh Trong dữ liệu chuỗi thời gian, thời gian là một thuộc tính ngữ cảnh mà xác định vị trí của một thể hiện trong toàn bộ dãy
• Các thuộc tính không ngữ cảnh (Behavioral attributes): định nghĩa những đặc tính không theo ngữ cảnh của một thể hiện Ví dụ, trong một tập dữ liệu không gian mô tả lượng mưa trung bình trên toàn thế giới,
vì thế, lượng mưa ở bất kỳ một nơi nào là một thuộc tính không ngữ cảnh
Những cư xử bất thường được xác định bằng việc dùng những giá trị cho những thuộc tính không theo ngữ cảnh trong một ngữ cảnh cụ thể Một thể hiện có thể là một bất thường theo ngữ cảnh trong một ngữ cảnh được cho, nhưng một thể hiện giống hệt như vậy (dưới dạng thuộc tính không ngữ cảnh) có thể được xem là bình thường trong một ngữ cảnh khác Đặc tính này là mấu chốt trong việc nhận ra thuộc tính ngữ cảnh và thuộc tính không ngữ cảnh cho một kỹ thuật phát hiện bất thường theo ngữ cảnh
Trang 21Bất thường theo ngữ cảnh thường được xem xét trong dữ liệu chuỗi thời gian [37] và dữ liệu không gian [18] Hình 2.2 là một ví dụ mà nó chỉ ra nhiệt độ theo tháng của một vùng trong một vài năm Ở đây nhiệt độ t1 thì giống như t2 Nhưng t1 xảy ra ở ngữ cảnh về thời gian khác t2 nên t1 không được xem là bất thường.
Ví dụ tương tự có thể tìm thấy trong lĩnh vực phát hiện gian lận dùng thẻ tín dụng Một thuộc tính ngữ cảnh trong lĩnh vực thẻ tín dụng có thể là thời gian giao dịch mua bán Giả sử rằng một cá nhân thường có hoá đơn mua hàng mỗi tuần là
$100 ngoại trừ tuần lễ Noel thì nó có thể lên đến $1000 Một giao dịch $1000 trong một tuần vào tháng 7 sẽ được xem xét là bất thường theo ngữ cảnh, bởi vì nó không phù hợp với những hành vi bình thường của một cá nhân trong ngữ cảnh về thời gian mặc dầu bạn có thể xài số lượng tiền ấy vào trong tuần Noel thì được xem là bình thường
Việc lựa chọn áp dụng một kỹ thuật phát hiện bất thường theo ngữ cảnh được xác định bởi sự có ý nghĩa của những bất thường ngữ cảnh trong mục tiêu của lĩnh vực ứng dụng Một nhân tố khác là tính sẵn dùng của thuộc tính ngữ cảnh Trong một vài trường hợp việc định nghĩa một ngữ cảnh thì tương đối dễ làm Trong một vài trường hợp khác, việc định nghĩa một ngữ cảnh thì không dễ dàng, nên gây nhiều khó khăn để áp dụng những kỹ thuật trên
c) Những bất thường theo tập hợp (Collective Anomalies): nếu một tập
các thể hiện liên quan là bất thường đối với toàn bộ tập dữ liệu, nó thì được gọi là bất thường theo tập hợp các thể hiện riêng lẻ trong tập bất thường này có thể bản thân chúng không là bất thường, nhưng khi chúng xuất hiện với nhau như một tập thì là bất thường Hình 2.3 là một ví dụ chỉ ra điện tâm đồ của một người [20] Vùng nổi bật biểu thị sự bất thường bởi vì tồn tại các giá trị thấp giống nhau kéo dài một cách không bình thường (tương ứng với một sự co bóp yếu) Chú ý rằng giá trị bất thường này bản thân nó thì không có gì bất thường
Hình 2.2 Bất thường theo ngữ cảnh trong một chuỗi nhiệt độ theo thời gian
Trang 22Những bất thường theo tập hợp được xem xét cho dữ liệu tuần tự [36], dữ liệu dạng đồ thị [28] và dữ liệu không gian [31] Những bất thường có thể chỉ xảy ra trong những tập dữ liệu mà ở đó những thể hiện có quan hệ với nhau Ngược lại, sự xảy ra của những bất thường theo ngữ cảnh phụ thuộc vào tính sẵn dùng của những thuộc tính ngữ cảnh trong dữ liệu Một bất thường dạng điểm hay một bất thường tập hợp cũng có thể là một bất thường ngữ cảnh nếu được phân tích có lưu tâm đến ngữ cảnh Như vậy một vấn đề phát hiện bất thường dạng điểm hoặc dạng tập hợp
có thể được chuyển thành vấn đề phát hiện bất thường dạng ngữ cảnh bằng việc kết hợp thêm các thông tin ngữ cảnh
2.3.3 Nhãn dữ liệu
Nhãn của một thể hiện cho biết thể hiện là bình thường hay bất thường (lớp bình thường hay lớp bất thường) Nên biết rằng việc thu được dữ liệu được gán nhãn chính xác như miêu tả cho tất cả các loại hành vi thì thường với chi phí rất đắt Việc gán nhãn thường được làm bằng tay bởi những chuyên gia và chính vì thế
có sự cố gắng rất lớn được yêu cầu để đạt được tập huấn luyện có nhãn Về đặc thù, việc có được một tập có nhãn cho các thể hiện bất thường mà nó bao trùm lên tất cả các loại bất thường có thể thì khó khăn hơn nhiều so với việc có được một tập có nhãn cho các thể hiện bình thường
Hơn nữa, các hành vi bất thường có thể xuất hiện thêm, ví dụ như, những loại mới của các bất thường có thể xuất hiện, chính vì vậy nó không có nhãn trong tập huấn luyện Trong một vài trường hợp, ví dụ như trong an toàn giao thông hàng không, các thể hiện bất thường sẽ chuyển thành các sự kiện thảm khốc, và do đó nó rất hiếm
Hình 2.3 Điện tâm đồ của một người [20]
Trang 23Dựa trên mức độ đánh giá tính sẵn dùng của nhãn, các kỹ thuật phát hiện bất thường có thể hoạt động theo một trong ba mô hình sau:
a) Mô hình học có hướng dẫn (Supervised)
Các kỹ thuật được huấn luyện trên mô hình supervised giả sử rằng tính sẵn dùng của tập huấn luyện mà nó gán nhãn cho các thể hiện theo lớp bình thường cũng như lớp bất thường Một tiếp cận tiêu biểu cho trường hợp trên là xây dựng một mô hình dự đoán cho các lớp bình thường đối với các lớp bất thường Bất cứ thể hiện chưa biết nào được đem so sánh với mô hình để xác định chúng thuộc lớp nào Có hai số lượng chủ yếu xuất hiện trong phát hiện bất thường có hướng dẫn Thứ nhất, các thể hiện bất thường rất ít so với các thể hiện bình thường trong tập huấn luyện Số lượng xuất hiện như thế là do phân phối lớp không cân bằng đã được nói đến trong lí thuyết về khai khoáng dữ liệu và máy học [23]
Thứ hai, việc đạt được các nhãn chính xác và tiêu biểu, đặc biệt cho lớp bất thường thì thường là thử thách lớn Những kỹ thuật được đề nghị thì xen các bất thường nhân tạo vào tập dữ liệu bình thường để đạt được tập huấn luyện gán nhãn [35]
b) Mô hình hướng dẫn một nửa (Semisupervised)
Các kỹ thuật thực hiện theo mô hình semisupervised, giả sử rằng tập huấn luyện chỉ gán nhãn các thể hiện thuộc lớp bình thường vì chúng không đòi hỏi nhãn cho lớp bất thường, chúng được ứng dụng nhiều hơn các kỹ thuật supervised Ví dụ, trong phát hiện lỗi trên tàu vũ trụ [19] hoặc trong hệ thống máy bay, một bất thường rất có khả năng là một rủi ro, vì thế nó không dễ làm mẫu Tiếp cận điển hình được dùng trong các kỹ thuật trên là xây dựng mô hình cho lớp thích hợp với những hành
vi bình thường, và sử dụng mô hình để nhận dạng các bất thường trong tập Test
Một hạn chế của một số kỹ thuật phát hiện bất thường đã tồn tại là giả định tập huấn luyện chỉ có các thể hiện bất thường [13] Các kỹ thuật này không phổ biến bởi vì khó để đạt được một tập huấn luyện mà có thể bao trùm hết các hành vi bất thường có khả năng xuất hiện trong dữ liệu
c) Mô hình học không được hướng dẫn (Unsupervised)
Các kỹ thuật thực hiện theo mô hình unsupervised không yêu cầu tập dữ liệu huấn luyện, và vì vậy tính ứng dụng không cao Các kỹ thuật theo loại này giả định rằng các thể hiện bình thường hơn rất nhiều so với các thể hiện bất thường trong tập Test Nếu giả định này không đúng thì các kỹ thuật này sẽ có tỉ lệ sai rất cao [8]
Trang 242.3.4 Đầu ra của phát hiện bất thường
Một khía cạnh quan trọng khác cho bất kì một kỹ thuật phát hiện bất thường
là đầu ra của phát hiện bất thường Đầu ra được tạo ra bởi các kỹ thuật phát hiện bất thường có thể theo một trong hai dạng sau:
- Điểm số (Scores): Các kỹ thuật điểm số gán điểm số bất thường cho mỗi
thể hiện trong tập kiểm tra, phụ thuộc vào mức độ mà ở đó một thể hiện được đánh giá là bất thường Vì thế đầu ra của những kỹ thuật này là một danh sách các điểm
số bất thường được sắp xếp Một nhà phân tích có thể chọn để phân tích hoặc theo một nhóm các bất thường cao nhất hoặc dùng một ngưỡng cắt để chọn ra các bất
thường
- Nhãn (Labels): Các kỹ thuật thuộc loại này gán nhãn (bình thường hoặc
bất thường) cho mỗi thể hiện trong tập kiểm tra (Test)
Các kỹ thuật phát hiện bất thường dựa trên cho điểm số cho phép nhà phân tích dùng một ngưỡng cụ thể theo một lĩnh vực cụ thể để chọn những bất thường thích hợp nhất Trong khi đó, các kỹ thuật cung cấp nhãn nhị phân cho các thể hiện trong tập Test không cho phép các nhà phân tích làm được lựa chọn như trên, thế nhưng điều này có thể được điều chỉnh một cách gián tiếp thông qua việc lựa chọn tham số trong mỗi kỹ thuật
2.4 Những ứng dụng cho phát hiện bất thường
2.4.1 Phát hiện tấn công
Phát hiện tấn công ám chỉ đến sự phát hiện hoạt động có dụng ý xấu (ví dụ như tấn công vào hệ thống ngân hàng) bằng một hệ thống có liên quan đến máy tính [29] Những hoạt động này đang là mối quan tâm đến viễn cảnh tương lai cho an ninh máy tính Một sự xâm nhập thì ắt hẳn sẽ khác hơn so với các hành vi bình thường trong hệ thống, và chính vì lẻ đó các kỹ thuật phát hiện bất thường có khả năng ứng dụng nhiều trong lĩnh vực phát hiện tấn công
Thử thách chính cho phát hiện bất thường trong lĩnh vực này là số lượng lớn của dữ liệu Các kỹ thuật phát hiện bất thường cần tính hiệu quả trong tính toán để vận dụng vào những tập dữ liệu đầu vào có kích thước lớn Hơn nữa dữ liệu đến một cách tự nhiên, bằng cách phụ thuộc vào sự phân tích trực tuyến Vấn đề là tập
dữ liệu đầu vào rất lớn thì ảnh hưởng đến tỉ lệ cảnh báo sai Bởi vì số lượng dữ liệu lên đến hàng triệu đối tượng, vài phần trăm của những cảnh báo sai có thể làm cho kết quả phân tích chống lại nhà phân tích Dữ liệu có nhãn phù hợp với hành vi bình thường thì sẵn có, trong khi những nhãn cho tấn công thì không có Vì vậy, các kỹ
Trang 25thuật phát hiện bất thường semisupervised và unsupervised thì thích hợp hơn trong lĩnh vực này
2.4.2 Phát hiện gian lận
Phát hiện gian lận liên quan đến phát hiện những hoạt động của tội phạm xảy
ra trong những tổ chức thương mại như là trong các ngân hàng, các công ty thẻ tín dụng, các công ty bảo hiểm, các công ty điện thoại di động, thị trường chứng khoán Những người dùng có dụng ý xấu có thể là một khách hàng thực sự của tổ chức hoặc có thể giả bộ như những khách hàng [2] Sự gian lận xảy ra khi những người dùng này dùng hết tài nguyên được cung cấp bởi tổ chức theo cách không được phép Các tổ chức quan tâm đến việc phát hiện tức thời các gian lận trên để ngăn cản sự thiệt hại về kinh tế
2.4.3 Phát hiện bất thường về sức khỏe y tế và sức khỏe cộng đồng
Phát hiện bất thường trong các lĩnh vực chăm sóc sức khỏe y tế và sức khỏe cộng đồng làm việc trên các hồ sơ bệnh nhân [39] Dữ liệu có thể có những bất thường do một vài lí do như tình trạng bệnh nhân không bình thường, các lỗi do thiết bị đo đạc, hoặc lỗi do ghi chép
Dữ liệu bao gồm những hồ sơ mà có thể có nhiều loại thuộc tính khác nhau như: tuổi, nhóm máu, trọng lượng Hầu hết các kỹ thuật phát hiện bất thường trong lĩnh vực này đặt mục tiêu phát hiện ra những hồ sơ bất thường (bất thường dạng điểm) Điển hình, dữ liệu được gán nhãn theo các bệnh nhân mạnh khỏe, vì lẻ đó hầu hết các kỹ thuật chọn cách tiếp cận semisupervised
2.4.4 Phát hiện sự hư hại của thiết bị công nghệ
Các thiết bị công nghệ chịu sự hư hại do quá trình sử dụng và hao mòn Những hư hại trên cần được phát hiện sớm để ngăn chặn những tổn thất lớn trong tương lai Dữ liệu trong lĩnh vực này thì thường là dữ liệu cảm biến bởi vì nó được ghi lại bằng việc dùng những cảm biến khác nhau và được sưu tập lại cho các nhà phân tích Các kỹ thuật phát hiện bất thường được áp dụng một cách rộng rãi trong lĩnh vực này để phát hiện những hư hại như đã đề cập [24] Phát hiện hư hại công nghệ có thể được phân thành hai loại, một loại là xử lý những khuyết điểm trong các bộ phận máy móc như những động cơ môtô, và loại khác là xử lý những khiếm khuyết trong những cấu trúc vật lý
2.4.5 Phát hiện bất thường trong quá trình xử lý ảnh
Các kỹ thuật phát hiện bất thường trong lĩnh vực này hoặc là quan tâm đến bất kỳ một sự thay đổi nào trong ảnh theo thời gian (phát hiện sự chuyển động)
Trang 26hoặc là quan tâm đến những vùng không bình thường trong một ảnh tĩnh Lĩnh vực này bao gồm hình ảnh vệ tinh [6], sự phân tích nhũ ảnh [33], giám sát hình ảnh thu qua video [15] Những bất thường được gây ra bởi sự chuyển động, hoặc sự thêm vào một đối tượng lạ, hoặc những lỗi do thiết bị Dữ liệu có những đặc trưng về không gian và thời gian Mỗi điểm dữ liệu có một ít thuộc tính liên tục như màu sắc,
độ sáng, chất liệu Những bất thường được quan tâm có thể là những điểm bất thường (bất thường dạng điểm) hay là những vùng bất thường trong ảnh (bất thường dạng ngữ cảnh)
Một trong những thử thách chính của lĩnh vực này là kích thước của tập dữ liệu đầu vào rất lớn Khi xử lý với dữ liệu video, thì đỏi hỏi phải dùng các kỹ thuật phát hiện bất thường trực tuyến
2.4.6 Phát hiện bất thường trên dữ liệu văn bản
Các kỹ thuật phát hiện bất thường trong lĩnh vực này chủ yếu phát hiện ra những chủ đề lạ hoặc những sự kiện hoặc những câu chuyện truyền thanh trong một
bộ sưu tập các tài liệu hoặc những tiêu đề của các bài báo [21] Những bất thường được gây ra bởi sự kiện mới đang quan tâm hay một chủ đề bất thường
Dữ liệu trong lĩnh vực này có đặc điểm là số chiều lớn và rất thưa thớt Dữ liệu cũng có theo biểu đồ thời gian vì tài liệu được sưu tập theo thời gian
Thử thách cho các kỹ thuật phát hiện bất thường trong lĩnh vực này là việc thực hiện mức độ biến đổi lớn trên tài liệu theo loại hoặc chủ đề
2.5 Những kỹ thuật phát hiện bất thường đang được sử dụng
2.5.1 Các kỹ thuật phát hiện bất thường dựa trên phân lớp (Classification)
Phân lớp [34] được dùng để học một mô hình (classifier) từ một tập dữ liệu
đã gán nhãn và sau đó, phân loại các thể hiện (trong tập Test) theo một trong các lớp bằng mô hình được học Các kỹ thuật phát hiện bất thường dựa trên phân lớp thực hiện theo một kiểu có hai công đoạn tương tự nhau Công đoạn huấn luyện học
mô hình phân lớp bằng cách dùng dữ liệu huấn luyện được gán nhãn Giai đoạn đánh giá phân lớp cho các thể hiện theo lớp bình thường hay bất thường, bằng cách
Trang 27Dựa trên tính sẵn dùng của nhãn cho giai đoạn huấn luyện, các kỹ thuật phát hiện bất thường trên cơ sở phân lớp có thể được nhóm thành hai loại rõ ràng: một lớp (one-class) và nhiều lớp (multi-class)
Các kỹ thuật phát hiện bất thường nhiều lớp [14] giả sử rằng tập dữ liệu huấn luyện chứa các thể hiện được gán nhãn theo nhiều lớp bình thường Các kỹ thuật trên dạy mô hình phân lớp để phân biệt giữa mỗi lớp bình thường và những lớp còn lại, minh hoạ ở hình 2.4(a), một thể hiện trên tập Test được xem là bất thường nếu
nó không được phân lớp là bình thường bởi các mô hình Một số kỹ thuật trong loại này kết hợp điểm số tin cậy với dự đoán được thực hiện bởi mô hình Nếu không có
mô hình nào là tin cậy trong việc phân lớp các thể hiện là bình thường, các thể hiện
đó được khai báo là bất thường
Các kỹ thuật phát hiện bất thường một lớp giả sử rằng tất cả các thể hiện huấn luyện chỉ có một nhãn duy nhất Các kỹ thuật trên học một đường biên tách biệt bao quanh các thể hiện bình thường bằng cách dùng giải thuật phân lớp , ví dụ, được chỉ ra trong hình 2.4(b) Bất kỳ một thể hiện nào mà không rơi vào trong đường biên được học thì được tuyên bố là bất thường
Một số kỹ thuật dựa trên phân lớp được dùng cho phát hiện bất thường có thể
kể đến là: mạng Neural (Neural Networks), mạng Bayes (Bayesian Networks), máy học vectơ hổ trợ (Support Vector Machines)
2.5.2 Phát hiện bất thường dựa trên lân cận gần nhất (Nearest Neighbor)
Các kỹ thuật này dựa trên giả định sau: Các thể hiện bình thường xảy ra trên vùng có các lân cận dày đặc, trong khi các bất thường xảy ra khá xa so với lân cận của nó
Hình 2.4: phát hiện bất thường theo mô hình một lớp, nhiều lớp
[14]
Trang 28Các kỹ thuật phát hiện bất thường dựa trên lân cận gần nhất đòi hỏi sự đo lường khoảng cách (hoặc cách gì đó tương tự) giữa hai thể hiện Khoảng cách giữa hai thể hiện có thể được tính theo nhiều cách khác nhau Đối với các thuộc tính liên tục, khoảng cách Euclidean là sự lựa chọn phổ biến, ngoài ra những độ đo khác cũng có thể được dùng [34] Đối với thuộc tính kiểu loại thì có những phương pháp
đo khoảng cách phức tạp hơn được dùng [9] Đối với dữ liệu có nhiều thuộc tính, khoảng cách thường được tính toán cho mỗi thuộc tính, sau đó đem chúng kết hợp lại với nhau [34]
Kỹ thuật dựa trên lân cận gần nhất được dùng cho phát hiện bất thường phổ biến nhất là k lân cận gần nhất (k-nn)
2.5.3 Các kỹ thuật phát hiện bất thường dựa trên gom cụm (Clustering)
Clustering [22] được dùng để nhóm các thể hiện tương tự nhau vào trong các nhóm Clustering chủ yếu là một kỹ thuật unsupervised [7] Mặc dù gom nhóm và phát hiện bất thường về cơ bản là khác nhau, nhưng một số kỹ thuật phát hiện bất thường dựa trên gom nhóm cũng đã được phát triển Chúng có thể được nhóm vào hai loại:
Loại thứ nhất dựa vào một số giả định sau: Các thể hiện bình thường theo cùng một nhóm trong tập dữ liệu, trong khi các bất thường thì không theo bất kỳ một nhóm nào Vì thế, các kỹ thuật dựa trên giả định này đưa giải thuật đã biết dựa trên gom nhóm vào tập dữ liệu và tuyên bố bất kỳ một thể hiện nào mà không thuộc
về bất kỳ nhóm nào thì được cho là bất thường Bất lợi của các kỹ thuật trên là chúng không được tối ưu để tìm bất thường, bởi vì mục đích chính của các giải thuật gom nhóm là để tìm ra các nhóm
Loại thứ hai của các kỹ thuật dựa trên gom nhóm dựa vào giả định sau: Các thể hiện bình thường nằm gần với trọng tâm gần nhất của nhóm, trong khi các bất thường thì nằm ở rất xa so với trọng tâm gần nhất của nó Các kỹ thuật dựa vào giả định này thì bao gồm hai bước Trong bước một, dữ liệu được nhóm bằng cách dùng giải thuật gom nhóm Ở bước kế tiếp, đối với mỗi thể hiện, khoảng cách của
nó đến trọng tâm gần nhất của nó sẽ được tính như là điểm số bất thường của nó Một số kỹ thuật dựa trên gom cụm dùng trong lĩnh vực phát hiện bất thường
có thể kể đến là: Cluster-Based Local Outlier Factor (CBLOF), Organizing Maps (SOM), Expectation Maximization (EM)
Trang 292.5.4 Các kỹ thuật phát hiện bất thường theo thống kê (Statistical)
Các kỹ thuật phát hiện bất thường theo thống kê dựa trên giả định rằng: các thể hiện bình thường xuất hiện trong những vùng có xác suất cao, trong khi các thể hiện bất thường xuất hiện trong những vùng có xác suất thấp [4]
Các kỹ thuật thống kê sẽ tương ứng với một mô hình thống kê đối với dữ liệu được cho, kế đến là đưa vào một kiểm tra có tính suy luận theo thống kê để xác định liệu một thể hiện có thuộc về mô hình này hoặc không Các thể hiện có xác xuất thấp được sinh ra do mô hình được xem là bất thường
Các kỹ thuật dạng này có một số thuận lợi:
- Nếu giả định về phân phối dữ liệu hoàn toàn đúng thì các kỹ thuật này cung cấp một giải pháp thích đáng về thống kê cho phát hiện bất thường
- Điểm số bất thường được cho bởi các kỹ thuật thống kê được kết hợp với một khoảng tin cậy như là thông tin thêm vào trong khi ra quyết định đối với bất kỳ một thể hiện nào trong tập kiểm tra
- Các kỹ thuật thống kê có thể thực hiện trên mô hình unsupervised không cần tập huấn luyện có gán nhãn
Bất lợi chính của các kỹ thuật thống kê đó là chúng dựa trên giả định là dữ liệu được sinh ra từ một phân phối đặc biệt Giả định này thường không hoàn toàn đúng, cụ thể cho các tập dữ liệu thực có số chiều cao
Một số kỹ thuật dựa trên thống kê dùng trong lĩnh vực phát hiện bất thường
có thể kể đến là: Các kỹ thuật có tham số (Parametric) như mô hình Gaussian (Gaussian Model), mô hình hồi qui (Regression Model) và các kỹ thuật không tham
số (Nonparametric) như biểu đồ (Histogram) và hàm Kernel (Kernel Function)
2.5.5 Các kỹ thuật phát hiện bất thường dựa vào lý thuyết thông tin
(Information Theoretic)
Các kỹ thuật theo lý thuyết thông tin phân tích nội dung thông tin của tập dữ liệu bằng cách dùng những độ đo thông tin khác nhau như entropy, relative entropy,…Các kỹ thuật trên dựa vào giả định rằng các bất thường trong dữ liệu đem lại sự không đồng đều trong nội dung thông tin của tập dữ liệu [3]
Thuận lợi của các kỹ thuật này là chúng có thể thực hiện trên mô hình unsupervised và chúng không phải làm bất cứ giả định nào về phân phối thống kê cho dữ liệu Tuy nhiên các kỹ thuật này cũng có nhiều bất lợi như:
Trang 30- Hiệu quả của các kỹ thuật trên phụ thuộc nhiều vào việc lựa chọn độ đo thông tin phù hợp Thông thường, các độ đo trên có thể phát hiện ra sự hiện diện của các bất thường chỉ khi có số lượng lớn các bất thường trong dữ liệu
- Các kỹ thuật lý thuyết thông tin được áp dụng cho dữ liệu dạng chuỗi sự kiện, dữ liệu không gian tin cậy vào kích thước của cấu trúc cơ sở của tập dữ liệu,
mà điều này thì rất khó đạt được
- Khó để tính được điểm số bất thường cho một thể hiện bằng việc dùng kỹ thuật lý thuyết thông tin
2.5.6 Các kỹ thuật phát hiện bất thường theo phổ (Spectral)
Các kỹ thuật dạng này cố gắng tìm sự xấp xỉ của dữ liệu bằng cách kết hợp các thuộc tính mà chiếm phần lớn sự biến thiên trong dữ liệu Các kỹ thuật này dựa trên giả định: Dữ liệu có thể được gắn vào không gian con với số chiều thấp hơn mà
ở đó các thể hiện bình thường và bất thường xuất hiện khác nhau một cách rõ nét Tiếp cận chung được kế thừa bởi các kỹ thuật phát hiện bất thường dựa trên phổ là xác định các vùng không gian con mà ở đó các thể hiện bất thường có thể dễ dàng được nhận ra [1] Các kỹ thuật trên cũng có thể làm việc tốt trên cả hai môi trường unsupervised và semisupervised
Một số thuận lợi của các kỹ thuật phát hiện bất thường theo quang phổ là: các kỹ thuật này thu nhỏ lại số chiều một cách tự động và vì thế nó thích hợp cho những tập dữ liệu có số chiều quá cao Hơn nữa, chúng cũng có thể được dùng như một bước tiền xử lý của ứng dụng có không gian biến đổi của bất kỳ một kỹ thuật phát hiện bất thường đang tồn tại
Ngoài ra các kỹ thuật phổ cũng đem lại một số bất lợi như sau: chúng chỉ hữu dụng khi các thể hiện bình thường và bất thường có thể tách rời nhau trong tập
dữ liệu có số chiều thấp hơn và các kỹ thuật này có độ phức tạp thời gian tính toán khá cao
2.6 Đánh giá hiệu quả của giải thuật học
2.6.1 Nghi thức kiểm tra
Bất kỳ giải thuật học nào dùng để phân lớp những phần từ chưa phân lớp được gọi là chủ thể phân lớp (classifier) [10] Việc xây dựng các chủ thể phân lớp là nhằm tạo khả năng tiến hành phân lớp cho các phần tử không xác định trước Tuy nhiên, chúng ta có thể thấy rằng mỗi chủ thể phân lớp được thực hiện theo cách thức khác nhau và cho ra kết quả cũng có thể khác nhau khi chúng được áp dụng trên cùng một tập dữ liệu đầu vào Vì vậy, cần thiết phải có thông số để xác định độ
Trang 31chính xác tiên đoán (predictive accuracy) của các chủ thể phân lớp Thông số này có thể là số thể hiện chưa phân lớp được phân lớp đúng Tuy nhiên, phần lớn các tập
dữ liệu là rất lớn, việc ước lượng độ chính xác tiên đoán là không thể thực hiện được Thay vào đó, người ta có thể ước lượng độ chính xác tiên đoán dựa vào tính chính xác của nó trên một tập dữ liệu mẫu không được sử dụng trên quá trình huấn luyện
Nếu dữ liệu đã có sẵn 1 tập học và 1 tập kiểm tra: dùng dữ liệu học để xây dựng mô hình, dùng tập kiểm tra để đánh giá hiệu quả của giải thuật
Nếu dữ liệu không có 1 tập kiểm tra sẵn: Có 3 phương pháp [10] phổ biến được áp dụng để chia tập đó là: huấn luyện và kiểm tra, k-fold cross-validation và N-fold (or leave-one-out) cross-validation
2.6.1.1 Phương pháp huấn luyện và kiểm tra (Training and Test sets):
Trong phương pháp này, tập dữ liệu được chia làm 2 tập: Tập huấn luyện và tập kiểm tra Ban đầu, tập huấn luyện được sử dụng để huấn luyện chủ thể phân lớp Sau đó, chủ thể phân lớp sẽ được sử dụng để tiên đoán phân lớp các phần tử trong tập kiểm tra Việc chia tập ngẫu nhiên làm 2 phần có thể theo tỉ lệ thông thường như sau: 1:1, 2:1, 70:30, 60:40
Có thể lặp lại bước chia tập như trên k lần rồi tính giá trị trung bình
Hình 2.5: Huấn luyện và kiểm tra [10]
2.6.1.2 k-fold cross-validation
Phương pháp ‘huấn luyện và kiểm tra’ thường được sử dụng trên các tập dữ liệu có số thể hiện nhỏ, trong khi đó, k-fold cross-validation được xem như một sự thay thế để áp dụng trên các tập dữ liệu có số thể hiện lớn
Trang 32Nếu một tập dữ liệu gồm có N phần tử, tập này sẽ được chia ra làm k tập nhỏ (k thường chỉ là những giá trị nhỏ như 5 hoặc 10) [10, 38] Việc đánh giá được thực hiện k lần, trong đó mỗi lần sẽ có k-1 tập được sử dụng để huấn luyện và 1 tập dùng
để kiểm tra
Hình 2.6: k-fold cross-validation [10]
2.6.1.3 N-fold cross-validation (leave-one-out)
Đây là trường hợp đặc biệt của k-fold cross-validation, trong đó mỗi thể hiện
là một tập trong quá trình huấn luyện và kiểm tra Nếu một tập dữ liệu có N thể hiện, quá trình đánh giá sẽ được thực hiện lập lại N lần Trong mỗi lần, N-1 thể hiện
sẽ được sử dụng trong quá trình huấn luyện và thể hiện còn lại sẽ được sử dụng để kiểm tra Phương pháp này chỉ thích hợp với các tập dữ liệu có số thể hiện nhỏ
TP: Số các thể hiện được gán là bất thường khi chúng là bất thường
FN: số các thể hiện được gán là bình thường khi chúng là bất thường
Predicted class
Confusion matrix
NC AC
NC TN FP
Actual class AC FN TP
Trang 33FP: số các thể hiện được gán là bất thường khi chúng là bình thường
TN: số các thể hiện được gán là bình thường khi chúng là bình thường
Ví dụ: lớp bất thường = 2%, lớp bình thường = 98%
Một giải thuật học có thể cho kết quả 98% độ chính xác khi phân loại, nhưng điều này dẫn đến sự sai lầm, bởi vì mô hình học đã không phát hiện được bất kỳ một thể hiện nào thuộc lớp bất thường Trong khi việc phát hiện lớp hiếm (có tỉ lệ rất ít trong tập dữ liệu) thì thường được quan tâm rất nhiều trong nhiều lĩnh vực ứng dụng trên thực tế
2.6.3 Đường cong ROC (Receiver Operating Characteristic) [10]
Để tránh chủ quan khi chỉ lựa chọn một ngưỡng để đánh giá mô hình, có một cách là duyệt qua hết tất cả các ngưỡng có thể được, và quan sát ảnh hưởng lên TPR
và FPR Khi đó ta có tất cả các điểm (TPR, FPR) sẽ tạo thành đường ROC Đường cong ROC mô tả hiệu quả của mô hình thông qua toàn bộ các ngưỡng của mô hình Đường cong trình bày sự thỏa hiệp giữa tỉ lệ phát hiện (TPR) và tỉ lệ cảnh báo sai (FPR), trên đường cong ROC, như hình 2.7, giá trị của FPR được vẽ trên trục hoành, TPR được vẽ trên trục tung
Mỗi điểm trên đồ thị có thể được xem như một cặp giá trị (x,y) mà tương ứng FPR có giá trị x và TPR có giá trị y Hiệu quả của mô hình tại một ngưỡng được trình bày như một điểm trên đường cong ROC
Trang 34Từ hình 2.7 ta nhận xét rằng nếu mô hình đạt hiệu quả tốt trên tất cả các ngưỡng, tất cả các điểm trên đồ thị ROC sẽ có xu hướng gom xung quanh gốc trên bên trái của đồ thị Ở hình 2.8, ta thấy có 3 đường cong được vẽ trên cùng một biểu
đồ, lần lượt tính từ trên xuống ta có 3 loại đường ROC: Tốt nhất, Khá tốt và Tệ nhất
Tất cả các đường ROC bắt đầu từ gốc dưới bên trái và tăng lên đến gốc trên bên phải Dọc theo đường ROC trình bài sự thoả hiệp giữa TPR và FPR Nhìn chung, các mô hình ngẫu nhiên sẽ chạy dọc bên trên đường chéo (TPR=FPR), và hơn nữa đường cong ROC có xu hướng phình lên gốc trên bên trái
So sánh 3 đường ROC
0 0.2 0.4 0.6 0.8 1
Chú ý rằng đường ROC là một công cụ tốt nhất để đánh giá hiệu quả của mô hình, nhưng nó không nói gì đến độ chính xác của xác xuất dự đoán mà mô hình đạt được Vì thế ta có một cách đánh giá khác có thể làm được điều này được đề cập ở mục 2.6.4 bên dưới
Hình 2.7: Đường cong ROC
Hình 2.8: So sánh các đường ROC
Trang 352.6.4 Diện tích dưới đường ROC [10]- Area Under Curve (AUC)
Đường cong ROC cung cấp một dãy rộng để đánh giá hiệu quả của mô hình, làm thế nào cho ra một số đo dựa vào ROC, câu trả lời là, độ đo diện tích dưới đường ROC (viết tắt là AUC) sẽ làm được điều này
Đường cong ROC được vẽ cho Bảng 2.2 được chỉ ra trên hình 2.9
AUC là phần diện tích hình thang dưới đường ROC
Cách tính AUC:
Giả sử rằng không quan tâm trên sự thoả hiệp giữa TPR và FPR (những điểm trên ROC), AUC được dùng gộp lại hiệu quả của toàn bộ dãy các thoả hiệp đó
77 0 ) 36 0
* 93 1 19 1 83 1 17 0
* 62 1 8 0
* 32 1 5 0 05 1 15 0 45 0 ( 2
1
) 6 7 ( 2
7 6 ) 5 6 ( 2
6 5 ) 4 5 ( 2
5 4
) 3 4 ( 2
4 3 ) 2 3 ( 2
3 2 ) 1 2 ( 2
2 1
7 6 6
5 5
4 4
3 3
2 2
1 7
1
= +
+ +
+ +
=
− +
+
− +
+
− +
+
+
− +
+
− +
+
− +
=
+ +
+ +
+
−
FP FP TP TP FP FP TP TP FP FP TP TP
FP FP TP TP FP FP TP TP FP FP TP TP
AUC AUC
AUC AUC
AUC AUC
AUC
Đường ROC
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
(FP5,TP5)
(FP6,TP6)
(FP7,TP7)
(FP1,TP1)
Trang 36Nhìn vào thể hiện trên giá trị của AUC chúng ta sẽ dễ dàng đánh giá hiệu quả cho
mô hình hơn: AUC cao thì mô hình tốt hơn, AUC=1.0 cho ta biết mô hình đạt hiệu quả tốt nhất, với giá trị AUC=0.5 chỉ ra mô hình đạt hiệu quả đánh giá kém
Hình 2.6 cho thấy đường ROC nằm phía trên đường chéo, giá trị AUC=0.77
Một số tính chất của ROC và AUC [10]
Đường cong càng đi dọc theo biên trái và rồi đi dọc theo biên phía trên của không gian ROC, thì chứng tỏ kết quả kiểm tra càng chính xác
Đường cong càng tiến tới thành đường chéo 45 độ (TPR=FPR) trong không gian ROC, thì độ chính xác của kiểm tra càng kém
Diện tích phía dưới đường cong, giới hạn trong không gian ROC, là thước đo cho độ chính xác, chẳng hạn: 1 là tối ưu, 0.5 là kém
Trang 37CHƯƠNG 3:
KỸ THUẬT RỪNG CÔ LẬP CHO PHÁT HIỆN BẤT THƯỜNG
3.1 Cây cô lập (iTree) và rừng cô lập (iForest)
3.1.1 Định nghĩa cây cô lập
Giả sử T là một nút của cây cô lập T là một nút ngoài không con, hoặc là một nút trong có chính xác hai con (Tl,Tr) và một điều kiện kiểm tra Điều kiện kiểm tra bao gồm một thuộc tính q và một giá trị cắt p sao cho: Điều kiện kiểm tra q<p sẽ chia các điểm dữ liệu vào trong 2 cây con Tl và Tr (với Tl là tập các thể hiện có q<p,
Tr là tập các thể hiện có q>=p) [31]
Cho một mẫu dữ liệu X={x1,…, xn} với n thể hiện từ một phân phối nhiều chiều, để xây dựng cây cô lập, chúng ta chia đệ qui tập X bằng cách lựa chọn ngẫu nhiên một thuộc tính q và một giá trị cắt p, thực hiện công việc phân chia này cho đến khi thỏa mãn một trong các điều kiện sau đây:
i) Cây đạt đến chiều cao giới hạn
ii) |X|=1 (số phần tử trong X chỉ là một)
iii) Tất cả các thể hiện trong X có cùng giá trị
Cây iTree là cây nhị phân đầy đủ (proper binary tree), mà mỗi nút trong cây chính xác là không con hoặc có 2 nút con Giả sử rằng các thể hiện điều phân biệt, mỗi thể hiện được cô lập đến nút ngoài khi đó iTree trưởng thành một cây đầy đủ, trong trường hợp đó thì số các nút ngoài là n và số các nút trong là n-1; Tổng số nút trên cây là 2n-1; và vì thế yêu cầu về bộ nhớ chỉ tăng tuyến tính theo n
Công việc phát hiện bất thường cung cấp một dãy các ảnh hưởng của mức độ bất thường và dựa vào mức độ bất thường để chọn ra phần tử bất thường Vì vậy, một cách để phát hiện các bất thường là sắp xếp các điểm theo các độ dài đường dẫn hoặc theo các điểm số bất thường Và các bất thường là những điểm mà được sắp ở đầu danh sách (sắp xếp giảm dần) Nói một cách khác, những điểm bất thường là những điểm bị cô lập bởi số lần chia tách ít nhất
3.1.2 Định nghĩa rừng cô lập
Rừng cô lập được tạo ra từ một tập hợp có t (t>1) cây cô lập, từ một tập X có
n phần tử ban đầu, mô hình lấy những mẫu theo qui tắc lấy ngẫu nhiên Ψ phần tử từ tập X (điều kiện Ψ≤X) rồi xây dựng cây cô lập theo kích thước mẫu là Ψ Để xây dựng rừng cô lập cho tập X có n phần tử, ta chỉ cần hai tham số đầu vào là số lượng cây t và kích thước mẫu Ψ
Trang 38Cho một tập dữ liệu có n thể hiện, Độ dài đường dẫn trung bình của tìm kiếm không thành công trên BST là:
Trang 39b) Nếu các thể hiện có s nhỏ hơn nhiều so với 0.5, thì chúng khá an toàn được xem là các thể hiện bình thường
c) Nếu tất cả các thể hiện trả về giá trị gần với 0.5, thì toàn bộ mẫu không có bất kì một bất thường nào
3.2 Các đặc điểm của cây cô lập
3.2.1 Sự xuất hiện ‘ít và khác biệt’ trong tập dữ liệu
Thuật ngữ ‘isolation’ nghĩa là ‘sự tách một thể hiện từ một tập các thể hiện’
Do các bất thường thì ‘ít và khác’ và chính vì thế chúng dễ dàng bị cô lập hơn Trong một cây cô lập ngẫu nhiên, sự phân chia các thể hiện được lập lại một cách
đệ qui cho đến khi tất cả các thể hiện đều bị cô lập Sự phân chia ngẫu nhiên này sinh ra những đường dẫn ngắn hơn cho các phần tử bất thường bởi vì:
a) Các thể hiện bất thường thì ít hơn nên kết quả là có số các phần phân chia nhỏ hơn (đường dẫn ngắn hơn trên một cấu trúc cây)
b) Các thể hiện với các giá trị thuộc tính quá khác biệt thì có xu hướng được chia sớm hơn Vì lẽ đó, khi một rừng ngẫu nhiên các cây sinh ra những đường dẫn ngắn hơn cho một vài điểm cụ thể, thì chúng có khả năng rất cao là các bất thường
Để chứng minh cho ý tưởng ‘các bất thường thì dễ dàng bị cô lập dưới việc phân chia ngẫu nhiên’, ví dụ đưa ra ở Hình 3.2(a) và 3.2(b) [27] minh hoạ việc phân chia ngẫu nhiên một điểm bình thường và một điểm bất thường Theo quan sát được, một điểm bình thường xi đòi hỏi nhiều phần phân chia hơn để được cô lập Ngược lại điểm bất thường x0 đòi hỏi ít phần phân chia hơn để được cô lập Trong
ví dụ này, những phần phân chia được sinh ra bằng việc lựa chọn ngẫu nhiên một
Hình 3.1: Mối quan hệ giữa E(h(x)) và S(x,n)
[27]
Trang 40thuộc tính và sau đó là lựa chọn ngẫu nhiên một giá trị cắt giữa các giá trị lớn nhất
và nhỏ nhất của thuộc tính được chọn
Ví dụ: Cho tập dữ liệu có tập các thuộc tính [q1,q2,q3,…], giả sử q2 là thuộc
tính được chọn, khi đó giá trị cắt p = random()*(max(q2)-min(q2))+min(q2)
[27]
Do việc phân chia một cách đệ qui có thể được mô tả bởi cấu trúc cây, số lượng của các phần phân chia được đòi hỏi để cô lập một điểm thì tương ứng với độ dài đường dẫn từ nút gốc đến nút kết thúc Trong ví dụ này, độ dài đường dẫn xi thì lớn hơn độ dài đường dẫn x0
Bởi vì mỗi phần phân chia (partition) được sinh ra một cách ngẫu nhiên, các cây riêng biệt được sinh ra với những tập các phần phân chia khác nhau Tính trung bình độ dài đường dẫn trên tất cả các cây để tìm ra độ dài đường dẫn mong muốn
3.2.2 Loại bỏ ảnh hưởng của swamping và masking nhờ mẫu kích thước nhỏ
Do rừng cô lập (iForest) không cần thiết phải cô lập hết tất cả các thể hiện bình thường mà nó chiếm phần lớn trong tập huấn luyện [27] iForest có thể làm việc tốt với mô hình từng phần mà không cần cô lập tất cả các điểm bình thường và xây dựng các mô hình từng phần bằng cách sử dụng mẫu có kích thước nhỏ
Các mô hình đang được sử dụng cho phát hiện bất thường (2.5) đánh giá cao cho kích thước mẫu lớn Trong khi đó, phương pháp cô lập làm việc tốt khi kích thước mẫu nhỏ Bởi vì khi kích thước mẫu lớn sẽ làm giảm khả năng của iForest để
cô lập các bất thường khi mà các thể hiện bình thường có thể can thiệp đến tiến trình cô lập
Swamping: nhận dạng một cách sai lầm khi cho các thể hiện là bình thường
trong khi thực tế nó là bất thường Điều này xảy ra khi các thể hiện bình thường
Hình 3.2(a): Cô lập xi Hình 3.2(b): Cô lập x0