B GIO DC V O TO
TRNG I HC S PHM H NI
--------
NGHIấM TH TON
MASK: PHƯƠNG PHáP MớI
NÂNG CAO HIệU QUả PHáT HIệN GIAN LậN TàI
CHíNH
Chuyờn ngnh: Khoa hc mỏy tớnh
Mó s: 60480101
LUN VN THC S CễNG NGH THễNG TIN
Ngi hng dn khoa hc: TS. ng Xuõn Th
H NI, NM 2016
LI CM N
hon thnh lun vn ny, em xin by t lũng kớnh trng v bit n sõu
sắc đến TS. Đặng Xuân Thọ, đã tận tình hướng dẫn, động viên và giúp đỡ em trong
suốt thời gian thực hiện đề tài.
Em xin chân thành cảm ơn các thầy cô giáo trong khoa Công nghệ thông tin,
Trường Đại học Sư phạm Hà Nội đã tạo mọi điều kiện thuận lợi cho em được học
tập và nghiên cứu trong thời gian qua.
Cuối cùng, em xin gửi lòng biết ơn đến những người thân trong gia đình và
bạn bè đã dành cho em sự khích lệ, động viên và giúp đỡ em trong suốt quá trình
học tập.
Mặc dù đã có nhiều cố gắng để thực hiện luận văn, nhưng quá trình thực hiện
không thể tránh khỏi những thiếu sót và hạn chế. Rất mong nhận được sự thông
cảm và ý kiến đóng góp của các thầy cô giáo và các bạn.
Em xin chân thành cảm ơn!
Hà Nội, ngày …. tháng … năm 2016
Học viên
Nghiêm Thị Toàn
2
2
MỤC LỤC
3
3
DANH MỤC CÁC TỪ VIẾT TẮT
STT Từ viết tắt
1
SVM
2
K-NN
Tiếng anh
Support Vector Machines
K- Neareast neighbor
Synthentic Minority Oversampling Technique
3
SMOTE
4
ROS
Random over-sampling
5
RUS
Random under-sampling
Tiếng việt
Máy véc tơ hỗ trợ
K- láng giềng gần nhất
Kỹ thuật sinh thêm phần tử
nhân tạo lớp thiểu số
Sinh thêm phần tử ngẫu
nhiên
Loại bỏ phần tử ngẫu nhiên
4
4
DANH MỤC CÁC HÌNH VẼ
5
5
DANH MỤC CÁC BẢNG BIỂU
6
6
PHẦN 1 - MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay, việc phát hiện và ngăn chặn các giao dịch tài chính gian lận ngày
càng trở nên quan trọng. Gian lận thẻ tín dụng hay gian lận cước di động có ảnh
hưởng rất lớn đến các tổ chức kinh doanh. Tại Hoa Kỳ, gian lận viễn thông gây tổn
thất hàng trăm triệu đô la Mỹ mỗi năm [1]. Để phát hiện sớm những giao dịch bất
thường, người ta thường phân tích những thông tin trong cơ sở dữ liệu giao dịch đã
có. Bằng cách này có thể xác định một giao dịch nào đó không giống với những
giao dịch đã được thực hiện trước đó. Mặc dù số giao dịch gian lận nhỏ hơn rất
nhiều so với các giao dịch thông thường nhưng việc phân loại chính xác chúng
thường có giá trị lớn hơn so với phân loại chính xác các giao dịch thật.
Tuy nhiên, với sự phát triển của khoa học công nghệ và sự bùng nổ dữ liệu
hiện nay, phương pháp phân tích dữ liệu truyền thống đòi hỏi những yêu cầu điều
tra phức tạp và tốn kém về mặt thời gian [2]. Ngày nay, bài toán phát hiện gian lận
có thể được giải quyết với sự hỗ trợ của các kỹ thuật khai phá dữ liệu. Trong đó,
phân lớp là một phương pháp học có giám sát được áp dụng phổ biến nhất, đặc biệt
phù hợp với lĩnh vực phát hiện gian lận và quản lý rủi ro tín dụng [3]. Kỹ thuật phân
lớp sử dụng các giải thuật học để xây dựng một mô hình phân loại dựa trên tập dữ
liệu huấn luyện. Đối với các ứng dụng phát hiện gian lận, tập dữ liệu huấn luyện
được sử dụng bao gồm các bản ghi về các giao dịch thật và các giao dịch bất
thường. Sau đó, tập dữ liệu thử nghiệm được dùng để ước tính độ chính xác của mô
hình phân loại. Nếu độ chính xác là chấp nhận được thì mô hình này có thể được sử
dụng để phân loại các mẫu dữ liệu mới và xác định các giao dịch gian lận.
Mặt khác, dữ liệu sử dụng để phát hiện gian lận thường xảy ra sự chênh lệch
lớn về số lượng phần tử giữa các lớp, điều này làm cho các thuật toán phân loại gặp
nhiều khó khăn. Các giải thuật phân lớp thường đạt độ chính xác cao đối với lớp đa
số, trong khi đó, với lớp thiểu số thì hoàn toàn ngược lại. Nhiều bộ phân loại thường
xem các dữ liệu ít thường xuyên là hiếm, hoặc nhiễu. Do đó, các phần tử lớp thiểu
số thường bị bỏ qua hoặc bị phân loại sai thường xuyên hơn các mẫu phổ biến mặc
dù độ chính xác tổng thể rất lớn [1].
7
Vì những lý do trên, tác giả lựa chọn đề tài “Mask: Phương pháp mới nâng
cao hiệu quả phát hiện gian lận tài chính”, đề xuất phương pháp mới giảm tỷ lệ
mất cân bằng dữ liệu nâng cao hiệu quả phân lớp dữ liệu mất cân bằng trong bài
toán phát hiện gian lận tài chính.
2. Mục đích nghiên cứu
Đề tài được nghiên cứu với mục đích:
-
Giới thiệu về bài toán phát hiện gian lận tài chính và ứng dụng của khai phá dữ liệu
trong phát hiện gian lận tài chính.
-
Giới thiệu một số phương pháp giải quyết bài toán phân lớp dữ liệu mất cân bằng và
hướng nghiên cứu hiện nay.
-
Đề xuất phương pháp Mask nâng cao hiệu quả phát hiện gian lận tài chính.
3. Đối tượng nghiên cứu
-
Một số phương pháp điều chỉnh dữ liệu mất cân bằng hiệu quả như: SMOTE,
Borderline-SMOTE, Random over-sampling, Random under-sampling, …
-
Một số thuật toán phân lớp dữ liệu chuẩn: Naïve Bayes, Support Vector Machines,
K-Neareast neighbor…
-
Một số bộ dữ liệu mất cân bằng trong lĩnh vực phát hiện gian lận tài chính và một
số bộ dữ liệu lấy từ kho dữ liệu chuẩn UCI [4].
4. Phạm vi nghiên cứu
-
Đề tài tập trung nghiên cứu vấn đề mất cân bằng phân lớp nhị phân đối với dữ liệu
tài chính.
-
Một số phương pháp phân lớp hiệu quả đối với dữ liệu mất cân bằng.
-
Phương pháp Mask nâng cao hiệu quả phân lớp dữ liệu mất cân bằng trong phát
hiện gian lận tài chính.
-
Thực nghiệm trên một số bộ dữ liệu mất cân bằng thực tế sử dụng trong phát hiện
gian lận tài chính và bộ dữ liệu Haberman từ kho dữ liệu UCI [4].
5. Phương pháp nghiên cứu
-
Phương pháp phân tích, tổng hợp
-
Phương pháp quan sát, thực nghiệm.
8
-
Phương pháp thảo luận, trình bày, tham khảo ý kiến đánh giá dựa trên kết quả thống
kê, 10-fold cross-validation.
6. Cấu trúc luận văn
Luận văn được chia thành ba chương:
Chương 1: Tổng quan về phát hiện gian lận tài chính
Chương này giới thiệu tổng quan về phát hiện gian lận tài chính và hướng
tiếp cận khai phá dữ liệu trong phát hiện gian lận tài chính. Ngoài ra, chương 1 còn
trình bày một số giải thuật phân lớp chuẩn và những khó khăn khi áp dụng vào bài
toán phân lớp dữ liệu mất cân bằng.
Chương 2: Phương pháp phân lớp dữ liệu mất cân bằng trong phát hiện gian lận
tài chính.
Từ nhược điểm của các mô hình phân lớp chuẩn khi áp dụng đối với dữ liệu
mất cân bằng, chương này giới thiệu vấn đề mất cân bằng trong dữ liệu phát hiện
gian lân tài chính và các hướng tiếp cận để giải quyết vấn đề mất cân bằng dữ liệu
hiện nay. Cụ thể, chương 2 trình bày chi tiết một số phương pháp giải quyết vấn đề
trên ở mức độ dữ liệu đã được đưa ra trước đó và đề xuất một phương pháp mới
“Phương pháp Mask” nâng cao hiệu quả phân lớp dữ liệu mất cân bằng trong phát
hiện gian lận tài chính.
Chương 3: Thực nghiệm
Nội dung của chương 3, trình bày các kết quả thực nghiệm thu được khi áp
dụng phương pháp đã được đề xuất trong chương 2. Các thực nghiệm sẽ được tiến
hành trên các bộ dữ liệu thực tế về phát hiện gian lận tài chính. Dựa vào các tiêu chí
đánh giá, từ đó cho thấy phương pháp đề xuất đạt kết quả tốt hơn so với các phương
pháp được sử dụng để so sánh.
9
PHẦN 2 - NỘI DUNG
CHƯƠNG 1 – TỔNG QUAN VỀ PHÁT HIỆN GIAN LẬN TÀI CHÍNH
Hiện nay, gian lận tài chính ngày càng phổ biến và gây ra những hậu quả
nghiêm trọng đối với các tổ chức, cá nhân và chính phủ. Mỗi năm, gian lận tài chính
dẫn đến sự thất thoát hàng tỷ đô la. Phát hiện và ngăn chặn gian lận tài chính đã trở
thành một vấn đề quan trọng và thu hút được sự quan tâm lớn từ các nhà nghiên cứu
[5] [6] [7].
1.1. Giới thiệu về bài toán phát hiện gian lận tài chính
1.1.1. Gian lận tài chính
Theo từ điển tiếng Anh Oxford, gian lận là sự lừa dối, gian trá và trái pháp
luật, dấn đến lợi ích tài chính hoặc lợi ích cá nhân. Gian lận tài chính là một hành vi
cố ý, trái pháp luật, trái với các quy định hoặc chính sách nhằm mục đích có được
lợi ích tài chính trái phép [5].
Về mặt kinh tế, gian lận tài chính đang trở nên ngày càng nghiêm trọng, mỗi
năm gian lận tài chính gây thất thoát hàng tỷ đô la [5] [6] [7]. Sự phát triển của khoa
học và công nghệ đã làm cho các hình thức gian lận trở nên phổ biến và phức tạp
hơn. Số lượng các báo cáo sự cố gian lận thẻ tín dụng, lừa đảo doanh nghiệp, gian
lận rửa tiền đã tăng nhanh ở mức báo động [7]. Do đó, phát hiện gian lận tài chính
đóng vai trò ngày càng quan trọng. Các phương pháp khai phá dữ liệu và thống kê
đã được ứng dụng rộng rãi trong phát hiện gian lận tài chính.
Dựa theo 49 bài báo về lĩnh vực gian lận tài chính được xuất bản từ năm
1997 đến năm 2008, gian lận tài chính được chia thành bốn loại: gian lận ngân
hàng, gian lận chứng khoán và gian lận hàng hóa, gian lận bảo hiềm, và gian lận tài
chính khác có liên quan [5]. Các loại gian lận tài chính trên có thể được phân loại cụ
thể hơn như: gian lận thẻ tín dụng, gian lận rửa tiền, gian lận bảo hiểm xe ô tô, gian
lận bảo hiểm y tế, gian lận tiếp thị, gian lận doanh nghiệp,… Các loại gian lận tài
chính khác nhau được minh họa trong hình 1.1 [7].
10
Hình 1.1 - Các loại gian lận tài chính
Theo Kount, một trong năm nhà tư vấn phát hiện gian lận hàng đầu cho biết
trên trang topcreditcardprocessors.com hồi tháng Tám năm 2013, 40% tổng số các
gian lận tài chính liên quan đến thẻ tín dụng và gây thất thoát 5.55 tỷ đô la. Cũng
theo nguồn tin trên trang latino.foxnews.com vào tháng Tám năm 2014, ngân hàng
của Mỹ đồng ý chi trả 16.5 tỷ đô la mỗi năm để giải quyết các trường hợp gian lận.
Hơn nữa, thương mại điện tử đang trở thành một công cụ thiết yếu cho thương
mại toàn cầu trong thế giới ngày nay. Việc sử dụng thẻ tín dụng đã trở nên phổ biến.
Trên thế giới, tổng số thẻ tín dụng lưu hành trong năm 2011 là 2039,3 triệu thẻ và
chúng được sử dụng trong 64,24 tỷ giao dịch. Sự tăng trưởng nhanh chóng của các
con số liên quan đến thẻ tín dụng và các điểm yếu an ninh của hệ thống xử lý thẻ tín
dụng đã tạo nên sức hút của các loại tội phạm liên quan đến lĩnh vực này. Trong năm
2015, tống số tiền thiệt hại do gian lận ở Mỹ được báo cáo là 2,7 tỷ đô la và con số
này đã tăng lên 3,2 tỷ đô la năm 2007 [8]. Vì vậy, những nghiên cứu sau này của
luận văn chủ yếu tập trung vào phát hiện gian lận thẻ tín dụng.
1.1.2. Phát hiện gian lận tài chính
Phát hiện gian lận tài chính (Financial fraud detection - FFD) ngày càng trở
nên quan trọng trong việc phòng chống những hậu quả nặng nề của gian lận tài
chính. Mục tiêu của phát hiện gian lận tài chính là tối đa hóa những dự đoán chính
xác và duy trì những dự đoán không chính xác ở mức chấp nhận được. Nghĩa là khả
11
năng không phát hiện được gian lận phải ở mức thấp nhất và tối thiểu tỷ lệ dự đoán
các trường hợp không gian lận được dự đoán là gian lận [9]. Từ đó, giúp các cơ
quan, tổ chức sớm phát triển những chính sách và chiến lược phù hợp giảm ảnh
hưởng của gian lận tài chính.
Phương pháp phân tích dữ liệu truyền thống từ lâu đã được sử dụng để phát
hiện gian lận. Các phương pháp này đòi hỏi những yêu cầu điều tra phức tạp và mất
nhiều thời gian để thực hiện đối với các lĩnh vực khác nhau như: tài chính, kinh tế,
hoạt động kinh doanh và pháp luật. Các ngành công nghiệp đầu tiên sử dụng kỹ
thuật phân tích dữ liệu để phát hiện gian lận là các công ty điện thoại, công ty bảo
hiểm và ngân hàng [2].
Ngày nay, với sự phát triển của khoa học công nghệ và sự bùng nổ dữ liệu,
các phương pháp phát hiện gian lận truyền thống không còn phù hợp. Hiện nay phát
hiện gian lận thường được thực hiện bởi các kỹ thuật khai phá dữ liệu, thống kê và
trí tuệ nhân tạo. Phát hiện gian lận tài chính đã thu hút được sự quan tâm lớn của
các nhà nghiên cứu. Những năm gần đây, có nhiều bài báo và các công trình nghiên
cứu liên quan đến các phương pháp phát hiện gian lận tài chính [5]. Bolton và Hand
đã đề xuất phương pháp thống kê để phát hiện gian lận, bao gồm gian lận thẻ tín
dụng, rửa tiền và gian lận viễn thông [10]. Zhang và Zhou đã khảo sát ứng dụng của
khai phá dữ liệu trong lĩnh vực tài chính, bao gồm dự báo thị trường chứng khoán,
dự báo phá sản và phát hiện gian lận [11]. Phua và các cộng sự giới thiệu một cuộc
khảo sát về phát hiện gian lận dựa vào các kỹ thuật khai phá dữ liệu, bao gồm gian
lận các giao dịch tín dụng, lừa đảo thuê bao viễn thông, gian lận bảo hiểm ô tô [12].
Ngoài ra, còn có các công trình nghiên cứu khác về gian lận bảo hiểm và gian lận
báo cáo tài chính.
1.1.3. Khó khăn trong phát hiện gian lận tài chính
Cùng với sự phát triển của khoa học và công nghệ, các hành vi và các hình
thức gian lận ngày càng trở nên phức tạp và tinh vi hơn. Điều này làm cho việc phát
triển những phương pháp phát hiện gian lận hiệu quả gặp không ít khó khăn.
Tuy nhiên, một trong những khó khăn lớn nhất là sự không sẵn có của dữ
12
liệu được sử dụng trong phát hiện gian lận tài chính [13]. Những dữ liệu này liên
quan đến thông tin “nhạy cảm” của các cá nhân, tổ chức, chẳng hạn như dữ liệu về
các giao dịch khách hàng. Do đó, dữ liệu liên quan đến gian lận tài chính thường
không được công bố công khai. Hơn nữa, lượng dữ liệu tài chính thường rất lớn và
xảy ra sự mất cân bằng. Ví dụ, mỗi ngày có hàng triệu giao dịch thẻ tín dụng được
thực hiện. Trong khi đó, số lượng các trường hợp gian lận thường nhỏ hơn rất nhiều
với các trường hợp không gian lận. Vì vậy, phòng chống và phát hiện gian lận tài
chính trở thành một thách thức lớn đối với các nhà nghiên cứu.
1.2. Ứng dụng của khai phá dữ liệu trong phát hiện gian lận tài chính
1.2.1. Tổng quan về khai phá dữ liệu
Khai phá dữ liệu là một bước trong quá trình khám phá tri thức từ cơ sở dữ
liệu. Theo Fayyad định nghĩa, khai phá dữ liệu là quá trình trích xuất thông tin
không tầm thường, chưa biết trước đó và thông tin hữu ích từ dữ liệu [14] [15].
Một trong những mục đích chính của khai phá dữ liệu là dự đoán và mô tả
[15]. Những mục đích này có thể được thực hiện bằng nhiều kỹ thuật khác nhau.
Một số kỹ thuật phổ biến của khai phá dữ liệu như phân lớp, phân cụm, khai phá
luật kết hợp.
Phân lớp là bài toán thông dụng nhất trong khai phá dữ liệu. Phân lớp xây
dựng một mô hình (từ tập dữ liệu huấn luyện) và sử dụng một tập hợp dữ liệu kiểm
tra để dự đoán nhãn chưa biết của các đối tượng thuộc các lớp khác nhau. Các nhãn
lớp được xác định trước, rời rạc và không có thứ tự [16]. Một số phương pháp phân
lớp phổ biến như Naïve Bayes, cây quyết định, máy véc tơ hỗ trợ. Phân lớp là một
trong những kỹ thuật của khai phá dữ liệu được sử dụng phổ biến nhất trong lĩnh
vực phát hiện gian lận thẻ tín dụng, gian lận y tế và gian lận bảo hiểm ô tô, gian lận
doanh nghiệp và các loại gian lận khác [3].
Phân cụm là quá trình phân chia các đối tượng dữ liệu vào các nhóm (hay
các cụm) chưa biết trước sao cho các đối tượng trong một cụm tương tự nhau hơn
so với các đối tượng ở cụm khác. Một số kỹ thuật phân cụm phổ biến như phân cụm
phân hoạch, phân cụm phân cấp, phân cụm dựa trên mật độ và phân cụm dựa vào
lưới. Phân cụm được ứng dụng phổ biến trong nhiều lĩnh vực như: kinh doanh
13
thông minh, nhận dạng hình ảnh, sinh học, … Trong kinh doanh thông minh, phân
cụm có thể được sử dụng phân nhóm khách hàng, khách hàng trong mỗi nhóm có
những đặc điểm tương tự nhau. Điều này tạo điều kiện cho sự phát triển của chiến
lược kinh doanh [16].
Khai phá luật kết hợp là một trong những kỹ thuật quan trọng của khai phá
dữ liệu. Mục đích là tìm ra những mối liên quan giữa các giá trị dữ liệu trong cơ sở
dữ liệu. Khai phá luật kết hợp được ứng dụng rộng rãi trong nhiều lĩnh vực. Ví dụ,
sử dụng khai phá luật kết hợp để tìm ra nhóm các mặt hàng thường mua cùng nhau.
Khai phá dữ liệu liên quan đến nhiều lĩnh vực khác nhau và có nhiều ứng
dụng trong thực tế như: phân tích dữ liệu và hỗ trợ ra quyết định, điều trị y học và
chăm sóc y tế, phân tích và quản lý rủi ro, phát hiện gian lận, khai phá văn bản, …
Các ứng dụng phát hiện gian lận tài chính khác nhau sử dụng các kỹ thuật
khai phá dữ liệu và học máy khác nhau. Trong đó, kỹ thuật phân lớp được sử dụng
phổ biến nhất. Một mô hình được xây dựng bằng cách phân tích một tập dữ liệu với
các bản ghi được phân loại là gian lận hoặc không gian lận. Sau đó, có thể sử dụng
mô hình này để phân loại dữ liệu trong tương lai chưa biết là gian lận hay hợp pháp,
từ đó xác định được các trường hợp gian lận [17].
1.2.2. Kỹ thuật phân lớp dữ liệu
Phân lớp là một dạng phân tích dữ liệu dùng để trích xuất ra các mô hình mô
tả các lớp dữ liệu. Các mô hình hay còn gọi là các bộ phân lớp dùng để dự đoán các
nhãn lớp rời rạc, không có thứ tự [16]. Ví dụ, nhãn lớp là “gian lận” hoặc “không
gian lận” đối với bài toán phát hiện gian lận tài chính. Nhiều phương pháp phân lớp
được đề xuất bởi các nhà nghiên cứu trong các lĩnh vực như học máy, thống kê, hệ
chuyên gia.
Quá trình phân lớp gồm hai giai đoạn. Giai đoạn thứ nhất xây dựng một mô
hình phân lớp dựa trên tập dữ liệu huấn luyện đã biết trước nhãn lớp. Giai đoạn thứ
hai sử dụng mô hình được xây dựng để phân lớp dữ liệu mới nếu độ chính xác của
mô hình là chấp nhận được.
Giai đoạn thứ nhất, hay còn gọi là giai đoạn huấn luyện sử dụng các giải
thuật phân lớp để xây dựng một bộ phân loại bằng việc phân tích hay “học” từ tập
14
dữ liệu huấn luyện. Dữ liệu huấn luyện là dữ liệu có cấu trúc được xây dựng sẵn
bao gồm nhiều phần tử dữ liệu. Mỗi phần tử dữ liệu được mô tả bởi một số thuộc
tính. Trong đó, có một thuộc tính gọi là thuộc tính lớp cho biết phần tử dữ liệu đó
thuộc về lớp nào. Một phần tử dữ liệu có thể được gọi là mẫu (sample), ví dụ
(example), đối tượng (object) [16].
Bảng 1.1 - Ví dụ về dữ liệu huấn luyện
Thu nhập
Thấp
Thấp
Cao
Thấp
Thấp
Trung bình
Bảng 1.1 là một ví dụ về dữ liệu huấn luyện gồm có bốn thuộc tính: tên, tuổi,
thu nhập, quyết định cho vay. Trong đó “Quyết định cho vay” là thuộc tính nhãn.
Trong quá trình huấn luyện, dữ liệu huấn luyện sẽ được phân tích bởi các
giải thuật phân lớp từ đó trích rút ra thông tin và xác định một mô hình mô tả dữ
liệu. Mô hình ở đây được biểu diễn bởi các quy tắc hay các công thức toán học. Sơ
đồ quá trình huấn luyện được biểu diễn trong Hình 1.2.
15
Hình 1.2 - Sơ đồ quá trình huấn luyện
Giai đoạn thứ hai là giai đoạn phân lớp. Đây là giai đoạn sử dụng mô hình đã
được xây dựng để phân lớp dữ liệu mới nếu độ chính xác của mô hình phân lớp
chấp nhận được [16]. Do đó, tập dữ liệu thử nghiệm được sử dụng để ước tính độ
chính xác dự đoán của mô hình. Dữ liệu thử nghiệm là bộ dữ liệu đã biết trước nhãn
lớp và độc lập với dữ liệu huấn luyện. Đối với mẫu trong tập dữ liệu thử nghiệm,
nhãn lớp đã biết được so sánh với nhãn lớp được dự đoán bởi mô hình. Độ chính
xác của mô hình là tỷ lệ phần trăm các mẫu của của tập dữ liệu thử nghiệm được
phân lớp đúng. Nếu độ chính xác cao, mô hình này có thể được sử dụng để phân lớp
các dữ liệu mới chưa biết nhãn lớp. Quá trình phân lớp dữ liệu mới được biểu diễn
được biểu diễn trong Hình 1.3.
16
Hình 1.3 - Sơ đồ quá trình phân lớp
Đối với bài toán phát hiện gian lận tài chính, một mô hình phân lớp được xây
dựng để xác định các trường hợp gian lận khác nhau. Ví dụ, với các ứng dụng phát
hiện giao dịch gian lận, tập dữ liệu huấn luyện được sử dụng gồm các bản ghi về
các giao dịch trong quá khứ: các giao dịch hợp pháp và các giao dịch gian lận. Sau
đó, tập dữ liệu thử nghiệm được dùng để ước tính độ chính xác của mô hình phân
loại. Nếu độ chính xác là chấp nhận được thì mô hình này có thể được sử dụng để
phân loại các mẫu dữ liệu mới nhằm xác định các giao dịch gian lận.
1.2.3. Một số thuật toán phân lớp chuẩn
Có nhiều thuật toán thuật toán phân lớp chuẩn khác nhau cho bài toán phân
lớp đã được đề xuất như: K-láng giềng gần (K-Nearest Neighbor), cây quyết định
(decision trees), máy véc tơ hỗ trợ (Support Vector Machines), Naïve Bayes.
1.2.3.1.
Giải thuật phân lớp cây quyết định
Cây quyết định (decision trees) là cấu trúc biểu diễn dưới dạng cây gồm các
nút trong biểu diễn các thuộc tính của mẫu dữ liệu, các nút lá biểu diễn các nhãn lớp
(tương ứng với các giá trị của thuộc tính lớp), các cạnh biểu diễn giá trị có thể của
mỗi thuộc tính cụ thể. Nút cao nhất trong cây gọi là nút gốc. Để phân loại một mẫu
17
mới chưa biết nhãn lớp, các giá trị thuộc tính của mẫu sẽ được đưa vào kiểm tra trên
cây quyết định. Quá trình kiểm tra bắt đầu đi từ nút gốc, đường đi từ gốc đến một
nút lá sẽ cho biết nhãn lớp được dự đoán cho mẫu đó [18]. Một sô giải thuật cây
quyết định phổ biến như ID3, C4.5 và CART [1]. Cây quyết định thường được sử
dụng trong phát hiện gian lận thẻ tín dụng, gian lận bảo hiểm ô tô và gian lận doanh
nghiệp [19]. Hình 1.4 là ví dụ minh họa cho cây quyết định sử dụng trong bài toán
phát hiện gian lận thuế.
Hình 1.4 - Cây quyết định cho bài toán phân lớp gian lận thuế
Quá trình xây dựng mô hình phân lớp cây quyết định gồm hai giai đoạn:
dựng cây và tỉa cây. Quá trình dựng cây được bắt đầu từ gốc đến từng nhánh. Cây
quyết định được xây dựng bằng cách phân chia đệ quy bộ dữ liệu huấn luyện cho
đến khi tất cả các mẫu được gán nhãn lớp hoặc không còn thuộc tính nào có thể
dùng để chia mẫu. Giai đoạn thứ hai, cắt tỉa cây quyết định nhằm mục đích đơn giản
hóa và khái quát hóa, khắc phục tình trạng quá khít với bộ dữ liệu huấn luyện [1].
1.2.3.2.
Giải thuật phân lớp Naïve Bayes
Naïve Bayes là phương pháp phân lớp dữ liệu dựa vào xác suất được giới
thiệu đầu tiên bởi John và Langle năm 1995 [20]. Naïve Bayes dự đoán xác suất mà
18
một mẫu thuộc về một lớp là lớn nhất dựa trên định lý Bayes, với điều kiện các
thuộc tính là độc lập và quan trọng như nhau. Mô hình phân lớp Naïve Bayes cho
thấy độ chính xác cao và tốc độ thực hiện khi áp dụng cho cơ sở dữ liệu lớn [16].
Bài toán phân lớp Naïve Bayes: Cho tập dữ liệu huấn luyện D gồm các mẫu
đã biết trước nhãn lớp. Mỗi mẫu được biểu diễn bằng một véc tơ thuộc tính n chiều
và một tập các nhãn lớp . Một mẫu mới sẽ được phân vào lớp nào?
Quá trình phân lớp sử dụng giải thuật Naïve Bayes thực hiện như sau [16]:
-
X được phân vào lớp Ci (i=1, 2, ...,m) nếu và chỉ nếu:
Với
-
Tối đa hóa (Chọn Ci nếu là giá trị lớn nhất). Do đó cần tối đa hóa .
Trong đó, xk là giá trị thuộc tính Ak của X (k=1, 2, …, n).
1.2.3.3.
Giải thuật phân lớp máy véc tơ hỗ trợ
Máy véc tơ hỗ trợ (Support vector machine – SVM) là một phương pháp
phân lớp nổi tiếng được giới thiệu bởi Vladimir Vapnik. SVM là phương pháp phân
lớp nhị phận dựa trên chiến lược khoảng cách lề cực đại [16].
Ban đầu, SVM được thiết kế cho bài toán phân lớp nhị phân tuyến tính [1].
Mục tiêu của SVM là xây dựng một siêu phẳng phân tách hai lớp của dữ liệu (lớp
âm và lớp dương) sao cho khoảng cách từ siêu phẳng phân tách này đến các điểm
gần nó nhất (gọi là lề) cực đại. Hàm phân tách tuyến tính có dạng f(x) = <w.x> + b.
Trong đó, w là véc tơ trọng số các thuộc tính, b là một giá trị số thực.
Siêu phẳng phân tách các ví dụ của lớp dương (+) và lớp âm (-) được mô tả
bởi phương trình <w.x> + b = 0. SVM lựa chọn siêu phẳng phân tách có lề lớn nhất
để tối thiểu hóa giới hạn lỗi mắc phải.
19
Hình 1.5 - Ví dụ về phân lớp dữ liệu bằng SVM
Hai siêu phẳng lề được định nghĩa như sau:
-
H+ là siêu phẳng lề đi qua điểm dữ liệu dương (x+,1) song song với siêu phẳng phân
-
tách H+: <w.x+> + b = 1
H- là siêu phẳng lề đi qua điểm dữ liệu âm (x -,1) và song song với siêu phẳng phân
tách H-: <w.x-> + b = -1
Các véc tơ nằm trên siêu phẳng lề được gọi là các véc tơ hỗ trợ. Trong
trường hợp không thể phân tách được, cần nới lỏng các điều kiện lề bằng cách sử
dụng thêm các biến slack . Ví dụ về phân lớp dữ liệu sử dụng máy véc tơ hỗ trợ
được minh họa trong hình 1.5.
Sau này, SVM được mở rộng cho phân lớp phi tuyến. Trong trường hợp này,
ta phải chuyển đổi không gian biểu diễn sang không gian khác, không gian sau khi
chuyển đổi là không gian đặc trưng thường có số chiều lớn hơn. Sau đó thực hiện
như phân lớp SVM tuyến tính.
1.2.3.4.
Giải thuật phân lớp k-láng giềng gần
K-láng giềng gần (K-Nearest Neighbor - KNN) là một thuật toán phân loại
sử dụng các mẫu huấn luyện cụ thể để dự đoán nhãn lớp mà không cần xây dựng
một mô hình phân lớp từ dữ liệu [1]. Các mẫu dữ liệu mới cần gán nhãn lớp được
phân lớp dựa vào khoảng cách của nó đối với tất cả các mẫu trong tập dữ liệu huấn
luyện. Có nhiều độ đo khoảng cách khác nhau, thường dùng khoảng cách Euclid để
tính khoảng cách giữa các đối tượng.
20
Ý tưởng của thuật toán rất đơn giản, đối với một mẫu dữ liệu mới cần phân
lớp tính khoảng cách từ mẫu đó đến tất cả các mẫu trong tập dữ liệu huấn luyện.
Sau đó tìm k láng giềng gần nhất với nó. Nhãn lớp của mẫu dữ liệu mới là nhãn lớp
có số đông phần tử trong k láng giềng [1]. Hình 1.6 là ví dụ phân lớp sử dụng thuật
toán k láng giềng gần. Trong hình 1.6 a). với k=1 thì phần tử x sẽ được gán nhãn là
“Hợp pháp”, hình 1.6 b) với k=3 thì phần tử x sẽ được gán nhãn là “Gian lận”.
Hình 1.6 - Ví dụ phân lớp dữ liệu sử dụng K-NN
Kết luận chương
Trong chương 1, luận văn đã trình bày tổng quan về gian lận tài chính và tầm
quan trọng của phát hiện gian lận tài chính. Ngoài ra, chương 1 còn nêu ra những khó
khăn gặp phải khi phát triển các phương pháp phát hiện gian lận tài chính. Hướng tiếp
cận khai phá dữ liệu trong giải quyết bài toán phát hiện gian lận tài chính.
21
CHƯƠNG 2 – PHƯƠNG PHÁP PHÂN LỚP DỮ LIỆU MẤT CÂN
BẰNG TRONG PHÁT HIỆN GIAN LẬN TÀI CHÍNH
Một số giải thuật phân lớp như cây quyết định, máy véc tơ hỗ trợ, K-láng
giềng gần, Naïve Bayes giới thiệu ở chương 1 đã được phát triển và áp dụng thành
công trong nhiều lĩnh vực. Tuy nhiên, đối với các bộ dữ liệu mất cân bằng các giải
thuật phân lớp gặp nhiều khó khăn. Mất cân bằng dữ liệu thường xảy ra trong một
số bài toán thực tế như: phân loại ảnh vệ tinh, quản lý rủi ro, phát hiện gian lận và
trong các ứng dụng y học [1].
2.1. Vấn đề mất cân bằng dữ liệu trong phát hiện gian lận tài chính
Trong lĩnh vực phát hiện gian lận tài chính, có nhiều bộ dữ liệu tài chính
khác nhau được sử dụng. Các bộ dữ liệu khác nhau về kích cỡ, khác nhau về hình
thức gian lận và khác nhau về số lượng các trường hợp gian lận. Tuy nhiên, các bộ
dữ liệu này đều có chung một đặc trưng, đó là số lượng các trường hợp gian lận
chiếm tỷ lệ rất nhỏ so với các trường hợp không gian lận. Nói theo một cách khác,
các bộ dữ liệu tài chính thường xảy ra sự mất mân bằng.
Mất cân bằng dữ liệu xảy ra khi có sự chênh lệch lớn về số lượng phần tử
giữa các lớp. Nghĩa là, số lượng các phần tử đại diện cho một lớp lớn hơn rất nhiều
so với các lớp khác. Đối với trường hợp hai lớp (nhị phân) tỷ lệ này có thể là 1:10,
1:100, 1:1000 [1]. Lớp chiếm số đông phần tử gọi là lớp đa số (negative), ngược lại
lớp có ít phần tử gọi là lớp thiểu số (positive). Các giải thuật phân lớp thường đạt dộ
chính xác cao với lớp đa số nhưng với lớp thiểu số thì ngược lại [1] [21].
Trong các ứng dụng phát hiện gian lận tài chính, dữ liệu được sử dụng
thường xảy ra sự mất cân bằng. Số lượng các trường hợp gian lận thường nhỏ hơn
rất nhiều so với các trường hợp không gian lận. Khi đó lớp thiểu số được quan tâm
tương ứng với các trường hợp gian lận.
Năm 2009, FICO là tổ chức hàng đầu về công nghệ, quản lý và ra quyết
định đã phối hợp với trường đại học California, San Diego (UCSD) tổ chức cuộc thi
khai phá dữ liệu “UCSD-FICO data mining contest 2009” về phát hiện những giao
dịch thương mại điện tử bất thường. Với hai nhiệm vụ “khó” và “dễ” của cuộc thi,
hai bộ dữ liệu huấn luyện với tỷ lệ mất cân bằng khác nhau được sử dụng. Bộ dữ
liệu thứ nhất với tỷ lệ mất cân bằng xấp xỉ 100:3 trong đó có 2.8% các giao dịch
22
điện tử gian lận, tương ứng 2293 trường hợp trong trong tổng số 100 000 giao dịch
[22]. Các bộ dữ liệu này được trình bày trong bảng 2.1.
Bảng 2.1 - Dữ liệu UCSD-FICO
Dữ liệu huấn luyện
Dữ liệu
kiểm tra
Nhiệm vụ
Dữ liệu
Tổng số Gian lận Hợp pháp
Khó
UCSD-FICO.1
94,682
2,094
92,588
36,019
Dễ
UCSD-FICO.2
100,000
2,654
97,346
50,000
Một số bộ dữ liệu tài chính khác trong thực tế xảy ra sự mất cân bằng như bộ
dữ liệu phát hiện giao dịch gian lận (sales) của Luis Torgo [23], dữ liệu phát hiện
gian lận bảo hiểm ô tô (carclaim) được sử dụng bởi Clifton Phua [24]. Ngoài ra còn
có bộ dữ liệu thẻ tín dụng của Đức (German Credit Data) và dữ liệu Australian
Credit Approval được sử dụng phổ biến trong các công trình nghiên cứu về phát
hiện gian lận [4] [25]. Các bộ dữ liệu này được mô tả trong bảng 2.2 và tỷ lệ mất
cân bằng được minh họa trong hình 2.1.
Bảng 2.2 - Một số bộ dữ liệu tài chính
Dữ liệu
Sales
Carclaim
German Credit Data
Australian Credit Approval
Tổng số bản ghi
401,146
15,420
1,000
690
23
Gian lận
1,270
923
300
307
Hợp pháp
14,462
14,497
700
383
Hình 2.1 - Biểu đồ tỷ lệ mất cân bằng của một số bộ dữ liệu
Dữ liệu sử dụng trong phát hiện gian lận tài chính có tính chất đặc thù khiến
cho việc xây dựng mô hình phân lớp gặp nhiều khó khăn. Dữ liệu tài chính thường
xảy ra sự mất cân bằng khi số lượng các trường hợp gian lận chiếm tỷ lệ rất nhỏ so
với các trường hợp không gian lận. Đối với các bộ dữ liệu mất cân bằng, các bộ
phân lớp chuẩn thường có xu hướng bỏ qua lớp thiểu số [1]. Vì vậy, khi áp dụng
các giải thuật phân lớp truyền thống như cây quyết định, máy véc tơ hỗ trợ, Naïve
Bayes chưa thể xây dựng được một bộ phân lớp tốt.
Giả sử một bộ dữ liệu gồm 20 phần tử, trong đó 15 phần tử thể hiện các giao
dịch hợp pháp và 5 phần tử thể hiện các giao dịch gian lận. Trong trường hợp này,
xảy ra sự mất cân bằng dữ liệu khi số lượng các trường giao dịch hợp pháp chênh
lệch lớn so với số lượng các giao dịch gian lận. Khi áp dụng các giải thuật phân lớp
chuẩn, nếu mô hình phân lớp dự đoán chính xác tất cả 15 trường hợp hợp pháp và
không dự đoán chính xác bất kỳ trường hợp gian lận nào có độ chính xác 75%.
Tuy nhiên, việc phân loại sai các trường hợp gian lận gây ảnh hưởng nghiêm
trọng hơn so với việc phân loại sai các trường hợp không gian lận thành gian lận.
Điều này có thể dẫn đến những tổn thất rất lớn về mặt kinh tế. Trong thực tế, vấn đề
mất cân bằng dữ liệu có thể giải quyết theo nhiều phương pháp khác nhau. Trong
đó, có hai hướng tiếp cận chính: hướng tiếp cận ở mức độ dữ liệu và hướng tiếp cận
ở mức độ giải thuật.
2.2. Hướng giải quyết bài toán phân lớp dữ liệu mất cân bằng hiện nay
2.2.1. Hướng tiếp cận ở mức độ dữ liệu
Hướng tiếp cận ở mức độ dữ liệu bao gồm các phương pháp điều chỉnh phân
bố dữ liệu bằng cách tăng số lượng phần tử lớp thiểu số, giảm số lượng phần tử lớp
đa số hoặc kết hợp cả hai phương pháp. Cả ba phương pháp trên đều hướng đến
mục tiêu cân bằng phân bố dữ liệu. Ưu điểm của các phương pháp tiếp cận mức độ
dữ liệu là sự linh hoạt, dữ liệu có thể sử dụng để huấn luyện các bộ phân loại khác
nhau [1] [21].
2.2.1.1.
Phương pháp sinh thêm phần tử
24
Phương pháp sinh thêm phần tử tạo ra một tập dữ liệu lớn hơn tập dữ liệu
ban đầu [21]. Có nhiều cách khác nhau để sinh thêm các phần tử dữ liệu: sinh thêm
phần tử một cách ngẫu nhiên, lựa chọn các phần tử để sinh thêm hoặc sinh thêm
phần tử nhân tạo.
Sinh thêm phần tử một cách ngẫu nhiên
Phương pháp sinh thêm phần tử đơn giản nhất được biết đến là sinh thêm
phần tử lớp thiểu số một cách ngẫu nhiên (Random over-sampling). Phương pháp
này lựa chọn ngẫu nhiên các phần tử lớp thiểu số và nhân bản chúng để tạo ra các
bản sao giống hệt làm tăng số lượng phần tử lớp thiểu số [26]. Ưu điểm của phương
pháp sinh thêm phần tử ngẫu nhiên là đơn giản và dễ thực hiện. Bên cạnh đó, tồn tại
những hạn chế như: làm tăng khả năng quá khít của mô hình phân lớp và làm tăng
thời gian học nếu tập dữ liệu huấn luyện đã có kích thước lớn. Hình 2.2 minh họa
phương pháp sinh thêm phần tử ngẫu nhiên. Trong đó, các phần tử lớp thiểu số ở
đây có nhãn lớp là gian lận, các phần tử lớp đa số có nhãn lớp là hợp pháp. Các
phần tử được sinh thêm ngẫu nhiên được gán nhãn là gian lận, biểu diễn bằng hình
tam giác màu xanh.
Hình 2.2 - Ví dụ minh họa sinh thêm phần tử một cách ngẫu nhiên
Sinh thêm phần tử nhân tạo
SMOTE (Synthetic Minority Over-sampling Technique) là phương pháp sinh
thêm phần tử nhân tạo lớp thiểu số đạt được hiệu quả cao và áp dụng thành công
trong nhiều lĩnh vực khác nhau. Ý tưởng chính của thuật toán như sau [27]:
-
Với mỗi phần tử lớp thiểu số xác định k láng giềng gần nhất của nó trong lớp thiểu
25