机器学习----神经网络(二)BP算法
2017-03-25 10:55
162 查看
神经网络学习算法误差逆传播(error BackPropagation,简称BP)
输入层和隐层之间的连接权重为v1h,v2h,...vdh,所以输出层yj的输入为αh=∑di=1vidxi
输出层和隐层之间的连接权重为w1j,w2j,...wqj,所以输出层yj的输入为βj=∑qh=1whjbh
假定隐层和输出层都使用Sigmod函数,输出神经元的阈值为θj
神经网络的输出为:
yj=f(βj−θj)
在网络上的均方误差:
E=12∑j=1l(y^j−yj)
BP算法基于梯度下降法策略,以目标的负梯度方向对参数进行调整。对于误差E,给定学习率η,有
Δwhj=−η∂Ek∂whj
链式法则,有:
∂E∂whj=∂E∂yj⋅∂yj∂βj⋅∂βj∂whj
根据βj的定义,有
∂βj∂whj=bh
根据Sigmod函数性质f′=f(1−f)
有
−∂E∂yj⋅∂yj∂βj=−yj−y^j)f′(βj−θj)=yj(1−yj)(y^j−yj)=gj
得
Δwhj=ηgjbh
其他参数类似
参考:《数学之美》
输入层和隐层之间的连接权重为v1h,v2h,...vdh,所以输出层yj的输入为αh=∑di=1vidxi
输出层和隐层之间的连接权重为w1j,w2j,...wqj,所以输出层yj的输入为βj=∑qh=1whjbh
假定隐层和输出层都使用Sigmod函数,输出神经元的阈值为θj
神经网络的输出为:
yj=f(βj−θj)
在网络上的均方误差:
E=12∑j=1l(y^j−yj)
BP算法基于梯度下降法策略,以目标的负梯度方向对参数进行调整。对于误差E,给定学习率η,有
Δwhj=−η∂Ek∂whj
链式法则,有:
∂E∂whj=∂E∂yj⋅∂yj∂βj⋅∂βj∂whj
根据βj的定义,有
∂βj∂whj=bh
根据Sigmod函数性质f′=f(1−f)
有
−∂E∂yj⋅∂yj∂βj=−yj−y^j)f′(βj−θj)=yj(1−yj)(y^j−yj)=gj
得
Δwhj=ηgjbh
其他参数类似
参考:《数学之美》
相关文章推荐
- 机器学习笔记(XVII)神经网络(IV)BP算法和BP神经网络的一些问题
- stanford coursera 机器学习编程作业 exercise4--使用BP算法训练神经网络以识别阿拉伯数字(0-9)
- Ng机器学习系列补充:7、神经网络反向传播BP算法(Back Propagation)
- 机器学习之深入理解神经网络理论基础、BP算法及其Python实现
- 机器学习总结(七):基本神经网络、BP算法、常用激活函数对比
- 机器学习10-神经网络反向传播算法
- Andrew NG机器学习课程笔记系列之——机器学习之神经网络模型-上(Neural Networks: Representation)
- 神经网络与机器学习笔记——K-均值聚类
- Python实现神经网络Part 1: 实现forward和BP算法的神经元
- 机器学习中使用的神经网络第九讲笔记
- 机器学习笔记(XVI)神经网络(III)误差逆传播(BP)算法
- 机器学习笔记-第四章 神经网络
- Machine Learning第五讲[神经网络: 学习] --(一)代价函数和BP算法
- 笔记: 斯坦福大学机器学习第九课“神经网络的学习(Neural Networks: Learning)”
- (转)机器学习系列直播--使用对抗神经网络(GANs)生成猫
- 机器学习笔记-神经网络中激活函数(activation function)对比--Sigmoid、ReLu,tanh
- 机器学习之神经网络
- 神经网络基础 - Python编程实现标准BP算法
- 机器学习中使用的神经网络第十讲笔记
- 机器学习常用算法二:神经网络