丁霖泽,葸娟霞
(广东东软学院 信息管理与工程学院,广东 佛山 528200)
当前神经网络的应用已涉及到各个领域[1],在智能控制、模式识别、计算机识别[2]等方面取得了长足的发展[3]BP 算法具有非线性转移函数的三层前馈网络,体现了人工神经系统的最精华部分。
神经网络在实际问题应用中,受自身梯度下降、步长规则等因素影响,在处理时会遇到4 种常见问题[4]:
(1)由于实际问题规模往往很大,因此理论上需要神经网络与其相匹配,而网络过大,将极大降低网络的推广能力,不能发现其合理规则,从问题中选取典型实例组合是困难的。
(2)神经网络在执行梯度下降时,其所需的最小化目标过于复杂,因此必然会出现“锯齿形现象”[4]。
(3)运行中往往可能陷入“局部最优陷阱”从而无法达到学习目的。
(4)在BP 网络用于识别时,自身算法往往存在收敛速度缓慢、网络性能较差、误差平方和函数可能有局部极小点出现的可能性,以及学习率不稳定的问题[5]。
综上所述,如采用自适应学习速率等不依赖梯度信息[6],但是收敛精度可能不高[7];采用进化算法,进行优化计算来确定,对大规模FNN,工作量大,耗时过长且无法保证效果;采用删除冗余样本信息的特征样本[8],验证样本误差的下降趋势决定何时结束训练,一旦出现部分数据与目标关系较小,将会导致完全删除。
针对单模型容易丢弃或无视数据潜在的影响因素,本文提出基于模型组合的网络迭代法(LDKB),该方法基于多模型建立数据流循环模型,在保证主题结构完整的前提下,有效减少单模型的局限性,实现数据精确化展现。LDKB 法通过数据流循环过程,迭代模型组合,使其在现有机器学习模型下,通过模型优化数据,获得较高精度结果,多次迭代后模型组合策略为总体精度提升带来积极影响。
LDKB 算法的组合流程如图1 所示,其实现步骤如下:
(1)首次循环进入决策树部分(剪枝详见1.4节)分 别使 用Enter、Forward、Remove、Backward、Stepwise 5 种方法筛选变量优化回归模型,并利用Chi-Square、-2 Log likelihood、BIC、AIC 作为衡量标准确立回归部分的最优参数[9]。
(2)以0.1 为基础,引用函数“cv”在每一次迭代中使用交叉验证,并返回理想的树数量,利用bagging 算法降低泛化误差,计算基尼系数分割父子节点,获取子节点的计算反馈数据模型迭代前最优化树。
(3)选取目标中的一个样本点作为第一个聚类中心,计算每个样本点与当前已有聚类中心的最短距离,即
则样本点被选为下一个簇中心的概率为
(4)在神经网络阶段,确定隐藏层中采用tanh函数作为激活函数,计算隐藏层神经元个数为
数据中共有11 个字段,分别计算其权重w与偏差b相对于损失的梯度,所有字段的权重w总和与偏差b的总和为:
(5)更新系统数据,以融合得到新的类别与数据。
(6)重复执行步骤(2)~步骤(5)直至循环的第N次输出模型效果小于N -1,保存最佳输出结果。
(1)原理:取最优组合权重向量,利用精度法判断最优模型组合。
(2)实现:当c为真实值,b为使用LDKB 法输出其中一节得到的预测值数,a为使用LDKB 法另一节得到的预测值,那么利用精度法有:
即可由公式(7)、(8)得到输出预测值x。
(3)利用结果构造损失函数,用来估量模型的预测值f(x)与真实值Y的不一致程度:
(4)利用拉格朗日乘数法得最优组合权重向量,以预测误差平方最小为最优构架优化模型,获取最优组合:
由式(10)~式(12)可得组合预测平方和最小值j。
在LDKB 法的BP 网络部分进行识别类时,使用softmax 模型利用权重参数w,偏差b(即上文提到的预测输出值个数),将输出值作为对该类别的置信度,通过softmax 模型将其转化为正且为1 的概率分布[10]。对于训练集样本,构造向量y∈Rq,其属于哪个类别,就将那个类别的值置为1。使用交叉熵函数训练:
训练BP 网络时,由于输入数据标签已经确定(分布率P(x)已经确定),因此信息熵为常量[11]。KL 散度等于交叉熵-信息熵,因此需要最小化KL散度,所以选用交叉熵损失函数计算loss 即可。
LDKB 法进入循环前,需将连续变量离散化或将多状态的离散变量组合并成少状态的变量,易于LDKB 模型的快速迭代。根据向导变量,将现有的连续变量按照导向变量间差异最大化的原则离散化为分类变量。
在LDKB 法的逻辑回归部分,由于数据流中数据难以判断线性相关关系,数据存在极大偶然性,因此需要WOE 编码将回归系数“正则化”。WOE 法公式如下:
公式(14)利用审批中的good 与bad 比例作为条件,分别计算数据流分箱各项的WOE 值。通常情况下,可以通过建立较少的分箱提高数据的平滑性,WOE 重新编码后可以很容易的建立自变量与目标变量间的单调关系。
在LDKB 法的决策树部分,最容易出现的问题是过拟合[12]。剪枝过程需针对i层的计算,其关键需要获得等于n +1 循环操作的FLOPS,即
用权重因素的剪枝算法运行中,第i层保留的FLOPS为
因此,在LDKB 算法下的FLOPS计算量差异为
通过式(14)的推导,在相同的剪枝策略下,LDKB 法的剪枝不但没有增加计算,反而降低了训练时间。
文章采用LDKB 法,利用银行中的个人信用评级数据作为测试数据流进行循环处理,分别记录循环中输出的模型概况与模型准确率等提升情况,比较LDKB 法与单模型训练差距,用以验证LDKB 法的优势。
2.1.1 简介与预处理
本文使用数据是来自银行对于客户的申请信息表、汇总信息表,消费记录表与拖欠记录表构成,数据总量1 万条。摘除重复的字段,将缺失率超过50%的数据字段舍去。无法简单归一化变量,利用随机森林算法进行数值填充。加入WOE 编码将分箱后的字段分别计算其WOE 值,将回归系数“正则化”(详见1.4 节)。
2.1.2 回归部分
回归阶段使用部分差量较大的字段,利用WOE编码(详见1.4 节)平滑数据,显示good 与bad 的差异。利用Forward、Remove、Backward、Stepwise 优化回归模型,以及Chi-Square、-2 Log likelihood、BIC、AIC 作为衡量标准,确立回归部分的最优参数。
2.1.3 决策树部分
利用拉格朗日乘数法得LDKB 循环最优组合中含有决策树模型结果输出见表1。LDKB 法循环中数据流会逐步通过选用模型调整与完善,因此不会受到原数据反向Acc 的质量影响。
循环中的总数据流经过LDKB 算法优化,验证对于识别目标的影响程度,仅用作数据增强后的字段筛选,输出终止n -1 次最优效果。
由表1 可看出,决策树模型被选中循环6 次,从Acc、AUC、Gini 系数看出其中第1,2 次循环数据杂冗严重且准确率低,在循环过程中数据流逐步被优化,在第6 次调用时准确率下降循环终止,输出影响因素字段。
2.1.4 聚类部分
表2,利用LDKB 法循环中,聚类被选用3 次,同时LDKB 法报出amount 为2 或3 时,quality 值相等的特殊情况。因此,LDKB 法在循环运行时首先在BP 网络识别阶段验证首类中是否存在A 与B 完全分开互补影响的情况,再进行下一类迭代。
表2 聚类迭代节点Tab.2 Clustering iteration node
2.1.5 类神经网络部分
本研究在BP 网络循环节点中准确率于2 簇网络起并于4 簇网络开始回弱,见表3。
表3 BP 网络迭代节点Tab.3 BP network iteration node
表3 利用LDKB 法在BP 网络节点经过迭代输出最优结果。显而易见,聚类循环过程中特殊类1∗中为因素完全分开互补,可使用其判断好坏,无法用作因素识别。因目标中存在完全互补的量,因此网络识别中总存在存储该效果的簇。输出最优结果如图2 所示。
图2 识别结果输出Fig.2 Identification result output
通过采用LDKB 法识别信用等级,得到以下研究成果:
LDKB 循环回归模型初步判定环节中,通过调整分别使用Forward、Remove、Backward、Stepwise 4种方法优化,利用Chi-Square、-2 Log likelihood、BIC、AIC 4 种因素衡量模型状态,并在循环中利用决策树判定效果,通过公式计算父、子树的最优最小记录数进行优化模型,并在LDKB 循环法中不断验证数据流,输出变量因素同比优化232.54%,达72.13%。
LDKB 循环聚类环节共计调用3 次,测试出特殊聚类质量数并验证,数据存在2 类为因素完全分开互补情况,同步输出正常聚类效果结果并作为BP网络识别因素。
LDKB 循环BP 网络环节中,采用构建的BP 模型,利用计算得到隐藏层最小单位为23,最大单位为102,同时计算最初学习率为0.43,在保证误差精确度为0.001 0的前提下,利用参数参与迭代优化后的BP 模型收敛速度提高37.29%。
采用基于模型组合的网络迭代法对目标进行识别,总体Acc 达97.3%,ROC 总体检测效果优于任意单个模型或单个调参后模型。
综上,LDKB 法有效实现了客户信用等级因素的评估,并有效根据历史记录识别信用等级。
本文提出的基于模型组合的网络迭代法(LDKB),使用拉格朗日乘数法取得最优组合权重向量,并作为选用模型组合的依据。实验证明,利用回归、聚类加以辅助,提高了LDKB 的容错性;迭代优化数据流用于识别与多种单模型算法识别相比,LDKB 法得到的信息有着更少的精度损失,在决策识别时可以利用更小的决策成本得到更好的模型压缩效果。
根据实例分析可知,结合了LDKB 算法的信用等级识别系统性能提升较高,输出也更接近实际值,可达到评定需求。
进一步探索在循环迭代过程中同步迭代模型最优参数[13],实现实时调优;当前迭代过程中无法实现实时了解模型间的相互影响因素,其中决策树模型剪枝效果是对于预训练权重的数据环境敏感,因此迭代终止前可能产生当前迭代环境整体优化,而调参后的单模型效果并非最优。因此,未来可以尝试调整实现单模型最优,以查看模型间的潜在影响因素[14]。