BP神经网络总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BP算法的学习过程由正向传播和反向传播组成。在正向传播过程中,输入信息从输入层经隐层逐层处理,并传向输出层,每层神经元(节点)的状态只影响下一层神经元的状态。如果输出层得到了期望的输出,则学习算法结束;如果在输出层不能得到期望的输出,则转至反向传播,将误差信号(理想输出与实际输出之差)按联接通路反向计算,由梯度下降法调整各层神经元的权值,使误差信号减小。
BP(Back Propagation)算法(又称为误差反向传播算法),它是一个迭代算法,其的基本思想为:
第一层是输入层,包含两个神经元i1,i2,和截距项b1;第二层是隐含层,包含两个神经元h1,h2和截距项b2,第三层是输出o1,o2,每条线上标的wi是层与层之间连接的权重,激活函数我们默认为sigmoid函数。
其中,输入数据 i1=0.05,i2=0.10;
输出数据o1=0.01,o2=0.99;
初始权重 w1=0.15,w2=0.20,w3=0.25,w4=0.30;
w5=0.40,w6=0.45,w7=0.50,w8=0.88
目标:给出输入数据i1,i2(0.05和0.10),使输出尽可能与原始输出o1,o2(0.01和0.99)接近。
1、前向传播:将训练集数据输入到神经网络的输入层,经过隐藏层,最后达到输出层并输
出结果。
输入层到隐含层:
神经元h1的输入加权和
神经元h1的输出
隐含层到输出层:
输出神经元o1和o2的值:
2、反向传播:由于神经网络的输出结果与期望结果有误差,则计算期望输出值与实际输出
值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层;同时在反向传播的过程中,根据误差调整各种参数的值(相连神经元的权重),使得总损失函数减小。
计算损失函数:
分别计算o1和o2的损失值,总误差为两者之和:
隐含层到输出层的权值更新:
以权值参数w5为例,如果我们想知道w5对整体损失产生了多少影响,可以用整体损失对w5求偏导:
最后更新w5的值:
隐藏层到输入层的权值更新:
最后更新w1的权值:
迭代上述三个步骤(即对数据进行反复训练),直到满足停止准则。