BP神经网络算法

具有三层或三层以上的阶层型神经网络。简单的至少有三层,输入曾、输出层、隐含层(中间层)。其学习的过程是一种有监督式机器学习,首先需要对每一种输入模式设定一个期望输出值,对网络输入实际的学习记忆模式,并由输入层经过中间层向输出层传播(“模式顺传播”),而实际输出与期望输出的差即是误差。按照误差平方最小的规则,由输出层往中间层逐层修正连接权值,其过程为(“误差逆传播”)。随着“模式顺传播”和“误差逆传播”过程的交替反复进行,神经网络的实际输出逐渐向个字对应的期望输出逼近,对输入模式的响应正确率也不断地上升。在此过程中,反复确定下来各层之间的连接权值之后就可以过做了。

BP神经网络通常采用梯度法修正权值,并要求输出函数可微分,通常采用S型函数(也叫Sigmoid型函数)作为输出函数,比如对数S型函数:

y=f(x)=1/(1+e^-x)

S型函数作为输出函数是由于其具有非线性,单调性,无限次可微性等特点。

BP神经网络结构图

步骤:

1、分别确定输入层节点数、输出层节点数、隐含层层数以及节点数、初始化权重、期望误差、学习率、最大学习次数、初始化迭代次数、学习实例序号初始值;

2、取第k个学习实例(X,Y)进行正向传播,得出各个节点的输入值以及输出值,计算出输出层各个节点的输出误差;

3、对于N个节点,假如输出层每个节点的误差值都<=期望误差,或者是迭代次数达到最大迭代次数,那么学习结束。

4、进行误差反向计算,根据公式得出每次权重调整量,根据权值调整公式进行权值调整;

5、进行下一轮迭代,计算下一个实例,如果实例全部计算完成,那么重新头开始计算实例,转到步骤2继续迭代。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归、逻辑回归、Soft...
    hfk阅读 9,830评论 4 18
  • 大一一年的经历远没有经历4年大学或者是在职场上历练多年的人来得丰富,但是我一直在思考、学习如何成为一名合格的大学生...
    夏何阅读 2,571评论 4 0
  • 2017年4月16日 晚上终于把小人伺候到床上,却还要求讲个故事,周末两天都耗他身上了,明天周一要上班,想着自己也...
    hebbe1阅读 1,306评论 0 0
  • (一)投资的逻辑 1、投你是为了更好地卖你 “...
    游社长阅读 1,193评论 0 2
  • 《同读一本书 贠霞2016-02-24-055》 <谈话的力量:> 正文:不同的人有不同的兴趣。如果你能在考虑自...
    贠霞阅读 1,567评论 0 0

友情链接更多精彩内容