适用场景:
BP神经网络在函数逼近、模式识别、数据压缩等领域有着更为广泛的应用,目前实际应用的90%的神经网络系统都是基于BP算法。
算法思想:
BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。
正向传播时,输入样本从输入层传人,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。
误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。
这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可接受的程度,或进行到预先设定的学习次数为止。
BP算法具体有这么几个步骤:
案例1:
在超市买了2个100日元/个的苹果,消费税10%,计算支付金额的过程则可以表示成下图:
这里"自左向右进行计算"叫做正向传播,从计算图的出发点到结束点的传播,如果从图中自右向左看的方式叫做"反向传播",反向传播可以用于导数计算。
计算图的反向传播,假设存在函数y = f(x),将这个局部导数乘以上游传过来的值(E),然后传给前面的节点。
举一个具体的例子,如果某次计算图一个加法节点的正向传播如左,从上游两个节点分别传来10和15正向传播传递15给下 游;反向传播如右,上游传来1.3,则改节点将1.3和1.3传给下游2个节点
乘法节点的反向传播,这里考虑z=xy,导数如下
案例2:
根据国内男子跳高运动员各项素质指标,预测序号跳高成绩。将前14组国内男子跳高运动员各项素质指标作为输入,即(30m行进跑,立定三级跳远,助跑摸高,助跑4-6步跳高,负重深蹲杠铃,杠铃半蹲系数,100m,抓举),将对应的跳高成绩作为输出。
设计网络结构如下图所示:
补充说明:
多层前向BP网络的优点:
多层前向BP网络的问题:
关于优必杰教育 | 擎课堂 | AI教学平台 | 嘉定集散地 | 余杭集散地 | 常用工具
©2017-2020 上海优必杰教育科技有限公司 · 沪ICP备17047230号-3