BP神经网络概述
来源:互联网 发布:sql中update的用法 编辑:程序博客网 时间:2024/06/10 15:21
BP神经网络是一种多层前馈神经网络,该网络的主要特点是信号的向前传递,误差反向传播。在前向传递中,输入信号从输入层经隐含层逐层处理,直至输出层。每一层的神经网络状态只影响下一层的神经元的状态。如果输出层得不到想要的输出,则转入反向传播,根据预测误差调整网络的权值和阀值,从而使BP神经网络预测输出不断的逼近期望输出。BP神经网络的拓扑结构如图:
!
图中,n
,输出接点为m
时,BP神经网络就表达了从n
个自变量到m
个自变量的函数映射关系。
BP神经网络预测首先要训练网络,通过训练使网络具有联想记忆和预测能力。BP神经网络的训练过程包括如下的步骤:
- 网络初始化。根据系统输入输出序列
(X,Y) 确定网络输入层节点数n ,隐含层节点数l ,输出层节点数m ,初始化输入层,隐含层和输出层神经元之间的连接权值ωij ,ωjk ,初始化隐含层阈值a,输出层阈值b,给定学习速率和神经元激励函数。 - 隐含层输出计算。 根据输入向量
X ,输入层和隐含层间的连接权值ωij 以及隐含层阈值a,计算隐含层输出H 。Hj=f(∑i=1nωijxi−aj)j=1,2,...l
式中,l 为隐含层节点数;f 为隐含层激励函数,该函数有多种表达形式,比如:f(x)=11+e−x - 输出层输出计算。根据隐含层输出
H ,连接权值ωjk 和阈值b ,计算BP神经网络预测输出O 。Ok=∑j=1lHjωij−bkk=1,2,...,m - 误差计算。根据网络预测输出
O 和期望输出Y ,计算网络预测树杈e。ek=Yk−Okk=1,2,...,m - 权值更新。根据网络预测误差
e 更新网络连接权值wij ,wjk 。wij=wij+ηHj(1−Hj)x(i)∑k=1mωjkeki=1,2,...,n;j=1,2,...,l; 式中ωjk=ωjk+ηHjekj=1,2,...,l;k=1,2,...,m; η 为学习速率。 - 阈值更新。根据网络预测误差
e 更新网络节点的阈值a,b 。aj=aj+ηHj(1−Hj)∑k=1mωjkekj=1,2,...,l bk=bk+ekk=1,2,...m - 迭代。判断算法迭代是否结束,若没有结束,返回步骤2.
0 0
- BP神经网络概述
- BP神经网络
- BP神经网络
- BP 神经网络
- bp神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- bp神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- Gson解析,多个接口有多个不同的名字
- 混合编译:c++文件调用c文件变量和函数、c文件调用c++文件变量和函数
- 数据结构-Java实现栈
- Ubuntu 14.04 安装配置强大的星际译王(stardict)词典
- PL/SQL 基础---数据交互
- BP神经网络概述
- PL/SQL 基础---触发器
- 汉诺塔游戏
- 2D游戏 NGUI 不同Atlas 同Panel下 ,根据图片的x值 UISprite 前后深度算法
- IT运维存在问题及改进
- 论文笔记之Deep Convolutional Networks on Graph-Structured Data
- 浅析为什么要使用ST的固件库,谈谈我个人的工具思维!!!
- UVa 136 Ugly Number
- sass笔记-2|Sass基础语法之让样式表更具条理性和可读性