Quy tắc xử lý ngưỡng giá trị IV

Một phần của tài liệu Phát hiện dữ liệu ngoại lai bằng mô hình svm một lớp (Trang 86)

5 ỨNG DỤNG PHÁT HIỆN DỮ LIỆU NGOẠI LAI

4.11 Quy tắc xử lý ngưỡng giá trị IV

Sau khi khái quát qua một số khái niệm về IV, WOE ở trên, chúng tôi sẽ quay trở lại việc tiền xử lý tập dữ liệu Paysim. Như đã trình bày ở Mục [4.9], tập Paysim có 11 đặc trưng gồm: step,type, amount, nameOrig,oldbalanceOrg, newbalanceOrig,nameDest,oldbalanceDest,isFlaggedFraud,newbalanceDest, isFraud. Giá trịisFraud chính là lớp nhãn của tập, với giá trị 0 đại diện cho giao dịch bình thường, 1 đại diện cho giao dịch bất thường. Với giá trị contamination-rate là 0.129% làm cho tập dữ liệu mất cân bằng ở mức cao.

Như đã trình bày, tập dữ liệu trên là quá trình khảo sát trong một tháng, và đặc trưng step đại diện cho yếu tố thời gian này. Những rõ ràng, với giá trị nằm trong đoạn từ [1,743]khơng phản ánh được thơng tin hữu dụng. Do đó, chúng tôi sẽ khai thác yếu tố step này. Từ đặc trưng step, chúng tôi sẽ thực hiện mở rộng thêm bảy đặc trưng mới trong đó, ba đặc trưng hour, day, weekday được encode trực tiếp từ giá trị step. Cụ thể như sau:

hour- đại diện cho khung giờ theo chu kỳ 24 h tại thời điểm giao dịch, giá trị thuộc đoạn [0, 23].

day- đại diện cho khung ngày theo chu kỳ 31 ngày tại thời điểm giao dịch, giá trị thuộc đoạn [1, 31].

weekday- đại diện cho khung ngày trong tuần theo chu kỳ một tuần bảy ngày tại thời điểm giao dịch, giá trị thuộc đoạn [1, 7].

4.5. Tập dữ liệu Paysim

Một điều đặc biệt ở đây, vì hour và weekday khơng phản ánh được chu kỳ thời gian tự nhiên, nên chúng tôi tạo thêm bốn đặc trưng mới theo phép biến đổi sin,cos cho hour và weekday. Tóm lại, bảy đặc trưng mới được thêm bao gồm: hour, day, weekday, sin_hour, cos_hour, sin_weekday, cos_weekday. Đối với đặc trưng type, tập gồm năm danh mục khác nhau, chúng tôi quyết định sử dụng One Hot Encoding ở đây, do đó mà năm đặc trưng mới tiếp tục được thêm vào tập dữ liệu: type_CASH_IN, type_CASH_OUT,type_TRANSFER, type_PAYMENT, type_DEBIT. Ngoài ra, chúng tôi cũng áp dụngLabelEncoderđối với hai đặc trưng nameOrig và nameDest . Sau khi tiến hành xử lý dữ liệu, mở rộng đặc trưng, tập dữ liệu Paysim hiện tại gồm có 23 đặc trưng trong đó 11 đặc trưng gốc, 12 đặc trưng mở rộng. Chúng tơi sẽ tiến hành phân tích đặc trưng, tính tốn giá trị IV cho mỗi đặc trưng để phục vụ cho quá trình lựa chọn đặc trưng cuối cùng, trước khi thực hiện q trình huấn luyện mơ hình. Kết quả tính tốn giá trị IV được biểu diễn ở các Bảng 4.12 và 4.13. Sức mạnh dự đoán mạnh feature IV feature IV nameDest 3.21 type 0.79 oldbalanceOrg 2.09 sin_hour 0.45 newbalanceOrig 1.01 day 0.31 type_TRANSFER 0.99 step 0.30 amount 0.88

Bảng 4.12: Các đặc trưng có giá trị IV có sức mạnh dự đốn mạnh

Vừa phải Yếu Vơ dụng

feature IV feature IV feature IV

hour 0.22 type_CASH_IN 0.05 newbalanceDest 0.00 oldbalanceDest 0.18 cos_weekday 0.05 type_DEBIT 0.00 cos_hour 0.18 weekday 0.05 isFlaggedFraud 0.00 type_PAYMENT 0.14 sin_weekday 0.03

type_CASH_OUT 0.09 nameOrig 0.02

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 tố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 qn, 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,

Một phần của tài liệu Phát hiện dữ liệu ngoại lai bằng mô hình svm một lớp (Trang 86)