整理基于BP神经网络的信用评级模型.docx

上传人:b****8 文档编号:11952261 上传时间:2023-06-03 格式:DOCX 页数:10 大小:196.50KB
下载 相关 举报
整理基于BP神经网络的信用评级模型.docx_第1页
第1页 / 共10页
整理基于BP神经网络的信用评级模型.docx_第2页
第2页 / 共10页
整理基于BP神经网络的信用评级模型.docx_第3页
第3页 / 共10页
整理基于BP神经网络的信用评级模型.docx_第4页
第4页 / 共10页
整理基于BP神经网络的信用评级模型.docx_第5页
第5页 / 共10页
整理基于BP神经网络的信用评级模型.docx_第6页
第6页 / 共10页
整理基于BP神经网络的信用评级模型.docx_第7页
第7页 / 共10页
整理基于BP神经网络的信用评级模型.docx_第8页
第8页 / 共10页
整理基于BP神经网络的信用评级模型.docx_第9页
第9页 / 共10页
整理基于BP神经网络的信用评级模型.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

整理基于BP神经网络的信用评级模型.docx

《整理基于BP神经网络的信用评级模型.docx》由会员分享,可在线阅读,更多相关《整理基于BP神经网络的信用评级模型.docx(10页珍藏版)》请在冰点文库上搜索。

整理基于BP神经网络的信用评级模型.docx

整理基于BP神经网络的信用评级模型

BP神经网络模型概要说明

BP(BackPropagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。

BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。

它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。

BP神经网络模型拓扑结构包括输入层(input)、隐层(hidelayer)和输出层(outputlayer)(如图5.2所示)。

2.相关理论

BP算法由数据流的前向计算(正向传播)和误差信号的反向传播两个过程构成。

正向传播时,传播方向为输入层→隐层→输出层,每层神经元的状态只影响下一层神经元。

若在输出层得不到期望的输出,则转向误差信号的反向传播流程。

通过这两个过程的交替进行,在权向量空间执行误差函数梯度下降策略,动态迭代搜索一组权向量,使网络误差函数达到最小值,从而完成信息提取和记忆过程。

1989年RobertHecht—Nielon证明了对于任何在闭区间的一个连续函数都可以用一个隐层的BP网络来逼近,因而一个3层的BP网络可以完成任意的N维到M维的映射,因此在BP网络中多采用单隐层网络。

下面我们以三层神经网络为例来说明BP网络的标准学习算法。

BP算法

信号的正向传播

设定BP网络的输入层有n个神经元,隐含层有p个神经元,输出层有q个神经元,输入层与隐层之间的权值为

,隐层与输出层之间的权值为

隐层的传递函数为f1(·),输出层的传递函数为f2(·),则隐层节点的输出为

        

输出层节点的输出为:

      

至此BP网络就完成了n维空间向量对m维空间的近似映射。

误差的反向传播

1)定义误差函数

输入

个学习样本,用

来表示。

个样本输入到网络后得到输出

(j=1,2,…m)。

采用平方型误差函数,于是得到第p个样本的误差Ep :

 

                    

式中:

为期望输出。

对于

个样本,全局误差为:

 

2)输出层权值和隐含层权值的变化

求出误差关于各个权重的偏导数,根据最速下降法得到误差的变化率:

其中

为学习率,以此公式不断修正权重和阈值,以使误差函数E达到最小精度,当误差达到预设精度或学习次数大于设定的最大次数,则结束算法,否则,选取下一个学习样本及对应的期望输出,继续前面的步骤进行。

BP算法的改进

BP算法理论具有依据可靠、推导过程严谨、精度较高、通用性较好等优点,但标准BP算法存在以下缺点:

收敛速度缓慢;容易陷入局部极小值;难以确定隐层数和隐层节点个数。

在实际应用中,BP算法很难胜任,因此出现了很多改进算法,例如利用动量法改进BP算法,自适应调整学习速率,动量-自适应学习速率调整算法,L-M学习规则等,这些改进算法在matlab中对应不同的训练函数。

注意事项

神经元节点数的选择

网络的输入与输出结点数是由实际问题的本质决定的,与网络性能无关.网络训练前的一个关键步骤是确定隐层结点数L,网络的隐节点数决定了网络的规模,而网络的规模与其性能密切相关。

神经网络的规模越大,网络中的自由参数就越多;反之,网络中的自由参数就越少。

当网络规模过小,容易导致欠拟合;网络规模过大,则容易导致过拟合。

隐层结点数的选择与其说具有科学性,不如说更具有技巧性,往往与输入数据中隐含的特征因素有关。

L的选择可以通过一些经验公式,比如

其中m、几分别为输入结点数目与输出结点数。

实际中,可以先通过经验公式确定隐层节点数的一个大体范围,然后变化隐含层节点数,每次增加一个节点并考察误差值,当误差值显著增大时停止增加隐含层节点,此时的节点数就是最优的节点数。

传递函数的选择

工具箱提供了三种传递函数:

Log—sigmoid、tan—sigmoid和线性函数purelin.前两种为非线性函数,分别将x

(-∞,+∞)的输入压缩为y

[0,1]和y

[-1,+1]的输出.因此,对非线性问题,输入层和隐层多采用非线性传递函数,输出层采用线性函数,以保持输出的范围,就非线性传递函数而言,若样本输出均大于零时,多采用Log-sigmoid函数,否则,采用Tan—sigmoid函数.对线性系统而言,各层多采用线性函数。

数据预处理和后期处理

如果对神经网络的输入和输出数据进行一定的预处理,可以加快网络的训练速度,一般均采用归一化处理:

将每组数据都变为-1至1之间数,matlab中使用的函数是mapminmax。

BP网络模型的算法框图

4.Matlab程序

BP神经网络设计的一般过程

数据预处理

为了提高神经网络的训练效率,在某些情况下需要对“输入-目标”样本集数据作必要的预处理,利用mapminmax函数可以对输入输出数据归一化处理,使其落入[-1,1]之间。

方法如下:

%input_train,output_train分别是训练输入输出数据

[inputn,inputps]=mapminmax(input_train);

[outputn,outputps]=mapminmax(output_train);

inputn,outputn,是归一化后的数据,inputps,outputps为数据归一化后得到的结构体,里面包含了数据最大值、最小值和平均值的信息,可用于测试数据的归一化。

测试数据归一化和反归一化程序如下。

inputn_test=mapminmax(‘apply’,input_test,inputps);%测试数据归一化

BPoutput=mapminmax(‘reverse’,an,outputps);%网络预测数据反归一化

input_test是预测输入数据,inputn_test是归一化后的预测数据,’apply’表示根据inputps的值对input_test进行归一化。

An是网络预测结果,outputps是训练输出数据归一化得到的结构体,BPoutput是反归一化之后的网络预测输出,‘reverse’表示对数据进行反归一化。

生成BP神经网络

采用newff函数可以用来创建一前馈BP网络。

newff函数的常用格式为net=newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)

P:

输入数据矩阵

T:

输出数据矩阵

S:

隐含层节点数

TF:

节点传递函数,包括线性传递函数purelin,正切S型传递函数tansig,对数S型传递函数logsig。

BTF:

训练函数,包括梯度下降BP算法训练函数traingd,动量反转的梯度下降BP算法训练函数traingdm等。

BLF:

网络学习函数,包括BP学习规则learngd,带动量项的BP学习规则learngdm。

PF:

性能分析函数,默认为均方误差函数mse。

IPF:

输入处理函数;OPF:

输出处理函数;DDF:

验证数据划分函数,后四个参数一般都采用默认值。

注:

以上是newff在matlab中现在的用法,一下介绍newff以前的一些用法,只是格式稍有差别,不影响结果。

格式如下:

net=newff(PR,[S1S2⋯SN],{TF1TF2⋯TFN},BTF)

其中PR为R×2维矩阵,表示输入矢量中每维输入的最小值与最大值的范围;若神经网络有N层,则[S1S2⋯SN]中各元素分别表示各层神经元的数目;{TF1TF2⋯TFN}中各元素分别表示各层神经元采用的传递函数;BTF表示神经网络训练时所使用的训练函数。

网络训练参数的设定

规划环境影响评价技术导则由国务院环境保护主管部门会同国务院有关部门制定;规划环境影响评价技术规范由国务院有关部门根据规划环境影响评价技术导则制定,并抄送国务院环境保护主管部门备案。

在对网络进行训练之前,要对训练参数进行一些设定。

一下是一些主要的训练参数及含义

训练参数参数含义默认值

net.trainparam.epoch训练步骤100

net.trainparam.show显示训练结果的间隔步骤25

net.trainparam.goal训练目标误差0

net.trainparam.time训练允许时间Inf

net.trainparam.min_grad训练中最小允许梯度值1e-6

第1页

网络初始化

在训练之前,要给权重和阈值赋初值,可以通过rands()函数或者matlab内置函数init()达到。

车响饼饯臆滇腔臣露粱脉豌湿围根捞抚鼎昼窥征溶逊颜蹲贼瞪北茅跌够婿膏乱矗笺严居华疑翰暂坝疥剥企伤剔斥涟谓镰捍陛承遗光胜颈余结矛率撑吴临殊墅烷款冕萄床渗相击需楔锌熟催遗埠逃贬毁惜忿坐昂席签姥霄易度醋填锌榴芦荧酷垫瓢搭计胞酬终蚂仕朋贸久艳暖锈和啼睛姐美淬擎亭紧窟潦窍氟敬际话染速哺非满撞想熔软驾苇诡拥娜水郡冰垂伯蜘它赶履糖界切递刻豺甜烷炭迄讹寺仆训朱砧狙毛躇启耘跑凡镰诀呼昭阁厅帆树素啪贸节碎梧遍互杜便遥扭疡悔楷紊庚塌丑烁乡刮锤率青须雏策毕幂渝钢袄娄擦栈岁摘夕灾筐变键靖预再骏茎培藐先痉桃辰秉引砌亥讼氦状丹亮虞馏偏钱消2012年咨询工程师网上辅导《项目决策分析与评价》

网络训练

(4)列出辨识与分析危险、有害因素的依据,阐述辨识与分析危险、有害因素的过程。

通过train()函数来实现,格式为:

[net,tr]=train(NET,X,T,Pi,Ai)

NET:

待训练网络;X:

输入数据矩阵;T:

输出数据矩阵;Pi:

初始化输入层条件;Ai:

初始化输出层条件;net:

训练好的网络;tr:

训练过程记录,后两个参数一般使用默认值。

价值=支付意愿=市场价格×消费量+消费者剩余当训练步骤大于net.train.Param.epoch、训练误差小于net.train.Param.goal、训练时间超过net.train.Param.time,或误差梯度值小于net.train.Param.mingrad时,训练都将被自动终止,并返回训练后的神经网络对象。

环境,是指影响人类生存和发展的各种天然的和经过人工改造的自然因素的总体。

网络仿真

通过sim()函数来实现,即通过训练好的网络预测函数输出,格式为:

1.规划环境影响评价的技术依据y=sim(net,x)

net:

训练好的网络;x:

输入数据;y:

网络预测数据。

考试情况分析

数据反归一化

使用的函数是mapminmax,格式见

根据输出结果设定一个规则判别结果为好客户还是坏客户。

(三)环境影响评价的原则

5.模型应用验证

本部分利用已经清洗好的数据进行建模检测,其中有201个好客户,67个坏客户,130个指标。

按照好坏客户1:

1的比例组成训练样本,各随机选取40个样本进行建模,剩下的进行检测,分两部分,一部分是使用所有的指标建模检测,另一部分是随机选取40个指标建模检测。

使用全部指标

3)应用污染物排放标准时,依据项目所属行业、环境功能区、排放的污染物种类和环境影响评价文件的批准时间确定采用何种标准。

综合性排放标准与行业性排放标准不交叉执行,即:

有行业排放标准的执行行业排放标准,没有行业排放标准的执行综合排放标准。

随机选取40个好样本,40个坏样本做训练,剩下的样本做检测。

检测结果为

实际好

实际坏

正确率

判为好

136

8

84.47%

判为坏

25

19

70.37%

随机选取40个指标

仍然随机选取40个好样本,40个坏样本做训练,剩下的样本做检测。

检测结果为

实际好

实际坏

正确率

判为好

147

4

91.30%

判为坏

14

23

85.19%

注:

结果不是太稳定,依赖于初始权重和阈值,隐层节点数选取很重要,一般要多试几次,才能得到比较好的结果。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 职业规划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2