一种基于FWA_DBN的客户信用评估方法及系统与流程

文档序号:24337358发布日期:2021-03-19 12:18阅读:159来源:国知局
一种基于FWA_DBN的客户信用评估方法及系统与流程

本发明涉及互联网金融行业的风控技术领域,具体为一种基于fwa_dbn的客户信用评估方法及系统。



背景技术:

随着互联网金融的飞速发展,对于客户的信用评估已经不再局限于征信报告,而更多结合大数据的风控模型,传统评估方法主要包含基于逻辑回归、支持向量机、随机森林和随机森林等机器学习方法,这类方法的理论较为成熟,验证的方法较为完善,计算过程简便,但是适用对象往往比较单一,预测精度不太理想。近年来人工神经网络已经被证明是表现不错的研究模型。目前在信用评估应用中大多采用的是bp神经网络、rbf神经网络和elman回归神经网络,但均普遍存在收敛速度慢、易陷入局部最小值等问题,而把更多的研究重点转向深度学习,相较于传统人工智能方法,深度学习有更强的特征提取能力,可以挖掘数据中的深层复杂关联关系,从而提高算法精度。

深信度网络(deepbeliefnetwork,dbn)由多个受限玻尔兹曼机(restrictedboltzmannmachine,rbm)堆叠而成的一种深度学习网络,通过逐层rbm训练网络,并借鉴bp神经网络的训练方法来对dbn模型后向微调优化,实现高维度非线性数据特征抽取与分类,非常使用于适用于互金平台的欺诈检测。

dbn模型的每一层rbm虽然依靠逐层确定参数来训练网络,但是一般情况下,初始参数是随机确定的,在训练过程中容易陷入局部最优,从而影响模型的收敛速度和预测精度,为解决这一问题,许多学者采用遗传算法(ga)、粒子群算法(pso)、蝙蝠算法(ba)等群体启发式算法来优化dbn初始参数,虽然一定程度上能够解决dbn存在的问题,但在实际中往往需要设置较大的种群规模和较高的迭代次数来保证优化效果,导致算法整体的寻优速度较慢。如何采用更适合的智能算法来优化dbn的初始参数,并运用在客户信用评估上是本领域专业人员亟待解决的技术问题,因此,针对上述问题提出一种基于fwa_dbn的客户信用评估方法及系统。



技术实现要素:

本发明的目的在于提供一种基于fwa_dbn的客户信用评估方法及系统,以解决上述背景技术中提出的问题。

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

一种基于fwa_dbn的客户信用评估方法及系统,包括步骤:

s1.对已有贷款表现的客户抽样作为建模样本,并采集客户的信用特征数据;

s2.对所获取建模数据进行数据预处理,采用min-max方法对预处理后的数据归一化处理,按照预设比例划分训练集和测试集;

s3.根据训练数据特征初步确定dbn的结构,初始化dbn的相关参数,包括:输入节点、输出节点、最大层数、每层的节点数和最大迭代次数;

s4.利用训练集对dbn进行训练,并使用fwa算法对网络模型参数进行优化,得到fwa-dbn预测模型;

s5.将验证集导入到fwa-dbn进行测试,如果测试精度不满足预设阈值要求,则重复步骤s3以及步骤s4再次训练fwa-dbn预测模型;

s6.将fwa-dbn的客户信用评估模型部署至贷款申请平台输出实时申请信用评分,实现申请客户的实时审批,并定期将有表现数据输入到模型训练,实现模型的在线更新。

优选的,在s1中,对已有贷款表现的客户抽样作为建模样本,并采集客户的信用特征数据,信用特征数据包括个人基本信息、操作行为埋点数据以及第三方数据。

优选的,在s2中,对于缺失的数据,通过采用插值法,插入中位数补全,令数据样本保持一致;原变量因量纲不同和数值差异太大回对dbn的训练带来的影响,需要对原始数据进行归一化处理,本专利使用的归一化函数公式如下:

其中,ymax默认为1,ymin默认为-1,x为当前要处理的原始数据项,xmax为所有要处理的原始数据项中的最大值,xmin为所有要处理的原始数据项中的最小值。

对归一化后的数据集根据申请时间按照比例7:3切分为训练集和测试集。

优选的,s3中,在根据所述根据训练集构建dbn模型,初始化神经网络参数。

深度置信网络是一个概率生成模型,由多个受限波尔兹曼机(restrictedboltzmannmachine,rbm)依次叠加而成,深度置信网络的最底层接收输入数据向量,并通过rbm转换输入数据到隐藏层,即高一层rbm的输入来自低一层rbm的输出。

步骤3-1:建立能量函数

rbm是一种可视层和隐藏层组成的双向递归神经网络,可视层是由一层代表输入的显层单元v用于接收输入,隐藏层是由一层代表隐藏变量的隐藏单元h用于提取特征。rbm的可视层单元为v={v1,v2,v3,…,vi}∈{0,1},隐藏层单元为h={h1,h2,h3,…,hi}∈{0,1},权重矩阵为w,可视层单元的阈值为a和隐藏层单元的阈值为b,则所有可视单元和隐藏层单元联合状态(v,h)的能量函数:

其中,wij为第i个可视层和第j个隐藏单元的连接权重,vi、hj分别为可视层单元i和隐藏层单元j的隐藏层向量,ci、bj分别为可视层单元i和隐藏层单元j的阈值,i为可视层单元的数量,j为隐藏层单元的数量。

步骤3-2:联合概率分布

根据上式得到的能量函数e(v,h)得到隐藏层和可视层之间的联合概率分布为:

其中,z是一个模拟物理系统的标准化常数,由所有可视层和隐藏层单元之间的能量值相加得到。

步骤3-3:独立分布

通过联合概率分布,得到可视层向量v的独立分布为:

则在给定一个随机输入可视层向量v的条件下,隐藏层向量h的概率:

在给定一个随机输入隐藏层向量h的条件下,可视层向量v的概率:

由于rbm的结构单元是一个二值状态,记一逻辑函数sigmoid激活函数为

步骤3-4:激活概率

由rbm的结构和状态概率可知,当给定各可视层单元的状态时,隐藏层各个单元的状态是相互独立的;同理当给定各隐藏层单元的状态时,可视层各个单元的状态也是相互独立的;可视层v和隐藏层h的激活概率分别为:

步骤3-5:梯度下降法调优权值和阈值

采用梯度下降法求解出实际值与期望值之间误差值:

其中,e(t)为迭代t次的误差,z(t),y(t)分别是迭代t次的期望输出值和实际输出值。

再根据误差求出对权值的梯度,沿着梯度下降的方向进行调优:

其中,μ为学习率,e(t)为迭代t次的误差,wij(t+1)、bj(t+1)分别为调优后权值和阈值。

当所有rbm网络结构完成训练时,多个rbm网络结构被堆叠为深度信念网络。

所述s3中,建立dbn分类网络模型,分别使用无标签的预训练数据样本进行网络预训练,以及有标签的样本进行参数微调,具体步骤为:

(1)输入归一化的预训练样本数据,设置网络结构参数,随机初始化网络层间权值,每层阈值值初始置零;

(2)使用预训练样本数据逐层训练rbm层,每一层rbm层的输出作为下一层的输入,直到训练完毕,得到各层网络权值和阈值;

(3)使用(2)训练所得到的网络参数作为初始值,并使用带标签的数据样本,将dbn展开成bp网络结构,网络的最高层还需加一层分类层,作为对网络特征输出的最终分类判断层,将得到的结果与所输入的带标签数据的标签进行对比,得到的误差数据用来进行误差的反向传播,微调整个网络的参数。

优选的,在s4中,rbm模型的可视层和隐藏层的网络阈值分别为b和c,两层的连接权重为w,dbn参数训练为了实现参数θ={w,b,c}的最优化求解,可以将该问题转化为求rbm在训练集上的对数似然函数最大化问题。本专利使用fwa算法对网络模型参数进行优化。

烟花算法(fireworksalgorithm,fwa)一种用烟花爆炸过程模拟种群优化的高效的群体智能优化算法。每一个烟花个体代表一个可行解,通过特定的爆炸策略生成子代火花,并在其中通过一定的方式挑选出最优解成为下一代的候选解,从而逐步驱动种群优化,平衡全局探索能力与局部搜索能力,在求解复杂优化问题中表现出了非常优良的性能和很高的效率。

烟花算法主要有爆炸算子、变异算子、映射规则和选择策略4部分组成,爆炸算子主要由爆炸半径、爆炸火花数、爆炸强度等组成;变异算子一般选择高斯变异,映射规则主要包括模运算映射、随机映射;选择策略主要包括距离的选择和随机选择。

步骤4-1:初始种群

初始种群数n,火花限制参数m,初始迭代次数t=0,最大迭代次数tmax。烟花算法优化的对象是dbn中rbm随机产生的连接权值w、可视层阈值b和隐藏层c,所以对于一个给定的rbm结构,将其连接的权值和阈值直接排列,种群中的一个烟花个体可以表示为[w1,w2,···,wn1,b1,b2,···,bn2,c1,c2,···,cn2]。

步骤4-2:适应度函数

算法模型训练的目的是通过不断地迭代计算,使得网络输出层结果与期望结果尽可能地接近,从而得到网络输出结果最优时各神经元节点之间的权值和阈值。由于烟花算法的适应度函数和神经网络的总误差函数有关,故本专利引入总误差函数,来计算烟花个体的适应度值,因此适应度函数fit的表达式为:

其中,e表示神经网络的总误差,k为数据样本的个数,q为隐含层神经元个数,d为网络的期望输出,y为网络的实际输出。该适应度函数可直观地反映出实际输出和期望输出的误差大小,若误差越小,表示适应度越好。

步骤4-3:爆炸算子

爆炸算子主要由爆炸半径、爆炸火花数和爆炸强度等组成,计算每个烟花的适应度值f(xi),随机取一个随机数u(-1,1)并设置产生火花数目si后,分别计算每个烟花的爆炸半径ri,火花数目si和烟花爆炸半径ri计算公式如下:

其中,i=1,2,…,n,n为样本总数;ymax,ymin分别代表当前群体中适应度值最大和最小值,表示最好烟花和最差烟花;f(xi)为烟花xi的适应度值;m和r都是常数,分别用来限制最大的爆炸半径和爆炸产生的最大火花数;ε为一个极小的常数,用来避免除0操作。

步骤4-4:变异算子

变异算子的设置是为了增加爆炸烟花种群的多样性,避免陷入局部极值,通过高斯变异实现。假设选取烟花xi进行高斯变异,则k维高斯变异操作为:

其中,表示烟花变异后产生的高斯变异火花,表示第i个烟花在第k维上的位置;是当前种群中最优个体xb在第k维上的位置;gaussian(1,1)是均值和方差均为1的高斯分布随机数。

步骤4-5:映射规则

某些烟花经过高斯变异后覆盖范围可能会超出可行域边界之外,爆炸后,可行域外的火花是无用的。需要通过某种映射规则将其拉回到可行域范围内,主要采用模运算映射规则来处理超出边界的火花,模运算规则计算公式如下:

其中,表示超出边界的第i个烟花个体在第k维上的位置;分别表示烟花在第k维上的下边界和上边界;rand(0,1)表示在区间[0,1]上均匀分布的随机数。

步骤4-6:选择策略

选择操作是将可行域中的烟花、火花挑选出优秀的一部分作为下次爆炸的烟花。利用每次爆炸后选出最优个体的循环模式进而找出问题的最优解。假设候选者集合为k,烟花种群大小为n,候选者集合中误差最小的个体会被确定性地选择到下一代作为烟花,而对剩下的n-1个烟花的选择使用轮盘赌的方法在候选者集合中进行选择,候选者集合中误差使用欧式距离法进行计算度量,计算当前个体候选集合所有个体之间距离之和r(xi),计算公式如下:

其中,r(xi)为当前个体候选集合所有个体之间距离之和;d(xi-xj)和||xi-xj||均代表第i个个体和第j个个体间的欧式距离;k是候选者集合。

在计算r(xi)之后,每个烟花的选择概率由轮盘赌的方式进行确定,计算公式如下:

步骤4-7:判断停止条件

若满足停止条件,则跳出程序并输出最优结果;若不满足,则返回步骤4-3继续循环;停止条件为达到迭代次数tmax,得到种群最优个体xb,解码得到dbn的最佳参数空间[wb,bb,cb]。

优选的,在步骤5中,为了与遗传算法、粒子群算法、蚁群算法优化的dbn模型的进行对比,本发明采用平均绝对百分误差(meanabsolutepercentageerror,mape)和均方根误差(rootmeansquareerror,rmse)作为评价指标,其中:

其中,n是输出训练样本的个数,i表示输出训练样本的序号,yi是第i个输出训练样本的预测值,是第i个输出训练样本的实际值。

mape和rmse的值越小代表模型的预测精度越高,但这两个指标是相对值,需要在相同的数据下进行比较才有意义。

优选的,在步骤6中,将fwa_dbn的信用评分模型部署至贷款申请平台输出实时申请信用评分,实现申请客户的实时审批,并定期将有表现数据输入到模型训练,实现模型的在线更新。

优选的,还提供一种基于fwa_dbn的客户信用评估系统,包括以下几个模块:

数据集获得和标注模块:用于在贷款系统后端获得训练数据集,包括申请、还款、操作及第三方数据;

特征数据提取和归一化处理模块:用于基于所述获得训练数据集中的数据提取与还款表现较强关联的特征数据,并对所述特征数据进行归一化处理,并切分为训练集及测试集;

dbn模型构建模块,用于根据给定的训练样本和隐藏层节点数构建dbn模型;采用fwa算法对dbn模型中的rbm网络参数θ={w,b,c}自动寻优,

dbn训练测试模块,用于利用训练集训练优化后的dbn,再利用测试集进行验证得到模型预测的准确率;

dbn预测模块:用于训练完成的dbn网络对在线申请客户进行信用风险等级评估预测。

与现有技术相比,本发明的有益效果是:

1、本发明中,相比于采用其他的浅层神经网络,dbn是一种深度高效学习算法,能够提取数据的深层次特征,实现高维度非线性数据特征抽取与分类,网络的泛化能力和预测精度均有所提升。

2、本发明中,相比遗传算法、粒子群算法和蚁群算法等优化算法,烟花算法从而逐步驱动种群优化,平衡全局探索能力与局部搜索能力,求解复杂优化问题中表现出了非常优良的性能和很高的效率。

3、本发明中,基于fwa算法优化的dbn模型能够处理海量数据且具有收敛速度快、全局收敛、预测稳定的优势,适用互联网金融平台客户信用的实时评估。

附图说明

图1为本发明整体结构示意图。

具体实施方式

实施例1:

请参阅图1,本发明提供一种技术方案:

一种基于fwa_dbn的客户信用评估方法及系统,包括步骤:

s1.对已有贷款表现的客户抽样作为建模样本,并采集客户的信用特征数据;

s2.对所获取建模数据进行数据预处理,采用min-max方法对预处理后的数据归一化处理,按照预设比例划分训练集和测试集;

s3.根据训练数据特征初步确定dbn的结构,初始化dbn的相关参数,包括:输入节点、输出节点、最大层数、每层的节点数和最大迭代次数;

s4.利用训练集对dbn进行训练,并使用fwa算法对网络模型参数进行优化,得到fwa-dbn预测模型;

s5.将验证集导入到fwa-dbn进行测试,如果测试精度不满足预设阈值要求,则重复步骤s3以及步骤s4再次训练fwa-dbn预测模型;

s6.将fwa-dbn的客户信用评估模型部署至贷款申请平台输出实时申请信用评分,实现申请客户的实时审批,并定期将有表现数据输入到模型训练,实现模型的在线更新。

在s1中,对已有贷款表现的客户抽样作为建模样本,并采集客户的信用特征数据,信用特征数据包括个人基本信息、操作行为埋点数据以及第三方数据,这种设置有利于采集用户数据以便于后续分析,

在s2中,对于缺失的数据,通过采用插值法,插入中位数补全,令数据样本保持一致;原变量因量纲不同和数值差异太大回对dbn的训练带来的影响,需要对原始数据进行归一化处理,本专利使用的归一化函数公式如下:

其中,ymax默认为1,ymin默认为-1,x为当前要处理的原始数据项,xmax为所有要处理的原始数据项中的最大值,xmin为所有要处理的原始数据项中的最小值。

对归一化后的数据集根据申请时间按照比例7:3切分为训练集和测试集,这种设置有利于提升数据的稳定性,

s3中,在根据所述根据训练集构建dbn模型,初始化神经网络参数。

深度置信网络是一个概率生成模型,由多个受限波尔兹曼机(restrictedboltzmannmachine,rbm)依次叠加而成,深度置信网络的最底层接收输入数据向量,并通过rbm转换输入数据到隐藏层,即高一层rbm的输入来自低一层rbm的输出。

步骤3-1:建立能量函数

rbm是一种可视层和隐藏层组成的双向递归神经网络,可视层是由一层代表输入的显层单元v用于接收输入,隐藏层是由一层代表隐藏变量的隐藏单元h用于提取特征。rbm的可视层单元为v={v1,v2,v3,…,vi}∈{0,1},隐藏层单元为h={h1,h2,h3,…,hi}∈{0,1},权重矩阵为w,可视层单元的阈值为a和隐藏层单元的阈值为b,则所有可视单元和隐藏层单元联合状态(v,h)的能量函数:

其中,wij为第i个可视层和第j个隐藏单元的连接权重,vi、hj分别为可视层单元i和隐藏层单元j的隐藏层向量,ci、bj分别为可视层单元i和隐藏层单元j的阈值,i为可视层单元的数量,j为隐藏层单元的数量。

步骤3-2:联合概率分布

根据上式得到的能量函数e(v,h)得到隐藏层和可视层之间的联合概率分布为:

其中,z是一个模拟物理系统的标准化常数,由所有可视层和隐藏层单元之间的能量值相加得到.

步骤3-3:独立分布

通过联合概率分布,得到可视层向量v的独立分布为:

则在给定一个随机输入可视层向量v的条件下,隐藏层向量h的概率:

在给定一个随机输入隐藏层向量h的条件下,可视层向量v的概率:

由于rbm的结构单元是一个二值状态,记一逻辑函数sigmoid激活函数为

步骤3-4:激活概率

由rbm的结构和状态概率可知,当给定各可视层单元的状态时,隐藏层各个单元的状态是相互独立的;同理当给定各隐藏层单元的状态时,可视层各个单元的状态也是相互独立的;可视层v和隐藏层h的激活概率分别为:

步骤3-5:梯度下降法调优权值和阈值

采用梯度下降法求解出实际值与期望值之间误差值:

其中,e(t)为迭代t次的误差,z(t),y(t)分别是期望输出值和实际输出值;

再根据误差求出对权值的梯度,沿着梯度下降的方向进行调优:

其中,μ为学习率,e(t)为迭代t次的误差,wij(t+1)、bj(t+1)分别为调优后权值和阈值。

当所有rbm网络结构完成训练时,多个rbm网络结构被堆叠为深度信念网络。

所述s3中,建立dbn分类网络模型,分别使用无标签的预训练数据样本进行网络预训练,以及有标签的样本进行参数微调,具体步骤为:

(1)输入归一化的预训练样本数据,设置网络结构参数,随机初始化网络层间权值,每层阈值值初始置零;

(2)使用预训练样本数据逐层训练rbm层,每一层rbm层的输出作为下一层的输入,直到训练完毕,得到各层网络权值和阈值;

(3)使用(2)训练所得到的网络参数作为初始值,并使用带标签的数据样本,将dbn展开成bp网络结构,网络的最高层还需加一层分类层,作为对网络特征输出的最终分类判断层,将得到的结果与所输入的带标签数据的标签进行对比,得到的误差数据用来进行误差的反向传播,微调整个网络的参数,这种设置有利于通过误差来调整参数,

在s4中,rbm模型的可视层和隐藏层的网络阈值分别为b和c,两层的连接权重为w,dbn参数训练为了实现参数θ={w,b,c}的最优化求解,可以将该问题转化为求rbm在训练集上的对数似然函数最大化问题。本专利使用fwa算法对网络模型参数进行优化。

烟花算法(fireworksalgorithm,fwa)一种用烟花爆炸过程模拟种群优化的高效的群体智能优化算法。每一个烟花个体代表一个可行解,通过特定的爆炸策略生成子代火花,并在其中通过一定的方式挑选出最优解成为下一代的候选解,从而逐步驱动种群优化,平衡全局探索能力与局部搜索能力,在求解复杂优化问题中表现出了非常优良的性能和很高的效率。

烟花算法主要有爆炸算子、变异算子、映射规则和选择策略4部分组成,爆炸算子主要由爆炸半径、爆炸火花数、爆炸强度等组成;变异算子一般选择高斯变异,映射规则主要包括模运算映射、随机映射;选择策略主要包括距离的选择和随机选择。

步骤4-1:初始种群

初始种群数n,火花限制参数m,初始迭代次数t=0,最大迭代次数。烟花算法优化的对象是dbn中rbm随机产生的连接权值w、可视层阈值b和隐藏层c,所以对于一个给定的rbm结构,将其连接的权值和阈值直接排列,种群中的一个烟花个体可以表示为[w1,w2,···,wn1,b1,b2,···,bn2,c1,c2,···,cn2]。

步骤4-2:适应度函数

算法模型训练的目的是通过不断地迭代计算,使得网络输出层结果与期望结果尽可能地接近,从而得到网络输出结果最优时各神经元节点之间的权值和阈值。由于烟花算法的适应度函数和神经网络的总误差函数有关,故本专利引入总误差函数,来计算烟花个体的适应度值,因此适应度函数fit的表达式为:

其中,e表示神经网络的总误差,k为数据样本的个数,q为隐含层神经元个数,d为网络的期望输出,y为网络的实际输出。该适应度函数可直观地反映出实际输出和期望输出的误差大小,若误差越小,表示适应度越好。

步骤4-3:爆炸算子

爆炸算子主要由爆炸半径、爆炸火花数和爆炸强度等组成,计算每个烟花的适应度值f(xi),随机取一个随机数u(-1,1)并设置产生火花数目si后,分别计算每个烟花的爆炸半径ri,火花数目si和烟花爆炸半径ri计算公式如下:

其中,i=1,2,…,n,n为样本总数;ymax,ymin分别代表当前群体中适应度值最大和最小值,表示最好烟花和最差烟花;f(xi)为烟花xi的适应度值;m和r都是常数,分别用来限制最大的爆炸半径和爆炸产生的最大火花数;ε为一个极小的常数,用来避免除0操作。

步骤4-4:变异算子

变异算子的设置是为了增加爆炸烟花种群的多样性,避免陷入局部极值,通过高斯变异实现。假设选取烟花xi进行高斯变异,则k维高斯变异操作为:

其中,表示烟花变异后产生的高斯变异火花,表示第i个烟花在第k维上的位置;是当前种群中最优个体xb在第k维上的位置;gaussian(1,1)是均值和方差均为1的高斯分布随机数。

步骤4-5:映射规则

某些烟花经过高斯变异后覆盖范围可能会超出可行域边界之外,爆炸后,可行域外的火花是无用的。需要通过某种映射规则将其拉回到可行域范围内,主要采用模运算映射规则来处理超出边界的火花,模运算规则计算公式如下:

其中,表示超出边界的第i个烟花个体在第k维上的位置;分别表示烟花在第k维上的下边界和上边界;rand(0,1)表示在区间[0,1]上均匀分布的随机数。

步骤4-6:选择策略

选择操作是将可行域中的烟花、火花挑选出优秀的一部分作为下次爆炸的烟花。利用每次爆炸后选出最优个体的循环模式进而找出问题的最优解。假设候选者集合为k,烟花种群大小为n,候选者集合中误差最小的个体会被确定性地选择到下一代作为烟花,而对剩下的n-1个烟花的选择使用轮盘赌的方法在候选者集合中进行选择,候选者集合中误差使用欧式距离法进行计算度量,计算当前个体候选集合所有个体之间距离之和r(xi),计算公式如下:

其中,r(xi)为当前个体候选集合所有个体之间距离之和;d(xi-xj)和||xi-xj||均代表第i个个体和第j个个体间的欧式距离;k是候选者集合。

在计算r(xi)之后,每个烟花的选择概率由轮盘赌的方式进行确定,计算公式如下:

步骤4-7:判断停止条件

若满足停止条件,则跳出程序并输出最优结果;若不满足,则返回step211继续循环;停止条件为达到迭代次数tmax,得到种群最优个体xb,解码得到dbn的最佳参数空间[wb,bb,cb],这种设置有利于寻找最佳参数空间。

在步骤5中,为了与遗传算法、粒子群算法、蚁群算法优化的dbn模型的进行对比,本发明采用平均绝对百分误差(meanabsolutepercentageerror,mape)和均方根误差(rootmeansquareerror,rmse)作为评价指标,其中:

其中,n是输出训练样本的个数,i表示输出训练样本的序号,yi是第i个输出训练样本的预测值,是第i个输出训练样本的实际值。

mape和rmse的值越小代表模型的预测精度越高,但这两个指标是相对值,需要在相同的数据下进行比较才有意义,这种设置有利于直观地表现模型的预测精度,

在步骤6中,将fwa_dbn的信用评分模型部署至贷款申请平台输出实时申请信用评分,实现申请客户的实时审批,并定期将有表现数据输入到模型训练,实现模型的在线更新,这种设置有利于模型不断优化,

还提供一种基于fwa_dbn的客户信用评估系统,包括以下几个模块:

数据集获得和标注模块:用于在贷款系统后端获得训练数据集,包括申请、还款、操作及第三方数据;

特征数据提取和归一化处理模块:用于基于所述获得训练数据集中的数据提取与还款表现较强关联的特征数据,并对所述特征数据进行归一化处理,并切分为训练集及测试集;

dbn模型构建模块,用于根据给定的训练样本和隐藏层节点数构建dbn模型;采用fwa算法对dbn模型中的rbm网络参数θ={w,b,c}自动寻优;

dbn训练测试模块,用于利用训练集训练优化后的dbn,再利用测试集进行验证得到模型预测的准确率;

dbn预测模块:用于训练完成的dbn网络对在线申请客户进行信用风险等级评估预测,这种设置能够提前预测客户的信用等级,便于为客户提供相应的信贷权限。

工作流程:本发明中,包括步骤:

s1.对已有贷款表现的客户抽样作为建模样本,并采集客户的信用特征数据;

s2.对所获取建模数据进行数据预处理,采用min-max方法对预处理后的数据归一化处理,按照预设比例划分训练集和测试集;

s3.根据训练数据特征初步确定dbn的结构,初始化dbn的相关参数,包括:输入节点、输出节点、最大层数、每层的节点数和最大迭代次数;

s4.利用训练集对dbn进行训练,并使用fwa算法对网络模型参数进行优化,得到fwa-dbn预测模型;

s5.将验证集导入到fwa-dbn进行测试,如果测试精度不满足预设阈值要求,则重复步骤s3以及步骤s4再次训练fwa-dbn预测模型;

s6.将fwa-dbn的客户信用评估模型部署至贷款申请平台输出实时申请信用评分,实现申请客户的实时审批,并定期将有表现数据输入到模型训练,实现模型的在线更新。

通过s1-s6实现了收集客户数据作为输入,利用fwa-dbn模型对用户信贷风险评分,测试精度不满足预设阈值要求时会循环步骤s3以及步骤s4再次训练fwa-dbn预测模型,最终提供精度合格的用户信贷风险评分。

实施例2与实施例1相同部分不在赘述,不同之处是:在s1中,对已有贷款表现的客户抽样作为建模样本,并采集客户的信用特征数据,信用特征数据包括个人基本信息、操作行为埋点数据以及第三方数据,这种设置有利于采集用户数据以便于后续分析,

在s2中,对于缺失的数据,通过采用插值法,插入中位数补全,令数据样本保持一致;原变量因量纲不同和数值差异太大回对dbn的训练带来的影响,需要对原始数据进行归一化处理,本专利使用的归一化函数公式如下:

其中,ymax默认为1,ymin默认为-1,x为当前要处理的原始数据项,xmax为所有要处理的原始数据项中的最大值,xmin为所有要处理的原始数据项中的最小值。

对归一化后的数据集根据申请时间按照比例7:3切分为训练集和测试集,这种设置有利于提升数据的稳定性,

步骤3中,在根据所述根据训练集构建dbn模型,初始化神经网络参数

深度置信网络是一个概率生成模型,由多个受限波尔兹曼机(restrictedboltzmannmachine,rbm)依次叠加而成,深度置信网络的最底层接收输入数据向量,并通过rbm转换输入数据到隐藏层,即高一层rbm的输入来自低一层rbm的输出。

步骤3-1:建立能量函数

rbm是一种可视层和隐藏层组成的双向递归神经网络,可视层是由一层代表输入的可视层v用于接收输入,隐藏层是由一层代表隐藏变量的隐藏单元h用于提取特征。rbm可视层单元为v={v1,v2,v3,…,vi}∈{0,1},隐藏层单元为h={h1,h2,h3,…,hi}∈{0,1},权重矩阵为w,可视层单元的阈值为a和隐藏层单元的阈值为b,则所有可视单元和隐藏层单元联合状态(v,h)的能量函数为:

其中,wij为第i个可视层单元和第j个隐藏层单元的连接权重,vi、hj分别为可视层单元i和隐藏层单元j的隐藏层向量,ci、bj分别为可视层单元i和隐藏单元j的阈值,i为可视单元的数量,j为隐藏层单元的数量。

步骤3-2:联合概率分布

根据上式得到的能量函数e(v,h)得到隐藏层和可视层之间的联合概率分布为:

其中,z是一个模拟物理系统的标准化常数,由所有可视层和隐藏层单元之间的能量值相加得到.

步骤3-3:独立分布

通过联合概率分布,得到可视层向量v的独立分布为:

则在给定一个随机输入可视层向量v的条件下,隐藏层向量h的概率:

在给定一个随机输入隐藏层向量h的条件下,可视层向量v的概率:

由于rbm的结构单元是一个二值状态,记一逻辑函数sigmoid激活函数为

步骤3-4:激活概率

由rbm的结构和状态概率可知,当给定各可视层单元的状态时,隐藏层各个单元的状态是相互独立的;同理当给定各隐藏层单元的状态时,可视层各个单元的状态也是相互独立的;可视层v和隐藏层h的激活概率分别为:

步骤3-5:梯度下降法调优权值和阈值

采用梯度下降法求解出实际值与期望值之间误差值:

其中,e(t)为迭代t次的误差,z(t),y(t)分别是期望输出值和实际输出值;

再根据误差求出对权值的梯度,沿着梯度下降的方向进行调优:

其中,μ为学习率,e(t)为迭代t次的误差,wij(t+1)、bj(t+1)分别为调优后权值和阈值。

当所有rbm网络结构完成训练时,多个rbm网络结构被堆叠为深度信念网络。

所述s3中,建立dbn分类网络模型,分别使用无标签的预训练数据样本进行网络预训练,以及有标签的样本进行参数微调,具体步骤为:

(1)输入归一化的预训练样本数据,设置网络结构参数,随机初始化网络层间权值,每层阈值值初始置零;

(2)使用预训练样本数据逐层训练rbm层,每一层rbm层的输出作为下一层的输入,直到训练完毕,得到各层网络权值和阈值值;

(3)使用(2)训练所得到的网络参数作为初始值,并使用带标签的数据样本,将dbn展开成bp网络结构,网络的最高层还需加一层分类层,作为对网络特征输出的最终分类判断层,将得到的结果与所输入的带标签数据的标签进行对比,得到的误差数据用来进行误差的反向传播,微调整个网络的参数,这种设置有利于通过误差来调整参数,

在步骤4中,rbm模型的可视层和隐藏层的网络阈值分别为b和c,两层的连接权重为w,dbn参数训练为了实现参数θ={w,b,c}的最优化求解,可以将该问题转化为求rbm在训练集上的对数似然函数最大化问题。本专利使用fwa算法对网络模型参数进行优化。

烟花算法(fireworksalgorithm,fwa)一种用烟花爆炸过程模拟种群优化的高效的群体智能优化算法。每一个烟花个体代表一个可行解,通过特定的爆炸策略生成子代火花,并在其中通过一定的方式挑选出最优解成为下一代的候选解,从而逐步驱动种群优化,平衡全局探索能力与局部搜索能力,求解复杂优化问题中表现出了非常优良的性能和很高的效率。

烟花算法主要有爆炸算子、变异算子、映射规则和选择策略4部分组成,爆炸算子主要由爆炸半径、爆炸火花数、爆炸强度等组成;变异算子一般选择高斯变异,映射规则主要包括模运算映射、随机映射;选择策略主要包括距离的选择和随机选择。

步骤4-1:初始种群

初始种群数n,火花限制参数m,初始迭代次数t=0,最大迭代次数。烟花算法优化的对象是dbn中rbm随机产生的连接权值w、可视层阈值b和隐藏层c,所以对于一个给定的rbm结构,将其连接的权值和阈值直接排列,种群中的一个烟花个体可以表示为[w1,w2,···,wn1,b1,b2,···,bn2,c1,c2,···,cn2]。

步骤4-2:适应度函数

算法模型训练的目的是通过不断地迭代计算,使得网络输出层结果与期望结果尽可能地接近,从而得到网络输出结果最优时各神经元节点之间的权值和阈值。由于烟花算法的适应度函数和神经网络的总误差函数有关,故本文引入总误差函数,来计算烟花个体的适应度值,因此适应度函数fit的表达式为:

其中,e表示神经网络的总误差,k为数据样本的个数,q为隐含层神经元个数,d为网络的期望输出,y为网络的实际输出。该适应度函数可直观地反映出实际输出和期望输出的误差大小,若误差越小,表示适应度越好。

步骤4-3:爆炸算子

爆炸算子主要由爆炸半径、爆炸火花数和爆炸强度等组成,计算每个烟花的适应度值f(xi),随机取一个随机数u(-1,1)并设置产生火花数目si后,分别计算每个烟花的爆炸半径r,火花数目si和爆炸半径ri计算公式如下i:

其中,i=1,2,…,n,n为样本总数,ymax,ymin分别代表当前群体中适应度值最大和最小值,表示最好烟花和最差烟花;f(xi)为烟花xi的适应度值;m和r都是常数,分别用来限制最大的爆炸半径和爆炸产生的最大火花数;ε为一个极小的常数,用来避免除0操作。

步骤4-4:变异算子

变异算子的设置是为了增加爆炸烟花种群的多样性,避免陷入局部极值,通过高斯变异实现。假设选取烟花xi进行高斯变异,则k维高斯变异操作为:

其中,表示烟花变异后产生的高斯变异火花,表示第i个烟花在第k维上的位置;是当前种群中最优个体xb在第k维上的位置;gaussian(1,1)是均值和方差均为1的高斯分布随机数。

步骤4-5:映射规则

某些烟花经过高斯变异后覆盖范围可能会超出可行域边界之外,爆炸后,可行域外的火花是无用的。需要通过某种映射规则将其拉回到可行域范围内,主要采用模运算映射规则来处理超出边界的火花,模运算规则计算公式如下:

其中,表示超出边界的第i个烟花个体在第k维上的位置;分别表示烟花在第k维上的下边界和上边界;rand(0,1)表示在区间[0,1]上均匀分布的随机数。

步骤4-6:选择策略

选择操作是将可行域中的烟花、火花挑选出优秀的一部分作为下次爆炸的烟花。利用每次爆炸后选出最优个体的循环模式进而找出问题的最优解。假设候选者集合为k,烟花种群大小为n,候选者集合中误差最小的个体会被确定性地选择到下一代作为烟花,而对剩下的n-1个烟花的选择使用轮盘赌的方法在候选者集合中进行选择,候选者集合中误差使用欧式距离法进行计算度量,计算当前个体候选集合所有个体之间距离之和r(xi),计算公式如下:

其中,r(xi)为当前个体候选集合所有个体之间距离之和;d(xi-xj)和||xi-xj||均代表第i个个体和第j个个体间的欧式距离;k是候选者集合。

在计算r(xi)之后,每个烟花的选择概率由轮盘赌的方式进行确定,计算公式如下:

步骤4-7:判断停止条件

若满足停止条件,则跳出程序并输出最优结果;若不满足,则返回step211继续循环;停止条件为达到迭代次数tmax,得到种群最优个体xb,解码得到dbn的最佳参数空间[wb,bb,cb],这种设置有利于寻找最佳参数空间,

在步骤5中,为了与遗传算法、粒子群算法、蚁群算法优化的dbn模型的进行对比,本发明采用平均绝对百分误差(meanabsolutepercentageerror,mape)和均方根误差(rootmeansquareerror,rmse)作为评价指标,其中:

其中,n是输出训练样本的个数,i表示输出训练样本的序号,yi是第i个输出训练样本的预测值,是第i个输出训练样本的实际值。

mape和rmse的值越小代表模型的预测精度越高,但这两个指标是相对值,需要在相同的数据下进行比较才有意义,这种设置有利于直观地表现模型的预测精度,

在s6中,将fwa_dbn的信用评分模型部署至贷款申请平台输出实时申请信用评分,实现申请客户的实时审批,并定期将有表现数据输入到模型训练,实现模型的在线更新,这种设置有利于模型不断优化,

还提供一种基于fwa_dbn的客户信用评估系统,包括以下几个模块:

数据集获得和标注模块:用于在贷款系统后端获得训练数据集,包括申请、还款、操作及第三方数据;

特征数据提取和归一化处理模块:用于基于所述获得训练数据集中的数据提取与还款表现较强关联的特征数据,并对所述特征数据进行归一化处理,并切分为训练集及测试集;

dbn模型构建模块,用于根据给定的训练样本和隐藏层节点数构建dbn模型;采用fwa算法对dbn模型中的rbm网络参数θ={w,b,c}自动寻优,

dbn训练测试模块,用于利用训练集训练优化后的dbn,再利用测试集进行验证得到模型预测的准确率;

dbn预测模块:用于训练完成的dbn网络对在线申请客户进行信用风险等级评估预测,这种设置能够提前预测客户的信用等级,便于为客户提供相应的信贷权限。

相比于采用其他的浅层神经网络,dbn是一种深度高效学习算法,能够提取数据的深层次特征,实现高维度非线性数据特征抽取与分类,网络的泛化能力和预测精度均有所提升,相比遗传算法、粒子群算法、蚁群算法等优化算法,烟花算法从而逐步驱动种群优化,平衡全局探索能力与局部搜索能力,求解复杂优化问题中表现出了非常优良的性能和很高的效率,基于fwa算法优化的dbn模型能够处理海量数据且具有收敛速度快、全局收敛、预测稳定的优势,适用互联网金融平台客户信用的实时评估

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实例的说明只是用于帮助理解本发明的方法及其核心思想。以上所述仅是本发明的优选实施方式,应当指出,由于文字表达的有限性,而客观上存在无限的具体结构,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进、润饰或变化,也可以将上述技术特征以适当的方式进行组合;这些改进润饰、变化或组合,或未经改进将发明的构思和技术方案直接应用于其它场合的,均应视为本发明的保护范围。

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