基于机器学习的金融欺诈检测模型

原创 精选
人工智能 机器学习
如今,基于互联网服务的欺诈案例时常登顶媒体头条,而使用在线服务和数字交易的金融行业尤其成为了重灾区。

作者 | 陈峻

审校 | 重楼

引言

如今,基于互联网服务的欺诈案例时常登顶媒体头条,而使用在线服务和数字交易的金融行业尤其成为了重灾区。网络洗钱、保险欺诈、网银盗用、虚假银行交易等复杂金融欺诈行为层出不穷,我们亟待通过行之有效的欺诈识别与检测的手段,来保护个人和组织免受巨大的经济损失。

作为一种自适应性强、可扩展性高的技术,机器学习算法具有从数据中学习、发现复杂模式的能力,因此被广泛地应用于各种科学领域。而检测金融欺诈正是其能够大显身手的新赛道。

模型介绍

目前,被用于金融欺诈检测的典型算法包括:逻辑回归(LR)、支持向量机(SVM)K-近邻(KNN)、奈夫贝叶斯(NB)、决策树(DT)、随机森林(RF)和增强奈夫贝叶斯 (TAN)等。其中,

  • SVM使用最佳超平面对数据点进行分类
  • KNN根据K-Nearest Neighbors对交易进行分类
  • NB使用概率学习来估计类别的概率
  • DT通过生成决策树以进行基于特征的分类
  • RF结合决策树以减少过拟合
  • TAN通过树状依赖结构来增强NB以捕捉特征相关性

这些模型为识别和检测金融欺诈提供了多种方法,有助于建立出强大的实时欺诈检测系统。当然,它们各有利弊,在为具体应用选择算法时,我们需要考虑数据集的大小、特征空间、处理需求、以及可解释性等因素。

为此,一种改进的集合机器学习(Ensemble Machine Learning)技术应运而生。它能够将多个单独的算法模型组合在一起,通过重点优化模型的各项参数、提高性能指标,以及整合深度学习(如Bagging、Boosting和Stacking),进而创建出可以修复识别到的错误、并减少假阴性的强大欺诈检测系统。

集合学习检测模型

既然是组合,那么我们便可以综合选配各种机器学习分类器。而每一种分类器都会以其独特的优势发挥应有的作用。

如上图所示,一个典型的金融欺诈类识别与检测模型会包括如下组件:

  • SVM,擅长为类别分离确定适当的超平面
  • LR,对事件概率进行建模
  • RF,能够建立稳健的决策树
  • KNN,根据近邻中的多数类进行分类
  • Bagging,会使用KNN作为基本分类器,以进一步丰富集合
  • Boosting,使用RF作为基础分类器
  • 最下方的投票分类器(Voting Classifier)可以综合上述分类器的各种预测结果

由于采用了集合机器学习的协同方式,因此该模型在检测金融领域少数类别的数据,以及解决类别不平衡方面,具有出色的表现。其根本意愿在于,集合模型有助于聚集不同的弱学习算法,以增强其整体识别与检测能力,进而提高相关决策的可解释性和透明度。此外,与深度学习架构相比,集合式计算的密集度较低,因此也更适合金融领域本来就计算资源有限的场景。

检测模型的评估

我们该如何来评估机器学习系统对于具体金融欺诈的检测效果呢?通常,业界会采用如下基本流程:

  • 首先,选择一个包含了合法交易和欺诈交易记录的数据集。
  • 由于数据集中存在着各种无序、原始、残缺、以及重复的实例,系统的检测很容易出现误差,因此我们需要进行数据预处理,使其适合模型的训练和测试。
  • 接着,鉴于欺诈交易只占整体交易数据的一小部分,我们需要对不平衡的数据集进行采样。
  • 然后,系统将整理好的采样数据分为训练样本和测试样本,使用其中的训练样本对已选的机器学习模型进行训练,并使用这两种样本来观察训练模型的行为。
  • 在获得准确率、精确度、召回率、F1分数等选定评估参数的结果后,对系统的整体能力进行分析和比较。

模型评估标准

在评估模型的清晰度和理解度时,业界通常会使用混淆矩阵(Confusion Matrix)。如下图所示,该矩阵由真阳性(TP)、真阴性(TN)、假阳性(FP)和假阴性(FN)四个直观的象限组成:

基于上述矩阵,目前被业界广泛认可的是模型评估标准通常包括:准确率、精确度、召回率和F1分数四个方面的指标。其中:

  • 准确率,是所有正确预测(TP + TN)与样本中预测或条目总数(TP + TN + FN + FP)之比。
  • 精确度,是TP与模型所做的所有正面预测(TP + FP)之比。换句话说,它是模型做出的正面预测的准确度。
  • 召回率,是用来衡量机器学习模型识别正向类所有实例的能力指标。它是正确预测到的阳性观察结果(TP)与实际阳性观察结果总数(TP+FN)的比率。
  • F1分数,是将精确度和召回率的结果合并为一个平衡的平均值指标。

评估模型的准确率

目前,有专家将集合学习模型与里面包含的LR、RF、KNN、Bagging、Boosting模型进行了逐一比较。就同样的数据集测试样本而言,其结果的精确度、召回率和F1分数如下表所示:


LR

RF

KNN

Bagging

Boosting

集合学习模型

精确度

0.945938

0.999891

0.999174

0.999

0.999092

0.999601

召回

0.944256

0.99989

0.999173

0.999

0.999092

0.9996

F1分数

0.944204

0.99989

0.999173

0.999

0.999092

0.9996

可见,集合学习模型能够很好地捕捉到相关数据,对其进行精确预测,从而实现了对特定数据的高灵敏度,并保持了稳定的较低误判率。

下表则更全面地向您展示了将各种典型机器学习算法,被运用到实时金融欺诈场景的准确率综合比较:

金融欺诈场景

机器学习算法

准确率

信用卡欺诈检测

卷积神经网络

99%

信用卡欺诈检测

长短期记忆

99.5%

欺诈性信用卡识别

直觉贝叶斯

96.1%

欺诈性信用卡识别

KNN

95.89%

欺诈性信用卡识别

随机森林

97.58%

欺诈性信用卡识别

序列卷积神经网络

92.3%

银行B2C 在线交易

卷积神经网络

91%

信用卡交易数据集

分布式深度神经网络

99.9422%

评估模型效率

除了准确率维度,我们也应该评估模型的计算效率。这往往涉及到在检测过程中,模型所需的训练和测试时间,以及这些过程对内存和存储等系统资源的利用率。


算法训练


在训练样本上测试

在测试样本上测试


时间(毫秒)

内存使用量(MiB)

时间(毫秒)

内存使用量(MiB)

时间(毫秒)

内存使用量(MiB)

LR

3.5

1190.03-1190.64

2.9

1190.65-1190.65

2.5

1190.77-1190.77

RF

1135

1295.93-1296.31

19.9

1296.31-1296.31

8.28

1296.31-1296.33

KNN

0.597

1190.77-1288.20

1431

1288.20-1294.43

355

1295.43-1295.89

Bagging

9.23

1147.86-1841.64

10179

1841.89-819.89

2331

820.93-1342.43

Boosting

883

1341.71-1454.40

14.8

1454.46-1458.23

6.05

1456.50-1456.86

集合学习模型

2049

1455.36-2282.86

11681

2282.89-2158.89

2928

2155.05-2028.86

注意:上表中的内存使用值是以兆字节(MiB)为单位,换算系数关系为1 MiB等于1.04858 MB。

总体而言,不同算法的训练和测试时间各不相同。其中,LRSVMKNN算法的训练时间较长,但测试时间较短;而其他模型则呈现出相反的趋势。

小结

综合上述,通过利用各种计算学习算法,我们不但可以提高金融欺诈检测的准确性和效率,而且能够尽早地发现潜在的欺诈活动,进而及时采取预防和抵御的措施,以减少其影响。

同时,随着信用卡欺诈技术的不断发展,能够有效综合各种算法优势的集合机器学习检测模型,已为我们进一步开发更具扩展性和适应性的欺诈检测系统,奠定了基础。从而在保证金融系统安全的同时,持续维护了消费者对于多元化互联网金融交易的信心。

作者介绍

陈峻(Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。


责任编辑:华轩 来源: 51CTO
相关推荐

2017-04-11 12:45:29

Python机器学习信用卡欺诈检测

2017-02-16 08:25:35

2017-04-11 21:13:58

机器学习数据分析pandas

2022-03-28 09:00:00

SQL数据库机器学习

2024-02-26 14:34:53

2018-09-17 15:30:05

机器学习密度异常值

2020-12-07 10:09:43

机器学习金融行业深度学习

2020-02-15 16:48:28

机器学习算法人工智能

2017-04-06 09:20:10

机器学习模型信用卡诈骗

2020-11-13 09:58:19

机器学习金融行业深度学习

2020-07-29 08:34:30

机器学习安全工具

2021-10-22 09:40:59

开源技术 工具

2022-01-22 00:17:07

物联网网络安全漏洞

2022-10-26 15:41:38

深度学习Deepfake机器学习

2023-06-12 07:50:45

2017-11-02 14:24:08

深度学习模型金融领域

2023-07-06 09:53:39

2019-06-25 10:09:42

Web攻击机器学习网络攻击

2017-08-25 14:05:01

机器学习算法模型

2018-08-30 14:58:12

机器学习磁盘故障
点赞
收藏

51CTO技术栈公众号