CN116739764A - 一种基于机器学习的交易风险检测方法、装置、设备及介质 - Google Patents
一种基于机器学习的交易风险检测方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116739764A CN116739764A CN202310544717.1A CN202310544717A CN116739764A CN 116739764 A CN116739764 A CN 116739764A CN 202310544717 A CN202310544717 A CN 202310544717A CN 116739764 A CN116739764 A CN 116739764A
- Authority
- CN
- China
- Prior art keywords
- data
- transaction
- model
- sample
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 27
- 238000001514 detection method Methods 0.000 title claims abstract description 26
- 238000012549 training Methods 0.000 claims description 81
- 238000000034 method Methods 0.000 claims description 43
- 238000013058 risk prediction model Methods 0.000 claims description 41
- 238000012795 verification Methods 0.000 claims description 26
- 206010000117 Abnormal behaviour Diseases 0.000 claims description 24
- 230000002159 abnormal effect Effects 0.000 claims description 22
- 238000012360 testing method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 11
- 230000006399 behavior Effects 0.000 claims description 8
- 230000002708 enhancing effect Effects 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 claims description 3
- 238000012952 Resampling Methods 0.000 claims description 2
- 238000013434 data augmentation Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012935 Averaging Methods 0.000 description 7
- 230000004927 fusion Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000009937 brining Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Probability & Statistics with Applications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及人工智能及金融科技领域,公开了一种基于机器学习的交易风险检测方法、装置、设备及介质,首先,获取待预测的用户身份信息、位置信息、账户信息及交易信息,然后将待预测的用户身份信息、位置信息、账户信息及交易信息输入预先建立的交易风险预测模型,得到用户是否存在交易异常行为的预测结果,预测用的交易风险预测模型由至少一个梯度提升树模型融合而成,每个梯度提升树模型根据多个用户的身份信息、位置信息、账户信息及交易信息的样本数据进行对抗数据增强后训练获得,提升了交易异常行为预测识别的准确性,通过数据增强解决了交易异常样本数据量不足的技术问题。
Description
技术领域
本申请涉及人工智能及金融科技领域,尤其是涉及一种基于机器学习的交易风险检测方法、装置、设备及介质。
背景技术
交易异常是指将黑社会性质的组织犯罪、恐怖活动犯罪、走私犯罪、贪污贿赂犯罪、破坏金融管理秩序犯罪、金融诈骗犯罪等犯罪所收益,通过各种手段隐瞒或掩饰起来,并使之在形式上合法化的行为和过程,特别是医疗领域的交易异常尤为严重,在医药商业贿赂中一直存在违法违规问题除了医商“勾结”、相互行贿、受贿之外,还有众多医药公司虚开发票涉税刑事案件。
面对上述的问题,现有技术中通常基于来自银行系统、交易系统、保险系统、订单系统的大量历史交易数据或支付数据或业务数据或购买数据,利用诸如传统的机器学习算法来训练模型等方式对交易异常交易进行识别,以保障消费者切身利益,又能清除交易中投机不法分子,维护健康安全的交易环境。具体地,现有技术中主要利用如下方式对交易异常交易进行识别:
1、对基于公安部、外交部等指定的交易异常高风险人员名单进行识别监控;
2、利用大数据技术,统计分析涉案交易用户的主要特点,制定识别规则。
现有技术中的数据分析主要基于参数统计理论,很难分析多个特征内在交互作用,也很难从大量数据中挖掘深层信息,现有技术存在不少缺陷和痛点,主要原因在于现有的可供训练模型正样本(交易异常案例)很少,导致可供分析的数据有限,分析制定规则或训练机器学习模型预测困难,训练出的模型预测不精准。
发明内容
有鉴于此,本申请提供了一种基于机器学习的交易风险检测方法、装置、设备及介质,实现了交易异常行为预测识别的准确性,解决了交易异常样本数据量不足,难以提升模型训练精度的技术问题。
根据本申请的第一方面,提供了一种基于机器学习的交易风险检测方法,包括:
获取多个用户身份信息、位置信息、账户信息及交易信息作为数据样本;
对数据样本进行对抗数据增强,并根据数据增强后的数据样本训练交易风险预测模型,其中,交易风险预测模型由LightGBM模型和CatBoost模型融合而成;
获取待预测的用户身份信息、位置信息、账户信息及交易信息;
将待预测的用户身份信息、位置信息、账户信息及交易信息输入交易风险预测模型,得到用户是否存在交易异常行为的预测结果。
根据本申请的第二方面,提供了一种基于机器学习的交易风险检测装置,包括:
样本获取模块,用于获取多个用户身份信息、位置信息、账户信息及交易信息作为数据样本;
模型训练模块,用于对样本获取模块获取的数据样本进行对抗数据增强,并根据数据增强后的数据样本训练交易风险预测模型,其中,交易风险预测模型由LightGBM模型和CatBoost模型融合而成;
数据获取模块,用于获取待预测的用户身份信息、位置信息、账户信息及交易信息;
风险预测模块,用于将数据获取模块获取的待预测的用户身份信息、位置信息、账户信息及交易信息输入交易风险预测模型,得到用户是否存在交易异常行为的预测结果。
根据本申请的第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于机器学习的交易风险检测方法的步骤。
根据本申请的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述基于机器学习的交易风险检测方法的步骤。
借由上述技术方案,本申请提供的一种基于机器学习的交易风险检测方法、装置、设备及介质,首先,获取多个用户身份信息、位置信息、账户信息及交易信息作为数据样本;对数据样本进行对抗数据增强,并根据数据增强后的数据样本训练交易风险预测模型,获取待预测的用户身份信息、位置信息、账户信息及交易信息,将待预测的用户身份信息、位置信息、账户信息及交易信息输入交易风险预测模型,得到用户是否存在交易异常行为的预测结果,通过数据增强增加了交易异常样本的数据量,解决了交易风险预测模型训练过程中正负样本不均衡的问题,提升了交易异常行为预测识别的准确性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特列举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例中提供的一种基于机器学习的交易风险检测方法应用场景的示意图;
图2示出了本申请实施例一中提供的一种基于机器学习的交易风险检测方法流程示意图;
图3示出了本申请实施例二中提供的一种基于机器学习的交易风险检测方法流程示意图;
图4示出了本申请实施例三中提供用于识别交易异常团伙的网络图谱示意图;
图5示出了本申请实施例中提供的一种基于机器学习的交易风险检测装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例提供的一种基于机器学习的交易风险检测方法和装置,可应用于如图1的应用环境中,包括交易客户端、管理客户端、服务器、交易数据库、账户数据库,其中,交易客户端为用户进行资金交易的应用载体,例如APP、小程序、网页应用等,管理客户端用于呈现本发明实施例中对交易异常行为的检测结果,对用户交易行为进行管控,通常受控于金融或政府机构的管理人员,服务器可以有一系列的服务集群组成,用于运行本发明实施例提供的一种基于机器学习的交易风险检测的方法,对交易数据库、账户数据库的数据信息进行训练和处理,首先,通过从交易数据库、账户数据库中首先,获取多个用户身份信息、位置信息、账户信息及交易信息作为数据样本,这类数据样本可存在于相关的业务数据表、交易数据表、支付数据表中,数据属性可以为交易数据或支付数据或业务数据或购买数据;对数据样本进行对抗数据增强,并根据数据增强后的数据样本训练交易风险预测模型(可以为LightGBM模型和CatBoost模型经过加权融合后的模型),获取待预测的用户身份信息、位置信息、账户信息及交易信息,将待预测的用户身份信息、位置信息、账户信息及交易信息输入交易风险预测模型,得到用户是否存在交易异常行为的预测结果,通过数据增强增加了交易异常样本的数据量,解决了交易风险预测模型训练过程中正负样本不均衡的问题,提升了交易异常行为预测识别的准确性。
下面通过具体的实施例对本发明进行详细描述。
在本实施例中提供了一种基于机器学习的交易风险检测方法,如图2所示,该方法包括:
实施例一
步骤201、获取多个用户身份信息、位置信息、账户信息及交易信息作为数据样本;
步骤202、对数据样本进行对抗数据增强,并根据数据增强后的数据样本训练交易风险预测模型;
其中,所述交易风险预测模型由至少一个梯度提升树模型融合而成,每个梯度提升树模型根据多个用户的身份信息、位置信息、账户信息及交易信息的样本数据进行对抗数据增强后训练获得,各种模型由于自身算法特点、训练数据不同,侧重点各异,制定合理有效策略,利用多模型融合的方式不仅可以减少单模型预测偏差,而且可以兼顾更多场景,在提高精度同时提高识别量。结构化数据预测的应用,尤其是特征尺度不完全一致或类别特征和连续特征同时存在时,模型优势明显。在模型选择方面,本实施例中的基于梯度提升的lightGBM/catboost是很好的选择,在模型效果和训练效率方面都具有很大优势,而且对类别特征有特定的处理方法,本实施例中应用的梯度提升树模型包括LightGBM模型和CatBoost模型,梯度提升树模型可以为多个模型的融合模型,可以为同质模型或异质模型的融合,相应地,用于融合的模型可以包括RF、XGBoost、LightGBM、CatBoost、CNN、LSTM等。模型融合的方式可以包括多种方式,例如:
1、投票法
对多个模型的预测结果进行投票,即少数服从多数。投票法有两种:普通投票法和加权投票法。加权的权重可以人工主观设置或者根据模型评估分数来设置权重。
2、平均法
对多个模型的预测结果进行平均。平均法的好处在于平滑结果,从而减少过拟合。常见的平均法有三种:算术平均法、几何平均法和加权平均法。
3、排序法
融合不同模型对预测结果进行排序;对排序序号进行平均;对平均排序序号进行归一化。
4、Stacking法
基于原始数据样本,训练出多个模型,然后将多个模型的预测结果组合成新的训练集,去训练一个新的融合模型作为本申请实施例中的交易风险预测模型。
5、Blending法
对原始数据样本先划分出一个较小的留出集,例如10%训练集被当作预留集,Blending用90%的数据做多个模型的训练,而10%预留集用作训练融合后的交易风险预测模型,这样基学习器和元学习是用不同数据集来训练的。
步骤203、获取待预测的用户身份信息、位置信息、账户信息及交易信息;
步骤204、将待预测的用户身份信息、位置信息、账户信息及交易信息输入交易风险预测模型,得到用户是否存在交易异常行为的预测结果。
现有技术中的日常交易数据样本中交易异常样本占比非常之少,一般低于十万分之一,这种正负样本的比例悬殊,严重影响了模型的精确度和泛化能力,而本申请提供的一种基于机器学习的交易风险检测方法,首先,获取多个用户身份信息、位置信息、账户信息及交易信息作为数据样本;对数据样本进行对抗数据增强,并根据数据增强后的数据样本训练交易风险预测模型,获取待预测的用户身份信息、位置信息、账户信息及交易信息,将待预测的用户身份信息、位置信息、账户信息及交易信息输入交易风险预测模型,得到用户是否存在交易异常行为的预测结果,通过数据增强增加了交易异常样本的数据量,解决了交易风险预测模型训练过程中正负样本不均衡的问题,提升了交易异常行为预测识别的准确性。
实施例二
实施例二在实施例一的基础上选择了LightGBM模型和CatBoost模型进行融合,LightGBM的基于梯度的单边采样算法(GOSS)类别特征处理比传统XGBoost、随机森林方便,且训练速度更快,泛化能力更强,LightGBM和CatBoost在结构化数据应用中往往比神经网络泛化更好。随着特征的增多,神经网络的优势更加突出。在本实施例中提供了一种基于机器学习的交易风险检测方法,如图3所示,该方法包括:
步骤301、获取多个用户身份信息、位置信息、账户信息及交易信息作为数据样本;
步骤302、训练交易风险预测模型;
其中,步骤302为模型训练过程,其具体可以包括:
步骤302-1、将数据样本(多个用户身份信息、位置信息、账户信息及交易信息)划分为训练集、验证集和测试集;
步骤302-2、利用所述训练集,分别对至少一个梯度提升树模型进行高精度模型训练和低精度模型训练,并利用所述验证集分别对训练后的梯度提升树模型进行验证;
其中,训练Catboost、LightGBM两种算法的基准模型,每个模型使用相同的参数进行训练;使用超参数自动搜索模块GridSearchCV(这是将交叉验证和网格搜索封装在一起的方法,这是python库sklearn中封装的一种方法,该方法中还有一个属性称为best_score_,这个属性会存储模型在交叉验证中所得的最高分,而不是测试数据集上的得分)来训练XGBoost、Catboost和LightGBM两种算法的微调整模型。
步骤302-3、根据高精度模型和低精度模型验证结果,对所述数据样本进行数据增强;
步骤302-4、当训练的Epoch小于预设Epoch次数阈值时,将数据增强后的所述数据样本重新划分为训练集和验证集,并重新进行模型训练;
其中,Epoch指训练集中的全部样本都在训练模型中训练了一遍。
步骤302-5、当训练的Epoch达到预设Epoch次数阈值,且模型验证精度均小于第一次Epoch的验证精度时,生成训练后的梯度提升树模型。
其中,将增强后的数据重新划分训练和验证集,重复上述步骤302-2和步骤302-3。直到模型精度precisions和召回率recall没有明显增加,需要特别说明的是,这里指的没有明显增加是指当连续预设Epoch次数阈值(例如10次或者更多次)没达到最佳精度时,则可以认为精度不再提高,可作为终止模型训练的依据即步骤302-5的执行。另外,在这一过程中,还可以仿照步骤301-3的方式对每轮Epoch总是错误的数据Fa_data_error,然后数据增强data_plus(Fa_data_error),例如前八次训练均错误的数据Fa_data_error进行数据增强后加入到第9次、第10次的模型训练中,相当于在步骤302-3的基础上又进行了一次数据增强的处理。
步骤303、获取待预测的用户身份信息、位置信息、账户信息及交易信息;
步骤304、将待预测的用户身份信息、位置信息、账户信息及交易信息输入预先建立的交易风险预测模型,得到用户是否存在交易异常行为的预测结果。
可以理解,由于异常交易行为本身属于违法操作,因此实际对应的交易记录样本即正样本的数量较少,这样会导致正负样本的比例不均衡,影响识别模型的预测准确度,本实施例应用过程中的数据样本正负样本分布极不均衡,可能10万条数据里面才有可能有一个正样本(交易异常行为样本),通过数据增强有助于提高正样本比例,进而提高模型预测精度,步骤302-3为数据增强的步骤具体可以包括:
步骤302-31、根据高精度模型和低精度模型验证结果,获取高精度模型的正确识别样本及低精度模型正确识别样本;
步骤302-32、获取第一数据样本,所述第一数据样本为高精度模型的正确识别样本及低精度模型的正确识别样本之间存在差异的数据样本的并集;
步骤302-33、对所述第一数据样本中与交易信息相关的变量加入随机噪声,进行数据增强,以生成新的数据样本。
较优的,在步骤302-3原有数据增强的基础上,为了进一步扩充正样本数据,步骤302-3还可以包括:
步骤302-34、根据高精度模型和低精度模型验证结果,获取高精度模型的错误识别样本及低精度模的型错误识别样本;
步骤302-35、获取第二数据样本,所述第二数据样本为高精度模型的错误识别样本与低精度模型的错误识别样本之间存在差异的数据样本的并集;
步骤302-36、获取第三数据样本,所述第三数据样本为在高精度模型的错误识别样本与低精度模型的错误识别样本中都错误的数据样本;
步骤302-37、对所述第二数据样本及所述第三数据样本中与交易信息相关的变量加入随机噪声,进行数据增强,以生成新的数据样本。
步骤302-33和步骤302-37中数据增强可以采用多种方式实现,例如SMOTE、SMOTE+TomekLinks、SMOTE+enn,较优地,可以采用本实施例中自定义的数据增强函数(data_plus_df)执行数据增强,data_plus_df的输入参数为df数据对象;repeat_name_list表示数据集中需要增强样本对应的识别键,类似主键或唯一键,如cid;repeat_num_list表示每个cid需要增强多少次,可根据数据分布情况,统计分析后设置;groupby_list表示以某些字段集合为基准对每个样本进行数据增强处理,如cid或cid+city;cols_not_tail_list2表示数据集中不需要数据增强对应的特征或字段名称;start_index表示增强部分的数据对应index起始值,以区分原来数据。data_plus_df中对数据加噪声可用np.random.uniform()生成数据噪声,在原数据基础上±5%上下浮动。步骤302-31、步骤302-32、步骤302-33的整体和步骤302-34、步骤302-35、步骤302-36、步骤302-37的整体之间没有执行的先后顺序,可同时运行,全部完成了数据增强之后再将增强后的数据样本重新进行模型训练。训练过程中,为了提高模型的泛化能力,本实施例中LightGBM用L1+L2正则,catboost用L2正则,设置正负样本的比例系数scale_pos_weight,这个值可以设为负正样本比值的算术平方根np.sqrt或者取对数np.log2,np为python的NumPy库的简写。
为了更加清楚的介绍步骤302-3的数据增强操作,下面结合Python语言的数据增强操作实际案例进行介绍,假设算法模型Fa和Fb分别代表LightGBM和CatBoost,训练和测试集数据合并为data,对应标签y,则模型Fa的预测结果为Fa(data),数据增强函数为data_plus,data_plus(data)表示对某个具体样本进行数据增强,单个样本增强的数量可以参考前文数据增强部分,具体策略大致如下:
步骤A:利用算法模型LightGBM分别训练两种模型Fa01和Fa02,其中Fa01侧重高精度(对应步骤302-31中的高精度模型),Fa02(对应步骤302-31中的低精度模型)侧重高召回率(查全率),通过验证集对Fa01和Fa02进行验证,假设正确识别样本分别为Fa01_data、Fa02_data,得到两个模型正确预测存在差异的数据合集
Fa0102_data=np.setdiff1d(Fa01,Fa02)Unp.setdiff1d(Fa02,Fa01),其中,np.setdiff1d为python的numpy库中的函数方法,用于找到2个数组中集合元素的差异,U用于表示集合运算取并集的意思,对Fa0102_data进行数据增强data_plus(Fa0102_data),这里的data_plus相当于data_plus_df;
步骤B:通过验证集对Fa01和Fa02进行验证,Fa01和Fa02预测后错误识别的样本为Fa01_data_error、Fa02_data_error,得到两个模型错误预测存在差异的数据合集表示为
Fa0102_data_error_diff=np.setdiff1d(Fa01_error,Fa02_error)Unp.setdiff1d(Fa02_error,Fa01_error),两个模型预测都错的数据
Fa0102_data_error_both=np.intersect1d(Fa01_error,Fa02_error),np.intersect1相当于取两个数组的交集。然后利用数据增强Fa0102_data_error_diff表示为data_plus(Fa0102_data_error_diff),利用数据增强Fa0102_data_error_both表示为,data_plus(Fa0102_data_error_both),其中,Fa0102_data_error_both的增强比例大于Fa0102_data_error_diff,增强比例可通过data_plus中的repeat_num_list设置。
步骤C:将增强后的数据重新划分训练集、验证集,重复上述步骤A和步骤B,通过步骤302-5判断Epoch不断进行迭代训练。
类似地,利用算法模型LightGBM分别训练两种模型Fb01和Fb02进行以上类似操作,通过这种对抗训练的方式,最终使得Fa和Fb整体识别量和精度得到提高。
本实施例中采用这种对抗训练的方式,特别是利用自定义函数进行数据增强,以此增加样本量,进一步提高模型识别效果,提高模型泛化能力,正则化背景下的对抗训练减少独立同分布测试集错误率,可以理解为将错误特征的分布显著化,促使损失函数关注错误的识别,以此提高识别率;对抗训练则鼓励模型在训练数据局部恒定来限制高度敏感的局部线性行为,缓解过度线性,如果某些局部区域输入数据的优化函数是线性或近似线性,这些函数很容易被优化。
步骤302-2之前,包括:
步骤302-21、对所述数据样本,统计不同账户的交易频次分布;
步骤302-22、根据交易频次分布,将所述数据样本进行排序分段,对不同分段的所述数据样本按照对应的采样比例进行采样,以生成训练集、验证集和测试集,其中,所述采样比例与账户的交易频次成正比。
本步骤中可以寻找某些能够隐含多种综合信息的特征,进行分层采样,例如对于交易频次进行排序分层,对于近三个月的交易频次进行分区间采用,交易频次可以从某种侧面反映交易异常的概率,例如:通常近三个月交易为一次的用户占绝大多数,采样时候比例可以较小比例,对于分布占比小的数据如近三个月交易达8次的用户,可以采用较大比例采样。除基于特征变量分布进行排序分层之外,也可以利用kmeans算法聚类后分层采样,因为kmeans的聚类的本质是基于隐变量进行分层采样。
本实施例中,样本数据采样后需要对样本数据进行预处理,同时进行特征工程,对用户身份信息、位置信息、账户信息及交易信息进行分析后,提出用于训练模型的主要特征,以减轻构建模型的难度,让数据朝着更能体现预测结果的方向,加速模型收敛,提高泛化等,数据的预处理可以采用如下两种方式:
1)比值类处理:比如存在部分/整体特征往往显得值过小,本实施例中可以采用对数后乘以-1;
2)Log分段光滑:log具有平滑及不用数据量级别趋于一致作用,对于重垂尾的异常类数值或极值,用log处理后效果明显提升。
步骤302-5之后,包括:
步骤302-6、根据训练后的梯度提升树模型输出的交易异常行为概率,对用户账户划分风险等级,所述风险等级包括高风险、中高风险、中风险和低风险。
其中,根据测试集预测的pro分布,选择最佳阈值。如下表所示,正样本大于某个阈值的y1数量累加足够多,且负样本y0累加少对应的阈值即可,例如某次参数调节过程中测试集f1_score随cut_off的变化曲线,可以看到,cut_off=0.8时f1_score最大,则最优的cut_off为0.8。模型在对样本进行二分类预测时,首先得出的是样本所属类别的概率,然后通过cut_off值划分得出结果,大于阈值判为正例,小于阈值的判为反例。该阈值反应了对于预测把握的估计,阈值越大的,要求的预测似然越大,对应的预测类别特征空间相应地收缩。
y | pcut-lgb | y0 | y1 | y0_cut_rate | y0_recall | y0_recall_rate | y1_cut_rate | y1_recall | y1_recall_rate |
0 | [0.0,0.1) | 23594 | 125 | 0.9536 | 0 | 0 | 0.09952 | 1256 | 1 |
1 | [0.1,0.2) | 503 | 44 | 0.02033 | 23594 | 0.9536 | 0.03503 | 1131 | 0.90048 |
2 | [0.2,0.3) | 220 | 45 | 0.00889 | 24097 | 0.97393 | 0.03583 | 1087 | 0.86545 |
3 | [0.3,0.4) | 121 | 31 | 0.00489 | 24317 | 0.98282 | 0.02468 | 1042 | 0.82962 |
4 | [0.4,0.5) | 84 | 35 | 0.0034 | 24438 | 0.98771 | 0.02787 | 1011 | 0.80494 |
5 | [0.5,0.6) | 63 | 28 | 0.00255 | 24522 | 0.99111 | 0.02229 | 976 | 0.77707 |
6 | [0.6,0.7) | 45 | 43 | 0.00182 | 24585 | 0.99365 | 0.03424 | 947 | 0.75478 |
7 | [0.7,0.8) | 43 | 58 | 0.00174 | 24630 | 0.99547 | 0.04618 | 905 | 0.72054 |
8 | [0.8,0.9) | 41 | 71 | 0.00166 | 24673 | 0.99721 | 0.05653 | 846 | 0.67436 |
9 | [0.9,1.0) | 28 | 776 | 0.00113 | 24714 | 0.99887 | 0.61783 | 776 | 0.61783 |
该表相当于用户交易异常行为的评分表,pcut列是pro分布区间,recall为召回数,recall_rate为召回率,按照0.1分了10个区间,可以根据需要做更精细划分,由y_pro_cut中cut_num参数调整。该评分表对加工好的用户数据进行预测,得到一个风险概率pro,按照pro分布情况,划分风险等级,如pro∈[0.9,1]为高风险,pro∈[0.8,0.9)中高风险,pro∈[0.7,0.8)中高风险,pro∈
[0.6,0.7)中风险,[0.5,0.6)低风险。
步骤302-6的过程中,包括对模型的评价,通过各种衡量指标评估模型和建模过程的优劣,例如训练和预测的时间;预测得分;可解释性(包括:特征重要性,SHAP值,可视化树)。
实施例三
在实施例一和实施例二的基础上,为了实现团伙交易异常行为的检测识别,引入了关系图谱的概念,通过图数据库(例如TigerGraph、Neo4j、Amazon Neptune、JanusGraph和ArangoDB)进行关系数据的存储和处理,将关系数据引入到预测模型的训练和结果预测中,利用关系图谱抽象出较为显著的关系特征,将其转换为一种直观的表示,算法就可以揭示出其中隐含的显示或隐式信息,相应地,
实施例二的步骤302-6生成训练后的梯度提升树模型的步骤之后,包括:
步骤302-61、根据训练后的梯度提升树模型输出的交易异常行为概率,选择交易异常行为概率大于预设概率阈值的数据样本;
其中,根据训练后的梯度提升树模型输出的交易异常行为概率对用户进行分级,例如:高风险用户、中低风险用户、其他表示介于二者之间的中高风险,选择不同风险用户进行后续的步骤。
步骤302-62、根据交易关联数据,构建交易关系图谱,以识别交易异常团伙,其中,所述交易关联数据包括交易对象、共同设备号和共用手机号;
其中,利用关系图谱对风险进行推断,当网络关系中不同风险等级用户较多时,可以利用图谱对风险推断,基于交易关系图谱,以识别交易异常团伙的推理过程可以有多种自定义的规则,可结合应用要求进行灵活设定,例如:凡是与高风险用户存在关系的用户,往往能够很快判断确立风险团伙;与中低风险有关系的用户存在较多高风险用户,可以判断该关系图谱的风险也较大;与中低风险直接联系(1层关系)层级用户没有高风险用户,但是次一级联系的用户却存在很多风险用户;关系图谱中如果子节点中低风险多超过预设阈值,则该节点风险等级升级;如果关系图谱中高风险多,则升级为高风险;关系图谱中如果子节点有中高风险/高风险,则相应的该节点风险等级升级为中高风险/高风险。如图4所示,椭圆表示1层直接关系用户中低风险群体多少;红框表示1层关系中高风险群体多;进一步挖掘,2层关系中存在高风险用户,则判断整个关系网有风险。
步骤302-63、对所述交易异常团伙的样本数据进行重新采样,并重新进行模型训练。
其中,对于识别为交易异常团伙的样本数据又可以重新采用为数据样本,划分为训练集、验证集、测试集之后,重新进行二中的模型训练过程,可进一步提高模型预测的精度。
进一步地,作为图2和图3方法的具体实现,本申请实施例中提供了一种基于机器学习的交易风险检测装置,如图5所示,该装置包括:
样本获取模块510,用于获取多个用户身份信息、位置信息、账户信息及交易信息作为数据样本;
模型训练模块520,用于对样本获取模块510获取的数据样本进行对抗数据增强,并根据数据增强后的数据样本训练交易风险预测模型,其中,交易风险预测模型由LightGBM模型和CatBoost模型融合而成;
数据获取模块530,用于获取待预测的用户身份信息、位置信息、账户信息及交易信息;
风险预测模块540,用于将数据获取模块530获取的待预测的用户身份信息、位置信息、账户信息及交易信息输入交易风险预测模型,得到用户是否存在交易异常行为的预测结果。
其中,模型训练模块530具体用于将从样本获取模块510获取的数据样本划分为训练集、验证集和测试集;利用训练集,分别对至少一个梯度提升树模型进行高精度模型训练和低精度模型训练,并利用验证集分别对训练后的梯度提升树模型进行验证;根据高精度模型和低精度模型验证结果,对数据样本进行数据增强;当训练的Epoch小于预设Epoch次数阈值时,将数据增强后的数据样本重新划分为训练集和验证集,并重新进行模型训练;当训练的Epoch达到预设Epoch次数阈值,且模型验证精度均小于第一次Epoch的验证精度时,生成训练后的梯度提升树模型。
本申请提供的一种基于机器学习的交易风险检测方法,首先,样本获取模块510获取多个用户身份信息、位置信息、账户信息及交易信息作为数据样本;模型训练模块520对数据样本进行对抗数据增强,并根据数据增强后的数据样本训练交易风险预测模型,数据获取模块530获取待预测的用户身份信息、位置信息、账户信息及交易信息,风险预测模块540将待预测的用户身份信息、位置信息、账户信息及交易信息输入交易风险预测模型,得到用户是否存在交易异常行为的预测结果,通过数据增强增加了交易异常样本的数据量,解决了交易风险预测模型训练过程中正负样本不均衡的问题,提升了交易异常行为预测识别的准确性。
本申请实施例中提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
根据本申请的第一方面,提供了一种基于机器学习的交易风险检测方法,包括:
获取多个用户身份信息、位置信息、账户信息及交易信息作为数据样本;
对数据样本进行对抗数据增强,并根据数据增强后的数据样本训练交易风险预测模型,其中,交易风险预测模型由LightGBM模型和CatBoost模型融合而成;
获取待预测的用户身份信息、位置信息、账户信息及交易信息;
将待预测的用户身份信息、位置信息、账户信息及交易信息输入交易风险预测模型,得到用户是否存在交易异常行为的预测结果。
本申请实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据本申请的第一方面,提供了一种基于机器学习的交易风险检测方法,包括:
获取多个用户身份信息、位置信息、账户信息及交易信息作为数据样本;
对数据样本进行对抗数据增强,并根据数据增强后的数据样本训练交易风险预测模型,其中,交易风险预测模型由LightGBM模型和CatBoost模型融合而成;
获取待预测的用户身份信息、位置信息、账户信息及交易信息;
将待预测的用户身份信息、位置信息、账户信息及交易信息输入交易风险预测模型,得到用户是否存在交易异常行为的预测结果。
需要说明的是,上述关于计算机可读存储介质或计算机设备所能实现的功能或步骤,可对应参阅前述方法实施例中,服务端侧以及客户端侧的相关描述,为避免重复,这里不再一一描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于机器学习的交易风险检测方法,其特征在于,包括:
获取多个用户身份信息、位置信息、账户信息及交易信息作为数据样本;
对所述数据样本进行对抗数据增强,并根据数据增强后的数据样本训练交易风险预测模型,其中,所述交易风险预测模型由LightGBM模型和CatBoost模型融合而成;
获取待预测的用户身份信息、位置信息、账户信息及交易信息;
将待预测的用户身份信息、位置信息、账户信息及交易信息输入所述交易风险预测模型,得到用户是否存在交易异常行为的预测结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述数据样本进行对抗数据增强,并根据数据增强后的数据样本训练交易风险预测模型的步骤,包括:
将所述数据样本划分为训练集、验证集和测试集;
利用所述训练集,分别对至少一个梯度提升树模型进行高精度模型训练和低精度模型训练,并利用所述验证集分别对训练后的梯度提升树模型进行验证;
根据高精度模型和低精度模型验证结果,对所述数据样本进行数据增强;
当训练的Epoch小于预设Epoch次数阈值时,将数据增强后的所述数据样本重新划分为训练集和验证集,并重新进行模型训练;
当训练的Epoch达到预设Epoch次数阈值,且模型验证精度均小于第一次Epoch的验证精度时,生成训练后的梯度提升树模型。
3.根据权利要求2所述的方法,其特征在于,所述根据高精度模型和低精度模型验证结果,对所述数据样本进行数据增强的步骤,包括:
根据高精度模型和低精度模型验证结果,获取高精度模型的正确识别样本及低精度模型正确识别样本;
获取第一数据样本,所述第一数据样本为高精度模型的正确识别样本及低精度模型的正确识别样本之间存在差异的数据样本的并集;
对所述第一数据样本中与交易信息相关的变量加入随机噪声,进行数据增强,以生成新的数据样本。
4.根据权利要求3所述的方法,其特征在于,所述根据高精度模型和低精度模型验证结果,对所述数据样本进行数据增强的步骤,还包括:
根据高精度模型和低精度模型验证结果,获取高精度模型的错误识别样本及低精度模型错误识别样本;
获取第二数据样本,所述第二数据样本为高精度模型的错误识别样本及低精度模型的错误识别样本之间存在差异的数据样本的并集;
获取第三数据样本,所述第三数据样本为在高精度模型的错误识别样本及低精度模型的错误识别样本中都错误的数据样本;
对所述第二数据样本及所述第三数据样本中与交易信息相关的变量加入随机噪声,进行数据增强,以生成新的数据样本。
5.根据权利要求2所述的方法,其特征在于,所述将所述数据样本划分为训练集、验证集和测试集步骤之前,包括:
对所述数据样本,统计不同账户的交易频次分布;
根据交易频次分布,将所述数据样本进行排序分段,对不同分段的所述数据样本按照对应的采样比例进行采样,以生成训练集、验证集和测试集,其中,所述采样比例与账户的交易频次成正比。
6.根据权利要求2所述的方法,其特征在于,,所述生成训练后的梯度提升树模型的步骤之后,包括:
根据训练后的梯度提升树模型输出的交易异常行为概率,对用户账户划分风险等级,所述风险等级包括高风险、中高风险、中风险和低风险。
7.根据权利要求2所述的方法,其特征在于,所述生成训练后的梯度提升树模型的步骤之后,包括:
根据训练后的梯度提升树模型输出的交易异常行为概率,选择交易异常行为概率大于预设概率阈值的数据样本;
根据交易关联数据,构建交易关系图谱,以识别交易异常团伙,其中,所述交易关联数据包括交易对象、共同设备号和共用手机号;
对所述交易异常团伙的样本数据进行重新采样,并重新进行模型训练。
8.一种基于机器学习的交易风险检测装置,其特征在于,包括:
样本获取模块,用于获取多个用户身份信息、位置信息、账户信息及交易信息作为数据样本;
模型训练模块,用于对所述样本获取模块获取的所述数据样本进行对抗数据增强,并根据数据增强后的数据样本训练交易风险预测模型,其中,所述交易风险预测模型由LightGBM模型和CatBoost模型融合而成;
数据获取模块,用于获取待预测的用户身份信息、位置信息、账户信息及交易信息;
风险预测模块,用于将所述数据获取模块获取的待预测的用户身份信息、位置信息、账户信息及交易信息输入所述交易风险预测模型,得到用户是否存在交易异常行为的预测结果。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述基于机器学习的交易风险检测方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述基于机器学习的交易风险检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310544717.1A CN116739764A (zh) | 2023-05-15 | 2023-05-15 | 一种基于机器学习的交易风险检测方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310544717.1A CN116739764A (zh) | 2023-05-15 | 2023-05-15 | 一种基于机器学习的交易风险检测方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116739764A true CN116739764A (zh) | 2023-09-12 |
Family
ID=87905306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310544717.1A Pending CN116739764A (zh) | 2023-05-15 | 2023-05-15 | 一种基于机器学习的交易风险检测方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116739764A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117314424A (zh) * | 2023-09-18 | 2023-12-29 | 纬创软件(武汉)有限公司 | 面向金融大数据的区块链交易系统及方法 |
-
2023
- 2023-05-15 CN CN202310544717.1A patent/CN116739764A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117314424A (zh) * | 2023-09-18 | 2023-12-29 | 纬创软件(武汉)有限公司 | 面向金融大数据的区块链交易系统及方法 |
CN117314424B (zh) * | 2023-09-18 | 2024-03-29 | 纬创软件(武汉)有限公司 | 面向金融大数据的区块链交易系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI723528B (zh) | 電腦執行的事件風險評估方法及裝置、電腦可讀儲存媒體以及計算設備 | |
US20190164015A1 (en) | Machine learning techniques for evaluating entities | |
US11631032B2 (en) | Failure feedback system for enhancing machine learning accuracy by synthetic data generation | |
WO2019019630A1 (zh) | 反欺诈识别方法、存储介质、承载平安脑的服务器及装置 | |
US7672915B2 (en) | Method and system for labelling unlabeled data records in nodes of a self-organizing map for use in training a classifier for data classification in customer relationship management systems | |
CN111309822B (zh) | 用户身份识别方法及装置 | |
CN108491406B (zh) | 信息分类方法、装置、计算机设备和存储介质 | |
KR102168198B1 (ko) | 기업 부도 예측 시스템 및 이의 동작 방법 | |
US11562262B2 (en) | Model variable candidate generation device and method | |
EP1903479A1 (en) | Method and system for data classification using a self-organizing map | |
CN116739764A (zh) | 一种基于机器学习的交易风险检测方法、装置、设备及介质 | |
CN112990989B (zh) | 价值预测模型输入数据生成方法、装置、设备和介质 | |
CN114971294A (zh) | 数据采集方法、装置、设备及存储介质 | |
CN115115369A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN117290508A (zh) | 一种基于自然语言处理的贷后文本数据处理方法和系统 | |
Carvalho et al. | Using political party affiliation data to measure civil servants' risk of corruption | |
CN116821759A (zh) | 类别标签的识别预测方法、装置和处理器及电子设备 | |
Andrade et al. | A machine learning-based system for financial fraud detection | |
Pal et al. | Appropriate number of analogues in analogy based software effort estimation using quality datasets | |
CN115310606A (zh) | 基于数据集敏感属性重构的深度学习模型去偏方法及装置 | |
CN114612239A (zh) | 基于算法、大数据、人工智能的股票舆情监测和风控系统 | |
CN114579761A (zh) | 信息安全知识实体关系连接预测方法、系统及介质 | |
Xiao et al. | Explainable fraud detection for few labeled time series data | |
CN113298641A (zh) | 诚信程度认知方法及装置 | |
CN110610378A (zh) | 产品需求分析方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |