5 ỨNG DỤNG PHÁT HIỆN DỮ LIỆU NGOẠI LAI
4.13 Các đặc trưng có giá trị IV có sức mạnh dự đốn vừa phải, yếu, vơ
4.5. Tập dữ liệu Paysim
4.5.3 Thiết lập dữ liệu để huấn luyện mơ hình
Dựa vào bảng số liệu về các giá trị VI ở Mục [4.5.2], chúng tôi sẽ quyết định chọn chín đặc trưng ở Bảng 4.12 để thực hiện q trình huấn luyện mơ hình. Chúng tơi sẽ thực hiện chia tập dữ liệu thành các tập dữ liệu nhỏ cho quá trình huấn luyện với tỷ lệ huấn luyện/kiểm thử/kiểm chứng (train/test/validate) là 0.6/0.2/0.2. Chúng tôi sẽ tiến hành các thiết lập thử nghiệm như Bảng 4.14.
Set up Kích thước Tập huấn luyện Tập kiểm chứng Tập kiểm thử
setup1 100000 60000 20000 20000
setup2 1000000 600000 200000 200000
setup3 6362620 3817572 1272524 1272524
Bảng 4.14: Kích thước mỗi setup cho q trình huấn luyện và kiểm thử
4.5.4 Thiết lập mơ hình
Chúng tơi sẽ tiến hành thực nghiệm tập dữ liệu này với SVDD/OCSVM và Autoencoder SVDD. Đối với SVDD/OCSVM, kernel Gaussian sẽ được sử dụng, các siêu tham số được khởi tạo γ =auto, ν = 0.05.
Kiến trúc mạng được sử dụng trong AESVDD như Hình 4.21. Chúng tơi sẽ sử dụng thuật toán tối ưu Adam. Với các siêu tham số đầu vào gồm: learning rate
η =0.001, chạy qua100 epochsvớibatch sizelà 128,weight decayλ=0.001.
Đối với hàm mục tiêu biên mềm, giá trịν =0.05. Tỷ lệ huấn luyện/kiểm thử/kiểm
chứng (train/test/validate) là 0.6/0.2/0.2.
4.5. Tập dữ liệu Paysim
4.5.5 Kết quả
Sau khi thực nghiệm với từng setup ở trên đối với OCSVM/SVDD với AESVDD, chúng tơi có được kết quả như Bảng 4.15
Set up Kích thước OCSVM/SVDD AESVDD biên
cứng AESVDD biênmềm
setup1 100000 0.9139 0.9344 0.9212
setup2 1000000 0.8683 0.8711 0.8593
setup3 6362620 0.8533 0.8612 0.8372
Bảng 4.15: AUCs cho mỗi setup trên tập Paysim
Set up Kích thước OCSVM/SVDD AESVDD biên
cứng AESVDD biênmềm
setup1 100000 238.8 34.26 46.82
setup2 1000000 2642.5 412.16 520.85
setup3 6362620 189367 3583.4 3787.6
Bảng 4.16: Thời gian huấn luyện (giây) cho mỗi setup trên tập Paysim
(a) Dữ liệu được PCA về 2 chiều trước khi apply
Autoencoder SVDD
(b) Dữ liệu PCA về 2 chiều sau khi apply Autoencoder
SVDD
Hình 4.22: Trực quan hóa sự biến đổi dữ liệu trong quá trình huấn luyện AESVDD
Nhận xét
Dựa vào kết quả thực nghiệm ở trên, chúng tôi đưa ra một số nhận xét sau: thứ nhất về thời gian huấn luyện, AESVDD cho kết quả tốt hẳn, thời gian huấn luyện giảm đi rất nhiều so với việc sử dụng OCSVM/SVDD, rõ ràng điều này giúp
4.5. Tập dữ liệu Paysim
cải thiện rất nhiều về khía cạnh thời gian huấn luyện trong thực tế. Đối với kết quả AUCs, setup3 và setup4 của AESVDD có thơng số khơng tốt bằng OCSVM/SVDD. Chúng tôi cũng đưa một số ngun nhân vì kết quả có phần khơng tốt này. Thứ nhất, việc lựa chọn những siêu tham số vẫn mang tính chủ quan. Thứ hai, việc tiền xử lý dữ liệu vẫn chưa đạt được sự tối ưu. Chúng tôi vẫn đang cố gắng tối ưu hai điều này để đạt được kết quả tốt nhất có thể.
5 ỨNG DỤNG PHÁT HIỆN DỮLIỆU NGOẠI LAI LIỆU NGOẠI LAI
5.1 Ứng dụng phát hiện giao dịch gian lận trong thị trường tài chính
5.1.1 Giới thiệu mơ hình
Có thể nói rằng, đầu năm 2010, phần lớn các ngân hàng đã áp dụng hệ thống phát hiện ngoại lai vào việc phát hiện gian lận, lừa đảo một cách tự động. Trong đó, theo như nghiên cứu của tổ chức AI Oppotunity Landscape, khoảng 26% những quỹ đầu tư mạo hiểm của ngành công nghiệp ngân hàng dành sự chú trọng và đầu tư vào những hệ thống, ứng dụng phát hiện gian lận, nhiều hơn bất kỳ lĩnh vực nào khác lúc bấy giờ. Số liệu này để thấy rằng, tiềm năng của việc áp dụng AI vào thực tiễn diễn ra mạnh mẽ như thế nào.
Trước tiên, chúng tôi sẽ tổng quan việc vận dụng học máy vào việc phát hiện gian lận trong ngân hàng và đi sâu vào một case study cụ thể chính là việc phát hiện những giao dịch khơng nhất quán, cũng như sự khơng chính xác về tài khoản nguồn và tài khoản đích khi thực hiện giao dịch. Khi một ngân hàng sử dụng một mơ hình phát hiện gian lận trong hệ thống và xem nó như một cơng cụ để xử lý dữ liệu, mà ở đây chính là các giao dịch hằng ngày. Những giải pháp cho việc phát hiện và ngăn chặn thường phổ biến hơn so với việc dự đốn cũng như phân tích tập dữ liệu. Loại ứng dụng này u cầu một mơ hình học máy được huấn luyện với loại dữ liệu dạng dịng (streaming) mang tính liên tục (hay cịn gọi là online learning). Ứng dụng sẽ thông báo cho giao dịch viên trong trường hợp có sự bất thường đối với một giao dịch nào đó. Giao dịch viên sẽ xem xét cảnh báo, thực
5.1. Ứng dụng phát hiện giao dịch gian lận trong thị trường tài chính
hiện kiểm tra để xác thực lại thơng tin của giao dịch.
5.1.2 Kiến trúc hệ thống
Hình 5.1: Kiến trúc hệ thống ứng dụng web
Ứng dụng phát hiện gian lận được xây dựng trên nền ứng dụng web dựa trên kiến trúc MVC (Model - View - Control) cổ điển kết hợp với mơ hình phát hiện giao dịch ngoại lai. Nói về kiến trúc MVC như Hình 5.2. Kiến trúc MVC là một kiến trúc vô cùng phổ biến và được ưa chuộng trong việc xây dựng ứng dụng web. MVC là đại diện cho mơ hình (Model), khung nhìn (View), bộ điều khiển (Controller). Chúng tôi giới thiệu về từng thành phần bên trong kiến trúc.
5.1. Ứng dụng phát hiện giao dịch gian lận trong thị trường tài chính Mơ hình (Model)
Làm việc với dữ liệu của ứng dụng.
Chịu trách nhiệm quản lý dữ liệu, luận lý và những quy tắc của ứng dụng.
Khung nhìn (View)
Xử lý phía giao diện(User Interface) cho người dùng có thể xem (html, css, js).
Chịu trách nhiệm đính kèm và kích hoạt những sự kiện từ phía người dùng. Và việc xử lý những sự kiện ấy sẽ được bộ điều khiển đảm nhiệm.
Bộ điều khiển (Controller)
Xử lý sự kiện được kích hoạt từ phía người dùng và hoạt động như một cầu nối trung gian giữa khung nhìn và mơ hình.
Cung cấp nhiều hàm chức năng dựa trên sự kiện được kích hoạt, giao tiếp với mơ hình để thực hiện việc đọc và cập nhật dữ liệu, sau đó trả dữ liệu về, để khung nhìn hiển thị chúng lên cho người dùng xem.
Hình 5.3: Cơ chế hoạt động của kiến trúc MVC
5.1. Ứng dụng phát hiện giao dịch gian lận trong thị trường tài chính Mơ hình (Model): Đây là phần trung gian chịu trách nhiệm xử lý giữa
phần khung nhìn và xử lý dữ liệu ở tầng dưới (back-end).
Khung nhìn (View): chịu trách nhiệm hiển thị giao diện cho phía người
dùng.
Bộ điều khiển (Controller): Thực hiện việc xử lý luận lý ở phía tầng dưới.
Giả sử, khi một giao dịch được gửi từ phía khách hàng, giao dịch sẽ được xử lý và lưu xuống cơ sở dữ liệu. Sau đó trả về cho phía khách hàng một phản hồi (response).
Mơ hình AI (AI Model): chính là AI core của luận văn, được nhóm xây
dựng và đưa vào sử dụng trong thực tế. Hệ thống sẽ nhận vào một giao dịch và dự đốn xem giao dịch này có gian lận hay là khơng!
5.1.3 Cơng nghệ sử dụng Ngơn ngữ lập trình
Hệ thống được hiện thực dựa trên hai ngơn ngữ lập trình chính:
Máy chủ (Server): Chúng tôi sử dụng Python và Java. Python được sử dụng cho việc huấn luyện mơ hình AI. Trong khi đó, Javalà một trong những ngơn ngữ hỗ trợ rất mạnh ở khía cạnh máy chủ (Server) cho hệ thống. Vì lý do này, mà chúng tơi quyết định sử dụng hai ngôn ngữ này.
Giao diện: Framework mã nguồn mở Angular. Đây là một framework kỹ thuật, mã nguồn mở, được sử dụng để xây dựng các ứng dụng một trang (single page application). Các lập trình viên cũng sử dụng nó để tạo các menu động cho các trang web HTML. Framework này là sản phẩm trí tuệ của các kỹ sư Google. Và được sử dụng vô cùng rộng rãi trong công nghiệp phần mềm.
Frameworks
Angular là mộtJavascript framework do Google phát triển để xây dựng các ứng dụng một trang (single page application) bằng JavaScript, HTMLvà TypeScript. Angular cung cấp các tính năng tích hợp cho hoạt hình (animation), dịch vụ http và có các tính năng như tự động điền (auto-complete), chuyển đường
5.1. Ứng dụng phát hiện giao dịch gian lận trong thị trường tài chính
(navigation), thanh cơng cụ (toolbar),... Code được viết bằng TypeScript, biên dịch thành JavaScript và hiển thị tương tự trong trình duyệt.
Spring boot - Spring Data Spring Boot là một dự án phát triển bởi JAVA trong hệ sinh thái Spring framework. Nó giúp cho các lập trình viên chúng ta đơn giản hóa q trình lập trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển business cho ứng dụng. Hệ sinh thái của Spring vô cùng đa dạng, ở đây chúng tôi sử dụng Spring Data và Spring Core để hỗ trợ việc xây dựng ứng dụng web một cách dễ dàng, đơn giản và nhanh nhất.
Cơ sở dữ liệu
MongoDB là một cơ sở dữ liệu hướng tài liệu (document), một dạng cơ sở dữ liệu NoSQL. Vì thế, MongoDB sẽ tránh cấu trúc nền bảng của cơ sở dữ liệu quan hệ, để thích ứng với các tài liệu như JSON có một lượt đồ rất linh hoạt gọi là BSON. MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi một tập hợp (collection) sẽ có kích cỡ và các document khác nhau. Các dữ liệu được lưu trữ trong document kiểu JSON nên truy vấn sẽ rất nhanh.
5.1.4 Một số giao diện ứng dụng
Màn hình chính gồm thơng tin mơ tả về ứng dụng, thông tin thành viên xây dựng ứng dụng.
5.1. Ứng dụng phát hiện giao dịch gian lận trong thị trường tài chính
Giao diện trong Hình 5.5 là màn hình PREDICTION, gồm thơng tin những tập giao dịch chuẩn bị được dự đoán. Sau khi nhấn nút "PREDICT", hệ thống sẽ thực hiện xử lý tập giao dịch trên và đưa ra kết quả ngay bên dưới cùng với một biểu đồ thể hiện tỷ lệ giao dịch bình thường và bất thường.
Hình 5.5: Giao diện màn hình PREDICTION
Sau khi dự đốn, người dùng có thể xem lại kết quả dự đốn như ở màn hình HISTORY PREDICTION có giao diện như Hình 5.6.
6 TỔNG KẾT
6.1 Kết quả đạt được
Trong quá trình tìm hiểu và nghiên cứu, nhóm đã thu được một số kết quả như sau:
Tìm hiểu về bài tốn phát hiện ngoại lai và nền tảng giải thuật SVM trong bài toán phát hiện ngoại lai.
Bước tiếp theo hướng tiếp cận truyền thống, nhóm có tham khảo, kết hợp và sử dụng mạng nơ-ron trong mơ hình, nhằm tăng thời gian huấn luyện và hiệu suất của mơ hình.
Nhóm cũng thực hiện mơ phỏng bài tốn trong ngữ cảnh thực tế.
Với những kết quả đạt được ở trên, tuy vẫn còn nhiều vấn đề và hạn chế, song, nhóm đã hồn thành những nhiệm vụ và mục tiêu đã được đề ra.
6.2 Thách thức và khó khăn
Trong q trình thực hiện luận văn này, nhóm gặp một số hạn chế sau: Mơ hình tập trung vào một case-study cụ thể, tính tái sử dụng chưa cao vì phải thực hiện chỉnh sửa để phù hợp với từng loại đối tượng dữ liệu.
6.3. Cải tiến trong tương lai
Q trình huấn luyện cịn gặp đơi chút khó khăn về tài ngun máy tính có phần hạn chế.
6.3 Cải tiến trong tương lai
Một vài hướng cải tiến chúng tôi đề xuất và hướng đến trong tương lai: Tổng quát mơ hình để làm việc tốt trên nhiều tập dữ liệu và case study khác nhau.
Xây dựng mơ hình mang tính thực tiễn cao hơn, cụ thể về tính mở rộng và tính tin cậy.
Tài liệu tham khảo Tài liệu Internet
[1] https://developers.google.com/machine-learning/crash-course/classification/ roc-and-auc. - lần truy cập cuối 01/07/2021.
[2] https://machinelearningcoban.com/. - lần truy cập cuối 01/07/2021.
[3] https : / / forum . machinelearningcoban . com / uploads / default / original / 2X/6/672bf803c933af17deca2fceccad6cfd7f77480b.png. - lần truy cập cuối
01/07/2021.
[4] https://towardsdatascience.com/applied-deep-learning-part-3-autoencoders- 1c083af4d798. - lần truy cập cuối 01/07/2021.
[5] https : / / www . kaggle . com / ealaxi / paysim1 / tasks. - lần truy cập cuối
01/07/2021.
[6] https://www.altexsoft.com/whitepapers/fraud-detection-how-machine- learning-systems-help-reveal-scams-in-fintech-healthcare-and-ecommerce/. -
lần truy cập cuối 01/07/2021.
[7] https://www.analyticsvidhya.com/blog/2020/08/types-of-categorical-data- encoding/. - lần truy cập cuối 01/07/2021.
Bài báo tham khảo
[8] Mennatallah Amer, Markus Goldstein and Slim Abdennadher. “Enhancing One-Class Support Vector Machines for Unsupervised Anomaly Detection”.
Bài báo tham khảo
[9] Dor Bank, Noam KoenigsteinandRaja Giryes. “Autoencoders”.in: (march
2020).
[10] Shehroz S Khan and Michael G. Madden. “A Survey of Recent Trends in One Class Classification”. in:Artificial Intelligence and Cognitive Science - 20th Irish Conference, AICS 2009, Dublin, Ireland, August 19-21, 2009,
Revised Selected Papers (August 2009).
[11] Shehroz S. KhanandMichael G. Madden. “One-class classification: taxonomy of study and review of techniques”. in: Published online by Cambridge University Press (24 January 2014).
[12] Kun-Lun Li andothers. “Improving one-class SVM for anomaly detection”. in: 5 (2003), 3077–3081 Vol.5.
[13] David M.J.Tax and Robert P.W.Duin. “Support Vector Data Description”.
in: Pattern Recognition Group, Faculty of Applied Sciences, Delft University of Technology, Lorentzweg 1, 2628 CJ Delft, The Netherlands (January 2004). [14] Larry M. Manevitz and Malik Yousef. “One-Class SVMs for Document
Classification”. in: Journal of Machine Learning Research 2 (2001) 139-154
(2001).
[15] Minh-Nghia Nguyen and Ngo Anh Vien. “Scalable and Interpretable One- class SVMs with Deep Learning and Random Fourier features”. in: ArXiv
abs/1804.04888 (2018).
[16] Pramuditha Perera, Poojan Oza andVishal Patel. “One-Class Classification: A Survey”.in: (january2021).
[17] Lukas Ruff andothers. “Deep One-Class Classification”. in: 80 (2018), pages 4393–4402.