本篇博客继续为大家介绍一篇论文,也是关于用卷积神经网络 CNN 来进行信用卡欺诈检测的。
论文信息
论文题目:Credit card fraud detection using convolutional neural networks
作者姓名:Fu K, Cheng D, Tu Y, et al.
会议期刊:International Conference on Neural Information Processing
发表时间:2016
关键词
信用卡欺诈 卷积神经网络 数据不平衡
一、四个问题
1. 文章解决了什么问题?
检测信用卡欺诈。
2. 用什么方法解决?
基于卷积神经网络CNN的框架
3. 有什么效果?
用F1score评估模型的表现,结果优于SVM、 RF、 NN等方法。
4. 存在什么问题?
作者没有提到。
存在的疑惑有:CNN的方法虽然优于SVM等,但是不是最好的?是不是有更好的,但是没有被提及。
二、文章内容
1. Introduction
机器学习的很多方法被可以用来解决信用卡欺诈问题,比如决策树,boolean logic 函数等。但由于一些欺诈交易和合法交易类似,采用传统的机器学习方法有时候不能发现这些欺诈类型的交易。也有采用神经网络或者贝叶斯的方法,但被批评太复杂或过拟合。采用CNN的方法可以发现欺诈交易潜在模式,避免过拟合,降低特征冗余。
特征生成是机器学习的一大挑战,一些研究采用集成方法获得客户消费模型,但不能描述复杂模式。本文基于客户的交易偏好,提出交易熵的方法。将交易数据转换为特征矩阵,按照内在联系和时间序列,用于CNN模型。
用基于成本的抽样方法,从真实欺诈的数据来合成欺诈样本,解决数据不平衡的问题。
2. Methodology
2.1 欺诈检测框架
如图所示,欺诈检测框架由训练和预测两部分组成。
训练部分主要包括四个模块:特征工程(feature engineering),采用方法(sampling methods),特征转换(feature transformation)和基于 CNN 的训练过程(a CNN-based training procedure)。
检测过程包括特征提取(feature extraction),特征转换(feature transformation)和分类模块(classification module)。
2.2 特征工程
Table 1 描述了不同特征类型,前7个是传统的特征,最后一个特征是本文提出的新特征。
提出来的新的特征叫交易熵(trading entropy)。假定在当前交易之前,同一个客户在过去的一段时间的所有交易里,有 K 种不同类型的交易,所有的交易总量为 T o t a l A m o u n t T TotalAmountT TotalAmountT, 第 i i i 种交易的总量为 A m o u n t T i , ( i = 1 , 2 , . . . , K ) AmountT_i, (i = 1, 2, ...,K) AmountTi,(i=1,2,...,K),那么第 i i i种交易类型的占比 p i p_i pi为:
p i = A m o u n t T i T o t a l A m o u n t T p_i = \frac{AmountT_i}{TotalAmountT} pi=TotalAmountTAmountTi
第 i i i 种类型的交易可以被定义为 E n t T EntT EntT:
E n t T = − ∑ i K p i l o g p i EntT = -\sum_i^Kp_i logp_i EntT=−i∑Kpilogpi
交易熵定义为:
T r a d i n g E n t r o p y T = E n t T − N e w E n t T TradingEntropyT = EntT - NewEntT TradingEntropyT=EntT−NewEntT
如果交易熵的值很大,则有很大概率是欺诈的。
2.3 成本采样
基于成本的抽样方法是根据以下的观察:决策边界附近的欺诈交易有较高的概率会产生更多的合成欺诈样本。
对于第 i i i 次欺诈交易,在 i i i 周围的欺诈次数定义为 f d i fd_i fdi,在 i i i 周围的正常交易次数定义为 n d i nd_i ndi,第 i i i 次交易的成本定义为 c o s t i cost_i costi。第 i i i 个欺诈和第 j j j 个交易之间的距离为 d i j d_ij dij。
可以通过交易函数 f ( x ) f(x) f(x) 和截止值来限制第 i i i 个欺诈的邻区数量。如果 x < 0 x<0 x<0,则 f ( x ) = 1 f(x)=1 f(x)=1,否则 f ( x ) = 0 f(x)=0 f(x)=0, C C C 为截止点。
c o s t i = ∑ j ∈ l e g i t i m a t e f ( d i j − C ) ∑ k ∈ f r a u d f ( d i k − C ) cost_i = \frac{\sum_{j\in legitimate}f(d_{ij} - C)}{\sum_{k\in fraud} f(d_{ik} - C)} costi=∑k∈fraudf(dik−C)∑j∈legitimatef(dij−C)
获得每笔欺诈交易的成本后,我们使用k-means算法将欺诈行为划分为若干个簇。如果要生成新的欺诈样本,则根据成本选择欺诈交易 x 1 x_1 x1 作为种子,然后我们从与 x 1 x_1 x1相同的集群中选择另一个欺诈交易 x 2 x_2 x2。
新的合成欺诈样本可以生成为 n e w F r a u d = α x 1 + ( 1 − α ) ⋅ x 2 newFraud= \alpha x_1+(1−\alpha)·x_2 newFraud=αx1+(1−α)⋅x2,其中 α \alpha α 在 0 和 1 之间随机生成。
2.4 CNN模型
2.4.1 特征转换
特征转换是为了适应 CNN 模型。将信用卡交易的特征分为好几个组,每个组有不同时间窗口的不同的特征。
相同类的两个特征之间有强关系,因此在矩阵中放近一些,局部相关,可以降低数据处理的时间复杂性。
这些热力图展示了局部的强相关性。
2.4.2 模型框架
模型与LeNet相似,6层。第一层是卷积层,第二层是次采用层,该层用于特征选择,max pooling也是一种特征选择。
3. 实验
3.1 数据集
To evaluate the proposed model, we use real credit card transaction data from a commercial bank. It contains over 260 million transactions of credit cards in a year. About four thousand transactions are labeled as frauds and the rest are legitimate transactions. The transaction data is divided into two sets. We take the data of the first 11 months as the training set and the data of the next month as the testing set. And we take the F1 score to evaluate the performance of models.
3.2 Feature Evaluation
提出特征得分的计算方法:
F e a t u r e S c o r e = 1 T ∑ t = 1 T ∣ ∣ u t f − u t l ∣ ∣ S t f + S t l FeatureScore = \frac{1}{T}\sum_{t=1}^T\frac{||u_t^f - u_t^l||}{\sqrt{S_t^f + S_t^l}} FeatureScore=T1t=1∑TStf+Stl
∣∣utf−utl∣∣
T T T 代表时间窗口的大小, u t f u_t^f utf 和 u t l u_t^l utl 代表给定特征在第 t t t 个时间窗口上的欺诈样本和合法样本的平均值。 S t f S_t^f Stf 和 S t l S_t^l Stl 分别代表欺诈特征和合法特征的方差。然后计算每一个特征的得分,得分越高,说明特征越重要。
下图(a)展示了特征得分图,(b) © (d) 分别用SVM, NN, RF的方法验证了在有特征 trading entropy 和没有该特征的情况下分类结果的表现。结论是:trading entropy是个很重要的特征。
3.3 Model Evaluation
展示模型的最佳准确率(不同的数据集下,CNN比NN,SVM,RF略胜一筹)
4. Conclusion
- In this paper, we introduce a CNN-based method of credit card fraud detection.
- And the trading entropy is proposed to model more complex consuming behaviors.
- Besides, we recombine the trading features to feature matrices and use them in a convolutional neural network.
- Experimental results from the real transaction data of a commercial bank show that our proposed method performs better than other state-of-art methods.