CN113706285A - 一种信用卡欺诈检测方法 - Google Patents

一种信用卡欺诈检测方法 Download PDF

Info

Publication number
CN113706285A
CN113706285A CN202110772373.0A CN202110772373A CN113706285A CN 113706285 A CN113706285 A CN 113706285A CN 202110772373 A CN202110772373 A CN 202110772373A CN 113706285 A CN113706285 A CN 113706285A
Authority
CN
China
Prior art keywords
model
data
training
algorithm
sample
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
Application number
CN202110772373.0A
Other languages
English (en)
Inventor
江琼琴
宋文广
赵俊峰
陈汉林
郭国民
刘小灵
苏宏发
杨瑾
赵莉
崔艳荣
张健
余谦
雷鸣
黄岚
钟宝荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yangtze University
Original Assignee
Yangtze University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yangtze University filed Critical Yangtze University
Priority to CN202110772373.0A priority Critical patent/CN113706285A/zh
Publication of CN113706285A publication Critical patent/CN113706285A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Strategic Management (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Evolutionary Biology (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种信用卡欺诈检测方法,包括以下步骤:S1:获取训练数据集;S2:将S1获取的训练数据集进行数据探索性分析,得到数据集中各个特征的重要性和功能性,以及各个特征与其他特征之间的联系;S3:对S2处理后的特征进行提取,然后进行PCA变换,对数据进行降维;S4:对S3降维处理后的数据进行平衡;S5:采用CatBoost算法进行训练,得到CatBoost训练模型;S6:对S3降维处理后的数据采用XGBoost和/或LGBM算法进行模型训练得到XGBoost训练模型和/或LGBM训练模型;S7:将S5得到的CatBoost训练模型,以及S6得到的XGBoost训练模型和/或LGBM训练模型融合,采用加权得到最终模型;S8:通过将信用卡欺诈检测数据输入至最终模型,得到检测结果。

Description

一种信用卡欺诈检测方法
技术领域
本发明涉及信息安全检测技术领域,尤其是一种信用卡欺诈检测方法。
背景技术
紧随着互联网快速发展的脚步,人们的思维方式和生活方式也发生了翻天覆地的变化。人们从现金支付变成了网上支付,信用卡由于其具有能为持卡人提供支付便利,暂时缓解经济压力等优势,逐渐占领市场。由于信用卡支付是线上支付,这给人们带来了一些安全方面的困扰,主要包括三个方面:一是风险来源于持卡人,持卡人利用信用卡恶意透支;二是风险来源于商家,商家工作人员持卡离开顾客的视线,使用顾客的信用卡进行消费;三是风险来源于第三方,黑客攻击个人电脑,盗取用户信息。信用卡欺诈存在八种主要的欺诈应用场景:注册,登录,实名认证,商品浏览,下单,支付,评价和推广营销。
信用卡包含了大量的个人信息,银行业也在逐步地规避信用卡欺诈带来的风险和损失。他们使用先验知识对原始数据进行统计分析,使用逻辑回归方法去预测二项式结果,但是耗时较长。
发明内容
本发明目的在于:针对上述问题,提供一种信用卡欺诈检测方法,能够有效对信用卡欺诈进行有效检测,且检测速度快,准确度高。
本发明是通过下述方案来实现的:
一种信用卡欺诈检测方法,包括以下步骤:
S1:获取训练数据集;
S2:将S1获取的训练数据集进行数据探索性分析,得到数据集中各个特征的重要性和功能性,以及各个特征与其他特征之间的联系;
S3:对S2处理后的特征进行提取,然后进行PCA变换,对数据进行降维;
S4:对S3降维处理后的数据进行平衡;
S5:采用CatBoost算法进行训练,得到CatBoost训练模型;
S6:对S3降维处理后的数据采用XGBoost和/或LGBM算法进行模型训练得到XGBoost训练模型和/或LGBM训练模型;
S7:将S5得到的CatBoost训练模型,以及S6得到的XGBoost训练模型和/或LGBM训练模型融合,采用加权得到最终模型;
S8:通过将信用卡欺诈检测数据输入至最终模型,得到检测结果。
作为一种优选方案,S4过程中,采用maha-smote算法平衡数据,具体包括以下步骤:
K1:对于少数类中每一个样本x,计算它的近邻的欧几里得距离,按照从小到大的顺序排序,将前k个近邻合并为k近邻集合;
K2:根据多数类和少数类样本的不平衡比例设置上采样倍率N,对于每一个少数类样本x,从其k近邻集合中随机选择几个样本,得到近邻样本为xn
K3:对于每一个选出的近邻样本xn,计算器马氏距离mahal(xn),以及中心元素的马氏距离mahal(x);
K4:比较中心元素x与近邻元素xn的马氏距离,如果mahal(x)>mahal(xn),则生成的元素相对靠近xn;反之需要靠近x;
K5:采用maha-smote算法生成新的元素,其生成公式为:
Figure BDA0003154229790000031
其中,mahal(x)的算法具体包括以下步骤:
T1:输入少数类元素x,以及少数类集合D;
T2:计算少数类元素x与集合D平均值DM的距离xm=x-DM
T3:求出少数类x和集合D的协方差矩阵S以及协方差矩阵的逆矩阵SI;
T4:采用马氏距离公式计算每个元素的马氏距离mahal(x);
其中对于一个均值为μ=(μ123,...,μm)T,协方差矩阵为S的多变量x=(x1,x2,x3,...,xm)T,其马氏距离为:
Figure BDA0003154229790000032
作为一种优选方案,S5过程中,CatBoost算法进行训练时,具体包括以下步骤:
Q1:所S3处理后的数据集进行数据清洗;
Q2:随机排列所有的数据标签;
Q3:在每一轮造树之前,采用投骰子的方式,根据点数的不同选择不同的组合排列来生成树;
Q4:使用贪婪算法生成组合;
其中,贪婪算法为:
Figure BDA0003154229790000041
其中:σj,k为第j条数据,第k个特征,p为先验项,a为权重系数。
作为一种优选方案,S6过程中,采用XGBoost算法进行模型训练时,信用卡交易欺诈预测模型中的目标函数定义如下:
Figure BDA0003154229790000042
其中:
Figure BDA0003154229790000043
为模型给出的预测值,ft为第t棵树模型,yi为第i个样本的类别标签,正则化项Ω(ft)由以下公式给出:
Figure BDA0003154229790000044
其中:T表示每棵树的叶子节点数量,γ是惩罚系数,ω为每棵树的叶子节点的分数组成的结合;
XGBoost模型中采用additive training的方式去学习模型,每一次保留原来的模型不变,加入一个新的函数f到模型中去优化XGBoost模型中的参数模型f(χ):
Figure BDA0003154229790000045
在每一次迭代中,预测值都会加入一个新的函数f;XGBoost模型目标是最小化
Figure BDA0003154229790000046
时得到模型f(χ),得到更新目标函数;
Figure BDA0003154229790000047
目标函数的泰勒展开式定义如下:
Figure BDA0003154229790000051
利用对目标函数再次改写成公式:
Figure BDA0003154229790000052
其中
Figure BDA0003154229790000053
再对wj进行求导,令导数为0得到wj最优解,最后将这个最优解代入得到目标函数如下:
Figure BDA0003154229790000054
其中γ和λ为比重系数,T为叶子节点的个数。
作为一种优选方案,S6过程中,采用XGBoost算法进行模型训练时,具体包括以下步骤:
Y1:获取训练数据,大梯度数据的采样率a,迭代步数d,小帝都数据的采样率b,损失函数和弱学习器的类型;
Y2:读取训练数据,计算样本的梯度绝对值,根据样本点的梯度的绝对值进行降序排序;
Y3:对排序后的结果选取样本,对样本按照采样率a选择前a*100%的样本,用以生成一个大梯度样本点的子集;
Y4:对剩下的(1-a)*100%的样本集合的样本,按照小梯度数据的采样率b随机的选取b*(1-a)*100%个样本点,生成一个小梯度样本点的集合;
Y5:将大梯度样本和采样的小梯度样本合并;
Y6:采用上述的采样的样本,学习一个新的弱学习器;
Y7:在Y6得到弱学习器中,计算增益时将小梯度样本乘上一个权重系数(1-a)/b;
Y8:重复Y2至Y7步骤,直到达到预设的迭代次数或者收敛为止;
U1:获取特征F,最大冲突数K和图G;
U2:构造一个边带有权重的图G,其权值对应于特征之间的总冲突;
U3:通过特征在图中的度来降序排序特征F;
U4:检查有序列表中的每个特征,并将其分配给具有小冲突的现有bundling,或创建新的bundling;
U5:获得特征捆绑集合bundling。
作为一种优选方案,S6和S7过程中,同时采用XGBoost和LGBM算法进行模型训练得到XGBoost训练模型和LGBM训练模型;最终模型为:
modelfinal=0.4*modelmaha+0.3*modelXGB+0.3*modelLGBM
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明提供的一种信用卡欺诈检测方法,能够有效对信用卡欺诈进行有效检测,且检测速度快,准确度高。
附图说明
图1是本发明实施例中的信用卡欺诈检测模型框架图;
图2是本发明实施例中的样本分类示意图;
图3是本发明实施例中的smote生成新元素(左)和maha-smote生成新元素(右)的对比图;
图4是本发明实施例中的maha-smote-catboost预测模型图。
具体实施方式
下面结合附图,本发明进行详细说明。
本发明所建立的模型具体实现框架如图1所示,首先是根据训练数据集进行数据探索性分析EDA(Exploratory Data Analysis),找到数据集中各个特征的重要性,功能性,以及和其他特征之间的联系,为后续的特征提取PCA变换打下基础。然后降维后的数据使用maha-smote算法平衡数据,采用CatBoost算法进行(使用5折交叉验证方法)训练,另外降维数据直接代替原数据作为新的全量数据,采用5折交叉验证法,分别与XGBoost、LGBM算法进行模型训练建立两个模型。最终将三个模型进行模型融合,采用加权得到最终模型:
modelfinal=0.4*modelmaha+0.3*modelXGB+0.3*modelLGBM (1)
结合马氏距离的smote改进算法
SMOTE算法算法流程如下:
对于少数类中每一个样本x,计算它的近邻的欧几里得距离,按照从小到大的顺序排序,将前k个近邻合并为k近邻集合。
根据多数类和少数类样本的不平衡比例设置上采样倍率N,对于每一个少数类样本x,从其k近邻集合中随机选择几个样本,近邻样本为xn
对于每一个随机选出的近邻xn,分别与样本x按照合成新样本的公式构建新的样本。
xnew=x+rand(0,1)×(xn-x) (2)
SMOTE算法避免了随机过采样算法中造成分类器模型过拟合的问题,但是其在生成新样本的时候关于样本边界方面并没有进行考虑,因而在生成新样本还存在着些许的问题。
马氏距离
假设身高和体重,这两个变量拥有不同的单位标准,也就是有不同的尺度。比如身高用mm计算,而体重用kg计算,显然差10mm的身高与差10kg的体重是完全不同的。但在普通的欧氏距离计算中,这将会算作相同的差距。
对于一个均值为μ=(μ123,...,μm)T,协方差矩阵为S的多变量x=(x1,x2,x3,...,xm)T,其马氏距离为:
Figure BDA0003154229790000081
如图2,如果不考虑分布,按照欧式距离计算,那么A点相对B点就更加接近绿点,但是考虑到样本分布更像是一个样本基本服从f(x)=x的线性分布,按照马氏距离计算,此时A点相对于B点更像是一个离群点。
相对于欧氏距离,马氏距离的计算会更加考虑总体样本的分布,可以更好地排除样本变量之间的相关性的干扰。它不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关,由标准化数据和中心化数据(即原始数据与均值之差)计算出的二点之间的马氏距离相同。
基于马氏距离的改进smote算法maha-smote算法,具体内容如下表所示:
表1马氏距离算法流程
Figure BDA0003154229790000091
表2 smote伪代码
Figure BDA0003154229790000092
这里的N代表着合成倍数,i就是合成目标样本,nnarray代表着合成样本集合。
Maha-smote算法流程是在smote算法上的改进:
表3 Maha-smote算法流程
Figure BDA0003154229790000093
Figure BDA0003154229790000101
表4 Maha-smote伪代码
Figure BDA0003154229790000102
Maha-smote生成元素的公式:
Figure BDA0003154229790000103
依据马氏距离生成的元素更加靠近集合中心,生成的新元素质量将会更高,由噪声数据生成的新元素对总体带来的影响将会被减少到更小的程度,因而能提高分类算法的整体性能。
如图3所示,smote生成新元素存在容易受到噪声元素的影响的问题,maha-smote生成新元素能够让新元素更靠近集群中心,避免受到噪声元素的影响。
实验结果与分析
为了评估maha-smote算法的性能,本次研究使用的数据集是UCI平台的SPECTFHeart、Online Shoppers Purchasing Intention Dataset以及采用sklearn的相关技术随机制造数据集Sklearn-data。下表显示每个数据集的样本规模、属性以及多数类少数类数量和不平衡比。可以看到每个数据集的数据分布非常不平衡,可以很好的使用算法进行研究。
表5数据集属性
Figure BDA0003154229790000111
除此之外,本发明在生成新数据的时候还使用了smote经典算法以及sklearn库里的smote方法进行对比,为了公平起见,k近邻的选择均将k值设置为5,借此展示maha-smote算法的性能,然后还将使用决策树、Gaussian Navie Bayes来采用K折交叉验证来对经过不同smote算法进行采样后的新数据进行预测,分类的效果将使用F-Measure、AUC这些评价指标进行展示。
表6实验结果对比
Figure BDA0003154229790000112
Figure BDA0003154229790000121
在使用决策树和GNB分类器对不同采样算法在三个数据集进行采样后的表现,可以看到相对于经典smote算法和sklearn-smote方法的表现,maha-smote算法的f-score、AUC评分均高于前两个采样方法。
基于CatBoost的预测模型
与XGBoost、LightGBM两个模型相比,CatBoost的创新点有:
有着将类别特征处理为数字特征的创新算法,并且自动包含在CatBoost中。首先记录一些类别特征的数量,计算想要查看的类别特征的出现频率,然后添加超参数生成新的数字特征(numerical features)。
Catboost还使用了组合的类别特征,使用每个特征之间的联系扩大了特征维度。为了避免了梯度估计的偏差,采用了采用有序升压法从而解决了预测偏移问题。
CatBoost算法最初的目的是为了能够处理GBDT特征中的分类特征。在处理GBDT特征中的分类特征时,最常用最容易的方式是用分类特征对应标签的平均值来替换分类特征。在决策树中,采用标签平均值作为节点拆分的标准。这种方法称为贪心目标统计GreedyTarget-based Statistics,简称贪心TS,用公式表示:
Figure BDA0003154229790000131
假设有k个类别,样本点属于第k类的概率为pk
这种方法有一个明显的问题,特征通常比标签包含更多的信息。假如说强制用标签的平均值来代替特征,那么训练数据集以及测试数据集的数据结构就会不同,分布也会不同。
改进贪心TS的标准方法是加入先验分布项,这个方法减少噪声和低频分类数据对数据分布的干扰:
Figure BDA0003154229790000132
上面的σj,k就是代表第j条数据,上面的k代表第k列也就是第k个特征,其中p是想要添加的先验项,a通常情况下是取值大于0的权重系数。常见的一种做法是添加一个先验项。对于回归问题,一般来说,前项可以是数据集标签的平均值。对于类别较少的特征,可以减少噪声数据。对于二元分类,先验项是一个正例子的先验概率。
有序TS是catboost的主要思想。它依赖于排序,还在线学习算法的影响。对于某一样本,TS的值是随着观察历史改变的。这个想法如果想要运用到离线数据中,那么需要对数据进行随机排序。对于每个样本,使用样本前的需要数据计算该样本类别值的TS值。但是如果只使用一个随机序列,则计算值的方差较大,那么使用不同的随机序列进行计算这一点是很有必要的。
这种策略要求不能将相同的标签数据排列在一起,也就是说,以这种方式先排列所有的标签数据,然后再排列所有的标签数据,并且在训练之前需要对数据集进行数据清洗。
其次,数据排列需要使用不同的。那么就在每一轮造树之前,投一轮骰子用来判断使用哪种组合排列来生成树。
紧接着,考虑使用不同的分类特征组合。在模型中,等到需要组合更多的分类特征时,CatBoost只选择其中的一部分组合。当选择第一个节点时,这时候就只考虑选取一个特征。在生成第二个节点时,比较A与任意类别特征的组合,选择最佳的类别特征。这样,使用贪婪算法生成组合。
表7 CatBoost算法伪代码
Figure BDA0003154229790000141
Figure BDA0003154229790000151
表8 CatBoost生成树伪代码
Figure BDA0003154229790000152
Figure BDA0003154229790000161
表9 Catboost通用参数
Figure BDA0003154229790000162
结合LGBM算法、XGBoost算法的融合模型
基于序列模型的优化,又称贝叶斯优化,贝叶斯优化是效率最好的函数优化方法之一。对比于共轭梯度下降法等标准优化策略,SMBO具有无需计算梯度,具有平滑性以及能够处理实数、离散值、条件变量等优点;
基本上大部分的机器学习算法都需要花费大量的时间进行模型训练,而且在训练之前都要提前配置好一些变量参数,而且配好的参数变量也不一定是最好的,这些变量配置的结果对训练结果有很大的影响,虽然很多实验都会配置这些参数,但是没有一组固定的变量配置能够做到适应任何数据集,每个数据集都需要根据具体的应用来花费时间另外配置。这些需要配置的变量称为超参数。例如,神经网络包含大量的超参数需要配置,支持向量机svm需要配置核函数和正则系数等超参数,决策树需要配置涉及树的构建和修剪策略等超参数。
在变量的可以变化的区间中,寻找一组参数,这组参数能够让机器学习算法获得满意的结果就是超参数优化。无论是对机器学习方面的专家还是初学者来说,非常繁琐和困难的是优化端到端机器学习算法的参数。在实际操作中,通常使用手动调优的方式来获取经验值或网格搜索最合适的参数,但当超参数很多时(如超过5个),这种调优方法往往不如随机搜索有效。
XGBoost模型和LightGBM模型效果还是很不错的,但是调节参数这一步还是比较麻烦,因此使用Hyperopt能节省大量的训练时间。
如图1所示,在经过maha-smote-catboost预测模型进行预测之后,还会考虑使用降维后的全量数据集,分别使用XGBoost算法和LGBM算法进行全量数据训练,得到两个算法训练后的预测模型,最终与maha-smote-catboost预测模型进行模型融合,获取到最终模型。
XGBoost预测模型
XGBoost是一个树集成模型,它预测样本的方式是使用总数为t的树分贝对样本进行预测之后再求和,本发明信用卡交易欺诈预测模型中的目标函数定义如公式所示:
Figure BDA0003154229790000181
其中
Figure BDA0003154229790000182
是模型给出的的预测值,ft表示第t棵树模型,然后是yi表示第i个样本的类别标签,正则化项Ω(ft)由公式给出:
Figure BDA0003154229790000183
T表示每棵树的叶子节点数量,γ是惩罚系数,ω表示每棵树的叶子节点的分数组成的集合。
模型在不过度复杂的情况下能够使用正则项来保证训练样本的准确性,该正则项被用来控制模型的复杂度,可以帮避免过度拟合,帮助模型提高泛化能力。
XGBoost模型中采用additive training的方式去学习模型。每一次保留原来的模型不变,加入一个新的函数f到模型中去优化XGBoost模型中的参数模型f(χ),如公式9:
Figure BDA0003154229790000184
在每一次迭代中,预测值都会加入一个新的函数f,这样操作能够帮助目标函数尽量最大程度地降低。XGBoost模型目标是最小化
Figure BDA0003154229790000185
时得到模型f(χ),所以将目标函数更新如公式(10):
Figure BDA0003154229790000191
目标函数的泰勒展开式定义为公式(11):
Figure BDA0003154229790000192
由公式(11)可知,最终目标函数取决于各数据点对误差函数的一阶导数和二阶导数。
利用对目标函数再次改写成公式:
Figure BDA0003154229790000193
其中
Figure BDA0003154229790000194
再对wj进行求导,令导数为0得到wj最优解,最后将这个最优解代入得到目标函数如下:
Figure BDA0003154229790000195
其中γ和λ为比重系数,T为叶子节点的个数,这样操作就能防止过拟合的发生。
节点的划分
进行节点划分可以采用两种不同的方法,其中一种方法是基本精确的贪心算法(Basic Exact Greedy Algorithm),另一种则是近似算法(Approximate Algorithm)。贪心算法则是本发明使用的节点划分的方法,该算法如表所示:
表10贪心算法
Figure BDA0003154229790000201
参数优化
本发明实验需要使用k折交叉验证方法,因此在训练过程中使用sklearn.model_selection库,然后采用库的StratifiedKFold方法进行五折交叉划分训练数据。采用了超参数优化工具Hyperopt进行参数的调节。Hyperopt可以自动的进行XGB模型的参数优化,选取合适的参数进行实验。
涉及优化的参数如下:
表11涉及优化参数
Figure BDA0003154229790000202
Figure BDA0003154229790000211
XGBoost的参数一共分为三类:
通用参数:用来进行宏观上对于XGBoost函数的控制。
Booster参数:调节控制每一步的booster。booster参数通常情况下是用来调控模型的效果和计算代价。通常情况下,调参行为都是在对booster进行调参。
学习目标参数:这里的参数是用来控制训练目标的表现。通过调节目标学习参数来决定想要将目标划分成什么样的问题,比如要做分类还是回归的学习目标,做二分类还是多分类的学习目标,这都是目标参数所提供的。
表12通用参数
Figure BDA0003154229790000212
表13 Booster参数
Figure BDA0003154229790000213
Figure BDA0003154229790000221
表14学习目标参数
Figure BDA0003154229790000222
Figure BDA0003154229790000231
LightGBM预测模型
LightGBM是基于高斯算法和EFB算法的一个梯度增强树(GBDT)模型。
LigthGBM是boosting集合模型中一个比较优秀的模型,它和xgboost一样是对GBDT的高效实现,从某种方面来说,很多地方都会比xgboost表现的更为优秀。为了拟合新的决策树,算法采用损失函数的负梯度,用来作为当前决策树的残差近似值。
本发明中的一部分实验主要使用LightGBM对经过降维处理之后的全局数据进行预测,相对于Catboost算法,在全局数据预测这方面LightGBM表现预测能力要更强一些,与XGBoost算法一样对全局数据进行预测,LGBM模型花费的时间要远远少于XGBoost模型。
单边梯度采样算法(Grandient-based One-Side Sampling,GOSS)核心作用:训练集样本采样优化
(1)在计算增益时,对梯度较小的样本增加权重系数。
(2)对样本中梯度较小的样本进行随机抽样操作。
(3)样本如果梯度较大那么将保留。
算法描述:
表15单边梯度采样算法描述
Figure BDA0003154229790000241
Exclusive Feature Bundling算法(EFB)
核心作用:特征抽取,将互斥特征(一个特征值为零,一个特征值不为零)绑定在一起,从而减少特征维度。
表16 Exclusive Feature Bundling算法
Figure BDA0003154229790000242
直方图算法(Histogram算法)
核心思想:
算法将本来是连续的特征值进行离散化,分成了K个整数(bin数据),然后构造出宽度为K的直方图,紧接着遍历训练数据,计算出在直方图中每个离散值的累积数量。因此到时候只需要遍历排序直方图的离散值就可以选取特征的分裂点的。
当使用bin数据替代原始数据的时候相当于增加了正则化;bin元素会让很多数据的细节特征被放弃,规划相似的数据到一起,数据之间的差异消失,想要控制正则化的程度就选择bin的数量,K越少惩罚越严重,欠拟合风险越高
直方图加速
如果想要获取到一个叶子的直方图,可以让它的父亲节点的直方图以及它兄弟的直方图做差得到。相对于通常构造直方图操作更加简单,通常构造直方图需要遍历该叶子上的所有数据的方法,而直方图加速仅需遍历直方图的k个桶就能直方图做差,获取叶子的直方图。
合并被绑定特征
如果想要把两个特征结合到一起,可以将bundle内不同的特征加上一个偏移常量,这样就会让不同特征的值分布到bundle的不同bin内。几个例子:特征A的取值范围为[0,10),特征B的原始取值范围为[0,20),对特征B的取值上加一个偏置常量10,将其取值范围变为[10,30),这样就可以将特征A和B绑定在一起了。
决策树生长策略
level_wise:采用多线程优化,能够控制模型的复杂度,不易过拟合。
leaf-wise:计算代价较小,优点是更精确,但是缺点是易过拟合。
LightGBM采用的策略是leaf-wise生长策略,步骤是每次从当前所有叶子中找到分裂增益最大的一个叶子,这个叶子一般也是数据量最大的,然后开始分裂,如此循环。
那么在和level_wise相比,leaf-wise的优势在于如果分裂次数相同,那么Leaf-wise可以降低更多的误差,模型也有着更高的精度。不过它的缺点是可能会长出比较深的决策树,产生过拟合。
因此LightGBM在Leaf-wise之上为了防止过拟合的发生,增加了一个map_depth的限制,也能兼顾到保证模型高效率。
直接处理类别特征
LightGBM详细流程:
(1)离散特征建立直方图的过程
首先是统计该特征下每一种离散值出现的次数,数量少的特征值将会被筛选掉,还会对特征值进行排序,从高到低,然后为每一个特征值,建立一个bin容器,如果一个bin容器里面某个特征值出现的次数少就会直接过滤,不建立bin容器。
(2)计算分裂阈值的过程:
1)在找最佳分裂点之前,首先查看该特征下的bin容器的个数,如果数量过少或是数量小于4,那么就可以直接用one vs other方法,直接扫描每一个容器进行查找最佳分裂点。
2)如果容器足够,在有许多bin容器的情况下。要先开始进行过滤,只允许子集合数量比较大的bin容器参与分裂阈值的计算。可以按照下列公式进行计算:
Figure BDA0003154229790000271
得到的值为value,接着根据每个bin容器的value的值从大到小的排列,然后的然后分从左到右、从右到左进行搜索,得到最优分裂阈值。
不过并不是搜索所有的bin容器,而是设定了一个搜索bin容器数量的上限值,在程序中设定了一个参数,即参数max_num_cat=32。
LightGBM为离散特性实现了many VS many策略。在这32个容器中,最优分区阈值左边或右边的所有bin容器都是一个many集合,其他bin容器是另一个many集合。
相对于离散值就有多个阈值来说,连续特征只有一个划分阈值。每个分区阈值对应一个箱号。如果想要让离散特征进行分裂,只要根据样本对应的bin容器编号是否与阈值对应的bin集合之中,那么就分裂到左子树中,否则就加入到分裂和的右子树中。
并行学习
LightGBM本身支持并行学习。目前,它支持特性并行和数据并行以及投票并行三种并行学习。
特征并行主要思想指的是机器不同、特征集合不同的时候分别寻找最优的分割点,之后再在机器间同步最优分割点。
数据并行则是让不同机器在本地构建直方图,然后合并它们,最有分割点是在合并后的直方图上寻找。
LightGBM针对这两种并行方法进行了优化。
特征并行算法中,所有数据都保存在本地,避免了数据分割结果的通信。
使用分散约束,将任务分散到不同的机器上,减少通信和计算,并利用直方图进行差异处理,减少数据并行的通信量。
基于投票的投票并行则是优化了数据并行的通信代价,相对于数据并行,如果数据量比较大采用并行投票可以具有更好的效果。
其他
·当生长相同的叶子时,Leaf-wise比level-wise减少更多的损失。
·在处理数据量比较大的时候,效率能够非常高,处理速度也非常快,运行时需要更低的内存,支持GPU优化。
表17 LightGBM预测模型常用参数
Figure BDA0003154229790000281
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种信用卡欺诈检测方法,其特征在于,包括以下步骤:
S1:获取训练数据集;
S2:将S1获取的训练数据集进行数据探索性分析,得到数据集中各个特征的重要性和功能性,以及各个特征与其他特征之间的联系;
S3:对S2处理后的特征进行提取,然后进行PCA变换,对数据进行降维;
S4:对S3降维处理后的数据进行平衡;
S5:采用CatBoost算法进行训练,得到CatBoost训练模型;
S6:对S3降维处理后的数据采用XGBoost和/或LGBM算法进行模型训练得到XGBoost训练模型和/或LGBM训练模型;
S7:将S5得到的CatBoost训练模型,以及S6得到的XGBoost训练模型和/或LGBM训练模型融合,采用加权得到最终模型;
S8:通过将信用卡欺诈检测数据输入至最终模型,得到检测结果。
2.根据权利要求1所述的信用卡欺诈检测方法,其特征在于,所述S4过程中,采用maha-smote算法平衡数据,具体包括以下步骤:
K1:对于少数类中每一个样本x,计算它的近邻的欧几里得距离,按照从小到大的顺序排序,将前k个近邻合并为k近邻集合;
K2:根据多数类和少数类样本的不平衡比例设置上采样倍率N,对于每一个少数类样本x,从其k近邻集合中随机选择几个样本,得到近邻样本为xn
K3:对于每一个选出的近邻样本xn,计算器马氏距离mahal(xn),以及中心元素的马氏距离mahal(x);
K4:比较中心元素x与近邻元素xn的马氏距离,如果mahal(x)>mahal(xn),则生成的元素相对靠近xn;反之需要靠近x;
K5:采用maha-smote算法生成新的元素,其生成公式为:
Figure FDA0003154229780000021
其中,mahal(x)的算法具体包括以下步骤:
T1:输入少数类元素x,以及少数类集合D;
T2:计算少数类元素x与集合D平均值DM的距离xm=x-DM
T3:求出少数类x和集合D的协方差矩阵S以及协方差矩阵的逆矩阵SI;
T4:采用马氏距离公式计算每个元素的马氏距离mahal(x);
其中对于一个均值为μ=(μ123,...,μm)T,协方差矩阵为S的多变量x=(x1,x2,x3,...,xm)T,其马氏距离为:
Figure FDA0003154229780000022
3.根据权利要求1所述的信用卡欺诈检测方法,其特征在于,所述S5过程中,CatBoost算法进行训练时,具体包括以下步骤:
Q1:所S3处理后的数据集进行数据清洗;
Q2:随机排列所有的数据标签;
Q3:在每一轮造树之前,采用投骰子的方式,根据点数的不同选择不同的组合排列来生成树;
Q4:使用贪婪算法生成组合;
其中,贪婪算法为:
Figure FDA0003154229780000031
其中:σj,k为第j条数据,第k个特征,p为先验项,a为权重系数。
4.根据权利要求1所述的信用卡欺诈检测方法,其特征在于,所述S6过程中,采用XGBoost算法进行模型训练时,信用卡交易欺诈预测模型中的目标函数定义如下:
Figure FDA0003154229780000032
其中:
Figure FDA0003154229780000033
为模型给出的预测值,ft为第t棵树模型,yi为第i个样本的类别标签,正则化项Ω(ft)由以下公式给出:
Figure FDA0003154229780000034
其中:T表示每棵树的叶子节点数量,γ是惩罚系数,ω为每棵树的叶子节点的分数组成的结合;
XGBoost模型中采用additive training的方式去学习模型,每一次保留原来的模型不变,加入一个新的函数f到模型中去优化XGBoost模型中的参数模型f(x):
Figure FDA0003154229780000035
在每一次迭代中,预测值都会加入一个新的函数f;XGBoost模型目标是最小化
Figure FDA0003154229780000036
时得到模型f(x),得到更新目标函数;
Figure FDA0003154229780000041
目标函数的泰勒展开式定义如下:
Figure FDA0003154229780000042
利用对目标函数再次改写成公式:
Figure FDA0003154229780000043
其中
Figure FDA0003154229780000044
再对wj进行求导,令导数为0得到wj最优解,最后将这个最优解代入得到目标函数如下:
Figure FDA0003154229780000045
其中γ和λ为比重系数,T为叶子节点的个数。
5.根据权利要求1所述的信用卡欺诈检测方法,其特征在于,所述S6过程中,采用XGBoost算法进行模型训练时,具体包括以下步骤:
Y1:获取训练数据,大梯度数据的采样率a,迭代步数d,小帝都数据的采样率b,损失函数和弱学习器的类型;
Y2:读取训练数据,计算样本的梯度绝对值,根据样本点的梯度的绝对值进行降序排序;
Y3:对排序后的结果选取样本,对样本按照采样率a选择前a*100%的样本,用以生成一个大梯度样本点的子集;
Y4:对剩下的(1-a)*100%的样本集合的样本,按照小梯度数据的采样率b随机的选取b*(1-a)*100%个样本点,生成一个小梯度样本点的集合;
Y5:将大梯度样本和采样的小梯度样本合并;
Y6:采用上述的采样的样本,学习一个新的弱学习器;
Y7:在Y6得到弱学习器中,计算增益时将小梯度样本乘上一个权重系数(1-a)/b;
Y8:重复Y2至Y7步骤,直到达到预设的迭代次数或者收敛为止;
U1:获取特征F,最大冲突数K和图G;
U2:构造一个边带有权重的图G,其权值对应于特征之间的总冲突;
U3:通过特征在图中的度来降序排序特征F;
U4:检查有序列表中的每个特征,并将其分配给具有小冲突的现有bundling,或创建新的bundling;
U5:获得特征捆绑集合bundling。
6.根据权利要求1所述的信用卡欺诈检测方法,其特征在于,所述S6和S7过程中,同时采用XGBoost和LGBM算法进行模型训练得到XGBoost训练模型和LGBM训练模型;最终模型为:
modelfinal=0.4*modelmaha+0.3*modelXGB+0.3*modelLGBM
CN202110772373.0A 2021-07-08 2021-07-08 一种信用卡欺诈检测方法 Pending CN113706285A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110772373.0A CN113706285A (zh) 2021-07-08 2021-07-08 一种信用卡欺诈检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110772373.0A CN113706285A (zh) 2021-07-08 2021-07-08 一种信用卡欺诈检测方法

Publications (1)

Publication Number Publication Date
CN113706285A true CN113706285A (zh) 2021-11-26

Family

ID=78648362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110772373.0A Pending CN113706285A (zh) 2021-07-08 2021-07-08 一种信用卡欺诈检测方法

Country Status (1)

Country Link
CN (1) CN113706285A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114329474A (zh) * 2022-01-05 2022-04-12 北京邮电大学 一种融合机器学习和深度学习的恶意软件检测方法
CN114707706A (zh) * 2022-03-17 2022-07-05 广西科学院 一种基于不均衡数据的柴油发动机故障诊断方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109409533A (zh) * 2018-09-28 2019-03-01 深圳乐信软件技术有限公司 一种机器学习模型的生成方法、装置、设备及存储介质
CN110674846A (zh) * 2019-08-29 2020-01-10 南京理工大学 基于遗传算法和k-means聚类的不平衡数据集过采样方法
CN111292182A (zh) * 2020-03-27 2020-06-16 北京信息科技大学 一种信贷欺诈检测方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109409533A (zh) * 2018-09-28 2019-03-01 深圳乐信软件技术有限公司 一种机器学习模型的生成方法、装置、设备及存储介质
CN110674846A (zh) * 2019-08-29 2020-01-10 南京理工大学 基于遗传算法和k-means聚类的不平衡数据集过采样方法
CN111292182A (zh) * 2020-03-27 2020-06-16 北京信息科技大学 一种信贷欺诈检测方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李为康;杨小兵;: "一种基于双层融合结构的客户流失预测模型", 小型微型计算机系统, no. 08, pages 1634 - 1639 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114329474A (zh) * 2022-01-05 2022-04-12 北京邮电大学 一种融合机器学习和深度学习的恶意软件检测方法
CN114707706A (zh) * 2022-03-17 2022-07-05 广西科学院 一种基于不均衡数据的柴油发动机故障诊断方法

Similar Documents

Publication Publication Date Title
Xia et al. A boosted decision tree approach using Bayesian hyper-parameter optimization for credit scoring
US7930196B2 (en) Model-based and data-driven analytic support for strategy development
CN114841257B (zh) 一种基于自监督对比约束下的小样本目标检测方法
Yu et al. Evolutionary fuzzy neural networks for hybrid financial prediction
Abd-Alsabour A review on evolutionary feature selection
Markham et al. Kanban setting through artificial intelligence: A comparative study of artificial neural networks and decision trees
CN113706285A (zh) 一种信用卡欺诈检测方法
Trabelsi et al. Classification systems based on rough sets under the belief function framework
Castellani Evolutionary generation of neural network classifiers—An empirical comparison
Fafalios et al. Gradient boosting trees
CN110738362A (zh) 一种基于改进的多元宇宙算法构建预测模型的方法
Abbasimehr et al. A novel time series clustering method with fine-tuned support vector regression for customer behavior analysis
CN112651823A (zh) 信用评估模型建立方法和装置及信用评估方法和设备
CN111753995A (zh) 一种基于梯度提升树的局部可解释方法
Antonelli et al. Multi-objective evolutionary learning of granularity, membership function parameters and rules of Mamdani fuzzy systems
van der Gaast et al. A deep learning approach for the selection of an order picking system
Kadkhodaei et al. An entropy based approach to find the best combination of the base classifiers in ensemble classifiers based on stack generalization
Wu et al. Ensemble model of intelligent paradigms for stock market forecasting
Raximov et al. The importance of loss function in artificial intelligence
Hasanpour et al. Improving rule-based classification using Harmony Search
Schiessler et al. Neural network surgery: Combining training with topology optimization
US12026624B2 (en) System and method for loss function metalearning for faster, more accurate training, and smaller datasets
CN111967973B (zh) 银行客户数据处理方法及装置
Asaduzzaman et al. A Novel Salary Prediction System Using Machine Learning Techniques
Hassan et al. Optimising deep learning by hyper-heuristic approach for classifying good quality images

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