好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

BP神经网络在工程的机械的公司客户信用评级中的应用地地研究.doc

6页
  • 卖家[上传人]:m****
  • 文档编号:486167052
  • 上传时间:2023-03-30
  • 文档格式:DOC
  • 文档大小:183.50KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • wordBP神经网络在工程机械公司客户信用评级中的应用研究颜  菲[摘 要] 信用交易在给企业带来巨大的经济效益的同时,也给企业带来了巨大的经营风险,这就使得企业必须加强客户的信用管理作为信用管理的第一步,如何对客户进展客观公正的信用评级一直是企业需要解决的问题本文从企业目前的信用销售状况入手,应用神经网络技术创建客户信用评级模型,探寻与客户信用表现密切相关的因素[关 键 字] 指标体系 信用评级 BP算法 LM算法[作者简介] 颜菲,女,某某运输职业技术学院信息工程系讲师某某某某,545007一、绪论我国参加WTO,不仅为国内的企业带来了开展的机遇,同时也使许多企业感受到了来自国内外的激烈竞争在买方市场条件下,企业要想扩大销售、增强市场竞争力主要有三种手段:提高产品质量、降低产品价格和提供优惠的结算方式[1]随着信息技术的快速开展,企业在产品质量和价格上的竞争空间变得越来越小,因此,采用提供优惠的结算方式便成为企业取得竞争优势的关键因素也就是说企业要转向更具竞争力的信用销售方式赊销是目前国内企业主要采取的信用销售方式然而,赊销是把双刃剑,它在提高卖方企业竞争力的同时,也给卖方企业带来了巨大的信用风险。

      因此企业在进展赊销的同时,必须建立严格的信用管理制度,积极引进适合企业实际情况的客户信用评级模型,加强对客户的信用管理,从而帮助企业防X信用风险建立客户信用管理系统,最核心的是对客户信用进展评级对客户进展信用评级本质上是属于综合评价中的分类与排序问题在数据挖掘技术中最常用的分类方法有:贝叶斯、决策树、人工神经网络其中神经网络技术可实现非线性关系的隐式表达,不需要建立复杂的线性关系和数学模型,并且容错性好,可以处理数据、信息不全的预测问题,即使在数据样本有缺失的情况下,也能较好地解决问题本文以某某某工程机械公司〔以下简称为L公司〕为研究对象,运用BP神经网络技术,建立适合L公司的客户信用评级模型,帮助L公司加强对客户的信用管理,有效地挖掘客户资源,减少公司的信用风险二、BP神经网络〔一〕BP算法在人工神经网络技术中,能实现分类功能的主要是前馈神经网络前馈神经网络是一种典型的分层结构,信息的处理是从输入层开始,经隐含层最后再到输出层前馈神经网络通过“学习〞,改变神经元与神经元之间的连接强度即连接权值,从而获得某种功能特性前馈神经网络最经典的学习算法是BP算法BP算法的主要思想是将学习过程分成正向传播和误差反向传播两个过程[2] ,BP算法具体过程可归纳如下[3]:步骤1 选定n个样本,作为训练集;步骤2 权值、阀值初始化,即对神经网络中所有的权值、阀值进展初始化,初始值通常设为〔-1,1〕之间的随机数; 对训练集中的每个样本进展如下的处理:步骤3 将作为输入层的数据按照各个连接权重的大小加权输入至隐含层的激活函数,然后再得到新的值,按照各个连接权重的大小加权输入至输出层的激活函数,计算出输出层的输出结果;步骤4 如果输出结果与预期的结果有误差,计算训练误差;步骤5 调整权值和阈值。

      步骤6 按新权值与阈值计算各层的输出,直至训练集满足停止条件为止〔二〕BP算法的改良BP算法由于自身的原因不可防止地具有收敛速度慢和极易陷入局部极小值等缺陷,因此,通常需要对BP算法进展改良对BP算法进展改良的方法比拟多,本文主要采用的是用LM算法来改良BP算法LM算法属于一种利用标准的数值优化技术的快速算法,其形式如下:式中,为比例系数,l为单位矩阵,为Jocobain矩阵,即:从上式可见,如果取值很大,如此LM算法接近梯度下降法每迭代成功一步,如此的值减少一些,在接近误差目标的时候,如此逐渐与高斯-牛顿法相似由于LM算法利用了近似的二阶导数信息,因此它比梯度下降法快得多三、客户信用评级模型的创建〔一〕建立客户信用评级指标体系要对客户进展信用评级,首先要建立客户信用评级指标体系在建立指标体系时要遵循全面性、针对性、科学性、公正性、合法性、可操作性等原如此本文在综合考虑以上的原如此并参考了其他行业对客户进展信用评级所使用的指标,选取了适合L公司的影响客户信用评级的指标,经过屡次的实验,将那些对评级结果影响甚小的指标去掉,最后本文从历史信用表现、盈利能力、管理水平和开展潜力四个大的方面来考查客户的信用能力,主要因素如下所述:〔1〕历史信用表现 主包括两个指标:经营时间和以往还款情况。

      〔2〕盈利能力 包括了企业收入规模、资产负债率、应收账款周转率、速动比率、净资产收益率、流动比率、净利润率、总资产周转率、存货周转率等九个财务指标〔3〕管理水平 管理水平包括了领导者的信用状况、内部管理水平、信用管理水平三个指标〔4〕开展潜力 包括了服务质量和市场认可程度、市场份额两个指标〔二〕数据的收集由于各指标对客户信用的影响程度不同,本文首先制定了客户信用评分标准由于在建立的L公司的客户信用评级指标体系中,盈利能力中9个指标和经营时间指标属于定量指标,可以从L公司的客户财务报表中获得相关数据,再依照不同的计算公式计算得到而服务质量和市场认可程度、市场份额、领导者的信用状况、内部管理水平、以往还款情况和信用管理水平属于定性指标,需要L公司的销售业务人员对客户进展准确客观地评价因此,本文制定了相应的L公司客户信用评价调查表,并将调查表发给L公司各区域总监和各处的办事处经理,由相应的区域总监和办事处经理分别给属于他们分管的区域的客户进展评分将调查表收回后,将对同一个客户进展评价的办事处经理与区域总监的评价调查表中相应指标的分值进展平均,即为该客户相应的指标分值〔三〕数据预处理神经网络要求所有的输入变量都必须是0~1或者-1~+1之间的实数,因此必须对收集到的样本数据进展归一化处理。

      本文中采用的处理方法是最大最小归一化方法该方法是对数据进展一种线性转换,能够将数据映射到0~1区间设、分别为指标的最小值和最大值,对于指标中的值而言,将其映射到0~+1区间的公式为:〔四〕确定客户信用评级模型的结构三层BP神经网络已具有令人满意的对连续映射的逼近能力,是可以满足客户信用评级的要求三层BP神经网络由输入层、隐含层和输出层组成输入层神经元与客户进展信用评级的指标体系中的16个指标一一对应,因此,输入层神经元的个数为16个输出层神经元的个数在本文中为1个,将其输出的值进展反归一化后,再判断客户的信用属于哪个级别隐含层神经元的数目当前并没有统一的计算公司,其数目过多过少对网络的学习都会产生不好的影响隐含层神经元的数目通常是根据设计者的经验而定或者通过实验比拟来进展确定一般情况下,在确定隐含层神经元的个数时,通常需要满足以下两个公式要求:式中,为隐含层神经元个数,为输出层神经元个数,为输入层神经元个数表示1至10之间的任意整数本文中的BP网络模型输入层神经元个数为16,输出层神经元个数为1,因此同时满足上述两个公式的值X围是5~15为了确定隐含层神经元个数,本文使用MATLAB编写程序,用一样的测试集数据,对隐含层神经元依次取5,6,……,15进展实验。

      经过屡次实验比拟,在综合考虑客户信用评级误差与网络训练时间后,最后确定隐含层神经元个数为9由此,本文建立的客户信用评级BP神经网络的结构为16-9-1〔五〕转移函数的选取因为客户信用评级模型中输入向量与输出向量之间不满足线性关系,又因为BP神经网络要求神经元转移函数可微,而单极性型函数在值域(0,1)上是单调递增,并且该函数以与其导数都是连续的因此,本文中选择单极性型函数作为神经元的转移函数至此,L公司客户信用评级BP神经网网络模型如下:输入层:16个神经元,对应着客户信用指标体系中16个指标;隐含层:9个神经元,采用单极性函数作转移函数;输出层:1个神经元,采用单极性函数作转移函数;学习算法:BP算法四、客户信用评级模型的评价〔一〕训练集与测试集样本数据确实定由于神经网络是通过学习才能获得相关知识,因此要将收集到的数据分为训练集和测试集本文在确定训练集中的样本数据个数时采用的是传统的方法,将收集到的样本数据分成两个彼此独立的集合,分别作为训练集和测试集其中,样本数据总数的三分之二的数据作为训练集,用于训练神经网络,样本数据总数的三分之一的数据作为测试集,用于测试神经网络的精度〔二〕使用BP网络对客户进展信用评级根据以上所述的神经网络模型生成神经网络,设定学习率、学习次数和误差精度,输入训练集中的样本数据,采用经典BP算法对神经网络进展训练,当训练完毕后,对测试集中的数据进展仿真,将计算出的预测值与期望输出进展比拟。

      本文使用MATLAB编写程序进展仿真,主要代码如下:…; %读入训练集中的数据P=…;P=P’; %进展矩阵转置…;T=…; %输入教师数据threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;];net=newff(threshold,[9, 1],{'logsig','logsig'},'traingd');%创建BP神经网络,设置转移函数为S型函数,训练函数为BP算法函数net.trainParam.epochs=100000; %设置最大的训练次数为100000次net.trainParam.goal=0.005; %设置误差精度net=init(net);net=train(net,P,T); %根据训练集中的数据训练网络… ; %读入测试集中的数据P_test=… ; P_test=P_test’;… ;T_test=…;Y=sim(net,P_test); %对测试集中的数据进展仿真error=Y-T_test;perf=mse(error); %计算均方差测试结果与误差分别如图2、图3所示。

          图2 BP网络模型训练结果      图3 BP网络模型误差图〔三〕使用LM-BP网络对客户进展信用评级由于BP网络自身的缺陷使得网络训练时间较长为了能更好地进展比照分析,本文在使用LM-BP算法网络模型对客户进展信用评级时,训练函数为trainlm,其它参数设置与BP算法一样使用一样的训练集中的样本数据对LM-BP网络进展训练,训练结果图4所示    图4 LM-BP网络模型训练结果    图5 LM-BP网络误差曲线图比照图2与图4可知,使用经典BP算法的神经网络需要经过29785次训练才能达到网络目标误差,所花费的时间比拟长在此根底上,本文使用LM算法进展优化,只需6次训练就能达到网络目标误差但是从实验结果看,LM-BP网络的准确率只达到84%,并且出现了将客户信用等级“提高〞的错误,这对企业来说是非常不利的原因在于LM算法是一种快速收敛算法,它可以很快地使神经网络训练误差达到目标误差要求,但此时网络可能并没有达到收敛,所以网络的泛化误差较大因此,需要对LM-BP网络进一步进展优化神经网络停止训练的准如此通常为:一是达到训练目标误差;另一个是达到最大训练次数。

      由于LM算法能够使得BP网络快速达到训练误差,但此时神经网络可能还没有达到收敛,因此,本文将“达到最大训练次数〞做为LM-BP网络停止训练的唯一条件经过屡次的试验,从程序运行情况看,LM-BP网络训练次数根本上不超过1200次时,网络训练误差不再减小或者是减小得非常缓慢因此,本文中将训练次数设置为1200次,训练结果如图6-5所示。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.