崔纪鹏 丁雯雯
(1.同济大学电子与信息工程学院,上海 201804;2.中国农业银行商河县支行,山东 济南 251600)
在线支付在给用户带来方便的同时,也面临着严峻的安全挑战。交易欺诈是在线金融支付系统面临的主要欺诈手段[1],它不但带来了巨额的经济损失,更严重影响了用户的使用体验。
为了应对交易欺诈,常用的技术手段包括欺诈预防和欺诈检测。不同于欺诈预防,欺诈检测通过对运行系统的实时监控,能够随时发现系统中正在发生的欺诈行为,及时向系统管理员报告并做出有效的止损反应。因此,欺诈检测是金融反欺诈的主要技术手段。
本文从学习方法类型和行为类型的角度出发,回顾金融欺诈检测的主要方法。
有监督学习模型要求数据必须有标签,它根据数据实例的特征,将其划分成不同的类别,在保证相同类别内数据实例的相似性的同时,最大化不同类别数据实例的区分性。在金融交易欺诈检测中,传统的有监督学习模型包括逻辑回归、支持向量机和人工神经网络等分类方法。
近年来,深度学习也越来越多地应用到欺诈检测中。相对于传统的分类方法,深度学习由于其强大的表征学习能力;常用的有监督深度学习模型包括自编码器、卷积神经网络和循环神经网络等。
有监督学习模型不依赖于具体的个体,因此,它们属于基于群体行为的异常检测方法。
不同于有监督学习模型,无监督学习模型不要求数据有标签,它的主要目的是挖掘数据背后蕴藏的模式或规律。基于无监督学习的金融交易欺诈检测,其背后的逻辑假设是,欺诈样本相对于合法样本只占数据总量的很小一部分比例。
在基于无监督学习模型的欺诈检测方法中,聚类算法是最普通的一种方法,比如K-均值算法。通过聚类,可以将合法交易和非法交易分成不同的类簇,以此来实现金融交易欺诈检测。人工神经网络不仅能够作为有监督学习模型用于欺诈检测,在基于无监督学习模型的欺诈检测中也有应用,其中最有效的是自组织映射网络。深度学习受益于其逐层抽象化的特征学习机制,近年来也被作为无监督学习模型应用于欺诈检测中。
由于模型训练所需要的样本量较大,基于非监督学习模型的欺诈检测方法同样不依赖于具体的个体,因此,也属于一种基于群体行为的异常检测方法。
在基于个体行为建模的金融交易欺诈检测中,现有工作都是以用户账号作为个体、并以其对应的交易记录作为行为数据进行个体行为建模的,按照不同的个体对交易数据进行聚合,并利用统计方法估计交易属性的分布。根据所选交易属性的不同,可以定义个体的局部画像、全局画像和即时画像等。常用于构建个体行为模型的属性字段包括:交易金额、交易金额走势、交易日期类型、交易时间、交易频率、IP地址和前一笔交易状态等。
为了利用账号之间的相似性,可以首先对账号按照相似性进行分组,并将同组内账号的历史交易数据作为个体行为数据构建行为模型。常用的方法包括基于K-均值聚类账号分组和基于滑动时间窗口的交易聚合。
现有的解决方法多是直接过滤掉历史交易记录较少的个体,这种方式极大限制了检测方法的实用性,会导致严重的冷启动问题。与此同时,交易通常描述为多个属性字段构成的元组,这些字段不但数据类型不同,而且量纲也不一致,很难进行统一有效地处理,这给欺诈检测的交易量化带来困难。另外,标签分布的不均衡性,会导致传统的分类模型偏向于多数样本所在的类,甚至会将少数类的样本视作噪声数据而忽略掉,严重影响了欺诈检测的性能。这些都属于交易数据自身固有的特点,它们会导致欺诈检测系统整体的不可靠性。
在实际的在线金融支付系统中,交易生成的速度是非常快的,这对交易欺诈检测系统提出极高的性能要求。现有方法只针对模型的整体性能,无法做到对局部有效性能的调优。
模型层面的主要问题是数据标签的可信性问题。在数据归集过程中,由于采集处理或者记录错误等原因,可能会导致交易的标签信息不可信。如何利用不可信的标签数据,构建可信的欺诈检测模型,是构建金融欺诈检测系统需要解决的重要问题。现有的方法缺乏对交易标签的可信性度量手段,存在模型和预测结果的可信性问题。
具体方法是,基于金融交易的描述,将欺诈检测实例映射为推荐系统实例:将交易个体映射为推荐系统中的用户,原型交易映射为推荐系统中的物品,交易标签映射为推荐系统中的评分。通过问题转化,用户对物品的评分信息就能够反应原始交易对应的欺诈信息。在设计推荐算法时,采用还原评分排序的方式,能够最大程度区分合法交易行为和欺诈交易行为,有效解决标签分布不均衡问题。通过解决推荐系统问题,除了利用协同过滤思想挖掘相似个体的共性信息之外,还能够通过交易属性嵌入方法(Embedding),实现交易属性值的向量化,从而间接解决交易属性的异构问题。
传统方法默认将用户作为个体,这样很容易导致新用户出现带来的冷启动问题。不难看出,用户集实质上对应着交易数据集的一个划分,因此,可以将个体的概念由用户集拓展为全部上下文属性集。
交易的上下文属性,是相对于交易的行为属性而言的,用于描述交易发生的上下文环境的,比如交易对应的用户、商户和发卡地等信息。通过拓展交易个体的概念,交易可以表示为它的多上下文个体形式,τ=〈{i,m,p},ρ〉。其中,{i,m,p}表示交易对应的个体集合,并且i表示用户个体,m表示商户个体,p表示地点个体,ρ表示原型交易,是描述交易行为的属性值的组合。
提升模型有效性的途径有两种:一是构建更具表达能力的行为个体,二是构建更有效的欺诈性打分函数。
在交易多上下文描述的基础上,多粒度行为个体定义为多上下文个体的笛卡尔积形式,即κ=〈i,m,p〉。显然,相对于多上下文行为个体,它具有更强的表达能力。
多粒度行为个体对应的欺诈性打分函数可以表示为fκ(ρ)。为了得到更有效的欺诈性打分函数,借鉴生成对抗网络[2]的思想,在解决推荐系统问题的过程中,采取添加边界分类约束的方式,实现对训练过程的启发式引导。这些依赖于具体上下文的边界分类器,能够充分利用模型当前模型参数对交易标签的判别信息,实时判断和指导模型训练向着更加有效的方向进行。
一笔交易发生的实质是个体和原型交易的共现,这种共现信息包括两个方面:一是共现的频次信息,二是共现的标签信息。
显然,频次信息在某种程度上,可以看作是标签信息的可信性度量:在给定标签不变的前提下,个体和原型交易共现的频率越高,该标签的可信度就越大。在建模标签信息的同时,加入共现频次的影响,有助于提升模型整体的可信性。
一个可行的实现方法是在解决推荐系统问题时,构建组合评分和排序的可信推荐算法。分别构建基于排序推荐的目标函数和基于评分推荐的目标函数,进而以指数函数的方式进行组合。其中,评分信息的还原程度作为指数部分,用作对排序信息还原程度的可信性度量。