Bài toán phát hiện dữ liệu ngoại laitrong số nhiều kỹ thuật cực kỳ phổ biến được sử dụng trong bài toán phân loại, sẽđược trình bày kĩ ở Mục [2] 1.1.2 Mục tiêu chính và cấu trúc của luận
Trang 1ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
——————– * ———————
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
PHÁT HIỆN DỮ LIỆU NGOẠI LAI BẰNG MÔ
HÌNH SVM MỘT LỚP
Hội đồng : KHMT 9 Giảng viên hướng dẫn : TS Lê Hồng Trang
Giảng viên phản biện : TS Võ Thị Ngọc Châu
Sinh viên thực hiện : Bùi Thanh Thắng (1713215)
Nguyễn Quang Vương (1714037)
TP Hồ Chí Minh, Tháng 08/2021
Trang 2ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
- Độc lập - Tự do - Hạnh phúc
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA: KH & KT Máy tính _ NHIỆM VỤ LUẬN ÁN TỐT NGHIỆP
BỘ MÔN: HTTT Chú ý: Sinh viên phải dán tờ này vào trang nhất của bản thuyết trình
HỌ VÀ TÊN: Bùi Thanh Thắng MSSV: 1713215
HỌ VÀ TÊN: Nguyễn Quang Vương MSSV: 1714037
HỌ VÀ TÊN: _ MSSV: _ NGÀNH: Khoa học máy tính _ LỚP:
1 Đầu đề luận án:
Phát hiện dữ liệu ngoại lai bằng mô hình SVM một lớp
_
2 Nhiệm vụ (yêu cầu về nội dung và số liệu ban đầu):
- Tổng quan về bài toán phân lớp một lớp và và ứng dụng trong phát hiện bất thường _
- Tiếp cận SVM, các biến thể của nó cho bài toán phân lớp một lớp _
- Cải thiện mô hình với bài toán xử lý dữ liệu nhiều chiều, sử dụng mô hình Autoencoder _
- Hiện thực, thực nghiệm và đánh giá các kết quả _
- Phát triển một ứng dụng phát hiện ngoại lai _
3 Ngày giao nhiệm vụ luận án: 01/03/2021
4 Ngày hoàn thành nhiệm vụ: 28/06/2021
5 Họ tên giảng viên hướng dẫn: TS Lê Hồng Trang Phần hướng dẫn: Toàn bộ
1) 2) 3)
Nội dung và yêu cầu LVTN đã được thông qua Bộ môn
Ngày 15 tháng 08 năm 2021
PGS TS Trần Minh Quang TS Lê Hồng Trang
PHẦN DÀNH CHO KHOA, BỘ MÔN:
Người duyệt (chấm sơ bộ):
Đơn vị: _
Ngày bảo vệ: _
Điểm tổng kết: _
Trang 3TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA KH & KT MÁY TÍNH Độc lập - Tự do - Hạnh phúc
-
Ngày tháng 08 năm 2021
PHIẾU CHẤM BẢO VỆ LVTN
(Dành cho người hướng dẫn/phản biện)
1 Họ và tên SV: Bùi Thanh Thắng và Nguyễn Quang Vương
MSSV: 1713215 và 1714037 Ngành (chuyên ngành): KHMT
2 Đề tài: Phát hiện dữ liệu ngoại lai bằng bằng mô hình SVM một lớp
3 Họ tên người hướng dẫn: Lê Hồng Trang
4 Tổng quát về bản thuyết minh:
- Số bản vẽ vẽ tay Số bản vẽ trên máy tính:
6 Những ưu điểm chính của LVTN:
-! Luận văn nghiên cứu bài toán phát hiện ngoại lai sử dụng mô hình SVM một lớp Nhóm đã tìm hiểu về mô hình SVM, tập trung cho các biến thể phân lớp một lớp SVDD và OCSVM -! Nghiên cứu mô hình cải tiến khó khăn của SVM khi làm việc với dữ liệu nhiều chiều bằng việc đề xuất kết hợp với một mô hình mã hoá tự động sâu (deep autoencoder) để lấy các đặc trưng trong không gian ẩn (latent space) Điều này giúp cải thiện hiệu năng của mô hình -! Các mô hình được mô tả, phân tích rõ ràng, được hiện thực
-! Thực nghiệm được thực hiện cẩn thận với nhiều mô hình với nhiều bộ thông số mô hình, trên nhiều tập dữ liệu (4 tập) Các kết quả được so sánh và đánh giá
-! Nhóm cũng thực hiện một demo cho một hệ thống phát hiện dữ liệu ngoại lai Đây là công việc không nằm trong yêu cầu của người hướng dẫn khi đưa ra các kế hoạch cho luận văn
7 Những thiếu sót chính của LVTN:
-! Kết quả với tập dữ liệu ảnh ung thư còn có thể cải thiện được nữa so với hiện nay là ~86%
8 Đề nghị: Được bảo vệ R Bổ sung thêm để bảo vệ o Không được bảo vệ o
9 Câu hỏi SV phải trả lời trước Hội đồng:
a
10 Đánh giá chung (bằng chữ: giỏi, khá, TB): Giỏi Điểm: 10/10
Ký tên (ghi rõ họ tên)
TS Lê Hồng Trang
Trang 4VT姶云PI"A萎K"J窺E"DèEJ"MJQC C浦PI"JÒA XÃ H浦K"EJ曳"PIJ C"XK烏V"PCO
KHOA KH & KT MÁY TÍNH A瓜e"n壱r"- T詠"fq"- H衣pj"rj¿e
-
Ngày 07 tháng 08 p<o 2021
PHI 蔭W"EJ遺O"D謂Q"X烏"NXVP
*F pj"ejq"pi⇔ぜk"j⇔ずpi"fdp1phVp"dkうp+
1 H丑"xà tên SV: Bùi Thanh Th逸pi."Piw{宇p"Swcpi"X逢挨pi
MSSV: 1713215, 1714037 Ngành (chuyên ngành): Khoa H丑e"O {"V pj
S嘘"vài li羽w"vjco"mj違q< 17 Ph亥p"o隠o"v pj"vq p<
Hi羽p"x壱v"*u違p"rj育o+: các mô hình phát hiうp"piqTk"nck"xà website minh hがc"rj v"jkうp"piqTk"nck0
5 T鰻pi"sw v"x隠"e e"d違p"x胤<
- S嘘"d違p"x胤< B違p"C3< B違p"C4< Kh鰻"mj e<
- S嘘"d違p"x胤"x胤"vc{ S嘘"d違p"x胤"vtên máy tính:
6 Nh英pi"逢w"8k吋o"ej pj"e栄c"NXVP<
- N瓜k"fwpi: sinh viên tìm hi吋w"xà trình bày 8逢嬰e"4"o»"jình phát hi羽p"piq衣k"nck"f詠c"vtên SVM
(support vector machine) m 瓜v"n噂r"nà SVDD (support vector data description) và OCSVM (one-class support vector machine) T 瑛"8„."sinh viên k院v"j嬰r"j丑e"u¤w"*fùng Autoencoder
tích ch壱r+"8吋"dk吋w"di宇p"f英"nk羽w"vjc{"ejq"xk羽e"u穎"f映pi"mgtpgn"vtkem"vtqpi"UXFF"vtw{隠p"vj嘘pi"8吋"t衣q"tc"o»"jình AESVDD d詠c"vtên công trình [17]0"CGUXFF"8逢嬰e"jw医p"nw{羽p"x噂k"e e"hàm m映e"vkêu h厩"vt嬰"biên cとpi và biên mzo K院v"sw違"8 pj"ik "vtên mammography, MNIST,
và paysim cho th医{"CGUXFF"biên cとpi vj逢運pi"jk羽w"sw違"j挨p"UXFF1QEUXO"x "CGUXFF" biên m zo Mô hình 8衣v"8逢嬰e"8逢嬰e"okpj"j丑c"x噂k"j羽"vj嘘pi"ygdukvg"pj茨o"rj v"jk羽p"piq衣k"nck"
trong giao d鵜ej"x噂k"f英"nk羽w"rc{uko0
- C医w"vt¿e: lu壱p"x<p"8逢嬰e"e医w"vt¿e"v嘘v, trình bày m衣ej"n衣e
- S違p"rj育o: các mô hình phát hi羽p"piq衣k"nck"xà website minh h丑c"rj v"jk羽p"piq衣k"nck0
7 Nh英pi"vjk院w"u„v"ej pj"e栄a LVTN:
- N瓜k" fwpi: thi院w" rj亥p" 8 pj" ik " x噂k" e e" ik違k" rj r" vtw{隠p" vj嘘pi." vjk院w" rj亥p" o»" v違" x隠" o»k"vt逢運pi"vj "pijk羽o cho ph亥p"dk吋w"fk宇p"f英"nk羽w"x噂k Autoencoder, thi院w"rj亥p"n壱r"nw壱p"x隠"m院v"
qu違"8 pj"ik "8吋"n#"ik違k"xì sao AESVDD biên cとpi hi羽w"sw違"j挨p"CGUXFF"biên mzo Sinh
xk‒p"p‒p"n逢w"ý cách thi院v"n壱r"vj "pijk羽o"x噂k"OPKUV"xì b違p"vj¤p"v壱r"f英"nk羽w"pày không ph違k"8逢嬰e"fùng chính cho bài toán phát hi羽p"piq衣k"nck0
- S違p"rj育o: ph亥p"fgoq"okpj"j丑c"ejq"rj v"jk羽p"piq衣k"nck"vtqpi"vj詠e"vk宇p"ej逢c"vjw{院v"rj映e"xì ej逢c"vj吋"jk羽p"m院v"sw違"rj v"jk羽p"ikcp"n壱p"(ngo衣k"nck+"và k院v"sw違"l鵜ej"u穎"f詠"d q"tr違"x隠"ÐPQ"DATA”
Trang 59 Các câu h臼k"UX"rj違k"vt違"n運k"vt逢噂e"J瓜k"8欝pi<
a Gi違k"vj ej"xì sao AESVDD biên m隠o"vj逢運pi"mj»pi"ejq"m院v"sw違"v嘘v"d茨pi"CGUXFF"dkên c泳piA
b Gi噂k"vjk羽w"e ej"vjk院v"n壱r"Cwvqgpeqfgt"ejq"o厩k"v壱r"f英"nk羽w"vj詠e"pijk羽o0"Xì sao m厩k"v壱r"n衣k"e„"e医w"hình Autoencoder khác nhau? Gi違k"vj ej0
c P‒w"8員e"8k吋o"f英"nk羽w"oà AESVDD có th吋"ejq"m院v"sw違"mj違"swcp"j挨p"uq"x噂k"QEUXO1UXFFA"
Gi違k"vj ej0
d Các gi違k"rj r"vtw{隠p"vj嘘pg cho k院v"sw違"pj逢"vj院"pào trên các b瓜"f英"nk羽w"8逢嬰e"vj詠e"pijk羽oA"P院w"ej逢c"vj "pijk羽o"vjì nêu lí do
320"A pj"ik "ejwpi"*d茨pi"ej英<"ik臼k."mj "VD+< Gi臼k Ak吋o<""8.8/10.0 (hai sinh viên)
Ký tên (ghi rõ h丑"vên)
Võ Th鵜"Pi丑e"Ej¤w
Trang 7Lời cam đoan
Chúng tôi xin cam đoan mọi số liệu và kết quả nghiên cứu trong đề tài luậnvăn này là tự tìm hiểu và phân tích một cách trung thực và khách quan Các kếtquả sử dụng trong luận văn này chưa từng được sử dụng trong một luận án bảo vệhọc vị nào Mọi sự giúp dỡ cho việc thực hiện đề tài luận văn này đều đã đượccảm ơn đầy đủ Các tài liệu trích dẫn liên quan đều được liệt kê rõ ràng và chínhxác từ các nguồn đáng tin cậy và hợp với quy định trích dẫn
Nhóm sinh viên thực hiện đề tài
Trang 9Lời cảm ơn
Để hoàn thành được đề tài luận văn tốt nghiệp này, nhóm sinh viên thựchiện đề tài đã nhận được sự hỗ trợ từ rất nhiều phía Đầu tiên và quan trọng nhất,nhóm xin gửi lời cảm ơn chân thành đến giảng viên hướng dẫn trực tiếp của nhóm,Tiến sĩ Lê Hồng Trang
Nhóm vô cùng biết ơn sự tận tình dạy dỗ, giúp đỡ của quý thầy cô trongkhoa Khoa học & Kỹ thuật Máy tính nói riêng cũng như trường Đại học Báchkhoa TP Hồ Chí Minh nói chung Những kiến thức nhận được từ quý thầy cô là
vô cũng quý giá và bổ ích, hỗ trợ rất lớn cho nhóm để hoàn thành đề tài luận văntốt nghiệp này
Nhóm gửi lời cảm ơn đến gia đình, người thân, bạn bè, những người đã quantâm, động viên, giúp đỡ cả về thể chất lẫn tinh thần để nhóm có đủ nghị lực, sứckhỏe hoàn thành tốt đề tài luận văn tốt nghiệp đại học này
Với lòng biết ơn chân thành, nhóm xin gửi lời chúc sức khỏe, lời biết ơn vànhững lời chúc tốt đẹp nhất đến các quý thầy cô trong Khoa Khoa học và Kỹthuật Máy tính - Trường Đại Học Bách Khoa Đại Học Quốc Gia Thành phố HồChí Minh
Nhóm sinh viên thực hiện đề tài
Trang 11Tóm tắt
Ngày nay, với sự phát triển nhanh chóng về khoa học và kỹ thuật, mọi thứđang diễn ra vô cùng nhanh và cực kỳ mạnh mẽ, thương mại điện tử dần trở thànhtiêu điểm của thị trường giao dịch tài chính, trực tiếp ảnh hưởng đến nền kinh tếthị trường Sự phát triển đó cũng đặt ra những thách thức không nhỏ trong việcphát hiện và ngăn chặn những rủi ro, gian lận nhằm có biện pháp xử lý kịp thời,giảm thiểu thiệt hại Chính vì lẽ đó, nhờ sự phát triển mạnh mẽ của thiết bị phầncứng và lý thuyết về trí tuệ nhân tạo, các hệ thống giúp tự động phát hiện, ngănchặn những đối tượng lừa đảo trong giao dịch tài chính, thương mai điện tử ngàycàng phổ biến Những hệ thống này đều có điểm chung là phát hiện những đốitượng dữ liệu bất thường (anomaly) trong tập dữ liệu được giám sát Từ nhữngnghiên cứu, công trình, bài báo khoa học có sẵn, luận văn này nhằm mục đích tìmhiểu chuyên sâu vào bài toán phát hiện dữ liệu ngoại lai và các ứng dụng thực tế
mà cụ thể là trong lĩnh vực giao dịch tài chính
Trong luận văn này, chúng tôi sẽ đi nghiên cứu về bài toán phân loại một lớp(one class classification), các hướng tiếp cận đối với bài toán, tìm hiểu các côngtrình khoa học có liên quan, từ đó đưa ra những đề xuất cải tiến và hiện thực hệthống với mục đích chính đã đặt ra
Từ khóa: anomaly detection, outlier, one class classification, Support Vector
Machine,
Trang 13Mục lục
1.1 Giới thiệu chung 1
1.1.1 Tổng quan 1
1.1.2 Mục tiêu chính và cấu trúc của luận văn 2
1.2 Bài toán phát hiện dữ liệu ngoại lai 2
1.2.1 Giới thiệu bài toán phát hiện dữ liệu ngoại lai 2
1.2.2 Những thách thức và khó khăn của bài toán phát hiện ngoại lai 3
1.3 Bài toán phân loại một lớp và một số ứng dụng 4
1.3.1 Khái niệm 4
1.3.2 Ứng dụng thực tiễn 6
1.3.3 Điểm khác biệt với bài toán phân loại đa lớp 6
Trang 14Mục lục
1.3.4 Thách thức và khó khăn 7
1.4 Một số tiếp cận phổ biến hiện nay 8
2 MÔ HÌNH SVM CHO BÀI TOÁN PHÂN LOẠI MỘT LỚP 11 2.1 Tổng quan về Support Vector Machine 11
2.1.1 Giới thiệu 11
2.1.2 Hard-margin SVM 12
2.1.3 Soft-margin SVM 18
2.1.4 Kernel Support Vector Machine 20
2.2 Biến thể Support Vector Machine cho bài toán phân loại một lớp 24 2.2.1 Support Vector Data Description 25
2.2.2 One-Class Support Vector Machine 29
2.3 Thảo luận và đánh giá 34
2.3.1 Ưu điểm 34
2.3.2 Nhược điểm 35
3 MÔ HÌNH SVM MỘT LỚP CẢI TIẾN 37 3.1 Khó khăn trong bài toán với dữ liệu nhiều chiều 37
3.2 Đề xuất cải tiến 38
3.2.1 Autoencoder 38
3.2.2 Autoencoder SVDD 41
3.2.3 Tính chất của AESVDD 43
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ 45 4.1 Tiêu chuẩn đánh giá 45
4.2 Tập dữ liệu Banana 48
4.3 Tập dữ liệu Mammography 51
4.3.1 Mô tả dữ liệu 51
Trang 15Mục lục
4.3.2 Thiết lập mô hình 53
4.3.3 Kết quả 53
4.4 Tập dữ liệu MNIST 55
4.4.1 Mô tả dữ liệu 55
4.4.2 Thiết lập mô hình 56
4.4.3 Kết quả 56
4.5 Tập dữ liệu Paysim 61
4.5.1 Mô tả dữ liệu 61
4.5.2 Tiền xử lý dữ liệu 62
4.5.3 Thiết lập dữ liệu để huấn luyện mô hình 66
4.5.4 Thiết lập mô hình 66
4.5.5 Kết quả 67
5 ỨNG DỤNG PHÁT HIỆN DỮ LIỆU NGOẠI LAI 69 5.1 Ứng dụng phát hiện giao dịch gian lận trong thị trường tài chính 69 5.1.1 Giới thiệu mô hình 69
5.1.2 Kiến trúc hệ thống 70
5.1.3 Công nghệ sử dụng 72
5.1.4 Một số giao diện ứng dụng 73
6 TỔNG KẾT 75 6.1 Kết quả đạt được 75
6.2 Thách thức và khó khăn 75
6.3 Cải tiến trong tương lai 76
Trang 17Danh sách hình vẽ
1.1 Bài toán phân loại một lớp 5
1.2 Mạng nơ-ron đơn giản 9
2.1 Hai lớp dữ liệu tuyến tính 12
2.2 Margin càng lớn sẽ đem lại bộ phân chia càng tốt 14
2.3 Nghiệm của bộ phân loại tuyến tính sử dụng hard-margin SVM 17
2.4 Hai lớp dữ liệu gần tuyến tính 18
2.5 Giới thiệu các biến slack 19
2.6 So sánh multi-class và OCC 25
2.7 Minh họa kernel SVDD: Biến đổi không gian đặc trưng X sang F 28 2.8 Ý tưởng tiếp cận của OCSVM 30
2.9 Minh họa kernel OCSVM: Biến đổi không gian đặc trưng X sang F 33 3.1 Kiến trúc của Autoencoder 39
3.2 Biến thể Variational Autoencoder 40
3.3 Kiến trúc mô hình Autoencoder SVDD 41
4.1 Tỷ lệ TP với FP ở những ngưỡng khác nhau 47
4.2 AUC(Area under the ROC Curve) 47
4.3 Trực quan hóa tập dữ liệu Banana trên không gian hai chiều 48
4.4 ROC Curve cho từng loại kernel SVDD trên tập Banana 49
4.5 ROC Curve cho từng loại kernel OCSVM trên tập Banana 50
Trang 18Danh sách hình vẽ
4.6 Tỷ lệ phân bố giữa hai class trong tập dữ liệu Mammography 52
4.7 Kiến trúc mạng AESVDD cho tập Mammography 53
4.8 ROC Curve của mỗi phương pháp trên tập Mammography 54
4.9 Tập dữ liệu MNIST 55
4.10 Kiến trúc mạng AESVDD cho tập MNIST 56
4.11 Một số mẫu ví dụ trong tập kiểm thử thuộc lớp 0 57
4.12 Một số mẫu ví dụ trong tập kiểm thử thuộc lớp 1 57
4.13 Một số mẫu ví dụ trong tập kiểm thử thuộc lớp 2 57
4.14 Một số mẫu ví dụ trong tập kiểm thử thuộc lớp 3 58
4.15 Một số mẫu ví dụ trong tập kiểm thử thuộc lớp 4 58
4.16 Một số mẫu ví dụ trong tập kiểm thử thuộc lớp 5 58
4.17 Một số mẫu ví dụ trong tập kiểm thử thuộc lớp 6 59
4.18 Một số mẫu ví dụ trong tập kiểm thử thuộc lớp 7 59
4.19 Một số mẫu ví dụ trong tập kiểm thử thuộc lớp 8 59
4.20 Một số mẫu ví dụ trong tập kiểm thử thuộc lớp 9 60
4.21 Kiến trúc mạng AESVDD cho tập Paysim 66
4.22 Trực quan hóa sự biến đổi dữ liệu trong quá trình huấn luyện AESVDD 67
5.1 Kiến trúc hệ thống ứng dụng web 70
5.2 Kiến trúc MVC 70
5.3 Cơ chế hoạt động của kiến trúc MVC 71
5.4 Giao diện màn hình trang chủ 73
5.5 Giao diện màn hình PREDICTION 74
5.6 Giao diện màn hình HISTORY PREDICTION 74
Trang 19Danh sách bảng
4.1 Confusion Matrix 45
4.2 Normalize confusion matrix 46
4.3 Kết quả thực nghiệm với SVDD trên tập banana 48
4.4 Kết quả thực nghiệm với OCSVM trên tập banana 50
4.5 Tổng hợp kết quả thực nghiệm với tập dữ liệu banana 51
4.6 Giá trị AUC cho từng phương pháp trên tập dữ liệu mammography 53 4.7 Số lượng mẫu trong tập huấn luyện cho mỗi lớp trong tập MNIST 55 4.8 AUCs cho mỗi tiếp cận trên tập MNIST 56
4.9 Tổng quan tập dữ liệu Paysim 61
4.10 Một số kỹ thuật mã hóa 63
4.11 Quy tắc xử lý ngưỡng giá trị IV 64
4.12 Các đặc trưng có giá trị IV có sức mạnh dự đoán mạnh 65
4.13 Các đặc trưng có giá trị IV có sức mạnh dự đoán vừa phải, yếu, vô dụng 65
4.14 Kích thước mỗi setup cho quá trình huấn luyện và kiểm thử 66
4.15 AUCs cho mỗi setup trên tập Paysim 67
4.16 Thời gian huấn luyện (giây) cho mỗi setup trên tập Paysim 67
Trang 21Thuật ngữ & từ viết tắt
AD Anomaly Detection
AE Autoencoder
AUC Area Under the Receiver Operating Characteristic
DL Deep Learning
KKT Karush Kuhn Tucker
PCA Principal Component Analysis
ReLU Rectified Linear Unit
ROC Receiver Operating Characteristic
SVDD Support Vector Data Description
SVM Support Vector Machine
VAE Variational Autoencoder
Trang 23để những giao dịch gian lận xuất hiện Bằng nhiều cách khác nhau, mà những giaodịch ấy có thể xuất hiện Với việc trong hàng ngàn, hàng triệu giao dịch mới xuấthiện một vài giao dịch bất thường (dữ liệu ngoại lai), thì làm sao có thể dùng trítuệ nhân tạo vào việc phát hiện chúng Hay nói cách khác, trong một tập dữ liệu
đa số thì làm thế nào để phát hiện một lượng rất nhỏ dữ liệu thuộc lớp thiểu số
Và đấy cũng chính là động lực để chúng tôi thực hiện đề tài lần này: Phát hiện
dữ liệu ngoại lai sử dụng kỹ thuật Support Vector Machine (SVM) SVM là một
Trang 241.2 Bài toán phát hiện dữ liệu ngoại lai
trong số nhiều kỹ thuật cực kỳ phổ biến được sử dụng trong bài toán phân loại, sẽđược trình bày kĩ ở Mục [2]
1.1.2 Mục tiêu chính và cấu trúc của luận văn
Chuyển tiếp từ giai đoạn đề cương, ở giai đoạn này, chúng tôi sẽ tập trungvào việc đi tìm một hướng tiếp cận mới để có thể làm việc tốt hơn với tập dữ liệulớn (large-scale) và số chiều lớn (high-dimensional) Ý tưởng của cách tiếp cận đơngiản là dựa trên những hướng tiếp cận cũ mà SVDD hay OCSVM đã làm Nhưngthay vì sử dụng một kernel cố định, chúng tôi sẽ kết hợp Autoencoder làm việcnhư một kernel và học được khả năng chuyển đổi những đặc trưng đại diện sangmột không gian mới Cấu trúc của luận văn được xây dựng nhau sau:
(i) Chương 1: Giới thiệu chung về luận văn, về bài toán phân loại một lớp, ứngdụng thực tiễn, một số hướng tiếp cận phổ biến
(ii) Chương 2: Nền tảng lý thuyết sử dụng SVM cho bài toán Anomoly Detection.(iii) Chương 3: Cải tiến mô hình SVM một lớp
(iv) Chương 4: Thực nghiệm, đánh giá
(v) Chương 5: Ứng dụng vào một case study cụ thể: Phát hiện giao dịch gianlận trong thị trường tài chính
(vi) Chương 6: Tổng kết luận văn: Đánh giá kết quả đạt được, thách thức và khókhăn Những cải tiến trong tương lai
1.2 Bài toán phát hiện dữ liệu ngoại lai
1.2.1 Giới thiệu bài toán phát hiện dữ liệu ngoại lai
Phát hiện ngoại lai, hay còn gọi là phát hiện bất thường, hoặc phát hiện tínhmới, là quá trình phát hiện các trường hợp dữ liệu sai lệch đáng kể so với phần lớncác trường hợp dữ liệu còn lại trong tập dữ liệu
Phát hiện ngoại lai là một lĩnh vực nghiên cứu có nhiều phát triển tích cựctrong vài thập kỷ gần đây Do nhu cầu thực tiễn trong đời sống hàng ngày càng
Trang 251.2 Bài toán phát hiện dữ liệu ngoại lai
tăng và các ứng dụng tiềm năng trong các lĩnh vực lớn khác, có thể kể đến nhưquản lý rủi ro, an ninh bảo mật, giám sát tài chính, giám sát sức khỏe trong y tế
và nhận biết các rủi ro trong kỹ thuật, phát hiện ngoại lai ngày càng đóng vai tròquan trọng, được đề cao trong các cộng đồng nghiên cứu và ứng dụng bao gồmkhai phá dữ liệu, học máy, thị giác máy tính và thống kê
Trong những năm gần đây, với sự hỗ trợ mạnh mẽ của hệ thống phần cứng,
và những nỗ lực nghiên cứu của cộng đồng, một số lượng lớn các phương phápphát hiện ngoại lai đã được đề xuất và đạt được những kết quả khả quan trongthực tiễn Chúng ta sẽ đi tìm hiểu bản chất bài toán của phát hiện ngoại lai, cũngnhư những khó khăn, thách thức, hạn chế của những phương pháp hiện nay Từ
đó với mong muốn nỗ lực cải thiện tính hiệu quả, chúng tôi sẽ tìm cách khắc phụcnhững hạn chế này và đề xuất những phương án giải quyết tối ưu hơn
1.2.2 Những thách thức và khó khăn của bài toán phát
hiện ngoại lai
Có thể nói rằng, bài toán phát hiện ngoại lai là một bài toán khó, chứa nhiềuthách thức về việc phân tích cũng như xây dựng mô hình học Dưới đây sẽ là mộtvài tổng hợp về những vấn đề phức tạp chính cũng như những thách thức chưagiải quyết được
Những vấn đề phức tạp tiêu biểu
Dữ liệu không xác định: Những điểm dữ liệu dường như chưa được biết
đến cho tới khi chúng thật sự xảy ra Ví dụ như khủng bố, tấn công ngânhàng, thẻ tín dụng Đây là một ví dụ tiêu biểu cho trường hợp dữ liệu khôngxác định
Các lớp dữ liệu ngoại lai không đồng nhất: Một lớp dữ liệu ngoại lai có
thể thể hiện những điểm bất thường hoàn toàn khác với lớp dữ liệu ngoại laikhác Ví dụ, trong mô hình giám sát giao thông, những sự kiện bất thườngnhư cướp, tai nạn là rất khác nhau về mặt trực quan
Sự hiếm hoi và mất cân bằng về mặt dữ liệu: Rõ ràng, tập dữ liệu
ngoại lai là rất hiếm Trái ngược với sự áp đảo về mặt số lượng của điểm dữ
Trang 261.3 Bài toán phân loại một lớp và một số ứng dụng
liệu bình thường Chính vì vậy mà rất khó, nếu không muốn nói là khôngthể để thu thập tập dữ liệu ngoại lai để dán nhãn Sự thiếu cân bằng trongtập dữ liệu gây ra rất nhiều khó khăn cho quá trình huấn luyện
Sự đa dạng về các loại bất thường: Có ba loại bất thường đã được khám
phá bao gồm điểm dữ liệu bất thường đơn lẻ, dữ liệu bất thường có điều kiện
và dữ liệu bất thường theo nhóm
Thách thức
Phát hiện các dị thường phức tạp: Hầu hết các phương pháp hiện tại
chỉ áp dụng với điểm dữ liệu bất thường riêng lẻ, không thể sử dụng cho dữliệu bất thường có điều kiện và bất thường theo nhóm vì chúng thể hiện hành
vi hoàn toàn khác với các điểm bất thường riêng lẻ Ngoài ra, các phươngpháp hiện tại chủ yếu tập trung vào việc phát hiện các điểm bất thường từcác nguồn dữ liệu đơn lẻ, trong khi nhiều ứng dụng yêu cầu phát hiện cácđiểm bất thường với nhiều nguồn dữ liệu không đồng nhất, ví dụ: dữ liệu đachiều, dữ liệu đồ thị, hình ảnh, văn bản và âm thanh Một thách thức chính
là một số điểm bất thường chỉ có thể được phát hiện khi xem xét hai hoặcnhiều nguồn dữ liệu
Áp dụng với dữ liệu nhiều chiều: Mô hình phát hiện ngoại lai có thể
làm việc tốt với dữ liệu có số chiều nhỏ Nhưng với tập dữ liệu có số chiềulớn, mô hình gặp khó khăn trong việc phát hiện Số chiều lớn của tập dữ liệu
đã và đang là một thách thức mang tính lâu dài
1.3 Bài toán phân loại một lớp và một số ứng
dụng
1.3.1 Khái niệm
Mô hình phân loại nhiều lớp truyền thống nhằm phân loại một đối tượng dữliệu chưa biết vào một lớp trong danh sách hữu hạn các lớp được xác định trước(trường hợp đơn giản nhất là phân loại nhị phân) Một vấn đề nảy sinh khi đốitượng dữ liệu chưa xác định không thuộc bất kỳ lớp nào trong số đó Giả sử rằng
Trang 271.3 Bài toán phân loại một lớp và một số ứng dụng
chúng ta có một tập dữ liệu huấn luyện bao gồm lớp trái cây và rau quả, bất kỳ
bộ phân loại nhị phân nào cũng có thể được áp dụng để giải quyết bài toán phânloại này một cách dễ dàng nếu một đối tượng thử nghiệm không xác định (thuộcmiền trái cây và rau quả, ví dụ như đào hoặc cà chua) được đưa ra để phân loại.Tuy nhiên nếu đối tượng dữ liệu thử nghiệm đến từ một miền hoàn toàn khác (vídụ: phở trong miền món ăn), những bộ phân loại này sẽ luôn phân loại phở là tráicây hoặc rau quả, đây là một kết quả sai trong cả hai trường hợp Đôi khi nhiệm
vụ phân loại không chỉ là phân loại một đối tượng thử nghiệm vào các danh mụccác lớp được xác định trước mà còn xác định xem nó có thuộc một lớp cụ thể haykhông Trong ví dụ trên, một quả đào thuộc nhóm hoa quả còn phở thì không.Đối với bài toán phân loại một lớp, một trong các lớp (gọi là lớp tích cựchoặc lớp mục tiêu) được đặc trưng bởi các dữ liệu trong tập dữ liệu huấn luyện,trong khi lớp còn lại (lớp phủ định hoặc lớp ngoại lai) có rất ít dữ liệu thực tế hoặcchúng không tạo thành mẫu đại diện thống kê về khái niệm phủ định Tổng thểbài toán được minh họa như Hình 1.1
Hình 1.1: Bài toán phân loại một lớp
Để nhận thấy tầm quan trọng của bài toán phân loại một lớp, chúng ta hãyxem xét một số tình huống Ví dụ, một tình huống có thể xảy ra khi chúng ta
Trang 281.3 Bài toán phân loại một lớp và một số ứng dụng
muốn theo dõi các lỗi có thể xảy ra trong các hệ thống máy Chúng ta cần một
bộ phân loại có khả năng phát hiện khi máy có hoạt động bất thường hoặc bị lỗi.Các phép đo về hoạt động bình thường của máy (dữ liệu huấn luyện lớp tích cực)chúng ta có thể dễ dàng thu thập một cách đầy đủ và chi tiết Tuy nhiên, dữ liệu
về các hoạt động lỗi hoặc bất thường của máy chúng ta lại không thể thu thập mộtcách đầy đủ được, và hơn hết chúng ta không thể dự kiến hết toàn bộ các lỗi cóthể xảy trong tương lai Hơn nữa, chúng ta không thể chờ để thu thập dữ liệu vềcác lỗi hoặc bất thường của máy một cách thụ động vì tốn kém chi phí và khôngđảm bảo an toàn lao động Một ví dụ khác là chẩn đoán bệnh tự động Tươngđối dễ dàng để tổng hợp dữ liệu dương tính nhưng dữ liệu âm tính có thể khó lấy
vì những bệnh nhân khác trong cơ sở dữ liệu không thể được coi là trường hợp
âm tính nếu họ chưa từng được xét nghiệm và những thử nghiệm như vậy có thểtốn kém Ngoài ra, nếu căn bệnh này là hiếm gặp, rất khó để thu thập các mẫudương tính cho đến khi một nhóm đủ lớn đã mắc bệnh đó, đây là một cách tiếpcận không thỏa đáng
Bài toán phân loại một lớp (OCC) là một loại bài toán phân loại đặc biệtnhằm mục đích xây dựng các mô hình phân loại khi lớp phủ định vắng mặt, đượclấy mẫu kém hoặc không được xác định rõ, chính vì lẽ đó trong tập huấn luyện chỉ
có (hoặc hầu hết) các điểm dữ liệu của một lớp (lớp đa số) Nhiệm vụ trong phânloại một lớp là tạo ra một mô hình của một tập hợp các điểm dữ liệu mục tiêu và
dự đoán xem một điểm dữ liệu thử nghiệm có tương đồng với lớp đa số hay không.Điểm khác biệt với lớp đa số được gọi là ngoại lai (outlier)
1.3.2 Ứng dụng thực tiễn
Các hướng tiếp cận với bài toán OCC đã được nhiều công trình khoa họcnghiên cứu phát triển và có các ứng dụng trong các lĩnh vực khác nhau bao gồmphát hiện bất thường, phát hiện gian lận, phát hiện lỗi máy, phát hiện thư rác,
1.3.3 Điểm khác biệt với bài toán phân loại đa lớp
Trong bài toán phân loại nhiều lớp thông thường, dữ liệu từ hai (hoặc nhiều)lớp có sẵn và đường ranh giới phân chia được quyết định bởi sự hiện diện của cácđối tượng dữ liệu từ mỗi lớp Hầu hết các bộ phân loại thông thường đều giả định
Trang 291.3 Bài toán phân loại một lớp và một số ứng dụng
rằng trong tập huấn luyện các lớp dữ liệu đươc lấy mẫu một cách cân bằng, do
đó chúng không hoạt động hoặc hoạt động không đạt hiệu quả hoặc thậm chí sailệch khi bất kỳ lớp nào bị lấy mẫu thiếu nghiêm trọng hoặc hoàn toàn vắng mặt.Juszczak[11] định nghĩa bộ phân loại một lớp là bộ mô tả lớp có thể học các miền
bị hạn chế trong không gian mẫu đa chiều chủ yếu chỉ sử dụng một tập hợp các ví
dụ tích cực
Theo quan sát của Tax [13], các vấn đề gặp phải trong các bài toán phânloại thông thường, chẳng hạn như ước tính sai số phân loại, đo độ phức tạp củamột giải pháp, sai số về chiều, tổng quát của phương pháp phân loại cũng xuấthiện trong OCC và đôi khi còn trở nên nổi bật hơn Như đã nêu trước đó, trongcác bài toán OCC hoặc các đối tượng dữ liệu phủ định không có hoặc có sẵn với
số lượng hạn chế, vì vậy chỉ có thể xác định một bên của ranh giới phân loại bằngcách chỉ sử dụng dữ liệu tích cực (hoặc một số phủ định) Do đó, các bộ phân loạitiêu chuẩn thông thường không thể được áp dụng trực tiếp cho các bài toán OCC.Điều này làm cho bài toán phân loại một lớp khó hơn bài toán phân loại hai lớpthông thường Nhiệm vụ trong OCC là xác định ranh giới phân loại xung quanhlớp tích cực, sao cho nó chấp nhận càng nhiều đối tượng càng tốt từ lớp tích cực,đồng thời giảm thiểu cơ hội chấp nhận các đối tượng ngoại lệ Trong OCC, vì chỉ
có thể xác định được một mặt của ranh giới, nên rất khó để quyết định trên cơ sởchỉ một lớp mà ranh giới sẽ khớp với từng hướng xung quanh dữ liệu Việc quyếtđịnh các tính năng nào nên được sử dụng để tìm ra sự phân tách tốt nhất giữa cácđối tượng lớp tích cực và ngoại lệ cũng khó hơn
1.3.4 Thách thức và khó khăn
Như những gì đã trình bày ở trên, các phương pháp tiếp cận này còn nhiềuhạn chế trong đó có thể kể đến sự phân bố của dữ liệu, các đối tượng trong khuvực mật độ thấp thường sẽ bị dán nhãn ngoại lai mặc dù chúng là đối tượng hợp
lệ Ngoài ra vì đặc thù của bài toán, tập dữ liệu cho việc huấn luyện thường yêucầu nghiêm ngặt và đầy đủ hơn so với các loại bài toán phân loại thông thường
Trang 301.4 Một số tiếp cận phổ biến hiện nay
1.4 Một số tiếp cận phổ biến hiện nay
Dựa trên một báo cáo của tổ chức nghiên cứu và phát triển phần mềm
altexsoft[6], chúng tôi chỉ tổng hợp, giới thiệu một cách khái quát để bạn đọc cócái nhìn tổng quan và sẽ không đi sâu vào cụ thể từng phương pháp
K-Nearest Neighbors
K-Nearest Neighbors (KNN) là giải thuật học có giám sát khá đơn giản Nó
sẽ phân loại dữ liệu mới dựa vào K điểm dữ liệu gần nhất trong tập huấn luyện.Nhãn đấy sẽ được quyết định dựa vào việc bầu chọn theo đa số trong K điểm đấy
Và KNN là một trong số những giải thuật được sử dụng thông thường
Mạng nơ-ron và mạng nơ-ron sâu
Mạng nơ-ron hay mạng nơ-ron sâu là những mô hình quá phổ biến ở thờiđiểm hiện tại và được sử dụng vô cùng rộng rãi Mạng nơ-ron là mô hình cho phépxác định mối quan hệ phi tuyến giữa đầu vào và đầu ra Cấu trúc của mô hìnhdựa trên các nguyên tắc gần giống với nguyên tắc hoạt động của các tế bào thầnkinh con người Mô hình được xây dựng dựa trên tập dữ liệu đầu vào đã được gắnnhãn đi qua một số lớp hay nói cách khác chính là các hàm toán học Mạng nơ-ronthường chỉ gồm một hoặc hai lớp ẩn (hidden layer) Cấu trúc của mạng nơ-ronnhư hình bên dưới
Trang 311.4 Một số tiếp cận phổ biến hiện nay
Hình 1.2: Mạng nơ-ron đơn giản [ 6 ]
Mạng nơ-ron sâu hoạt động như mạng nơ-ron nhưng số lớp ẩn là nhiều hơn một.Với mô hình này, độ chính xác có thể tăng lên và hiển nhiên là mô hình cần mộttài nguyên lớn cho việc tính toán cũng như thời gian xử lý
Support Vector Machine
Support Vector Machine là giải thuật học có giám sát rất phổ biến về độ sửdụng rộng rãi của nó Giải thuật được sử dụng trong bài toán phân loại hai lớp
Cụ thể về cơ sở lý thuyết của giải thuật sẽ được trình bày ở dưới Và đây cũngchính là hướng tiếp cận được áp dụng trực tiếp trong đề tài này
Trang 332 MÔ HÌNH SVM CHO BÀI
TOÁN PHÂN LOẠI MỘT LỚP
Trong chương này, chúng tôi giới thiệu lý thuyết về thuật toán SVM, haihướng tiếp cận đối với bài toán AD đó là SVDD và OCSVM để từ đó đưa ra một
số thảo luận và đánh giá
2.1 Tổng quan về Support Vector Machine
2.1.1 Giới thiệu
Support Vector Machine (SVM) là phương pháp phân loại dữ liệu có giámsát, được Vapnik và các cộng sự giới thiệu lần đầu tiên vào năm 1995 SVM banđầu chỉ thực hiện việc phân loại nhị phân nhưng sau này được Vapnik phát triểnlên thành phương pháp có thể phân dữ liệu ra nhiều lớp khác nhau và được ứngdụng rất hiệu quả trong thực tế cho đến ngày nay như: nhận dạng chữ viết tay,nhận dạng giọng nói, phân tích gen,
Cơ sở toán học của phương pháp phân loại SVM là dựa trên nền tảng lýthuyết thống kê và lý thuyết không gian vector Sử dụng các hàm tuyến tính trongkhông gian vector để phân biệt không gian đặc trưng của tập huấn luyện
Tiếp theo chúng ta sẽ đi sâu vào phần nền tảng lý thuyết cũng như các biếnthể của phương pháp Đây là một phần cực kỳ quan trọng trong việc giúp ngườiđọc có cái nhìn tổng quan khi đọc về bài toán phân loại một lớp
Trang 342.1 Tổng quan về Support Vector Machine2.1.2 Hard-margin SVM
Ý tưởng
Hard-margin SVM là trường hợp đơn giản nhất của SVM, tương tự như môhình phân loại nhị phân, trong trường hợp tập dữ liệu mẫu ban đầu được phânthành hai tập dữ liệu riêng biệt hoàn toàn
Xét một tập huấn luyện S gồm một mẫu như sau: S = {(x 1 , y 1 ), (x 2 , y 2 ), , (x N , y N)}
với vector x i∈ Rd thể hiện đầu vào của một điểm dữ liệu và y i là nhãn của điểm
dữ liệu, d là số chiều và N là số điểm dữ liệu Giả sử rằng nhãn y i ∈ {1, −1}.
Mục tiêu của việc phân loại là tìm ra một hàm phi tuyến f : X ∈ R d→ R,
tức là tìm hàm f(x) sao cho f(xi) = y i ,∀(x i, y i ) ∈ S Chúng ta quy ước f(xi) > 0 được gán cho giá trị mục tiêu y i = +1 thuộc tập S+, được biểu diễn trên Hình 2.1
bằng những chấm màu đỏ, ngược lại nếu f(xi) < 0 thì được giá trị y i = −1, đượcbiểu diễn trên Hình 2.1 bằng những chấm đen
Hình 2.1: Hai lớp dữ liệu tuyến tính
Mục tiêu của bài toán là làm sao có thể phân biết được hai tập S+ và S− Chúng ta xét trường hợp đơn giản như hình 2.1
Trang 352.1 Tổng quan về Support Vector Machine
Ánh xạ khả tách S+ và S− được định nghĩa như sau:
được định nghĩa là ranh giới giữa tập S+ và S−, hai tập này được gọi là phân
biệt tuyến tính bởi siêu phẳng nếu tìm được cặp giá trị (w, b) sao cho siêu phẳng
phân biệt được hai tập S+ và S− Có rất nhiều bộ giá trị (w, b) để sinh ra các siêu
phẳng khác nhau Do đó, SVM cần phải tìm ra duy nhất một siêu phẳng có độ
rộng phân cách giữa hai tập dữ liệu S+ và S− là lớn nhất Giả sử, ta có siêu phẳng
H0 : w Tx + b = 0 thì ta sẽ luôn tìm được hai siêu phẳng H+ và H− song song với
vì chúng tham gia hỗ trợ việc xác định siêu phẳng sau cùng Bài toán yêu cầu xác
định khoảng cách lớn nhất giữa hai siêu phẳng H+ và H− Ở đây, ta định nghĩamargin là khoảng cách từ các điểm gần nhất đến mặt phân chia như Hình 2.2
Trang 362.1 Tổng quan về Support Vector Machine
Hình 2.2: Margin càng lớn sẽ đem lại bộ phân chia càng tốt
Như đã biết, trong hình học phẳng, khoảng cách từ một điểm (x 0 , y 0) đến
Trang 372.1 Tổng quan về Support Vector Machine
Vì vậy, để cho khoảng cách của H+ và H0 đạt cực đại thì w phải đạt cực tiểu, với
điều kiện không tồn tại điểm dữ liệu nào nằm giữa H+ và H0 nên khi đó, ta có:
w T x i+ b ≥ 1, ∀y i = 1
w T x i+ b ≥ −1, ∀y i = −1Như vậy, với mọi n ta luôn có
yi(w T x i+ b) ≥ 1 (2.1)
Tóm lại, để tìm khoảng cách cực đại của hai siêu phẳng H+ và H−, bài toán
sẽ đưa về tìm cực tiểu của với ràng buộc (2.1)
Bài toán đối ngẫu
Nhiệm vụ của bài toán là tìm cực tiểu của w với ràng buộc (2.1) Lagrangecủa bài toán với hàm mục tiêu w cùng ràng buộc (2.1) là
Trang 382.1 Tổng quan về Support Vector Machine
Thế (2.3), (2.4) vào công thức trên vào (2.10) ta thu được g(λ)
g (λ) = XN
n=1
λ n− 12
Từ đây, việc huấn luyện theo SVM có thể xem như việc tìm cực đại của
L (w, b, λ) hay tìm giá trị mong đợi λ thỏa mãn ràng buộc và λ dương Đặt
S = {n : λ n 6= 0} và N S là số phần tử của S Khi đó trọng số vector được tínhbằng công thức sau
Một chi tiết quan trọng là λ = 0 đối với các giá trị x i không nằm trên các
siêu phẳng H+ và H Ngược lại, đối với các giá trị nằm trên H+ và H thì λ > 0,
các điểm này chính là các vector hỗ trợ, với số lượng các vector hỗ trợ luôn nhỏhơn tổng số mẫu huấn luyện Từ đó, phương pháp này có tên là máy vector hỗ trợ(Support Vector Machine)
Một trong những ưu điểm của phương pháp này là các mẫu không phải làvector hỗ trợ sẽ không cần xét trong quá trình huấn luyện mà kết quả đạt đượcvẫn không thay đổi Ngoài ra, một ưu điểm vượt trội của SVM trong trường hợpnày là công thức Lagrange ở trên có dạng lồi nên luôn tìm được cực tiểu toàn cục
Vì vậy nó thường tối ưu hơn so với phương pháp mạng nơ-ron thông thường
Trang 392.1 Tổng quan về Support Vector Machine Hàm phân loại
Sau khi đã tìm được các giá trị tối ưu λ i, thế vào công thức trên ta sẽ tìmđược w tương ứng, lúc này hàm phân loại có thể viết lại như sau
Dựa vào hàm phân loại này, ta dễ dàng gán giá trị mục tiêu +1 hoặc -1 cho tất
cả các điểm dữ liệu cần phân loại, lúc này thì tập dữ liệu đã được phân loại hoàntoàn
Hình 2.3: Nghiệm của bộ phân loại tuyến tính sử dụng hard-margin SVM
Ở trường hợp này, dữ liệu được nằm ở hai lớp rất rõ ràng nhưng trên thực
tế, có những điểm dữ liệu S+ nằm trọng tập và ngược lại, lúc này tập S+ và không còn phân biệt tuyến tính nữa
Trang 40S-2.1 Tổng quan về Support Vector Machine2.1.3 Soft-margin SVM
Hình 2.4: Hai lớp dữ liệu gần tuyến tính
Bằng cách ta thêm vào gia số ε (slack variable) cho mỗi điểm trong tập huấn
luyện và được định nghĩa là
ε i =
w T x i + b − y i
Hàm mục tiêu lúc này là đi tìm cực tiểu của hàm số