基于BP神经网络信用评级模型.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BP神经网络模型概要说明BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)(如图5.2所示)。2.相关理论BP算法由数据流的前向计算(正向传播)和误差信号的反向传播两个过程构成。正向传播时,传播方向为输入层→隐层→输出层,每层神经元的状态只影响下一层神经元。若在输出层得不到期望的输出,则转向误差信号的反向传播流程。通过这两个过程的交替进行,在权向量空间执行误差函数梯度下降策略,动态迭代搜索一组权向量,使网络误差函数达到最小值,从而完成信息提取和记忆过程。1989年Robert Hecht—Nielon证明了对于任何在闭区间的一个连续函数都可以用一个隐层的BP网络来逼近,因而一个3层的BP网络可以完成任意的N维到M 维的映射, 因此在BP网络中多采用单隐层网络。下面我们以三层神经网络为例来说明BP网络的标准学习算法。BP算法信号的正向传播设定BP网络的输入层有n个神经元,隐含层有p个神经元,输出层有q个神经元,输入层与隐层之间的权值为 ,隐层与输出层之间的权值为 。隐层的传递函数为f1(·),输出层的传递函数为f2(·),则隐层节点的输出为 输出层节点的输出为: 至此BP网络就完成了n维空间向量对m维空间的近似映射。误差的反向传播定义误差函数输入个学习样本,用 来表示。第个样本输入到网络后得到输出 (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分

文档评论(0)

nnh91 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档