首页 / 专利库 / 人工智能 / 人工神经网络 / 递归神经网络 / 异常交易检测的方法

异常交易检测的方法

阅读:53发布:2020-05-16

专利汇可以提供异常交易检测的方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种异常交易检测的方法,发明提供的基于长短期记忆网路( 递归神经网络 的一种)异常交易检测的方法,具有识别交易数据特征和交易时序特征能 力 ,可以用于检测大量交易数据的异常交易检测的方法,实现了互联网金融系统中异常交易识别的优化,有效提升交易系统的安全性和执行效率。,下面是异常交易检测的方法专利的具体信息内容。

1.一种异常交易检测的方法,其特征在于,包括:
将数据划分为训练集和测试集;
基于所述训练集训练出用于异常交易检测的神经网络模型;
基于所述测试集,并使用评价体系所述神经网络模型进行收敛调优,以得到目标神经网络模型;
基于所述目标神经网络模型对异常交易进行检测。
2.如权利要求1所述的异常交易检测的方法,其特征在于,所述神经网络模型为递归神经网络和长短期记忆模型。
3.如权利要求1所述的异常交易检测的方法,其特征在于,所述神经网络模型的开发依赖库为tensorflow机器学习开源库。
4.如权利要求1所述的异常交易检测的方法,其特征在于,所述训练集中的数据经过离差标准化处理。
5.如权利要求1所述的异常交易检测的方法,其特征在于,将数据划分为训练集和测试集,包括:
使用交叉验证法划分训练集和测试集。
6.如权利要求1所述的异常交易检测的方法,其特征在于,基于所述训练集训练出用于异常交易检测的神经网络模型,包括:
基于tensorflow的keras进行所述神经网络模型的搭建与训练。
7.如权利要求1所述的异常交易检测的方法,其特征在于,基于tensorflow的keras进行所述神经网络模型的搭建与训练中,
在搭建所述神经网络模型的过程中使用tensorboard可视化工具应用于整个过程。
8.如权利要求1所述的异常交易检测的方法,其特征在于,基于tensorflow的keras进行所述神经网络模型的搭建与训练中,
使用pandas读取预筛算数据,使用numpy进行基础的处理与计算。
9.如权利要求1所述的异常交易检测的方法,其特征在于,基于所述测试集,并使用评价体系所述神经网络模型进行收敛调优,以得到目标神经网络模型,包括:
使用包括正确率、损失率、查全率和ROC曲线的方式对所述神经网络模型进行评估,并使用遍历法基于所述评估寻找所述神经网络模型的最优参数解,以得到目标神经网络模型。

说明书全文

异常交易检测的方法

技术领域

[0001] 本发明涉及一种异常交易检测的方法。

背景技术

[0002] 中国的电子商务的崛起与网上交易的普及等现状,这使我国的行交易量级业务迎来大数据的时代。现如今,我国的金融业正在“互联网+”的新时代,在互联网的时代,银行业在一段时间内发生了巨大变化。随着经济的发展,银行交易的数据量越来越庞大,近年来,电子商务的崛起,P2P交易方式等使得交易数据量进一步扩大。同时,异常交易也在提升,怎样能够在庞大的数据面前有效的检测出异常交易,变成了一项巨大的挑战。
[0003] 现如今异常交易检测技术主要有:
[0004] 1.在交易系统的软件测试阶段:软件测试人员与开发人员,通过软件的强壮性测试,对交易系统软件输入大量的不规则数据,交易软件系统使用条件判断,对交易软件系统的输入值进行过滤,而如今的交易数据具有多变性和复杂性,这种僵硬的条件判断,不能满足异常交易检测的要求,此种方法是异常交易检测最初级的方法。
[0005] 2.交易系统的管理人员和运维人员,定期的对一定量的交易数据进行统计检测,依据人员的工作经验,主观的将异常的交易检测出来,此种方法灵活性最大,但是,效率低下,只能对重要交易数据进行重点检测,不能对全部的交易数据进行异常检测,且此方法主观因素大,不能对检测结果进行有效的保证,此种方法是异常交易检测的辅助方法。
[0006] 3.现已有部分的交易系统使用了机器学习方法进行异常交易检测辅助,如使用前馈神经网络,使用交易历史数据,这些历史数据已经确定是否为异常交易数据,可以作为监督学习的标签数据,前馈神经网络通过有监督学习,使其具有了判断交易数据是否具为异常的能,但是,交易数据记录是具有时序性的,前馈神经网络并不能学习到交易数据的时序特征,递归神经网络不但可以学习到输入的数据特征,也能学习到输入数据的时序特征,目前尚未有使用递归神经网络在异常交易检测方面有较好的解决方案。

发明内容

[0007] 本发明的目的在于提供一种异常交易检测的方法。
[0008] 为解决上述问题,本发明提供一种异常交易检测的方法,包括:
[0009] 将数据划分为训练集和测试集;
[0010] 基于所述训练集训练出用于异常交易检测的神经网络模型;
[0011] 基于所述测试集,并使用评价体系所述神经网络模型进行收敛调优,以得到目标神经网络模型;
[0012] 基于所述目标神经网络模型对异常交易进行检测。
[0013] 进一步的,在上述方法中,所述神经网络模型为递归神经网络和长短期记忆模型。
[0014] 进一步的,在上述方法中,所述神经网络模型的开发依赖库为tensorflow 机器学习开源库。
[0015] 进一步的,在上述方法中,所述训练集中的数据经过离差标准化处理。
[0016] 进一步的,在上述方法中,将数据划分为训练集和测试集,包括:
[0017] 使用交叉验证法划分训练集和测试集。
[0018] 进一步的,在上述方法中,基于所述训练集训练出用于异常交易检测的神经网络模型,包括:
[0019] 基于tensorflow的keras进行所述神经网络模型的搭建与训练。
[0020] 进一步的,在上述方法中,基于tensorflow的keras进行所述神经网络模型的搭建与训练中,
[0021] 在搭建所述神经网络模型的过程中使用tensorboard可视化工具应用于整个过程。
[0022] 进一步的,在上述方法中,基于tensorflow的keras进行所述神经网络模型的搭建与训练中,
[0023] 使用pandas读取预筛算数据,使用numpy进行基础的处理与计算。
[0024] 进一步的,在上述方法中,基于所述测试集,并使用评价体系所述神经网络模型进行收敛调优,以得到目标神经网络模型,包括:
[0025] 使用包括正确率、损失率、查全率和ROC曲线的方式对所述神经网络模型进行评估,并使用遍历法基于所述评估寻找所述神经网络模型的最优参数解,以得到目标神经网络模型。
[0026] 与现有技术相比,本发明提供一种基于长短期记忆网路(递归神经网络的一种)异常交易检测的方法,具有识别交易数据特征和交易时序特征能力,可以用于检测大量交易数据的异常交易检测的方法,实现了互联网金融系统中异常交易识别的优化,有效提升交易系统的安全性和执行效率。附图说明
[0027] 图1为本发明的实施路线图;
[0028] 图2为训练集与测试集交叉验证划分方法的示意图;
[0029] 图3为RNN机构图及展开图;
[0030] 图4为异常交易和正常交易所占比例图;
[0031] 图5为Fβ训练曲线图;
[0032] 图6为Fβ验证曲线图;
[0033] 图7为AUC训练曲线图;
[0034] 图8为AUC验证曲线图;
[0035] 图9为accuracy训练曲线图;
[0036] 图10为accuracy验证曲线图;
[0037] 图11为本发明一实施例的异常交易检测的方法的原理图。

具体实施方式

[0038] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0039] 如图11所示,本发明提供一种异常交易检测的方法,包括:
[0040] 步骤S1,将数据划分为训练集和测试集;
[0041] 步骤S2,基于所述训练集训练出用于异常交易检测的神经网络模型;
[0042] 步骤S3,基于所述测试集,并使用评价体系所述神经网络模型进行收敛调优,以得到目标神经网络模型;
[0043] 步骤S4,基于所述目标神经网络模型对异常交易进行检测。
[0044] 本发明的异常交易检测的方法一实施例中,所述神经网络模型为递归神经网络和长短期记忆模型。
[0045] 本发明的异常交易检测的方法一实施例中,所述神经网络模型的开发依赖库为tensorflow机器学习开源库。
[0046] 本发明的异常交易检测的方法一实施例中,所述训练集中的数据经过离差标准化处理。
[0047] 本发明的异常交易检测的方法一实施例中,步骤S1,将数据划分为训练集和测试集,包括:
[0048] 使用交叉验证法划分训练集和测试集。
[0049] 本发明的异常交易检测的方法一实施例中,步骤S2,基于所述训练集训练出用于异常交易检测的神经网络模型,包括:
[0050] 基于tensorflow的keras进行所述神经网络模型的搭建与训练。
[0051] 本发明的异常交易检测的方法一实施例中,基于tensorflow的keras进行所述神经网络模型的搭建与训练中,
[0052] 在搭建所述神经网络模型的过程中使用tensorboard可视化工具应用于整个过程。
[0053] 本发明的异常交易检测的方法一实施例中,基于tensorflow的keras进行所述神经网络模型的搭建与训练中,
[0054] 使用pandas读取预筛算数据,使用numpy进行基础的处理与计算。
[0055] 本发明的异常交易检测的方法一实施例中,步骤S3,基于所述测试集,并使用评价体系所述神经网络模型进行收敛调优,以得到目标神经网络模型,包括:
[0056] 使用包括正确率、损失率、查全率和ROC曲线的方式对所述神经网络模型进行评估,并使用遍历法基于所述评估寻找所述神经网络模型的最优参数解,以得到目标神经网络模型。
[0057] 在此,本发明提供一种基于长短期记忆网路(递归神经网络的一种)异常交易检测的方法,具有识别交易数据特征和交易时序特征能力,可以用于检测大量交易数据的异常交易检测的方法,实现了互联网金融系统中异常交易识别的优化,有效提升交易系统的安全性和执行效率。
[0058] 本方法包括:
[0059] 1.分析交易记录的数据特征和时序特征,结合神经网络特性,递归神经网络特性,长短期记忆网络特性,得出最适合异常交易检测的方法,并提出优化方法。
[0060] 2.对交易记录数据,进行数据预处理,用于模型的输入。
[0061] 3.分析异常交易检测需求,搭建异常交易检测神经网络。
[0062] 4.对异常交易数据与正常交易数据的数据分类不平衡问题进行分析,提出神经网络优化学习的方法。
[0063] 5.针对异常交易检测问题,建立神经网络的评价体系,用此评价体系评估神经网路模型。
[0064] 训练出用于异常交易检测的神经网络模型,使用评价体系对此模型进行收敛调优。
[0065] 本发明解决异常交易检测问题基于的是机器学习的建模思路。图1为本发明的实施路线,其中实施路线主要包括3大步骤,
[0066] 第一步:数据准备阶段,根据银行交易数据的时序性,以此确定可选用递归神经网络(RNN),但又由于此网络又要有长期段效应记忆,所以选择长短期记忆模型LSTM(Long Short-Term Memory),考虑到tensorboard具有更好的可视化训练过程,故选择tensorflow机器学习开源库来作为此研究的开发依赖库。在把数据输入到神经网络前,为了防止数据的分布对训练结果的影响,使用离差标准化数据。为了方便对学习得到的模型进行评估,将数据划分为训练集和测试集,同时有为了减少由于数据的分布不均匀和划分训练集和测试集而导致对训练得到的模型产生影响,使用交叉验证法划分训练集和测试集。数据的标准化与交叉验证工作选用scikit-learn完成。
[0067] 第二步:模型搭建与调参阶段,本研究选用基于tensorflow的keras来进行模型的搭建与训练,在搭建模型的过程中使用tensorboard可视化工具应用于整个过程,便于在训练过程中了解张量数据的走向与运算过程,以及重要参数的变化过程。模型搭建过程中使用pandas读取预筛算数据,使用numpy进行基础的处理与计算。在模型搭建完成以后,然后使用正确率,损失率,查全率,ROC曲线等对模型进行评估。使用遍历法寻找模型的最优参数解。并将此模型保存用于以后的基于此模型的预测。
[0068] 第三步:模型评估与调优,给出该研究最后的预测效果,并使用matplotlib 使其可视化。通过对matplotlib和tensorboard的可视化模型的训练和调优过程。比较此方法与其他方法的不同,提出使用该方法的创新点等。总结该模型的特点,实际解决的问题,该方法的可行性,适用场景,以及解决该问题的效果如何。评价此方法的优缺点,对此模型优化和拓展。
[0069] 以上3大步骤是实施流程的具体概况,以下将详细介绍3大步骤中的具体实施过程以及主要难点问题的解决方法。
[0070] 数据的特征提取与选择:
[0071] 特征构建是从原数据中,通过选择特定的属性和特定的处理数据的算法,经过人为的筛选或者算法的处理,得到更适合模型使用的数据。在此过程中,需要花时间去分析原始数据,思考问题的数据间的独立性及之间的依赖性,考虑属性是否可以分割和结合,以达到更好的训练结果。
[0072] 原则1:避免如下的无意义的信息,比如,进行交易双方的性别,性别并不能表现出此条交易出现异常的可能性,因为用户的性别在异常交易和正常交易中的比例大概是相同的,所以说性别这条属性应从异常交易检测的输入数据中移除。
[0073] 原则2:避免重复性的信息,如运用于银行交易的异常检测,一条交易信息包括,转出方账户的原始金额,转出方账户的交易后金额,接收方账户的原始金额,接收方账户的交易后金额,其中还有交易金额,交易时间等。接收方的交易后金额=接受方原始金额+交易金额,而转出方的交易后金额=接收方原始金额-交易金额,可以看出,接收方和转出方交易后的金额和交易金额具有强依赖关系,他们可以视为重复信息。因此可以只选择交易金额,忽略接收方和转出方的金额。
[0074] 原则3:避免复杂的信息,同样以上一段提到的接收方和转出方交易后的金额,与交易金额为例,这两种都是交易金额大小的信息,为什么要选这交易金额而不选择交易前后账户的金额呢?这是因为让模型直接来学习交易金额相比学习账户交易前后的金额要更加复杂,花费更多的努力,而且具有不稳定型。所以在选择数据特征时,要尽量的避免复杂的信息,使的模型能够更直接高效额学习到他们特征的不同。
[0075] 数据集的划分:
[0076] 如图2所示,使用交叉验证法。交叉验证法,将原数据集划分为k个大小相同的互斥数据子集,记为D1,D2,D3…Dk,即D=D1∪D2∪D3...Dk,其中要想留出法一样尽量保持各个子集的分布与原数据集分布一致且各个子集的分布也一致;交叉验证法使用一个子集作为测试集,剩下的k-1个子集作为训练集,从第一个子集作为测试集,到最后一个子集作为训练集,以此便利,共训练k次,然后区这k次训练的平均结果。
[0077] 交叉训练的方法能够有效的减少因训练集与测试集的划分导致训练集与原数据集的分布不同,进而导致所学习到的模型与所期望的在原始数据集上所学的模型的差异。
[0078] 数据标准化:
[0079] 在选择得到数据后,数据通常由不同的单位和量级,但是在训练模型的过程中,我们却要将这些不同单位和不同量级的数据无差别的作为输入数据。为了避免不同单位和不同量级对模型结果的影响,就需要对数据进行标准化处理,以扩大各个数据指标之间的可比性。通过标准化处理以后,数据的各个指标在同一量级,便于模型更平等的学习到各个不同指标间的特征。标准化的好处有:提升模型的精度,标准化使得不同单位,不同量级,不同维度之间的特征在数值上有了一定的可比性,大大减轻了模型学习的偏置;提高训练收敛速度,经过标准化的数据,他们的范围更小,更平稳,这使得在模型在寻求最优解的时候更加平稳,走的弯路更少,具有更快的收敛速度。
[0080] 使用LSTM的原因及目标:
[0081] 图3为RNN神经网络的结构图,LSTM也属于RNN,LSTM可以解决RNN 的记忆长期依赖问题,LSTM是RNN的延申版。分析银行的异常交易检测问题可知:银行的交易具有时序性,针对时序分析的问题可以选用递归神经网络 RNN。但是银行交易中,发生异常交易的次数较少,因此异常检测任务需要有记忆长期依赖性,所普通的RNN不能解决此问题。由上一段落LSTM的简介,我们可以得知,LSTM可以解决长期记忆依赖的问题,因此本文选用长短期记忆网络LSTM来作为银行异常交易检测任务的学习器。
[0082] 输入与标签的设计:
[0083] 根据神经网络输入层的需要,将此数据集变换为一个3维的张量:
[0084] 第一个维度batch_size,此维度为神经网络一次处理运算的跨度,也就是每次运算要使用的矩阵的数量,LSTM之间用于产生细胞状态的间隔大小为一个 batch_size,细胞的状态用于模型学习数据的时序性,使用bach分训练的方法可以降低运算时间,提高训练速度;
[0085] 第二个维度为timesteps,此维度是每次输入的矩阵的行数;
[0086] 第三个维度为data_dim,次维度是每次输入的矩阵的列数;
[0087] 根据神经网络输出层即标签的需要,将数据集变换为一个2维的张量,即一个矩阵,词向量为此次交易是否有异常,有异常为1,无异常为0;
[0088] input=[[[p0,p1,p2],[p3,p4,p5]],[[p6,p7,p8],[p9,p10,p11]]][0089] label=[[c1,c2],[c3,c4]]
[0090] 模型的结构:
[0091] 本发明使用3层LSTM层,1层直连层作为输出。
[0092] 防止过拟合的方法:
[0093] 使用Dropout方法防止过拟合。在开始训练后,输入树经过输入层后进入第一层隐藏层,在从输入层的输出参数中往第一层隐藏层输入参数时,按照给定的概率忽略一些第一层隐藏层的神经元,在从第一层隐藏层往第二层隐藏的输入参数时再按照给定的概率忽略一些第二层隐藏层的神经元(并不是真正的删除这些神经元,在下次的迭代中这些神经元依然可以使用),且每次忽略的隐藏层不是一定的是随机的,以此规律直到神经网络的输出层,以此完成神经网络训练迭代的第一遍,整个的训练过程就是按照此规律完成训练过程的迭代。在训练的过程中,所有的隐藏层的神经元以及他们之间的权重基本全部都会被训练到,但是以这种Dropout的方式训练神经网络可以有效的防止过拟合的问题。
[0094] 解决数据不平衡问题:
[0095] 数据不均衡问题是指数据的分布不均匀,在不同的类别中所占的比例差距悬殊。在银行异常交易异常检测的过程中,异常交易和正常交易就是一个典型的数据不均衡问题,根据收集到的数据统计的饼状图异常交易和正常交易的分布及其不均衡,这就导致普通分类问题的评估标准错误率(error rate)和精度(accuracy)在此类问题上失效。具体失效的原因是这样的:模型在学习的过程中由于数分布不均衡的问题,模型只要预测为正常的交易就可以达到90%以上的概率预测正确。这种数据分布不均衡的问题使得模型在学习的过程中更偏向于预测为正常的交易,而忽略大部分的正常交易。这种现象使得使用错误率和精度来评估模型失效。使用变化评估标准的方法解决此问题。通常,模型的评估都可以使用准确率和错误率来进行评估,但是面对已经收集的合适的足够的数据后仍然具有数据分布不平衡的问题。准确率和错误率失效,这时就要考虑变换评估的标准了。首先使用混淆矩阵使数据清晰的表述出模型的预测情况,然后根据混淆矩阵算出查准率(precision)与查全率(recall),再根据查准率与查全率计算AUC、Fβ,以此来做为评估方法。
[0096] 评价体系的建立:
[0097] 混淆矩阵如下
[0098]
[0099] 查准率P的定义为:
[0100] 查全率R的定义为:
[0101] Fβ的定义形式为:
[0102] 图5为Fβ的训练曲线图6为验证曲线
[0103] 真正例率TPR和假正例率FPR定义为:
[0104] 真正例与假正例作为ROC曲线的横纵坐标;
[0105] 曲线下面积AUC定义为:
[0106] 图7和图8为AUC的训练曲线和验证曲线;
[0107] 评价方法的比较与所得模型:
[0108] 通常使用的评价方法准确率(accuracy)在银行卡异常交易数据(严重的分类不平衡)的参考价值并不大,通过观察准确率在训练中的“好像”是在往好的方向收敛,但是在观察验证准确率时,却发现,准确率(accuracy)并不是在往好的方向收敛。
[0109] 训练准确率和验证准确率如图9和图10所示。通过上述的训练准确率和验证准确率的比较,可以得知,准确率(accuracy)这种评价方法对于此银行卡异常交易的检查并不能作为评判模型在往好的方向收敛的佐证。本文使用的 AUC(ROC曲线下面积)针对银行卡异常交易检测问题具有更高的参考价值。通过图6.7AUC训练曲线和图6.8AUC训练曲线的比较,可以看出在训练过程中,AUC的值一直是在平稳的上升,同时在验证过程中,AUC也是类似的在平稳的上升中。因此由以上评估方法可知,最后所得模型为该模型在此评价方法中的最优模型。
[0110] 综上所述,本发明通过对银行异常交易检测问题上进行分析,使用RNN建立模型实现对异常交易的检测,并对此模型进行评估与度量。然后进入到建立模型的部分:
[0111] 第一步数据的预处理,其中包括数据特征提取与选择、原始数据的划分、数据标准化等工作。
[0112] 第二步模型选择,首先模型的选择,其中包括神经网络的基本介绍,如神经元、激励函数、神经网络的结构及特点等;然后介绍了LSTM的思想及内部实现等;最后介绍了为什么在银行异常交易检测问题上使用LSTM神经网络,以及使用LSTM实现银行交易异常检测的目标效果。
[0113] 第三步模型的搭建,首先介绍了输入与标签的设计,然后介绍模型使用的参数,以及各个参数所代表的含义。
[0114] 第四步训练模型,首先提出训练模型过程中的欠拟合问题和过拟合问题,以及针对这些问题的拟解决方案;然后使用tensorboard可视化整个训练过程。
[0115] 第五步模型的评估与度量,首先提出当前收集到的银行异常交易数据存在分布不均衡的问题,以及针对此问题提出的拟解决方案;然后介绍了评估模型的混淆矩阵,以及基于混淆矩阵的参数、查准率、查全率、ROC曲线、AUC 等评估方法对银行异常交易模型的评估与度量。
[0116] 本发明的各系统实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。
[0117] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0118] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0119] 显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈