一种基于行为增量更新的欺诈交易检测方法与流程

文档序号:17148274发布日期:2019-03-19 23:11阅读:212来源:国知局
一种基于行为增量更新的欺诈交易检测方法与流程

本发明涉及电子商务技术领域,更具体地说,涉及一种基于行为增量更新的欺诈交易检测方法。



背景技术:

现阶段,电子支付行业在交易量迅猛增长的同时,也伴随着更加复杂化、高频化的欺诈风险。如何快速准确地识别欺诈是几乎所有支付系统需要面对的挑战。然而,目前绝大多数能够进行实时欺诈侦测的系统都是基于简单的规则判断;而规则判断系统往往主要依赖专家经验,存在一定的主观因素,并且难免疏漏。

基于分类算法的反欺诈方案相对规则系统具有更好的客观性及准确性,但是,目前该类模型在实时场景并不适用,因为有监督分类算法都需要事先对训练样本标注是否为欺诈。但是在实时交易场景中,新产生的交易数据不能及时被标记为是否欺诈,导致该算法容易随时间而逐渐失效。

此外,随着欺诈手段的不断更新,很多规则甚至模型也很可能会失效。面对这种潜在的失效可能,目前的一般做法是每隔一段时间对所有近期样本进行重新的模型训练。然而,这种做法一方面需要耗时耗力地进行周期性地人工维护,另一方面也不能很好地根据当前信息做出最准确的判断。



技术实现要素:

本发明的目的在于提供一种检测准确率更高、并能自适应地更新参数的欺诈交易检测方法。

为实现上述目的,本发明提供一种技术方案如下:

一种欺诈交易检测方法,包括如下步骤:a)、确定第一交易所对应的第一特征向量;b)、利用流式聚类方法对第一特征向量进行聚类,以将第一交易归类于第一类别;c)、基于第一类别来更新基于hmm模型的观察状态序列;d)、确定观察状态序列的概率的变化率;e)、若概率的变化率满足第一条件,则判定第一交易为欺诈交易。

优选地,特征向量包括如下项的任一项或多项;交易金额;交易时间;交易地点;交易发起方的ip地址;交易设备型号;交易设备所用的操作系统;用户对交易设备施加的按键力度;以及,用户输入数据的速度。

优选地,在步骤b)中,采用基于密度分布演化的实时聚类算法对特征向量进行聚类。

优选地,步骤b)还包括:随时间更新稠密网格空间中各网格的密度值。

优选地,在步骤c)中,将第一类别作为观察状态序列的一个最新元素来更新之前的观察状态序列。

优选地,步骤c)还包括:根据正常交易来更新hmm模型的参数。

优选地,在步骤d)中,概率的变化率按照如下等式来计算:其中,ρ1为之前的观察状态序列的概率,ρ2为经更新的观察状态序列的概率。

本发明还公开了一种欺诈交易检测系统,包括:特征向量计算模块,用于基于第一交易来计算所对应的第一特征向量;聚类模块,与特征向量计算模块耦合,其利用流式聚类方法对第一特征向量进行聚类,以将第一交易归类于第一类别;观察状态序列确定模块,与聚类模块耦合,用于基于第一类别来更新基于hmm模型的观察状态序列;以及欺诈交易检测模块,与观察状态序列确定模块耦合,用于确定观察状态序列的概率的变化率是否满足第一条件。

发明各实施例提供的欺诈交易检测方法及系统,能够使用接近实时更新的模型及参数对欺诈交易进行实时侦测,有效避免了人工耗时耗力地周期性维护模型,这提高了系统效率,也提升了系统稳定性。欺诈交易检测采用的参数永远不会过时,并适用于各种不同场景。

附图说明

图1示出本发明第一实施例提供的欺诈交易检测方法的流程示意图。

图2示出本发明第二实施例提供的欺诈交易检测系统的模块结构示意图。

具体实施方式

在以下描述中提出具体细节,以便提供对本发明的透彻理解。然而,本领域的技术人员将清楚地知道,即使没有这些具体细节也可实施本发明的实施例。在本发明中,可进行具体的数字引用,例如“第一元件”、“第二装置”等。但是,具体数字引用不应当被理解为必须服从于其字面顺序,而是应被理解为“第一元件”与“第二元件”不同。

本发明所提出的具体细节只是示范性的,具体细节可以变化,但仍然落入本发明的精神和范围之内。术语“耦合”定义为表示直接连接到组件或者经由另一个组件而间接连接到组件。

以下通过参照附图来描述适于实现本发明的方法、系统和装置的优选实施例。虽然各实施例是针对元件的单个组合来描述,但是应理解,本发明包括所公开元件的所有可能组合。因此,如果一个实施例包括元件a、b和c,而第二实施例包括元件b和d,则本发明也应被认为包括a、b、c或d的其他剩余组合,即使没有明确公开。

如图1所示,本发明第一实施例提供一种欺诈交易检测方法,包括如下各步骤。

步骤s10、确定第一交易所对应的第一特征向量。

其中,第一交易为多笔交易中的任一笔。第一特征向量为第一交易所对应的特征向量。

其中,特征向量包括如下属性项的任一项或其组合:交易金额;交易时间;交易地点;交易发起方的ip地址;交易设备型号;交易设备所用的操作系统;用户对交易设备施加的按键力度;以及,用户输入数据的速度。

具体地,对于在线支付,尤其是移动支付来说,很多金融属性和非金融属性的特征都可能对交易行为建模起到关键性的作用。例如,像交易金额、交易时间、交易地点、交易网络ip、设备型号、操作系统、按键力度、输入速度这些属性都能作为一笔在线支付交易的特征向量。根据经验及统计分析等方法挑选原始变量,然后将账户的交易记录进行特征向量映射。

步骤s20、利用流式聚类方法对第一特征向量进行聚类,以将第一交易归类于第一类别。

通常来说,聚类是为了分类。每一个类别代表一群最相似的集合,因此处于同一集合内的交易被认为是具有相似模式的交易行为。在反欺诈场景中,单纯使用k-means这类算法的效果并不是很好,因为它在开始就需要指定聚类的个数,并且使用基于距离的度量准则。这样,聚类得到的结果趋于球形,对交易数据这种高维分布的效果不太好。

作为本发明可选但非优选的实施方式,特征预聚类可以选用基于网格聚类的clique算法,其目标是在d维的网格空间g(s1,s2,...,sd)中,将每一维si分为pi份,这样整个属性的空间一共被分为个网格。一个样本的特征向量表示为xj=(aj1,aj2,...,ajd)。如果映射到某一网格的对象数超过相应的密度阈值,则该网格是稠密的。然后,根据简单的贪婪搜索方法,从一个任意稠密单元开始,找出覆盖该单元的最大区域,然后在尚未被覆盖的剩余的稠密单元上继续这一过程,直到稠密单元都被覆盖,这时候连成一片的稠密单元就是一个聚类簇。

聚类完成后,就会得到k(k为大于等于1的正整数)个类别和对应的类别中心。类别号作为数组{c1,c2,...,ck}中的一个元素。初始聚类模型可以由较大量的历史交易数据经计算而得到,这能比较准确地代表样本分布特征,所以后续模型更新的过程中,可以维持这个k值不变。

作为对第一实施例的进一步改进,随时间更新稠密网格空间中各网格的密度值。

clustream算法是本领域技术人员所熟知的一种流式聚类算法,但是它对高维向量的处理效果不好,所以在反欺诈场景中并不适用。d-stream(density-basedstream)聚类算法借鉴了clustream算法中的在线微聚类和离线宏聚类的框架思想,实现了一种基于时间衰减技术的实时网格聚类算法,有效避免了欧式距离度量的不足,能够对任意形状的分布进行聚类。但是,该算法中,每个网格密度的定义仅仅考虑了当前网格内样本的随时间变化的分布情况,而没有整体考虑每个网格中样本在整个空间所占比例随时间的变化。这样一来,就会导致网格密度计量的偏差,这种偏差尤其对于特征维度复杂的场景影响较大。针对该问题的不足,本发明提出一种基于密度分布演化的实时聚类dde-stream(densitydistributionevolution-basedstream)算法作为更优选的实施方式。

具体地,给每一个样本分配一个密度权重系数wj,当该样本刚加入到某一网格时密度权重系数为1,然后按以下公式进行衰减:其中0<λ<1。设某个时间点t0,第i个网格内所有样本的密度权重之和再设定1个阈值d1。定义当第i个网格的密度di≥d1时该网格为稠密网格,di<d1时该网格为稀疏网格。该定义简化了原始d-stream聚类算法中过渡网格带来的计算复杂度。而原始d-stream算法已经证明了,如果在某一时刻删除一个稀疏网格,不会对该网格后续能否变为稠密网格产生影响。因此,本发明仍然遵循这个原理,只在初始化的时候计算一次整个网格空间,后续则只考虑当前网格占稠密网格空间的比重。设整个稠密网格空间中的所有样本的密度权重之和为那么定义第i个网格此时的密度为

根据上述改进,每经过一个很短的时间δt之后就更新一次网格的密度值。假设第i个网格内在δt时间段内一共新增了个样本,可以认为此时这ki个样本的密度权重都是1,那么这时第i个网格内所有样本的密度权重之和为:

整个稠密网格空间中的所有样本的密度权重之和为:

其中r为δt时间内有新样本进入的网格数。所以,在经过δt时间段后,网格密度按如下算式进行首次更新:

随后,利用首次更新的算式来判断网格是稠密还是稀疏,如果为稀疏,则直接将该网格删除。假设一共删除了p个稀疏网格,那么对于剩下的稠密网格,需要进行二次密度更新。最终得到的第i个稠密网格的密度更新采用如下算式:

其中q为在δ(t)时间段内有新样本加入的稠密网格的数量。

上述dde-stream算法仍然只负责维护一个稠密网格集,并且对该集合中的网格进行后续离线聚类,其不仅能够有效地避免全网格的复杂计算,还能够很好地表示密度分布的演化。

进一步地,为了实现在线聚类,可以获得任意时刻的稠密网格。设在所有s个网格空间中的存在任意两个网格单元s1和s2,当这两个网格单元在一个维度上有交集时,则它们互为邻接网格单元。互为邻接单元的网格所连接成的最大连通子网格空间即为一个稠密连通簇。这时候,得到的密度连通块的个数可能会大于k,所以需要进行进一步归类。可以计算每一个稠密连通簇在网格空间中的坐标质心点,然后使用简单的k-means算法对多个质心点根据初始聚类k值对连通聚类网格进行宏聚类。这样,在整个空间得到的若干聚类簇即为当前的在线聚类结果。

步骤s30、基于第一类别来更新基于hmm模型的观察状态序列。

本发明中,使用隐马尔可夫(hmm)算法对账户交易行为数据进行训练与识别。hmm是一种统计模型,用来描述一个含有隐含未知参数的马尔可夫过程。在该模型中,观察值是关于状态的随机过程,而状态是关于时间的随机过程,因此hmm是一个双重随机过程。

hmm模型是由如下的五元数组来描述:(q,o,a,b,π)。其中,q={q1,q2,...,qn}:表示隐藏状态序列;

o={o1,o2,...,on}:表示观察状态序列;

a={aij},aij=p(qt+1=qj|qt=qi):表示隐藏状态间的转移概率矩阵;

b={bik},bik=p(ot=ok|qt=qi):表示隐藏状态到输出状态的概率矩阵;

π={πi},πi=p(q1=qi):表示隐藏状态的初始概率分布。

具体地,在该步骤s30中,将第一交易所归类的第一类别作为观察状态序列的一个最新元素来更新之前的观察状态序列。其中,之前的观察状态序列通过对历史交易进行欺诈交易检测而得到。

作为示例,取特定账号的前r笔交易形成观察状态序列:

o={o1,o2,...,or},其中oi就是作为第i笔交易的聚类结果,也是数组{c1,c2,...,ck}中的一个元素。根据训练好的hmm模型,计算该观察状态序列的概率ρ1=p(o1,o2,...,or|λ)(λ代表hmm模型定义中的参数a、b、π的集合)。然后,丢弃最早的o1,将当前交易的聚类结果or+1与剩余的历史交易的聚类结果合并为新的观察状态序列,再计算新序列的概率ρ2=p(o2,o3,...,or+1|λ)。

基于hmm模型的观察状态序列中oi的取值从{c1,c2,...,ck}选取。隐藏状态表示某一特定的交易状态,给定特定账户在一段时间内的历史交易的观察状态序列,就可以生成针对该特定账户的hmm模型,进而,该hmm模型可以用来识别与该特定账户相关的欺诈交易和/或正常交易。

具体地,根据向前-向后(baum-welch)算法,首先对hmm模型的参数λ={a,b,π}进行均匀初始化。初始化完成后,进行最大似然估计以及循环迭代计算直至参数收敛,得到的结果即为最终参数。训练完参数λ之后,获得上述针对特定账户的hmm模型。

由于大量账户会产生海量的交易数据,本申请采用sparkstream流式计算框架来实时地对交易数据进行处理和判别。sparkstream是将流式数据按照设定的batchsize(批大小)分成一段一段的数据,每段数据都转换成spark中的rdd后在内存中进行计算。利用该技术,可以对很短一段时间内的交易数据进行准实时而批量的欺诈交易判别。若某笔交易被判别为欺诈交易,那么则进行后续分析或者上报处理;若为某笔交易被判别为正常交易,并将它添加到该账户的历史交易序列中去,用于模型更新。

作为对第一实施例的又一种改进,根据正常交易来近实时地更新hmm模型的参数。

本领域技术人员理解,单账户的交易行为也有可能随着时间而不断变化,离线训练hmm模型很有可能不能及时地了解特定账户的行为模式。另一方面,周期性地人工对大量账户产生的海量数据进行模型训练也耗时耗力。如果能够根据当前交易数据及时地自动更新模型的参数,就有可能掌握特定账户的行为模式,从而做出更准确的识别。

为了自动更新模型的参数,每当获得一个新的交易样本,就使它被映射到最新的聚类簇中去,即,每个交易样本都能够被准确地对应于hmm模型的某一个观测状态。接下来,按照增量隐马尔可夫模型ihmm对模型的参数进行更新,增量隐马尔可夫模型是用来更新隐马尔可夫模型参数(即a,b,π)的一种方法。

具体地,首先,参数a,b,π的初始值分配。这里,可以利用上一轮计算好的hmm参数作为当前参数的初始值。

其次,执行最大似然(em)估计。仍然需要先根据当前的参数λ计算前向变量但是由于实时情况下不能观测到后面时间的状态,所以后向变量不能进行实时计算,可以假设在不同时间,为常数1。

在e步骤,期望的增量修正公式如下:

在m步骤,最大化计算的增量修正如下:

估计初始状态方法不变:

重新估计转移概率矩阵的增量修正算式如下:

重新估计输出概率矩阵的增量修正算式如下:

其中,

根据m步骤的三个算式即可以得到新的参数λt

再次,循环计算直至收敛:这样每获得一个新的正常交易,就进行em循环至收敛,以得到一套新的hmm模型参数。

步骤s40、确定观察状态序列的概率的变化率。

作为示例,概率的变化率按照如下等式来计算:

其中,ρ1为之前的观察状态序列的概率,ρ2为经更新的观察状态序列的概率。

步骤s50、若概率的变化率满足第一条件,则判定第一交易为欺诈交易。

该步骤中,利用学习得到的hmm模型参数λ,来确定观察序列的概率是否符合预期(满足第一条件)。观察序列的概率可以利用前向算法来计算。

作为示例,第一条件为:步骤s40所求得的概率的变化率大于第一阈值θ。如果δρ>θ,则说明特定账户的当前交易行为模式与其前段时间的交易行为模式差别较大,因此判别当前交易为可疑交易。阈值θ的大小可以根据相应的业务指标进行适当的调整或更新。

上述第一实施例引入了基于密度分布演化的实时聚类(dde-stream)以及增量隐马尔可夫(ihmm)算法,使得hmm模型相对现有技术更加适合于行为特征较复杂的交易监测场景。通过结合dde-stream和ihmm算法,本发明可以实现hmm模型参数及聚类参数的在线更新。此外,该方法能够使用接近实时更新的模型及参数对欺诈交易进行实时侦测,不仅保证了参数的时效性,而且避免了人工耗时耗力地周期性维护模型,这提高了系统效率,也提升了系统稳定性。

如图2所示,本发明第二实施例提供一种欺诈交易检测系统,其包括特征向量计算模块201、聚类模块202、观察状态序列确定模块203以及欺诈交易检测模块204。

特征向量计算模块201基于第一交易来计算所对应的第一特征向量。换言之,其能够执行上述第一实施例中的步骤s10。

聚类模块202与特征向量计算模块201相耦合,用于利用流式聚类方法对第一特征向量进行聚类,以将第一交易归类于第一类别。其能够执行上述第一实施例中的步骤s20。

观察状态序列确定模块203与聚类模块202相耦合,用于基于第一类别来更新基于hmm模型的观察状态序列。其能够执行上述第一实施例中的步骤s30。

欺诈交易检测模块204与观察状态序列确定模块203相耦合,用于确定观察状态序列的概率的变化率是否满足第一条件。其能够执行上述第一实施例中的步骤s40及s50。

作为进一步的改进,欺诈交易检测系统还可以包括第一参数更新模块、第二参数更新模块(附图未示出)。第一参数更新模块可以自动地更新聚类模块202所采用的聚类参数,作为示例,可以采用基于密度分布演化的实时聚类方法来对聚类参数进行更新。第二参数更新模块可以自动地更新观察状态序列确定模块203所采用的hmm模型的参数,作为示例,可以按照增量隐马尔可夫模型来对模型的参数进行更新。

在本发明的一些实施例中,系统的至少一部分可采用通信网络所连接的一组分布式计算装置来实现,或,基于“云”来实现。在这种系统中,多个计算装置共同操作,以通过使用其共享资源来提供服务。

基于“云”的实现可提供一个或多个优点,包括:开放性、灵活性和可扩展性、可中心管理、可靠性、可缩放性、对计算资源所优化、具有聚合和分析跨多个用户的信息的能力、跨多个地理区域进行连接、以及将多个移动或数据网络运营商用于网络连通性的能力。

该第二实施例提供的欺诈交易检测系统,不仅能够实时地检测欺诈交易,还能够自动地更新聚类参数、hmm模型参数,使得这些参数永远不会过时,并适用于各种不同场景。

上述说明仅针对于本发明的优选实施例,并不在于限制本发明的保护范围。本领域技术人员可能作出各种变形设计,而不脱离本发明的思想及附随的权利要求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1