BP神经网络(二)---多层神经网络
2016-07-19 08:33
281 查看
1.单层神经元网络模型
单层神经元网络:是最基本的神经元网络形式,由有限个神经元构成,所有神经元的输入向量都是同一个向量。由于每一个神经元都会产生一个标量结果,所以单层神经元的输出是一个向量,向量的维数等于神经元的数目.
对于单层神经网络来说,不含隐藏层。如图所示由三个神经元构成的单层神经网络。
单层神经网络与单个神经元相比,首先是神经元的个数增多,多个神经元以并行的方式排列。第二,单个神经元的输出为标量,而单层神经元网络的输出是一个向量,向量的维数等于神经元的个数。
针对单层神经网络的训练,可以类比于单个神经元的训练,同样采用的反向传播算法,但与单个神经元的计算方式有所不同。
误差公式:
单个神经元的误差公式:
单层神经元网络的误差定义:
利用上述误差定义的方法,每次更新权值,需要使用所有样本的数据,所使用的梯度下降法为批量梯度下降. 批量梯度下降最小化所有训练样本的误差,求得的是全局最优解,但缺点是计算量大.
于是提出了随机梯度下降的方法,随机梯度下降每次迭代只使用一个训练样本的数据,最小化每个样本的误差,得到的是局部最优解,但随着迭代次数的增多,最终结果往往倾向于全局最优解.
采用随机梯度下降的误差函数为:
对于单层神经网络的权值训练类似于单个神经元的训练方式.
对于单个特征(Xk)权值的训练,U=W*X,W,Y=f(U)表示向量。
2.多层神经网络
多层神经元网络模型(BP网络)
隐层权值的更新:
其中
最佳隐含层节点数为输入层节点数、输出层节点数之积开平方。
单层神经元网络:是最基本的神经元网络形式,由有限个神经元构成,所有神经元的输入向量都是同一个向量。由于每一个神经元都会产生一个标量结果,所以单层神经元的输出是一个向量,向量的维数等于神经元的数目.
对于单层神经网络来说,不含隐藏层。如图所示由三个神经元构成的单层神经网络。
单层神经网络与单个神经元相比,首先是神经元的个数增多,多个神经元以并行的方式排列。第二,单个神经元的输出为标量,而单层神经元网络的输出是一个向量,向量的维数等于神经元的个数。
针对单层神经网络的训练,可以类比于单个神经元的训练,同样采用的反向传播算法,但与单个神经元的计算方式有所不同。
误差公式:
单个神经元的误差公式:
单层神经元网络的误差定义:
利用上述误差定义的方法,每次更新权值,需要使用所有样本的数据,所使用的梯度下降法为批量梯度下降. 批量梯度下降最小化所有训练样本的误差,求得的是全局最优解,但缺点是计算量大.
于是提出了随机梯度下降的方法,随机梯度下降每次迭代只使用一个训练样本的数据,最小化每个样本的误差,得到的是局部最优解,但随着迭代次数的增多,最终结果往往倾向于全局最优解.
采用随机梯度下降的误差函数为:
对于单层神经网络的权值训练类似于单个神经元的训练方式.
对于单个特征(Xk)权值的训练,U=W*X,W,Y=f(U)表示向量。
2.多层神经网络
多层神经元网络模型(BP网络)
隐层权值的更新:
其中
最佳隐含层节点数为输入层节点数、输出层节点数之积开平方。
相关文章推荐
- 网络直播流媒体协议的选择讨论,RTSP,RTMP,HTTP,私有协议?
- AFNetWorking(3.0)源码分析(二)——AFURLSessionManager
- http指令以及https的练习
- 启用TCP高性能数据传输
- 在android中使用Retrofit网络框架
- apache2.4出现(OS 64)指定的网络名不再可用。 : AH00341: winnt_accept: Asynchronous AcceptEx failed.问题
- Swift使用AFNetwroking访问网络数据
- 测试python HTTPServer功能
- https建立通讯过程及运行机制
- Win10 + VMware-CentOS7文件共享、网络连接
- libvirt网络过滤规则简单总结
- libvirt网络过滤规则:禁止客户机(bridge方式)连接外网
- java网络编程
- 配置KVM虚拟机的网络,Bridge和Nat方式
- httpoxy漏洞的一些整理
- 网络协程编程
- 深度学习实战——caffe windows 下训练自己的网络模型
- 网络CCNA基础了解
- LAMP 搭建和压力测试
- 关于ELM