TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN NGUYỄN TIẾN LONG NGHIÊN CỨU VỀ PHƯƠNG PHÁP SUPPORT VECTOR MACHINE VÀ BIẾN ĐỔI DỮ LIỆU TRONG VIỆC PHÁT HIỆN GIAN LẬN GIAO DỊCH THẺ TÍN DỤNG LUẬN VĂN THẠC SĨ KINH TẾ (TOÁ[.]
Trang 1NGUYỄN TIẾN LONG
NGHIÊN CỨU VỀ PHƯƠNG PHÁP SUPPORT VECTOR MACHINE VÀ BIẾN ĐỔI DỮ LIỆU TRONG VIỆC PHÁT HIỆN GIAN LẬN GIAO
DỊCH THẺ TÍN DỤNG
LUẬN VĂN THẠC SĨ KINH TẾ (TOÁN KINH TẾ)
HÀ NỘI, 2022
Trang 2TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
NGUYỄN TIẾN LONG
NGHIÊN CỨU VỀ PHƯƠNG PHÁP SUPPORT VECTOR MACHINE VÀ BIẾN ĐỔI DỮ LIỆU TRONG VIỆC PHÁT HIỆN GIAN LẬN GIAO
DỊCH THẺ TÍN DỤNG
Chuyên ngành: Toán kinh tế
Mã số: 9310101
LUẬN VĂN THẠC SĨ KINH TẾ (TOÁN KINH TẾ)
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS NGUYỄN QUANG HUY
HÀ NỘI, 2022
Trang 3cam kết bằng danh dự cá nhân rằng nghiên cứu này do tôi tự thực hiện và không viphạm yêu cầu về sự trung thực trong học thuật.
Hà Nội, ngày … tháng … năm 2022
Học viên
Nguyễn Tiến Long
Trang 4DANH MỤC BẢNG
Trang 5BIỂU ĐỒ 2.2: VÍ DỤ VỀ BIỂU ĐỒ AUC-PR (SCIKIT-LEARN) 23 BIỂU ĐỒ 3.1: MINH HOẠ THỂ HIỆN SỰ MẤT CÂN ĐỐI DỮ LIỆU 25 BIỂU ĐỒ 3.2: PHÂN PHỐI BIẾN 'TIME' VÀ ‘AMOUNT’ 26 BIỂU ĐỒ 3.3: PHÂN PHỐI GIỮA 'CLASS' VÀ 'AMOUNT' 27 BIỂU ĐỒ 3.4: PHÂN PHỐI 'CLASS' SAU KHI LẤY LẠI MẪU 29
Trang 6BIỂU ĐỒ 4.31: CONFUSION MATRIX 46
Trang 7SVM Thuật toán Support Vector Machine
TP True Positive, dương tính thật
FP False Positive, dương tính giả
SMOTE Kỹ thuật bốc mẫu giả lập cho lớp thiểu sổ (Synthetic
Minority Over-sampling Techniques)
Trang 81.1 Hiện trạng gian lận thẻ trong ngành tài chính 1
2.1 Các nghiên cứu về học máy trong phát hiện gian lận thẻ 6
Trang 95.1 Kết luận chung 61
Trang 10TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
NGUYỄN TIẾN LONG
NGHIÊN CỨU VỀ PHƯƠNG PHÁP SUPPORT VECTOR MACHINE VÀ BIẾN ĐỔI DỮ LIỆU TRONG VIỆC PHÁT HIỆN GIAN LẬN GIAO
DỊCH THẺ TÍN DỤNG
Chuyên ngành: Toán kinh tế
Mã số: 9310101
LUẬN VĂN THẠC SĨ KINH TẾ (TOÁN KINH TẾ)
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS NGUYỄN QUANG HUY
HÀ NỘI, 2022
Trang 11CHƯƠNG 1 GIỚI THIỆU
1.1 HIỆN TRẠNG GIAN LẬN THẺ TRONG NGÀNH TÀI CHÍNH
1.1.1 Hiện trạng của gian lận thẻ
Gian lận thẻ tín dụng theo như định nghĩa của đại học luật Cornell là một thểloại ăn trộm danh tính người khác sử dụng thông tin thẻ tín dụng với mục đíchchiếm đoạt tiền để thực hiện các giao dịch thẻ trái phép Cho dù không phải là mộtvấn đề mới mẻ nhưng gian lận về các loại giao dịch tài chính, nhất là giao dịch thẻvẫn là một vấn nạn của các tổ chức tài chính trên toàn thế giới Trong nghiên cứu vềgian lận thẻ tín dụng của mình, Jurgovsky (2019) đã chỉ ra một số loại gian lận thẻnhư sau:
- Thẻ bị mất hoặc ăn trộm khi người khác trộm hoặc chiếm đoạt được thẻ
vật lý của người dùng thẻ và sử dụng cho các mục đích phi pháp
- Làm giả thẻ khi người khác chiếm đoạt được và làm giả các thông tin
nhạy cảm trên thẻ để có thể sao chép thẻ thành thẻ khác
- Gian lận đăng ký thẻ xảy ra khi người đăng ký thẻ sử dụng thông tin giả
mạo để đăng ký được thẻ tín dụng
- Gian lận thanh toán xảy ra khi người dùng thẻ thực hiện giao dịch hợp
pháp nhưng vẫn gửi yêu cầu bồi thường tới tổ chức tín dụng, báo cáo giaodịch đó là gian lận để được hưởng chính sách xử lý gian lận của các tổchức tín dụng
- Ăn trộm danh tính chủ thẻ để thực hiện các giao dịch trên thanh danh
của chủ thẻ
- Giả lập thẻ để thực hiện giả lập lên mã thẻ, số CVV và ngày đáo hạn thẻ
để tìm ra được tổ hợp thẻ hợp lệ để thực hiện các giao dịch thanh toán.Trong một nghiên cứu được thực hiện bởi Nilson, đến năm 2030, các vụ gianlận được dự đoán sẽ làm tổn thất 408.50 tỷ USD cho ngành tài chính toàncầu[CITATION Nil21 \p 6 \l 1066 ] Trong cùng nghiên cứu, tại năm 2020, các tổchức tài chính đã mất 6.8 cent với mỗi 100$ thanh toán, tương đương với 0.68% giátrị giao dịch Tại Việt Nam, vấn nạn lừa đảo giao dịch trực tuyến hoặc qua thẻ tín
Trang 12Các tổ chức tài chính cũng gia tăng an ninh trong việc quản lý giao dịch thẻbằng việc cung cấp dịch vụ xác thực hai lớp hoặc xác thực qua OTP (One-timePassword), một loại xác thực sử dụng một lần để có thể truy cập vào dịch vụ củamột nhà cung cấp Ngoài ra, các tổ chức tài chính cũng tăng cường quản trị rủi rothẻ tín dụng trong giai đoạn từ năm 2017 trở lại đây, nhằm tăng cường khả năngphòng ngừa lừa đảo trong thanh toán thẻ tín dụng [ CITATION otpruiro2020 \l
1066 ]
1.1.2 Thực trạng của việc phát hiện gian lận thẻ
Như đã đề ra tại mục 1.1.1, các tổ chức tài chính tại Việt Nam hầu hết chỉdừng lại tại việc phòng ngừa khả năng xảy ra lừa đảo thẻ tín dụng Các hành vi lừađảo đều không bị phát hiện cho đến khi người dùng nhận được thông báo và thiệthại đã xảy ra
Các phương thức phát hiện gian lận thẻ tín dụng được áp dụng nhiều hơn tạicác nước phát triển Ví dụ tại Thuỵ Sĩ, ngân hàng PostFinance, một nhánh tài chínhcủa dịch vụ bưu chính tại nước này đã chọn giải pháp Falcon Fraud Manager, mộtphần mềm được xây dựng dựa trên thuật toán neural network để phát hiện các giaodịch có mang tính chất gian lận tại hệ thống ngân hàng này [ CITATION Fin21 \l
1066 ] Cơ chế hoạt động của hệ thống Falcon là chấm điểm từng giao dịch tại thờigian thực Khi điểm được hệ thống Falcon chấm vượt quá một ngưỡng rủi ro đượcthiết lập bởi tổ chức tài chính thì Falcon sẽ tạo một vụ việc và gửi lại cho nhân viênphân tích để xử lý.[ CITATION Jos11 \l 1066 ]
Mặc dù vậy, các hệ thống phát hiện gian lận hiện tại hầu hết được thực hiệntrên việc chấm điểm các giao dịch và đưa ra điểm rủi ro theo từng khoảng thời gian
Trang 13Trong nghiên cứu về phát hiện gian lận của mình với ngân hàng Mellon, Ghosh vàReilly (1994) cũng chỉ ra rằng hệ thống FDS (Fraud Detection System) của ngânhàng Mellon cũng sử dụng mạng thần kinh nhân tạo để có thể chấm điểm các giaodịch trong mỗi hai tiếng để đưa cho cán bộ phân tích tiếp tục xử lý.
1.2 TRỞ NGẠI CỦA VIỆC PHÁT HIỆN GIAN LẬN
Việc phát hiện gian lận trước đây phần lớn dựa vào việc xem xét lại các giaodịch lịch sử và sẽ có các chuyên gia chấm điểm và dựa vào đó chỉ ra các giao dịchbất thường [ CITATION Tib22 \l 1066 ] Nhưng trong một môi trường số với mọiviệc được thực hiện trên mạng và trong thời gian thực, việc phát hiện ra gian lận trởnên khá khó khăn vì ta cần phát hiện tại lúc giao dịch đó xảy ra và ngăn chặn kịpthời Vậy nên việc phát hiện gian lận trong kỷ nguyên số cần những thuật toán họcmáy có thể xử lý dữ liệu trong thời gian thực
Hình 1.1: Quy trình phát hiện gian lận
Mất cân đối dữ liệu cũng là một vấn đề nan giải trong việc phát hiện gian lận.Trên thực tế, số lượng giao dịch gian lận thường không vượt quá số lượng giao dịchhợp pháp Vậy nên, các mô hình phân lớp thường sẽ có độ chệch lớn về phía lớpgiao dịch hợp pháp, lớp có số lượng giao dịch cao hơn rất nhiều [ CITATIONMqa21 \l 1066 ] Như vậy, mô hình được xây dựng lên cần có độ chệch thấp vàphương sai thấp
Trang 14Một trở ngại nữa ta thường gặp trong bài toán là việc bảo mật dữ liệu tại các
tổ chức tài chính Cụ thể nghị định 117/2019/NĐ-CP ban hành năm 2018 đã có quyđịnh rõ về việc giữ bí mật trong việc cung cấp thông tin khách hàng của tổ chức tíndụng Khoản 4 điều 4 đã chỉ rõ các tổ chức tín dụng không được cung cấp thông tinkhi chưa có sự đồng ý của khách hàng Như vậy, việc thu thập dữ liệu với số lượnglớn, liên quan tới nhiều khách hàng là một việc khá phức tạp, trải qua nhiều quytrình
1.3 MỤC TIÊU
Mục tiêu chính của bài nghiên cứu là xem xét sự phù hợp của thuật toán họcmáy, chi tiết hơn là thuật toán Support Vector Machine trong việc phát hiện gian lậnđối với tập dữ liệu có sự mất cân bằng lớn Để đạt được mục đích như vậy, bàinghiên cứu sẽ trả lời các câu hỏi nghiên cứu sau:
- Câu hỏi 1: Việc áp dụng mô hình Support Vector Machine phát hiện
được các giao dịch gian lận trong tập dữ liệu gốc không?
- Câu hỏi 2: Việc biến đổi dữ liệu có làm cho mô hình hiệu quả hơn trong
việc phát hiện được giao dịch gian lận không?
- Câu hỏi 3: Phương pháp kết hợp nào giữa kernel của thuật toán Support
Vector Machine và kỹ thuật biến đổi dữ liệu nào sẽ mang lại kết quả tốtnhất trong việc phát hiện ra giao dịch gian lận?
1.4 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
1.4.1 Đối tượng nghiên cứu
Để hoàn thành mục tiêu nghiên cứu, bài nghiên cứu tập trung chủ yếu vàoviệc áp dụng mô hình Support Vector Machine và các phương pháp biến đổi dữ liệuvới những giao dịch thanh toán thẻ tín dụng
1.4.2 Phạm vi nghiên cứu
Luận văn sử dụng giao dịch thẻ tín dụng được thu thập sẵn bởi Đại học Tự
Do Bruxelles trong hai ngày thuộc tháng 9 năm 2013 Luận văn tập trung vào việcxét tính phù hợp của việc biến đổi dữ liệu và mô hình Support Vector Machinetrong việc phát hiện giao dịch gian lận thẻ tín dụng
Trang 151.5 CẤU TRÚC BÀI LUẬN VĂN
Chương 1 bài nghiên cứu giới thiệu về hiện trạng gian lận trong giao dịch tài
chính và tín dụng, đưa ra các trở ngại trong việc nghiên cứu về phân loại gian lận
Chương 2 bài nghiên cứu đưa ra các nghiên cứu trước đây liên quan tới việc
phân lớp giao dịch gian lận và đưa ra các lý thuyết về học máy, thuật toán SVM, cácphương pháp biến đổi dữ liệu và các phương pháp đánh giá mô hình
Chương 3 đưa ra phương pháp bài nghiên cứu sử dụng để phân tích dữ liệu
và xây dựng mô hình tối ưu nhất cho bài toán
Chương 4 của bài nghiên cứu đưa ra các kết quả của bài nghiên cứu và thực
hiện đánh giá
Chương 5 bài nghiên cứu sẽ kết luận lại các kết quả, đưa ra những tồn tại và
hướng nghiên cứu sau này
Trang 16CHƯƠNG 2 CƠ SỞ LÝ LUẬN
2.1 CÁC NGHIÊN CỨU VỀ HỌC MÁY TRONG PHÁT HIỆN GIAN LẬN THẺ
Phân lớp gian lận trong giao dịch thẻ là vấn đề được nghiên cứu khá nhiềutrong các năm trở lại đây Các kỹ thuật mà các bài nghiên cứu sử dụng cũng đượctrài rộng từ các thuật toán không giám sát, có giám sát và các thuật toán mạng nơron nhân tạo
Việc phân loại những giao dịch gian lận có thể sử dụng những thuật toánkhông giám sát để tìm ra những trường hợp ngoại lai trong mẫu dữ liệu Các bàitoán này thường dùng các thuật toán chỉ ra những điểm ngoại lai để giúp phân loạicác diểm đó là các giao dịch gian lận Bài nghiên cứu của Bolton và Hand (2001) sửdụng các phương pháp thống kê với dữ liệu giao dịch và dữ liệu hành vi để pháthiện ra các giao dịch gian lận Bằng việc sử dụng phương pháp phân tích nhómngang hàng (Peer Group Analysis) và phân tích điểm dừng (Break point analysis),bài nghiên cứu đã chỉ ra rằng việc phân tích nhóm ngang hàng có thể chỉ ra đượccác điểm dữ liệu bất thường và việc phân tích điểm dừng giúp cho việc phát hiện racác hành vi mang tính gian lận bằng việc so sánh các giao dịch tại điểm đầu và cuóicủa từng chuỗi thời gian Bài nghiên cứu của Domingues (2015) đã sử dụng nhiềuthuật toán không giám sát để thực hiện phân cụm các giao dịch đặt vé trên hệ thốngAmadeus để tìm ra các giao dịch mang tính ngoại lai Bài nghiên cứu chỉ ra rằngthuật toán Self-Organizing Map và Z-Score cho khả năng chỉ ra ngoại lai tốt nhất,
từ đó có thể chỉ ra các giao dịch gian lận
Đối với sự phát triển của giao dịch số và các công cụ phân tích và sử dụng
dữ liệu lớn, việc phân lớp giao dịch gian lận bằng phương pháp có giám sát cũng trởnên dễ dàng hơn Việc này dẫn đến có nhiều nghiên cứu hơn về phân loại giao dịchgian lận bằng thuật toán có giám sát trong thời gian gần đây
Admel Husejinovic đã đưa ra nghiên cứu về phân loại gian lận thẻ tín dụngbằng việc áp dụng và so sánh ba thuật toán: Naive Bayesian, cây quyết định C4.5 vàphương pháp Bagging bằng phần mềm Weka [ CITATION NBAdm20 \l 1066 ]
Trang 17Nghiên cứu sử dụng phương pháp Precision Recall Curve để đánh giá hiệu quả củacác thuật toán Husejinovic đã kết luận rằng việc áp dụng phương pháp Bagging vàothuật toán gốc là cây quyết định C4.5 đã đóng góp vào tỉ lệ phân loại chính xác giữahai lớp.
Việc sử dụng các kỹ thuật học máy như ensemble để tăng hiệu quả phân loạitrong học máy hoặc trong việc phát hiện gian lận cũng đã được nghiên cứu nhiều
Kỹ thuật ensemble là chỉ chung cho những kỹ thuật sử dụng nhiều thuật toán họcmáy cùng lúc như bagging (bootstrap aggregating) hoặc boosting Nghiên cứu bởiAyorinde (2021) cũng sử dụng thuật toán Random Forest, một trong những thuậttoán sử dụng kỹ thuật bagging để tạo ra các tập dữ liệu mới dựa trên tập dữ liệu gốc
để làm đầu vào cho thuật toán rồi tổng kết kết quả của các thuật toán đó và đưa rakết quả
Nhiều nhà nghiên cứu cũng sử dụng mô hình XGBoost trong phân loại gianlận Ví dụ như nghiên cứu của Lei và các cộng sự (2020) đã áp dụng kỹ thuậtXGBoost vào việc phân loại các giao dịch gian lận và phát hiện ra rằng kỹ thuậtXGBoost có kết quả tốt hơn các thuật toán truyển thống như Naive Bayes hoặc hồiquy Logit với điểm Accuracy lên tới 0.976
Việc mất cân đối trong dữ liệu cũng đã được nhiều nhà nghiên cứu chỉ ratrong nghiên cứu của họ Ayorinde (2021) đã đề cập tới vấn đề mất cân đối dữ liệuvới việc thử nghiệm các thuật toán với kỹ thuật undersampling và oversampling Từ
đó bài nghiên cứu rút ra được thuật toán Random Forest đưa ra kết quả phân loại tốtnhất và kỹ thuật oversampling cũng giúp phần nào trong việc tăng tính hiệu quả củaviệc phân loại dữ liệu bất đối xứng Meng và các cộng sự (2020) cũng đã sử dụngthuật toán XGBoost và kỹ thuật SMOTE (Synthetic Minority Over-samplingTechnique) và chỉ ra rằng biến đổi dữ liệu với kỹ thuật SMOTE đã giúp cho môhình XGBoost có được kết quả tốt hơn
2.2 PHƯƠNG PHÁP HỌC MÁY
Học máy là một lĩnh vực nhỏ của khai phá dữ liệu sử dụng các phương phápthống kê, mô hình toán và sức mạnh tính toán của máy tính để giả lập phương pháp
Trang 18học của con người bằng dữ liệu Lượng dữ liệu càng lớn, độ chính xác của mô hìnhkhai phá dữ liệu càng cao Trong lịch sử của loài người, chúng ta luôn luôn học từlỗi sai của mình hoặc tìm cách để làm tốt hơn một vấn đề nhất định Các chươngtrình máy tính thông thường hầu hết chỉ sử dụng logic và không thể sử dụng kết quảđầu ra để củng cố cho quá trình thực thi các câu lệnh, vậy nên các chương trình máytính đó chỉ có thể trả lại một hoặc một vài thông tin cố định từ một dữ liệu đầu vào.Đến năm 1952, Samuel là nhà khoa học đầu tiên phát minh ra một chương trình cóthể tự chơi cờ ca-rô và có thể học được những nước cờ để cho những lần sau có thểchơi tốt hơn [CITATION Cla17 \p "1123 - 1124" \l 1066 ] Các phương pháp họcmáy có thể chia nhỏ hơn thành học có giám sát và học không giám sát, tuỳ thuộcvào yêu cầu bài toán và dữ liệu đầu vào
2.2.1 Học có giám sát
Học có giám sát (supervised learning) là quy trình học máy sử dụng cả dữliệu đầu vào (các biến độc lập) và dữ liệu của biến phụ thuộc hay còn gọi là nhãncủa dữ liệu trong quá trình học để xây dựng nên mô hình có thể đưa ra được đầu ra
là biến phụ thuộc [CITATION Cla17 \p 1213-1214 \l 1066 ] Đối với các bài toánhọc có giám sát, dữ liệu đầu vào của bài toán là tập m là mẫu dữ liệu vector
x(i)
với i=1, , m và nhãn tương ứng được đánh chính xác qua quan sát thực tế y(i).Mục đích chính của phương pháp này là sử dụng dữ liệu đầu vào nói trên để xâydựng một mô hình f (x ;θ)=θ T ∅ Bởi vì vectors ∅ được tính toán trực tiếp từ tập x
nên toàn bộ các vector đầu vào đều có ảnh hưởng ít nhiều đến mô hình Vậy nên,việc trích chọn ra được các đặc trưng, biến tốt để có thể tăng khả năng chính xáccủa mô hình được xây dựng nên
2.2.2 Học không giám sát
Học không giám sát (unsupervised learning) là quá trình sử dụng dữ liệu đầuvào để tìm ra được cấu trúc của dữ liệu, từ đó gợi ý ra được các quy luật, phânnhóm cho các dữ liệu hiện tại và sau này[CITATION Cla17 \p 1304 \l 1066 ] Việchọc không giám sát là tìm ra một đại diện Θ cho mô hình Φ (x) Từ đó ta có thể tối
ưu được Θ để các vectors đại diện ϕ=Φ(x ;Θ) được tối ưu hơn là dữ liệu đầu vào x
Trang 192.2.3 Mất cân đối phân lớp trong dữ liệu
Đối với bài toán phân loại gian lận, việc bị mất cân bằng trong dữ liệu là điềukhó tránh khỏi khi chưa đến 1% dữ liệu giao dịch là dữ liệu gian lận Do vậy, vớimột mô hình có tỷ lệ chính xác (Accuracy) lên đến 99% nhưng lại không thể ápdụng vào thực tế là tìm ra được những giao dịch mang tính gian lận thực tế Vậynên trước khi có thể dự báo thì dữ liệu phải được xử lý mất cân đối Các bước xử lý
dữ liệu được thực hiện trước khi đưa dữ liệu vào mô hình để học Các nghiên cứutrước đây về phân loại gian lận cũng sử dụng một số thủ thuật như undersampling
và oversampling để xử lý sự mất cân đối dữ liệu [ CITATION Kay21 \l 1066 ] Một
số thủ thuật để xử lý sự mất cân đối của dữ liệu có thể được kể đến như Resamplengẫu nhiên; SMOTE hoặc gỡ bỏ Tomek link
2.2.3.1 Undersampling ngẫu nhiên
Để xử lý sự mất cân bằng của dữ liệu, việc đầu tiên ta có thể làm là ngẫunhiên loại bỏ dữ liệu ở lớp đa số để cân bằng dữ liệu
Hình 2.2: Ví dụ về việc sử dụng undersampling
2.2.3.2 Oversampling ngẫu nhiên
Ngược lại với việc undersampling là oversampling, phương pháp này ngẫunhiên bổ sung dữ liệu bằng cách sao chép dữ liệu hiện tại ngẫu nhiên vào lớp thiểu
số để làm cân bằng dữ liệu
Trang 20từ i1 đến i2, theo như Batista và các cộng sự (2004) Việc loại bỏ các Tomek Linktrong dữ liệu được coi là một phương pháp undersampling khi hầu hết các điểm dữliệu trong Tomek link được loại bỏ
Hình 2.4: Mô tả loại bỏ dữ liệu sử dụng Tomek link
Trang 212.2.3.4 Syntheic Minority Over-sampling Technique (SMOTE)
SMOTE là một kỹ thuật sử dụng để cân bằng dữ liệu được Chawla và cộng
sự (2002) phát triển Về bản chất, SMOTE là kỹ thuật over-sampling, bổ sung dữliệu vào lớp dữ liệu thiểu số Sử dụng kỹ thuật k nearest neighbors, dữ liệu lớp thiểu
số được bổ sung thêm dựa vào các điểm dữ liệu gần nhau trên không gian đặc trưng.Điểm dữ liệu được bổ sung bằng cách lấy hiệu của các vector gần nhau và nhân vớimột giá trị bất kỳ giữa 0 và 1 để tạo ra điểm dữ liệu mới Phương thức này giúp chovùng quyết định của lớp thiểu số mang tính tổng thể hơn
Hình 2.5: So sánh giữa SMOTE và oversampling ngẫu nhiên
Trang 222.3 THUẬT TOÁN SUPPORT VECTOR MACHINE
Các thuật toán sử dụng trong bài toán học có giám sát điển hình có thể kể ranhư hồi quy logit trong bài toán phân loại, hoặc thuật toán Support Vector Machine(SVM) Thuật toán SVM được Vladimir Vapnik đưa ra lần đầu dưới cái tên SupportVector Network[CITATION Vla95 \l 1066 ] Thuật toán SVM đưa các vector đầuvào vào một không gian Z để có thể xây dựng một siêu mặt phẳng (hyperplane) vớiđặc tính đặc biệt để đảm bảo tính khái quát của mô hình xây dựng được
Hình 2.6: Ví dụ của một bài toán phân loại trên mặt phẳng hai chiều
2.3.1 Biên cứng (Hard margin) trong Support Vector Machine
Nhìn trên không gian hai chiều thì ta có thể thấy việc giải bài toán phân loạihai lớp với SVM là việc tìm ra được mặt phẳng tối ưu nhất sao có thể phân táchđược hai lớp dữ liệu tốt nhất Để tìm được một mặt phẳng như vậy thì ta cần tìmđược các mặt phẳng mà khoảng cách giữa các mặt phẳng đó là tối ưu nhất Trongkhông gian nhiều chiều thì mặt phẳng đó trở thành một siêu mặt phẳng Khoảngcách từ một vector có toạ độ x0 tới siêu mặt phẳng w T x+b=0 sẽ được xác định bởi:
¿w T x0+b∨ ¿
¿|w|∨¿2¿¿
Trang 23Với ¿|w|∨¿2=√ ∑
i=1
d
w i2¿ với d là số chiều của không gian vector
Nếu ta xét tập dữ liệu có dán nhãn sau:
(x1, y1), … ,(x l , y l), y i ∈{−1,1 }(1.1)
Ta có thể nói rằng tập dữ liệu trên có thể được chia cắt tuyến tính nếu có mộtvector w và một vô hướng b để bất phương trình sau có giá trị đối với mọi phần tửcủa tập dữ liệu (1.1)
với ràng buộc y i(w T x i+b)≥1, ∀ i=1, …,l
Tương đương với
Trang 24với ràng buộc 1− y i(w T x i+b)≤ 0, ∀ i=1, …, l(1.5)
Ta có thể thấy (1.5), hàm mục tiêu và các hàm ràng buộc là hàm lồi nên bàitoán được coi là một bài toán tối ưu hàm lồi Dạng của bài toán trên cũng có dạngtoàn phương, với hàm mục tiêu là strictly convex bởi ¿∨w∨¿22 = w T Iwvới I là ma
trận đơn vị xác định dương Từ đây bài toán có thể được giải bằng các công cụ hỗtrợ tìm nghiệm cho bài toán dạng toàn phương
2.3.2 Biên mềm (Soft margin) trong Support Vector Machine
Đối với SVM thuần, bài toán được nêu trên chỉ có ý nghĩa khi dữ liệu của hailớp được phân tách hoàn toàn một cách tự nhiên (linear separable) Nhưng trên thực
tế, sẽ luôn luôn có nhiễu xảy ra trong tập dữ liệu huấn luyện dẫn đến việc dữ liệu bịhuấn luyện quá mức (overfit) hoặc trong một vài trường hợp việc huấn luyện làkhông khả thi Vậy nên ta cần hy sinh một số điểm dữ liệu trong vùng nhiễu để cóthể có một mô hình tốt hơn Từ đó, SVM biên mềm được sinh ra với việc giới thiệubiến hy sinh (slack variable) vào thuật toán để xử lý nhiễu trên dữ liệu
Hình 2.7: Slack variable trong SVM biên mềm
Bài toán tối ưu dạng chuẩn cho SVM biên mềm như sau:
Trang 25Với λ=[λ1, λ2, … , λ N]T ≽ 0 và μ=[μ1, μ2, … , μ T]T≽ 0 là các biến đỗi ngẫu
Lagrange Chúng ta sẽ xét mỗi cặp (λ , μ) và (w ,b ,ξ ) thoả mãn điều kiện đạo hàm của nhân tử Lagrange bằng 0:
Từ (1.10) ta có thể suy ra 0 ≤ λ n , μ n ≤ C , n=1,2, , Nvới cặp (λ , μ) sao cho
λ n=C−μ n Từ đó ta có thể thay biểu thức này vào nhân tử Lagrange để thu được hàm đối ngẫu:
Trang 262.3.3 Thủ thuật Kernel trong Support Vector Machine
Giả sử ta có thể tìm được một hảm số Φ (x) để biến đổi sang không gian mớisao cho mỗi điểm dữ liệu x trở thành Φ (x) và các điểm dữ liệu trong không gianmới này trở nên gần phân biệt tuyến tính Lúc đó, bài toán (1.11) trở thành:
Đối với bài toán (1.13) và biểu thức (1.14), ta không cần trực tiếp tính Φ (x)
cho mọi điểm dữ liệu bởi tính phức tạp về thời gian của phương pháp tính toán.Chúng ta chỉ cần có Φ (x) T Φ (z) dựa trên hai điểm dữ liệu x , z bất kỳ Thay vì trựctiếp tính toạ độ của một điểm dữ liệu trong không gian mới, ta có thể tìm tích vôhướng giữa hai điểm đó Việc này được gọi chung là kernel trick Hàm kernel lúcnày có thể được định nghĩa bằng k (x , z)=Φ(x ) T Φ(z ), lúc này, (1.13) và (1.14) sẽ trởthành:
Trang 28Hình 2.9: Minh hoạ kernel Polynomial với degree=3
2.3.3.3 Hàm Radial Basic Function
Hàm Radial Basic Function hay còn được gọi là hàm Gaussian được địnhnghĩa bởi:
Trang 29Hình 2.11: Minh hoạ kernel Sigmoid
2.4 ĐÁNH GIÁ MÔ HÌNH PHÂN LOẠI
Trong học máy, chúng ta cho mô hình học với một tập dữ liệu mẫu có sẵn.Nhưng để kiểm tra tính khái quát của mô hình để áp dụng cho một lượng dữ liệu lớnhơn, ta cần phải thực hiện kiểm chứng trên một lượng dữ liệu mà không được sửdụng cho việc học Việc kiểm chứng có thể sử dụng các chỉ số đánh giá để đưa ra sựtin cậy của mô hình
2.4.1 Confusion matrix
Confusion matrix là một ma trận vuông với kích thước bằng số lớp của dữliệu để thể hiện số lượng dữ liệu thực sự thuộc vào một lớp Ma trận này có mộtchiều chỉ số lượng điểm dữ liệu thực tế và chiều còn lại chỉ số lượng điểm dữ liệu
mà thuật toán ta phân loại được Confusion matrix là một chỉ số thường được sửdụng để đánh giá mô hình phân loại bằng cách chỉ ra cụ thể lớp nào được phân loại
ra sao và dữ liệu thường bị phân loại nhầm lẫn như thế nào Đối với các bài toán haiphân loại hai lớp, chúng ta thường sẽ có một ma trận như sau thể hiện các chỉ sốdương tính thật, âm tính thật, dương tính giả, âm tính giả, thể hiện kết quả phân lớpcủa một mô hình
Trang 30Hình 2.12: Confusion matrix
Các chỉ số của confusion matrix cho bài toán phân loại gian lận được giảithích như sau:
- True Positive (TP), dương tính thật là trường hợp mà giá trị thực tế là
gian lận và thuật toán cũng phân loại được là gian lận
- False Positive (FP), dương tính giả là trường hợp mà giá trị thực tế là
không gian lận nhưng thuật toán phân loại được là gian lận
- True Negative (TN), âm tính thật là trường hợp mà giá trị thực tế là
không gian lận và thuật toán cũng phân loại được là không gian lận
- False Negative (FN), âm tính giả là trường hợp mà giá trị thực tế là gian
lận nhưng thuật toán phân loại được là không gian lận
Trang 312.4.3 Precision
Chỉ số Precision là chỉ số thể hiện tính chính xác của mô hình dựa trên sốlượng dương tính thật mô hình phân loại được Chỉ số được tính dựa trên số lượngdương tính thật trên tổng thể số lượng điểm dữ liệu dương tính mà mô hình phânloại được
F1=2 ×(Precision× Recall)
Precision+Recall
Chỉ số F1 có gía trị đi từ 0 đến 1 với 0 thể hiện độ tin cậy thấp nhất và 1 thểhiện độ tin cậy cao nhất
2.4.5 Vùng nằm dưới đường ROC
Đường ROC (Receiving Operating Characteristic curve) là một đường thểhiện tỷ lệ false positive và dương tính thật trên đồ thị với giá trị ngưỡng xác suất đi
từ 0 đến 1 Ngưỡng xác suất ở đây là ngưỡng để mô hình đưa ra quyết định về việcphân lớp Thông thường, ngưỡng xác suất thường được đặt là 0.5 cho các bài toánphân lớp Ví dụ nếu mô hình tính ra xác suất của một điểm dữ liệu là 0.8 cho việcđiểm dữ liệu đó là gian lận với ngưỡng 0.5 thì mô hình phân lớp sẽ phân điểm dữliệu đó là gian lận
Trang 32Biểu đồ 2.1: Ví dụ về biểu đồ AUCROC
Từ đường ROC, ta có thể tính được vùng nằm dưới đường ROC là khả năng
mô hình có độ tin cậy cao hay thấp Khi đường cong ROC càng tiệm cận góc trênbên trái biểu đồ thì lúc đó diện tích phía dưới đường cong càng rộng, và độ chínhxác của mô hình càng cao
2.4.6 Vùng nằm dưới đường Precision - Recall
Một chỉ số ít được dùng hơn là chỉ số vùng nằm dưới đường Precision –Recall (AUC-PR) nhưng mang lại nhiều giá trị cho bài toán phân loại gian lận hoặcphát hiện khiếm khuyết
Trang 33Biểu đồ 2.2: Ví dụ về biểu đồ AUC-PR (Scikit-learn)
Như tên gọi, chỉ số này dựa trên hai chỉ số là Precision và Recall đã đưa ra ởphía trên Một số nghiên cứu đã chỉ ra rằng chỉ số này ít ảnh hưởng bởi sự mất cânbằng của tập dữ liệu [ CITATION Hel18 \l 1066 ] nên AUC-PR rất quan trọngtrong việc đánh giá sự chính xác của mô hình phân lớp
2.5 KẾT LUẬN CHƯƠNG 2
Trên cơ sở tìm hiểu về những nghiên cứu cũ về việc phát hiện gian lận trongthanh toán thẻ tín dụng và tổng quan về phương pháp học máy và thuật toán SVM,bài nghiên cứu rút ra một số kết luận sau:
Thứ nhất, bài nghiên cứu đã chỉ ra kết quả của các bài nghiên cứu trước đây
về việc phân loại nợ Các bài nghiên cứu trước cũng đã áp dụng nhiều phương phápthống kê và phân cụm Mặc dù vậy, việc áp dụng với phương pháp học máy là mộtđiểm mới trong các nghiên cứu gần đây
Trang 34Thứ hai, bài nghiên cứu đã chỉ lý thuyết về học máy và thuật toán SupportVector Machine và các kernel thường sử dụng trong học máy với thuật toán SupportVector Machine
Thứ ba, bài nghiên cứu cũng đã đưa ra các phương pháp biến đổi dữ liệu để
xử lý vấn đề mất cân đối trong tập dữ liệu
Cuối cùng, bài nghiên cứu đã đưa ra các phương pháp để đánh giá hiệu quảcủa một mô hình phân loại để phục vụ việc đánh giá kết quả sau này
Trang 35CHƯƠNG 3 PHƯƠNG PHÁP NGHIÊN CỨU
3.1 MÔ TẢ DỮ LIỆU
Để có thể thực hiện một bài toán machine learning, việc đầu tiên là cần phải
có dữ liệu Việc thu thập dữ liệu là một công việc khó khăn nhất của quy trình họcmáy, nhất là khi dữ liệu được liên quan tới lĩnh vực tài chính Tập dữ liệu trong bàiluận văn này được thu thập lần đầu trong một bài nghiên cứu khoa học được thựchiện bởi Worldline và Machine Learning Group of ULB (Nhóm học máy của đạihọc Tự Do Bruxelles) Tập dữ liệu bao gồm giao dịch thẻ tín dụng trong hai ngàyvào tháng 9 năm 2013
Tổng cộng, tập dữ liệu bao gồm 284,807 giao dịch, trong đó chỉ có 492 giaodịch được gán nhãn là gian lận Vậy nên tập dữ liệu được đánh giá rất mất cân đốivới chỉ 0.17% giao dịch là gian lận Biến ‘Class’ thể hiện việc phân lớp của dữ liệuvới nhãn 0 thể hiện giao dịch đó là giao dịch hợp pháp và nhãn 1 thể hiện giao dịch
đó là giao dịch mang tính gian lận
Biểu đồ 3.3: Minh hoạ thể hiện sự mất cân đối dữ liệu
Trang 36Các biến còn lại bao gồm biến thời gian, số tiền giao dịch và 28 biến giá trị
số thực đã qua quá trình biến đổi Principal Component Analysis (PCA) Nhưng vìtính bảo mật của dữ liệu tài chính gán với cá nhân nên dữ liệu gốc không được tiết
lộ Bảng sau thể hiện thông tin các biến dữ trong tập dữ liệu:
Bảng 3.1: Mô tả các biến trong tập dữ liệu
Time Thời gian được tính bằng giây giữa các giao dịch
Amount Số tiền giao dịch
Class Biến phân lớp, với 0 là giao dịch hợp pháp, 1 là giao dịch gian lận
V28 Biến PCA thứ hai tám
Trước khi đi vào việc xây dựng mô hình, ta cần phải xem xét về phân phối củacác biến
Biểu đồ 3.4: Phân phối biến 'Time' và ‘Amount’
Ta có thể thấy trên iến ‘Time’ có phân phối hai phương thức Đối với biến
‘Amount, ta có thể thấy rằng hầu hết giao dịch được thực hiện tại ngưỡng dưới
5000, giao dịch có giá trị cao nhất được thực hiện là 25691 Nhìn vào hình dưới, ta
Trang 37cũng có thể thấy rằng số lượng giao dịch có gian lận rơi nhiều vào khoảng dưới5000.
Biểu đồ 3.5: Phân phối giữa 'Class' và 'Amount'
Nhìn vào ma trận tương quan, ta có thể thấy hầu hết các biến đều không cótương quan nhiều tới nhau Mặc dù vậy, khi xét tương quan của biến ‘Class’ với cácbiến khác, ta có thể thấy sự tương quan rõ ràng hơn giữa các biến được biến đổiPCA và biến ‘Class’ nhưng không quá cao Trong khi đó, sự tương quan giữa biến
‘Class’ và biến ‘Amount’ và ‘Time’ gần như không có khi xét về chỉ số tương quan
Trang 39Biểu đồ 3.6: Phân phối 'Class' sau khi lấy lại mẫu
3.2.1 Chuẩn hoá dữ liệu
Chuẩn hoá dữ liệu là việc biến đổi dữ liệu sao cho dữ liệu có một phân phốichuẩn với trung bình bằng 0 và độ lệch chuẩn là 1 Một số thuật toán sẽ hoạt độngtốt hơn với tập dữ liệu đã được chuẩn hoá Việc chuẩn hoá có thể được thực hiệnnhư sau:
Trang 403.2.2 Phân tách tập huấn luyện và tập kiểm thử
Đối với việc học máy, chúng ta phải kiểm tra lại tính chính xác và tính tổngquan của mô hình Mặc dù vậy, chúng ta không thể kiểm thử mô hình dựa vào dữliệu đã huấn luyện mà cần một tập dữ liệu kiểm thử riêng
Đối với bài nghiên cứu này, chúng ta sẽ chia tập dữ liệu ra thành hai phần làtập huấn luyện với 60% dữ liệu và 40% dữ liệu còn lại phục vụ việc kiểm thử kếtquả phân lớp của mô hình Dữ liệu tại tập huấn luyện sẽ được sử dụng để xử lý mấtcân đối dữ liệu, tối ưu tham số C và huấn luyện mô hình
3.2.3 Xử lý mất cân đối dữ liệu
Mục 2.1 và 2.2 đã đề cập đến việc tập dữ liệu bị mất cân đối tại biến ‘Class’.Vậy nên nếu ta sử dụng bộ dữ liệu này cho việc huấn luyện, mô hình sẽ có khuynhhướng thiên về phân lớp những giao dịch hợp pháp Như vậy khi chúng ta kiểmđịnh lại hoặc đưa một tập dữ liệu mới vào mô hình thì mô hình sẽ không phân lớptốt Một giải pháp để giải quyết vấn đề này là biến đổi dữ liệu sử dụng các kỹ thuậtnhư oversampling ngẫu nhiên, undersampling ngẫu nhiên, SMOTE và gỡ bỏ Tomeklink Như vậy, số lượng quan sát trong tập huấn luyện sẽ thay đổi như sau:
Bảng 3.2: Phân phối 'Class' sau khi biến đổi
Class Dữ liệu gốc Oversampling Undersampling SMOTE Tomek link
3.3.2 Tối ưu tham số C bằng việc đánh giá chéo
Tham số C là một hyperparameter phục vụ cho việc tổng quan hoá mô hình(Regularization) Đối với mô hình SVM, như đã mô tả tại mục 1.4.3, điều kiện bắt