HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA ---NGUYỄN BÁ THU KHẢO SÁT VÀ ĐÁNH GIÁ HIỆU QUẢ CỦA PHƯƠNG PHÁP PHÁT HIỆN CHUỖI CON BẤT THƯỜNG TRÊN DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO MÁY VECTOR HỖ
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-NGUYỄN BÁ THU
KHẢO SÁT VÀ ĐÁNH GIÁ HIỆU QUẢ CỦA
PHƯƠNG PHÁP PHÁT HIỆN CHUỖI CON BẤT THƯỜNG TRÊN DỮ LIỆU CHUỖI THỜI GIAN DỰA
VÀO MÁY VECTOR HỖ TRỢ
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số : 604801
LUẬN VĂN THẠC SĨ
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-NGUYỄN BÁ THU
KHẢO SÁT VÀ ĐÁNH GIÁ HIỆU QUẢ CỦA
PHƯƠNG PHÁP PHÁT HIỆN CHUỖI CON BẤT THƯỜNG TRÊN DỮ LIỆU CHUỖI THỜI GIAN DỰA
VÀO MÁY VECTOR HỖ TRỢ
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số : 604801
LUẬN VĂN THẠC SĨ
Trang 4ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Nguyễn Bá Thu MSHV:12070548 Ngày, tháng, năm sinh:26-1-1985 Nơi sinh: Hà Bắc Chuyên ngành: Khoa Học Máy Tính Mã số : 604801
I TÊN ĐỀ TÀI:
KHẢO SÁT VÀ ĐÁNH GIÁ HIỆU QUẢ CỦA PHƯƠNG PHÁP PHÁT HIỆN CHUỖI CON BẤT THƯỜNG TRÊN DỮ LIỆU CHUỖI THỜI GIAN DỰA VÀO MÁY VECTOR HỖ TRỢ
II NHIỆM VỤ VÀ NỘI DUNG:
Đề xuất phương pháp hiện bất thường trên dữ liệu chuỗi thời gian dựa vào máy vector hỗ trợ
Hiện thực, thử nghiệm trên phương pháp đã đề xuất để đánh giá hiệu quả của phương pháp
III NGÀY GIAO NHIỆM VỤ : 20-01-2014
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 14-7-2014
V CÁN BỘ HƯỚNG DẪN: PGS.TS Dương Tuấn Anh
Trang 5CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM
Cán bộ hướng dẫn khoa học : PGS.TS Dương Tuấn Anh
Cán bộ chấm nhận xét 1 : TS Võ Thị Ngọc Châu
Cán bộ chấm nhận xét 2 : TS Võ Đình Bảy
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 14 tháng 7 năm 2014 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: 1 TS Nguyễn Văn Minh Mẫn
2 TS Lê Thanh Vân
3 PGS.TS Dương Tuấn Anh
4 TS Võ Đình Bảy
5 TS Võ Thị Ngọc Châu
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA…………
TS Nguyễn Văn Minh Mẫn ……….…
Trang 6LỜI CAM ĐOAN
Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác
đã ghi rõ trong luận văn, các công việc trình bày trong luận văn này do chính tôi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc trường khác
Ngày …20/6/2014…
Nguyễn Bá Thu
Trang 7LỜI CẢM ƠN
Để có thể hoàn thành tốt luận văn này, trước tiên tôi xin chân thành gửi lời cảm ơn đến PGS.TS.Dương Tuấn Anh, người Thầy đã luôn tận tâm chỉ bảo và hướng dẫn tôi trong suốt thời gian tôi thực hiện luận văn này
Tôi xin cảm ơn các quý thầy cô, những người đã trực tiếp và gián tiếp chỉ bảo và giảng dạy giúp tôi có những kiến thức cần thiết để thực hiện luận văn này
Tôi cũng xin cảm ơn gia đình và bạn bè đã quan tâm giúp đỡ và tạo điều kiện
để tôi hoàn thành tốt luận văn này
Tôi xin gửi lời cám ơn chân thành đến tất cả mọi người
Trang 8ABSTRACT
Novelty subsequence is the subsequence that is most different with the rest
of the time series It is the forecast of failures in the system and the sign of human disease or the economic downturn
There have been many novelty detection methods are proposed Two most famous methods are Brute-Force algorithm and HOTSAX algorithm Our proposed method uses two-classes support vector machine to detect the novelty in time series
In this method, the time series is unfolded into phase space by a time-delay embedding process The result of this step is a set of feature vectors for time series
Two-classes support vector machine method requires the training set consist
of normal and abnormal vectors Howerver the actual training set has only normal vectors We apply the envelope method to solve this problem This method randomly creates the artificial normal and abnormal vectors from normal vectors in the initial training set These artificial vectors and the initial vectors form the new training set for two-classes support vector machine classifier
Experiments on synthetic dataset (Sinusoid) and the standard dataset (Koski, Memory, ERP, Temperatures) demontrated the advantage and the promissing performance of the proposed method In addition, comparison of new method with HOTSAX also demontrated the effectiveness of two-classes support vector machine method
Trang 9Đã có nhiều phương pháp phát hiện bất thường được đề xuất Tiêu biểu là
Brute-Force và HOTSAX Phương pháp dùng “máy vector hỗ trợ hai lớp” (two
class support vector machine) cũng là một trong những phương pháp dùng phát hiện bất thường trong chuỗi thời gian
Theo phương pháp này dữ liệu chuỗi thời gian sẽ được “khai triển”(unfold) vào trong “không gian pha”(phase space) sử dụng “quá trình nhúng thời gian trễ”
(time-delay embedding process) để tạo thành tập các vector đặc trưng cho chuỗi thời gian
Phương pháp máy vector hỗ trợ hai lớp yêu cầu tập huấn luyện gồm những vector bình thường và vector bất thường Tuy nhiên tập huấn luyện thực tế thường
không có bất thường Để khắc phục vấn đề này phương pháp “vùng bao” (envelope)
được giới thiệu Phương pháp này tạo ra những vector bình thường nhân tạo ngẫu nhiên và vector bất thường nhân tạo ngẫu nhiên từ những vector bình thường Các vector nhân tạo này cùng với vector huấn luyện ban đầu tạo thành tập vector huấn luyện cho máy vector hỗ trợ hai lớp
Dữ liệu dùng quá trình thực nghiệm gồm dữ liệu mô phỏng (dữ liệu hình Sin với bất thường được thêm vào) và dữ liệu chuẩn (Koski, Memory, ERP, Temperature) thường dùng để kiểm tra các phương pháp phát hiện bất thường khác Ngoài ra để đánh giá hiệu quả, phương pháp máy vector hỗ trợ hai lớp sẽ được so sánh với phương pháp HOTSAX
Phương pháp phát hiện bất thường dùng máy vector hỗ trợ đã phát hiện đúng bất thường trong dữ liệu chuỗi thời gian giống như phương pháp tham chiếu là HOTSAX Ngoài ra nó còn phát hiện được tất cả những chuỗi bất thường với chiều dài bất kỳ trong khi đó phương pháp HOTSAX chỉ phát hiện chuỗi bất thường có chiều dài bằng kích thước của cửa sổ trượt Tuy nhiên phương pháp này lại có nhược điểm là thời gian tìm thấy bất thường chậm hơn khi so sánh với HOTSAX Nhưng đây là điều có thể chấp nhận được do đặc tính vốn có của máy vector hỗ trợ
Trang 10MỤC LỤC
LỜI CAM ĐOAN iv
LỜI CẢM ƠN v
ABSTRACT vi
TÓM TẮT LUẬN VĂN vii
MỤC LỤC viii
DANH MỤC CÁC CÔNG THỨC xi
DANH MỤC CHỮ VIẾT TẮT xiii
DANH MỤC HÌNH MINH HỌA xiv
DANH MỤC CÁC BẢNG xvi
Chương 1: MỞ ĐẦU 1
Chương 2: TỔNG THUẬT VỀ CÁC CÔNG TRÌNH LIÊN QUAN 5
2.1 Một số định nghĩa: 5
2.1.1 Dữ liệu chuỗi thời gian 5
2.1.2 Chuỗi con 6
2.1.3 Cửa sổ trượt 6
2.1.4 Trùng khớp 6
2.1.5 Trùng khớp tầm thường 7
2.1.6 Bất thường 7
2.1.7 Phương pháp xấp xỉ gộp từng đoạn 8
2.1.8 Phương pháp xấp xỉ gộp ký hiệu hóa 9
2.2 Giải thuật Brute-Force trong phát hiện chuỗi con bất thường 10
2.3 Giải thuật HOTSAX trong phát hiện chuỗi con bất thường 11
2.4 Phương pháp dùng máy vector hỗ trợ một lớp để phát hiện bất thường 14
2.5 Phương pháp mạng nơron để phát hiện bất thường 15
2.6 Kết luận 17
Chương : CƠ SỞ L THUYẾT VÀ HƯỚNG TIẾP CẬN 19
3.1 Khái quát về máy vector hỗ trợ 19
3.2 Máy vector hỗ trợ hai lớp 20
3.3 Máy vector hỗ trợ với khoảng biên mềm 26
Trang 113.4 Biến đổi dữ liệu chuỗi thời gian để áp dụng máy vector hỗ trợ 27
3.5 Phương pháp “vùng bao” 29
3.5.1 Phương pháp mẫu âm 30
3.5.2 Phương pháp mẫu âm và mẫu dương 30
3.5.3 Áp dụng phương pháp “vùng bao” để tạo tập dữ liệu huấn luyện 31
3.6 Phương pháp 3/4 (phương pháp số đông)dùng để xác định đoạn dữ liệu bất thường 32
3.7 Kết luận 33
Chương 4: HIỆN THỰC VÀ ĐÁNH GIÁ PHƯƠNG PHÁP PHÁT HIỆN BẤT THƯỜNG SỬ DỤNG MÁY VECTOR HỖ TRỢ 34
4.1 Thư viện LIBSVM 34
4.1.1 Dữ liệu đầu vào 34
4.1.1 Lựa chọn mô hình 35
4.1.2 Dự đoán phân loại dữ liệu kiểm tra 36
4.2 Mô hình hiện thực và giải thuật 36
4.2.1 Tìm các tham số của phương pháp vùng bao và tham số của máy vector hỗ trợ 36
4.2.2 Tiền xử lý dữ liệu để tạo dữ liệu huấn luyện và tạo mô hình từ dữ liệu huấn luyện 37
4.2.3 Giải thuật HOTSAX 39
4.2.4 Giải thuật tìm điểm bất thường sử dụng máy vector hỗ trợ hai lớp 40
4.2.5 Giao diện phần mềm và cách sử dụng 41
4.3 Dữ liệu thực nghiệm 43
4.3.1 Cấu hình máy thực nghiệm 43
4.3.2 Các loại dữ liệu thực nghiệm 43
4.4 Kết quả thực nghiệm 44
4.4.1 Dữ liệu điện tâm đồ (Koski) 44
4.4.2 Dữ liệu doanh nghiệp (ERP) 47
4.4.3 Dữ liệu bộ nhớ (Memory) 55
4.4.4 Dữ liệu nhiệt độ (Temperature) 58
4.4.5 Dữ Liệu Hình Sin (Dữ liệu nhân tạo) 66
4.5 Kết luận chương 68
Chương 5: TỔNG KẾT 69
5.1 Tổng kết 69
5.2 Những kết quả đạt được 70
Trang 125.3 Hướng phát triển 71
DANH MỤC CÁC TÀI LIỆU THAM KHẢO 72 PHỤ LỤC : DANH MỤC CÁC THUẬT NGỮ A1
Trang 13DANH MỤC CÁC CÔNG THỨC
(1) Công thức chuỗi biến đổi X i của chuỗi con ban đầu x i trong phương pháp
PAA
(2) Công thức tính giá trị đầu ra của một đơn vị tính toán lớp ẩn trong mạng
nơron phân bố chuẩn
(3) Công thức tính giá trị kết quả của một đơn vị tính toán lớp đầu ra trong mạng
nơron phân bố chuẩn
(4) Tập dữ liệu đầu vào
(5) Phương trình bề mặt quyết định trong không gian F
(6) Bất phương trình các điểm ở trên hoặc bên trên H1
(7) Bất phương trình các điểm ở trên hoặc bên dưới H2
(8) Bất phương của các điểm dữ liệu không nằm giữa H1 và H2
(9) Hàm mục tiêu cực đại hóa Khoảng biên hay tối thiểu hóa 1|| ||2
2 w (10) Bài toán quy hoạch tối ưu hóa bậc 2
(11) Hàm mục tiêu Lagrange
(12) Hàm Lagrange
(13) Hàm Lagrange tương ứng với bài toán đối ngẫu của bài toán quy hoạch tối ưu
hóa bậc 2 (10)
(14) Phương trình đạo hàm riêng phần của hàm Lagrange (13) theo b
(15) Phương trình đạo hàm riêng phần của hàm Lagrange (13) theo w
(16) Hàm Lagrange (13) sau khi thay thế b w, từ (14), (15)
(17) Ràng buộc để cực đại hóa W( )
(18) Phương trình của một Bề mặt quyết định sau khi thay thế w ở (15) vào (5) (19) Hàm mục tiêu cực đại hóa khoảng biên
(20) Hàm kernel tổng quát
(21) Hàm mục tiêu W( ) khi thay thể kernel vào (16)
(22) Cách biểu diễn khác của hàm mục tiêu (22) tương ứng với các điểm dữ liệu
có y i 1
Trang 14(23) Cách biểu diễn khác của hàm mục tiêu (22) tương ứng với các điểm dữ liệu
có y i 1
(24) Công thức tính b
(25) Hàm tính giá trị của y z của điểm dữ liệu kiểm tra
(26) Hàm quyết định sau khi thay w và b
(27) Hàm mục tiêu của phương pháp SVM khi có nhiễu
(28) Bài toán quy hoạch tối ưu hóa bậc 2 khi có nhiễu
(29) Hàm quyết định sau khi thay w và b trong trường hợp có nhiễu
(30) Biểu thức vector x i sau khi khai triển dữ liệu trong không gian pha
(31) Biểu thức tập các vector x i thu được sau khi khai triển dữ liệu trong không
gian pha
(32) Biểu thức vector x ’ i thu được khi chiếu x i trong không gian pha chiếu
(33) Công thức mỗi quan hệ giữa số lượng mẫu bình thường và mẫu bất thường
được sinh ra trong phương pháp vùng bao
Trang 154 Hệ số chiều rộng hàm GAUSS hay g trong LIBSVM
6 C Hệ số đánh đổi giữa số lỗi trong bộ phân loại và cực đại
hóa khoảng biên hay tham số C trong LIBSVM
7 n Số lượng mẫu bình thường nhân tạo được tạo ra tương ứng
với loại dữ liệu kiểm tra
8 w Kích thước cửa sổ trượt hay số ký tự cho một chuỗi con
11 PAA Phương pháp xấp xỉ gộp từng đoạn
12 SV Máy vector hỗ trợ
13 SVC Support vector
14 SVR Phân loại sử dụng máy vector hỗ trợ
15 SVMs Quy hồi sử dụng máy vector hỗ trợ
i
Trang 16DANH MỤC HÌNH MINH HỌA
Hình 2.1 : Dữ liệu chuỗi thời gian biễu diễn giá cổ phiếu 5
Hình 2.2 : Ví dụ về chuỗi con 6
Hình 2.3 : Chuỗi C và M khớp với nhau 6
Hình 2.4 : Ví dụ chuỗi con bất thường 7
Hình 2.5 : Phương pháp biểu diễn PAA với n=128 và N=8 8
Hình 2.6 : Minh họa phép biển đổi xấp xỉ gộp ký hiệu hóa SAX 9
Hình 2.7: Minh họa một ví dụ cụ thể về giải thuật HOTSAX 13
Hình 2.8 : Chuỗi thời gian hỗn loạn sinh ra từ cảm biến laser 15
Hình 2.9 : So sánh về cách phân loại của phương pháp RBFs(trái) và MPLs(phải) 16
Hình 2.10 : Cấu trúc mạng RBF-DDA 17
Hình 3 1: Dữ liệu khả phân tuyến tính (bên trái) 19
Hình 3 2 : Một ví dụ về cách làm việc của Máy vector hỗ trợ 20
Hình 3 3 : Bề mặt quyết định và khoảng biên trong không gian 2 chiều 22
Hình 3 4 : Ví dụ về những điểm chiếu phân bố dọc vector đường chéo đơn vị 28
Hình 3 5 : Hai đường biên được dùng để tạo nên phân cách giữa vùng bình thường và bất thường 30
Hình 3 6 : Ngưỡng p1 và p2 32
Hình 4 1 : Lưu đồ giải thuật tạo ra mô hình cho SVM 38
Hình 4 2 : Lưu đồ giải thuật HOTSAX 39
Hình 4 3 : Lưu đồ giải thuật tìm bất thường bằng SVM 40
Hình 4 4 : Giao diện phần mềm 41
Hình 4 5 : Biểu đồ thời gian tìm mô hình với dữ liệu Koski 44
Hình 4 6 : Biểu đồ thời gian tạo dữ liệu kiểm tra cho SVM với dữ liệu Koski 45
Hình 4 7: Biểu đồ thời gian phát hiện bất thường bằng giải thuật HOTSAX và SVM với dữ liệu Koski 45
Hình 4 8 : Kết quả kiểm tra với dữ liệu Koski bằng giải thuật HOTSAX 46
Hình 4 9 : Kết quả kiểm tra với dữ liệu Koski bằng giải thuật SVM 47
Hình 4 10 : Biểu đồ thời gian tạo mô hình với ERP bộ 1 47
Hình 4 11 : Biểu đồ thời gian tạo dữ liệu kiểm tra cho SVM với ERP bộ 1 48
Hình 4 12 : Biểu đồ thời gian phát hiện bất thường bằng giải thuật HOTSAX với ERP bộ 1 48
Hình 4 13 : Biểu đồ thời gian phát hiện bất thường bằng giải thuật HOTSAX và SVM với ERP bộ 1 49
Hình 4 14 : Kết quả kiểm tra với ERP bộ 1 bằng giải thuật HOTSAX 50
Hình 4 15 : Kết quả kiểm tra với ERP bộ 1 bằng giải thuật SVM 50
Trang 17Hình 4 16 : Biểu đồ thời gian tạo mô hình cho ERP bộ 1 51
Hình 4 17 : Biểu đồ thời gian tạo dữ liệu kiểm tra cho SVM với ERP bộ 2 52
Hình 4 18 : Biểu đồ thời gian phát hiện bất thường bằng giải thuật HOTSAX với ERP bộ 2 52
Hình 4 19 : Biểu đồ thời gian phát hiện bất thường bằng giải thuật HOTSAX và SVM với ERP bộ 2 53
Hình 4 20 : Kết quả kiểm tra với ERP bộ 2 bằng giải thuật HOTSAX 53
Hình 4 21 : Kết quả kiểm tra với ERP bộ 2 bằng giải thuật SVM 54
Hình 4 22 : Biểu đồ thời gian tạo mô hình với dữ liệu Memory 55
Hình 4 23 : Biểu đồ thời gian tạo dữ liệu kiểm tra cho SVM với dữ liệu Memory 55
Hình 4 24 : Biểu đồ thời gian phát hiện bất thường bằng giải thuật HOTSAX với dữ liệu Memory 56
Hình 4 25 : Biểu đồ thời gian phát hiện bất thường bằng giải thuật HOTSAX và SVM với dữ liệu Memory 56
Hình 4 26 : Kết quả kiểm tra với dữ liệu Memory bằng giải thuật HOTSAX 57
Hình 4 27 : Chuỗi dữ liệu Memory 57
Hình 4 28 : Kết quả kiểm tra với dữ liệu Memory bằng giải thuật SVM 58
Hình 4 29 : Biểu đồ thời gian tìm mô hình với dữ liệu nhiệt độ vùng Vardeo 59
Hình 4 30 : Biểu đồ thời gian tạo dữ liệu kiểm tra cho SVM với dữ liệu nhiệt độ vùng Vardeo 59
Hình 4 31 : Biểu đồ thời gian phát hiện bất thường bằng giải thuật HOTSAX và SVM với dữ liệu nhiệt độ vùng Vardeo 60
Hình 4 32 : Kết quả kiểm tra với dữ liệu nhiệt độ vùng Vardeo bằng giải thật HOTSAX 61
Hình 4 33 : Kết quả kiểm tra với dữ liệu nhiệt độ vùng Vardeo bằng giải thật SVM 62
Hình 4 34 : Biểu đồ thời gian tìm mô hình với dữ liệu nhiệt độ vùng Vaernes 63
Hình 4 35 : Biểu đồ thời gian tạo dữ liệu kiểm tra cho SVM với dữ liệu nhiệt độ vùng Vaernes 63
Hình 4 36 : Biểu đồ thời gian phát hiện bất thường bằng giải thuật HOTSAX và SVM với dữ liệu nhiệt độ vùng Vaernes 64
Hình 4 37 : Kết quả kiểm tra dữ liệu nhiệt độ vùng Vaernes giải thuật HOTSAX 65
Hình 4 38 : Kết quả kiểm tra với dữ liệu nhiệt độ vùng Trondheim/Vaernes với giải thuật SVM 65
Hình 4 39 : Kết quả kiểm tra với dữ liệu hình sin với giải thuật SVM 66
Hình 4 40 : Chuỗi dữ liệu hình sin kiểm tra 67
Hình 4 41 : Kết quả kiểm tra với dữ liệu hình sin với giải thuật OC SVM 67
Trang 18DANH MỤC CÁC BẢNG
Bảng 2.1 : Giải thuật Brute-Force trong phát hiện bất thường 10
Bảng 2.2 : Giải thuật HOTSAX 12
Bảng 4 1 : Thông số thiết lập mặc định của chương trình 37
Bảng 4 2: Chức năng của cách thành phần giao diện khởi động của chương trình 42
Trang 19Chương 1: MỞ ĐẦU
Ngày nay cùng với sự gia tăng của “dữ liệu” (data) sinh ra theo thời gian từ cảm biến và các thiết bị đo thì việc chẩn đoán và phát hiện những “bất thường” (novelty) trong “dữ liệu chuỗi thời gian” (time series data) để cảnh báo lỗi có thể xảy ra ngày càng
dành được nhiều sự quan tâm nghiên cứu Trong lĩnh vực y tế, việc phát hiện những bất thường trong chuỗi tín hiệu thu được từ các máy đo điện tâm đồ hay điện não đồ để phát hiện những triệu chứng bệnh và thực hiện những biện pháp chữa trị thích hợp sẽ giúp cứu sống nhiều bệnh nhân Bên cạnh đó trong lĩnh vực tài chính, chứng khoán, ngân hàng việc phát hiện những dấu hiệu của suy thoái sẽ giúp tổ chức đưa ra những biện pháp xử lý hợp lý đảm bảo sự ổn định và phát triển của tổ chức
Từ những yêu cầu cấp thiết trên đã nảy sinh ra vấn đề “Phát hiện bất thường trong
dữ liệu chuỗi thời gian” Được phát biểu là tự động xác định những sự kiện bất thường xuất hiện trong chuỗi những điểm bình thường trên dữ liệu chuỗi thời gian Đây là một vấn đề mang đầy thách thức vì kiến thức không đủ và không chính xác về thể hiện của bất thường trong hệ thống đã đề cập
Dù có những thách thức về kỹ thuật, nhưng vấn đề phát hiện bất thường đã nhận được rất nhiều sự quan tâm trong thời gian qua vì tầm quan trọng và ý nghĩa của nó Nhiều giải pháp đã được đề xuất để giải quyết vấn đề trên Những giải pháp này đã được hiện thực hóa và chứng minh tính hiệu quả của nó trong một số trường hợp nhưng lại không hiệu quả thậm chí không áp dụng được trong một số trường hợp khác do những giả định và tiến trình mà dựa trên đó giải pháp này được hiện thực
Ta có thể kể đến như “Giải pháp phát hiện bất thường bằng mô hình mạng neural” [17] được đề xuất bởi R.Kozma, M.Kitamura và Y Yokayama năm 1994 hay “Phát hiện bất thường dựa trên mô hình hóa và tối ưu hóa mô hình” [16] được đề xuất bởi Rolf Isermamn năm 1984 Những giải phát này dựa trên giả định là đã có kiến thức hay mô hình lý thuyết chính xác của bất thường mà không phải lúc nào cũng có trong thực tế Hay như phương pháp TARZAN [9] thì dựa trên việc chuyển dữ liệu chuỗi thời gian thành chuỗi các ký tự Tuy nhiên quá trình chuyển đổi này có thể làm mất đi những mẫu
có ý nghĩa trong dữ liệu chuỗi thời gian gốc
Ngoài ra còn có một số phương pháp khác như “Máy vector hỗ trợ (Support vector machine SVMs) để pháp hiện bất thường”[3] do B Sch o lkopf, R.C Williamson, A.J
Trang 20Smola và J Shawe-Taylor, J.Platt đề xuất năm 2000 và “Lập trình tuyến tính để phát hiện bất thường”[5] của C Campbell, K P.Bennett năm 2001 Trong các phương pháp này, sự
kiện bất thường được thể hiện như những “đoạn ngoại biên” (outliers) của hàm phân bố
chuẩn Cách tiếp cận này có nền tảng lý thuyết chắc chắn và được định nghĩa rõ ràng Tuy nhiên phương pháp này chỉ áp dụng cho vector mà không ứng dụng trực tiếp cho dữ liệu chuỗi thời gian
Tiếp theo hướng phát hiện của B Scho lkopf trong bài báo của mình “Phát hiện
bất thường trong dữ liệu chuỗi thời gian sử dụng Máy vector hỗ trợ một lớp” [11] năm
2003 J Ma và S Perkins đã đề xuất giải pháp để ứng dụng SVMs trong việc phát hiện bất thường trong dữ liệu chuỗi thời gian Tuy nhiên nghiên cứu của Ma và các cộng sự tồn tại một số bất cập:
Chỉ đưa ra giải pháp và thực hiện một số thực nghiệm trên dữ liệu tổng hợp
là dữ liệu hình sin với bất thường tự thêm vào mà không phải những bộ dữ liệu chuẩn thực tế
Không so sánh giải pháp được đưa ra với các phương pháp hiện có để chứng minh ưu và nhược điểm của giải pháp đề xuất
Để phân loại dữ liệu kiểm tra ông dùng tích các kết quả khi áp dụng giải thuật với các số chiều khác nhau cho vector dữ liệu Trong thực tế chiều dài của chuỗi bất thường là cố định ứng với mỗi loại dữ liệu nên phương pháp của ông là không hợp lý trong thực tế
Việc ứng dụng thư viện LIBSVM[22] để tạo mô hình và phát hiện bất thường
sử dụng máy vector hỗ trợ một lớp là không khả thi với dữ liệu thực Vì mô hình được tạo ra với chỉ các mẫu bình thường thường không chính xác và không phân loại được bất thường trong dữ liệu kiểm tra
Trong luận văn này chúng tôi sẽ tiếp tục phát triển ý tưởng mà J.Ma và các cộng sự
đã đưa ra là dùng máy vector hỗ trợ để phát hiện bất thường Tuy nhiên để đánh giá và tăng hiệu quả của phương pháp phát hiện bất thường dùng máy vector hỗ trợ Chúng tôi thực hiện một số cải tiến sau:
Sử dụng máy vector hỗ trợ hai lớp thay vì máy vector hỗ trợ một lớp để gia tăng độ chính xác khi phát hiện bất thường
Để khắc phụ tình trạng thiếu những mẫu bất thường trong dữ liệu huấn luyện
và để tăng độ chính xác của giải thuật chúng tôi áp dụng phương pháp “vùng
Trang 21bao” (envelope) [1] để tạo ra những mẫu bất thường nhân tạo ngẫu nhiên và
mẫu bình thường nhân tạo ngẫu nhiên từ mẫu bình thường
Giải pháp đưa ra sẽ được kiểm tra trên các tập dữ liệu kiểm tra chuẩn và tập
về thời gian thực thi cũng được thực hiện nhưng chỉ mang tính chất tham khảo do phương pháp phát hiện bất thường dùng máy vector hỗ trợ thường chậm hơn đo tính chất vốn có của SVMs
Chúng tôi cũng thiết kế phần mềm để hiển thị kết quả phát hiện bất thường trên chuỗi dữ liệu thời gian
Qua thực nghiệm trên dữ liệu mô phỏng (dữ liệu hình sin) và dự liệu thực tế (Koski, ERP, Memory, Temperature), phương pháp dùng máy vector hỗ trợ hai lớp (two class SVMs) đã thể hiện được ưu điểm trong việc phát hiện được tất cả những đoạn bất thường với các chiều dài khác nhau khi so sánh với giải thuật HOTSAX chỉ phát hiện được 1 chuỗi con bất thường với chiều dài bằng kích thước cửa sổ trượt Quá trình thực nghiệm cũng cho thấy nhược điểm về thời gian thực thi của phương pháp được đề xuất Do việc khai triển dữ liệu lên không gian pha chiếu với số chiều lớn (320 với dữ liệu ERP và memory, 400 với dữ liệu Koski) làm cho bộ phân loại tốn quá nhiều thời gian cho việc tính toán tích vô hướng các vector Phương pháp máy vector hỗ trợ kém hiệu quả với những dữ liệu có nhiều motif bình thường và dữ liệu phức tạp Việc bộ phân loại cần được huấn luyện với các mẫu bình thường trước dẫn đến việc phân loại sai những mẫu bình thường mới
Cũng như các phương pháp khác, phương pháp sử dụng Máy vector hỗ trợ không thể giải quyết mọi vấn đề, nhưng ít nhất nó cũng có thể giải quyết những vấn đề mà các phương pháp khác không giải quyết được hay giải quyết được như với độ chính xác thấp
Phần còn lại của luận văn được tổ chức như sau Chương 2 liệt một số khái niệm
cơ bản được dùng trong luận văn và giới thiệu sơ lược một số phương pháp phát hiện bất thường được dùng hiện nay Chương 3 đi sâu vào phân tích nền tảng lý thuyết của phương pháp máy vector hỗ trợ hai lớp Phương pháp “vùng bao” để tạo mẫu bình
Trang 22thường nhân tạo ngẫu nhiên và bất thường nhân tạo ngẫu nhiên cũng được giới thiệu Chương 4 trình bày kết quả thực nghiệm của phương pháp được đề xuất với cái loại dữ liệu khác nhau và với các chiều dài chuỗi con khác nhau, cung cấp một cái nhìn sơ lược
về phần mềm được thiết kế trong luận văn và phương pháp sử dụng Kết quả thực nghiệm cũng được so sánh với giải thuật HOTSAX dựa trên hai thước đo về tính chính xác và thời gian thực hiện Và chương 5 sẽ tổng kết những gì đã thực hiện trong luận văn, kết quả và hướng phát triển
Trang 23Chương 2: TỔNG THUẬT VỀ CÁC CÔNG TRÌNH LIÊN QUAN
Chương này nhắc lại một số khái niệm cơ bản được sử dụng trong phát hiện bất thường, sau đó giới thiệu một số công trình tiêu biểu về phát hiện bất thường có liên quan đến luận văn này
2.1.1 Dữ liệu chuỗi thời gian
Dữ liệu chuỗi thời gian (time series data) là những tập hợp dữ liệu được thu thập, lưu trữ, quan sát và đo đạc theo sự tăng dần của thời gian Ví dụ như là các chuỗi dữ liệu thời gian trong lĩnh vực tài chính dự báo số lượng hàng hóa bán được theo từng quý các chuỗi dữ liệu thời gian dùng trong khoa học dự báo sự gia tăng của công nghệ xử lý tốc
độ của CP và Memmory Hình 2.1 là chuỗi dữ liệu về giá cổ phiếu qua các năm
Hình 2.0-1 : Dữ liệu chuỗi thời gian biễu diễn giá cổ phiếu
Ta ký kiệu chuỗi thời gian là {X t } với t là các số tự nhiên tương ứng với các mốc
thời gian mà ta quan sát, đo đạc được hay c n gọi là độ trễ X t là các biến ngẫu nhiên rút
ra từ một phân bố xác suất tùy theo nhu cầu của người muốn phân tích trên dữ liệu chuỗi thời gian này
Trang 242.1.2 Chuỗi con
Cho một dữ liệu chuỗi thời gian T có chiều dài là n, một chuỗi con (subsequence)[8]
với 1 ≤ p ≤ n – m + 1 Hình 2.2 là ví dụ cho chuỗi con có chiều dài w được trích ra từ
chuỗi dữ liệu ban đầu
Hình 2.0-2 : Ví dụ về chuỗi con
Cho một dữ liệu chuỗi thời gian T có chiều dài n, một cửa sổ trượt (slide window)[8] có kích thước w do người dùng định nghĩa (thường w << n) sẽ trượt qua từng điểm giá trị trên chuỗi T, kết quả là ta được một danh sách n-w+1 các chuỗi con có kích thước w được rút trích từ chuỗi T
Trùng khớp (match)[8] được định nghĩa như sau Cho một số thực R (thường do người dùng định nghĩa) và một dữ liệu chuỗi thời gian T chứa một chuỗi con C bắt đầu tại vị trí p và một chuỗi con M bắt đầu tại vị trí q, nếu hàm tính khoảng cách từ C đến M
ký hiệu D(C,M) ≤ R thì ta nói là chuỗi con M khớp được với chuỗi con C
Hai chuỗi con M và C trong hình 2.3 được gọi là trùng khớp với nhau
Hình 2.0-3 : Chuỗi C và M khớp với nhau
Trang 252.1.5 Trùng khớp tầm thường
Cho chuỗi thời gian T chứa một chuỗi con C có chiều dài n bắt đầu tại vị trí p và khớp với chuỗi con M bắt đầu tại vị trí q , ta có thể nói M là một “trùng khớp không tự thân” (Non-Trivial Match)[8] tại khoảng cách của Dist M C( , ) nếu |p q| n
cách khác chuỗi con C là chuỗi con khác biệt nhất trong T.[8] Trong hình 2.4 ta thấy
chuỗi thời gian được đánh dấu biệt hoàn toàn với phần còn lại của chuỗi dữ liệu
Hình 2.0-4 : Ví dụ chuỗi con bất thường
Bất thường trong chuỗi dữ liệu thời gian có hai thuộc tính quan trọng là :
Bất thường không nhất thiết được tìm thấy trong không gian thưa Một số giải thuật phát hiện bất thường [16][12] chiếu chuỗi dữ liệu thời gian vào trong không gian có số chiều cao hơn, sau đó sử dụng những phương pháp phát hiện chuỗi lạ thường hiện có để tìm bất thường Tính chất này của bất thường sẽ làm những giải thuật này bị sai
Kết quả bất thường là không thể kết hợp với nhau Một số “mô thức chung” (generics paradigm) cho vấn đề bất thường phụ thuộc vào khả năng chia một vấn đề thành các vấn đề nhỏ Các vấn đề nhỏ này có thể giải quyết và sau đó
Trang 26tổng hợp lại với nhau để tạo ra vấn đề ban đầu Những phương pháp này sẽ không phù hợp để giải quyết bài toán tìm bất thường trong một số trường hợp
Phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA),
do Keogh và các cộng sự đề xuất năm 2003 [13], tuần tự xấp xỉ k giá trị liền kề nhau thành một giá trị, là giá trị trung bình cộng của k giá trị đó Quá trính bắt đầu từ đầu chuỗi
thời gian đến cuối chuỗi Kết quả biến đổi là đường thẳng có dạng bậc thang (Hình 2.5)
Ví dụ cho chuỗi x j (j = 1,…,n), chuỗi biến đổi X i (i = 1,…,N) (N là số chiều thu
giảm) được tính theo công thức sau:
( 1) 1
n j N
n
j i N
N
n
Hình 2.0-5 : Phương pháp biểu diễn PAA với n=128 và N=8
Hỗ trợ các phương pháp tính khoảng cách như: khoảng cách Euclid, DTW, Minkowski
Ưu điểm:
Thời gian tính toán nhanh và dễ dàng
Hỗ trợ câu truy vấn có chiều dài khác nhau
Hàm khoảng cách được đề nghị có giá trị chặn dưới chặt so với dữ liệu gốc
Nhược điểm:
Trang 27 Xây dựng lại chuỗi ban đầu khó và thường sinh lỗi lớn, trong khi các phương pháp trên có công thức để tái tạo lại chuỗi ban đầu với tỉ lệ lỗi nhỏ
Không quan tâm đến những điểm đặc biệt khác như điểm giá trị nhỏ nhất, lớn nhất của mỗi đoạn xấp xỉ
Phương pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation - SAX), do Lin và các cộng sự đề xuất năm 2003[13] được xây dựng dựa trên phương pháp thu giảm số chiều PAA và giả sử dữ liệu thu giảm số chiều đã được chuẩn hóa theo trung bình zero và độ lệch chuẩn 1
Dữ liệu ban đầu được rời rạc hóa bằng phương pháp PAA, mỗi đoạn xấp xỉ trong chuỗi PAA sẽ được ánh xạ với một ký tự tương ứng dựa trên phân bố chuẩn (GAUSS)
(Hình 2.6) Sau đó, ánh xạ từng đoạn này thành các ký tự rời rạc Vì không gian thu giảm
là không gian các ký tự, nên không thể sử dụng các hàm tính khoảng cách nhận đối số là các giá trị thực mà cần có cơ chế ánh xạ sự khác biệt giữa 2 ký tự thành giá trị số
Hình 2.0-6 : Minh họa phép biển đổi xấp xỉ gộp ký hiệu hóa SAX.
Phương pháp SAX sử dụng hàm tính khoảng cách MINDIST[13] trên không gian thu giảm, thỏa điều kiện chặn dưới Phương pháp lập chỉ mục được sử dụng là phương pháp tập tin xấp xỉ hóa vector (vector approximation file), ngoài ra có thể sử dụng R-tree
và các kỹ thuật lập chỉ mục cho chuỗi ký tự cổ điển như cây hậu tố (suffix tree)
Ưu điểm:
Vì không gian được thu giảm là các ký tự và rời rạc nên có thể tận dụng được các giải thuật và cấu trúc dữ liệu xử lý trên dữ liệu chuỗi, dữ liệu rời rạc như kỹ thuật băm, mô hình Markov, cây hậu tố
Trang 28 Định nghĩa được hàm tính khoảng cách trên không gian thu giảm thỏa mãn chặn dưới, điều mà nhiều phương pháp rời rạc hóa khác không có được
Bảng ánh xạ khoảng cách giữa 2 ký tự được tính toán trước một lần cho mỗi loại dữ liệu, sau đó tính toán khoảng cách rất nhanh thông qua bảng này
Nhược điểm:
Việc ánh xạ các giá trị thực thành các ký tự phụ thuộc từng loại dữ liệu cụ thể
Do đó, ta phải huấn luyện dữ liệu để tìm ra cách ánh xạ tốt nhất đối với mỗi loại dữ liệu
Không quan tâm đến các điểm đặc biệt như điểm giá trị nhỏ nhất và lớn nhất của mỗi đoạn, giống như phương pháp PAA
1 Function [ dist,loc ] = Brute_Force(T,n)
14 If nearest_neighbor_dist > best_so_far_dist
15 best_so_far_dist = nearest_neighbor_dist
16 best_so_far_loc = p
17 End
19 Return [best_so_far_dist ,best_so_far_loc]
Bảng 2.1 : Giải thuật Brute-Force trong phát hiện bất thường
Trang 29Giải thuật phát hiện bất thường “chân phương” (Brute-Force)[8] là một giải thuật
đơn giản và trực quan Giải thuật so sánh một chuỗi con với tất cả những chuỗi con khác trong tập dữ liệu để tìm láng giềng gần nhất của nó, và không Trùng khớp tầm thường do
đó độ phức tạp tính toán cũng là O(m 2
) với m là số chuỗi con trong tập dữ liệu
Đặc điểm 1 : Ở vòng lặp ngoài của đoạn mã giả trong bảng 2.1 nếu như tại một lần
lặp, chuỗi con bất thường thực sự đã được xét thì giá trị best_so_far_dist sẽ được gán với
giá trị cực đại, những lần lặp sau đó sẽ không mang lại kết quả mới
Đặc điểm 2 : Ở vòng lặp trong, nếu như tại một lần lặp mà ta có khoảng cách dist
nhỏ hơn best_so_far_dist thì ta có thể thoát khỏi vòng lặp này ngay vì chắc chắn là điều
kiện ở dòng 14 sẽ luôn luôn sai
Từ đặc điểm 1 và đặc điểm 2 của giải thuật Brute-Force, E Keogh cùng các cộng sự
đề xuất giải thuật HOTSAX [8] cải tiến từ giải thuật Brute-Force bằng cách áp dụng hai
heuristic cho vòng lặp ngoài và vòng lặp trong
Nhận xét:
Với dữ liệu có kích thước lớn, số chuỗi con tăng thì giải thuật Brute-Force là không khả thi, thời gian thực thi sẽ rất lớn
Tuy nhiên Brute-Force là giải thuật nền cho nhiều giải thuật cải tiến với một số
heuristic giúp cho độ phức tạp giảm đi đáng kể tiêu biểu là giải thuật
HOTSAX
Bất thường tìm thấy là bất thường chính xác
Giải thật HOTSAX (bảng 2.2) cải tiến từ giải thuật Brute-Force bằng cách áp dụng
hai heuristic cho vòng lặp ngoài và vòng lặp trong với mong muốn là:
Ở vòng lặp ngoài những chuỗi con có khả năng là bất thường thực sự cao sẽ được ưu tiên xem xét trước
Ở vòng lặp trong những chuỗi con là láng giềng gần nhất của của chuỗi đang xét ở vòng lặp ngoài sẽ được ưu tiên xem xét trước
Điều này giúp cho giá trị best_so_far_dist đạt giá trị lớn ngay từ những lần lặp đầu,
giúp tăng khả năng cho phép kết thúc sớm vòng lặp trong
Trang 301 Function [ dist,loc ] = Heuristic_Search( T, n, Outer, Inner)
17 If nearest_neighbor_dist > best_so_far_dist
18 best_so_far_dist = nearest_neighbor_dist
19 best_so_far_loc = p
20 End
22 Return [best_so_far_dist ,best_so_far_loc]
Bảng 2.2 : Giải thuật HOTSAX
Heuristic cho vòng lặp ngoài: các chuỗi con ít xuất hiện nhất trong tập dữ liệu được xem xét trước
Heuristic cho vòng lặp trong: các chuỗi con là láng giềng gần nhất với chuỗi con đang xét ở vòng lặp ngoài sẽ được xét trước ở vòng lặp trong
Để hiện thực hai heuristic này giải thuật HOTSAX cần sự hỗ trợ của hai cấu trúc dữ
liệu: một cấu trúc mảng và một cấu trúc dạng cây Trie (hình 2.7)
Trang 31Hình 2.0-7: Minh họa một ví dụ cụ thể về giải thuật HOTSAX
Các bước thực hiện của Giải thuật HOTSAX:
Các chuỗi con từ cấu trúc mảng sẽ được duyệt tuần tự để cập nhật cấu trúc Trie
Duyệt qua các nút lá của Trie để cập nhật lại cấu trúc mảng số lần xuất hiện của từng chuỗi con
Trang 322.4 Phương pháp dùng máy vector hỗ trợ một lớp để phát hiện bất thường
Phương pháp “máy vector hỗ trợ một lớp”(one-class support vector machine)[3]
được đề xuất bởi Ma và Perkins để phát hiện bất thường cho chuỗi thời gian mà dữ liệu huấn luyện chỉ có một lớp gọi là lớp bình thường Ý tưởng của phương pháp này là xây dựng một bề mặt phân chia (hyperplane) ( )f z trong không gian thuộc tính với số chiều
cao hơn số chiều của chuỗi dữ liệu thời gian ban đầu Một mẫu z được xem là bất thường
nếu ( )f z 0
Để phát hiện bất thường trong dữ liệu chuỗi thời gian sử dụng máy vector hỗ trợ, chuỗi thời gian trước hết được biến đổi thành tập các vector Một trong những phương
pháp để làm việc này là “khai triển” (unfold) [11] chuỗi thời gian vào trong “không gian
pha” (phase space) [11] Khi chuỗi thời gian gồm những thành phần với tần số xuất hiện
ít, phương pháp khai triển vào “không gian pha chiếu” (projected phase space)[11] sẽ
là “chuỗi thời gian hỗn loạn” (chaotic time series)[2] được sinh ra từ cảm biến laser NH3
xem hình 2.8 Chuỗi thời gian này được chiếu trong không gian pha và máy vector hỗ trợ
một lớp cũng phát hiện đúng điểm bất thường
Phương pháp này sẽ được trình bày rõ hơn trong phần 3.3
Nhận xét:
Phương pháp máy vector hỗ trợ một lớp dễ bị thiên vị (bias) do dữ liệu huấn
luyện chỉ gồm mẫu bình thường Việc xác định tham số v để xác định biên giữa
mẫu bình thường và bất thường là rất khó khăn do không có thông tin về mẫu bất thường
Kết quả phát hiện bất thường phụ thuộc hoàn toàn vào kết quả đầu ra từ thư viện LIBSVM [22] trong khi thư viện này chưa hỗ trợ tốt cho máy vector hỗ trợ một lớp
Trang 33 Phương pháp này yêu cầu máy vector hỗ trợ một lớp phải được huấn luyện với tất cả các loại chuỗi dữ liệu con bình thường Nên chỉ áp dụng với chuỗi thời gian với motif ít thay đổi
Hình 2.0-8 : Chuỗi thời gian hỗn loạn sinh ra từ cảm biến laser
Có nhiều phương pháp pháp hiện bất thường dựa trên giải thuật phân lớp sử dụng mạng nơron Mỗi phương pháp sử dụng một cấu trúc mạng nơron khác nhau với những
phương pháp khác nhau Tiêu biểu là “mạng perception đa mức” (multilayer perceptrons MPLs)[20][4] hay mạng nơron sử dụng “hàm cơ sở xuyên tâm” (radial basis function
networks RBFNs)[18] So sánh về cách thức phân loại của hai phương pháp này được
thể hiện trong hình 2.9
Trang 34Hình 2.0-9 : So sánh về cách phân loại của phương pháp RBFs(trái) và
MPLs(phải)
Mạng nơron RBF là mạng nơron feedforward có “một lớp ẩn” (hidden layer)[18]
Không có trọng số cho liên kết giữa lớp đầu vào và lớp ẩn Hàm tính toán của lớp ẩn là hàm RBF(radial basis function) thay vì hàm sigmoidal trong MPLs Khi đó đầu ra của mỗi đơn vị tính toán ở lớp ẩn là:
2 2
1
m
i i i
Trang 35Có nhiều giải thuật được sử dụng để huấn luyện mạng nơron tiểu biểu là “điều chỉnh
phân rã động” (dynamic decay adjustment DDA)[14] [20] Giải thuật này giúp cho việc
huấn luyện mạng nơron RBF nhanh, ngoài ra nó còn có thể được thực hiện ở mức phần cứng
Mạng nơron RBF được huấn luyện bằng giải thuật điều chỉnh phân rã động thì gọi
là RBF-DDA Hình 2.10 là một ví dụ về cấu trúc của mạng này
Trang 36công trình nghiên cứu giải thuật mới để phát hiện bất thường Trong luận văn này chúng tôi đưa ra một phương pháp phát hiện bất thường dựa trên máy vector hỗ trợ Đó là phương pháp phát hiện bất thường trong dữ liệu chuỗi thời gian sử dụng máy vector hỗ trợ hai lớp Phần tiếp theo sẽ trình bày cơ sở lý thuyết và hướng tiếp cận của phương
pháp này
Trang 37Chương : CƠ SỞ L THUYẾT VÀ HƯỚNG TIẾP CẬN
Chương này sẽ chi tiết về cơ sở toán học của phương pháp phát hiện bất thường
bằng máy vector hỗ trợ hai lớp trong phần 3.1 và 3.2 Phần 3.3 và 3.4 giới thiệu phương
pháp xử lý nhiễu trong SVMs và cách biến đổi chuỗi dữ liệu thời gian để áp dụng vào
SVMs Phương pháp “vùng bao” (envelope)[1] để tạo mẫu bình thường và bất thường
ngẫu nhiên nhân tạo cũng được trình bày trong phần 3.5 Và cuối cùng là kết luận về
phương pháp máy vector hỗ trợ hai lớp
Máy vector hỗ trợ là một phương pháp mới dùng để phân loại của dữ liệu khả phân
tuyến tính và dữ liệu không khả phân tuyến tính [12] Hình 3.1 là một ví dụ về dữ liệu
hai chiều khả phân tuyến tính và khả phân không tuyến tính Dữ liệu khả phân tuyến tính
có thể được phân ra hai phần dùng một đường thẳng trong khi đó dữ liệu phi tuyến tính cần dùng một đường cong
Hình 3 1: Dữ liệu khả phân tuyến tính (bên trái)
và không khả phân tuyến tính (bên phải)
SVMs là một giải thuật làm việc như sau:
Nó sử dụng một phương pháp chiếu phi tuyến để chuyển dữ liệu huấn luyện
trong không gian đầu vào ban đầu I vào một không gian chiếu với số chiều cao
hơn
Trang 38 Trong không gian mới này giải thuật tìm “bề mặt quyết định” (hyperplane) tối
ưu hóa việc phân chia
Với một phương pháp chiếu phi tuyến từ không gian ban đầu I vào không gian chiếu F với số chiều cao hơn dữ liệu ban đầu Khi đó một tập dữ liệu không khả phân tuyến tính ban đầu có thể khả phân tuyến tính trong không gian F như hình 3.2
SVMs tìm bề mặt quyết định tuyến tính này sử dụng “vector hỗ trợ” (support
vector SV) và “khoảng biên” (margin)
Vector hỗ trợ là những điểm dữ liệu nằm trong bề mặt quyết định Những điểm này
là điểm dữ liệu khó phân loại nhất và những bộ này cũng cho nhiều thông tin nhất về sự phân loại
Khoảng cách giữa hai bề mặt quyết định tạo nên khoảng biên của chúng Ta gọi là
khoảng cách giữa hai bề mặt quyết định
Mục tiêu của SVMs là tìm hai bề mặt quyết định mà cực đại hóa khoảng cách này
Hình 3 2 : Một ví dụ về cách làm việc của Máy vector hỗ trợ
Khái niệm cơ bản về máy vector hỗ trợ hai lớp [7][11] sẽ được nêu ra trong phần này
Xét dữ liệu huấn luyện D là một tập của n điểm dữ liệu có dạng
Trang 391 {( ,i i) | i E, i { 1, 1}}n i
D x y x I R y (4) Trong đó:
y i có giá trị +1 hoặc -1 xác định lớp tương ứng với mẫu huấn luyện x i
x ilà một điểm dữ liệu trong không gian đầu vào I (Input space)
1 2
[ , , , ]
x v v v
v i là chiều thứ i của điểm điểm dữ liệu x i
E là số chiều của không gian đầu vào
Một đặc tính rất hay của SVMs là nó có thể tạo ra một “biên quyết định phi tuyến”
(Non-linear decision boundary ) bằng cách chiếu những điểm dữ liệu x i trong không gian ban đầu I qua một hàm phi tuyến vào trong không gian với số chiều lớn hơn thậm chí
là vô hạn Không gian mới được gọi là “không gian đặc trưng” F(Feature space) Điều này có nghĩa là những điểm dữ liệu x i không khả phân tuyến tính trên không gian I có
thể khả phân tuyến tính trong không gian F bởi một bề mặt quyết định tuyến tính Bề mặt
quyết định tuyến tính này sau đó được chiếu ngược lại không gian I sẽ tạo thành biên quyết định phi tuyến
Ta gọi ( ( ), x i y i) là những điểm chiếu của ( ,x y i i) trong không gian đặc trưng F Bất
kỳ bề mặt phân chia tuyến tính trong không gian F có thể viết dưới dạng
Trang 40Hình 3 3 : Bề mặt quyết định và khoảng biên trong không gian 2 chiều
Thông số
b
w xác định “độ dịch” (offset) của bề mặt quyết định từ điểm gốc tọa
độ thuộc vector chuẩn Trong đó 2 2 2
( ( ) ) 1,