BP神经网络原理

BP神经网络全名反向传播网络 Back PropagationNeural Network

以下是我的学习总结,如有错误,还望指正

一、前向传播

BP网络结构如下,这个结构较为简单用来理解比较方便

  

 其中 x1 x2为输入层两个样本输入, z1 z2为隐含层节点,y为神经网络输出值,w1 w2 w3 w4 w5 w6为六项权重,b1 b2 b3是偏置项图中结构未画出将其理解为一个常数即可(用来使激活函数可以左右移动),σ是激活函数,这里使用的最常见的激活函数sigmoid激活函数,激活函数用来拟合非线性,公式如图

这样我们就可以得到z1 z2 y的值了

偏置项的作用参考https://blog.csdn.net/mmww1994/article/details/81705991?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-81705991-blog-81074408.pc_relevant_recovery_v2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-81705991-blog-81074408.pc_relevant_recovery_v2&utm_relevant_index=6icon-default.png?t=M85Bhttps://blog.csdn.net/mmww1994/article/details/81705991?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-81705991-blog-81074408.pc_relevant_recovery_v2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-81705991-blog-81074408.pc_relevant_recovery_v2&utm_relevant_index=6

 激活函数的作用参考https://blog.csdn.net/zhaoluruoyan89/article/details/78351970icon-default.png?t=M85Bhttps://blog.csdn.net/zhaoluruoyan89/article/details/78351970

更多激活函数参考 https://blog.csdn.net/great_yzl/article/details/120666026icon-default.png?t=M85Bhttps://blog.csdn.net/great_yzl/article/details/120666026

 

二、损失函数 

损失函数/代价函数(loss)

损失函数的值越小,说明模型的预测值越接近真实值

最常见的损失函数是均方差损失函数(二次损失函数):  

 

 其中δ是均方差,N是样本数,T是真实值,y是我们前文神经网络输出值,用平方是因为误差有正有负,平方后就都变成正了,1/2是为了后面求导时简单还可以降低梯度爆炸的可能性,i是第i个数据

算出y后我们往往发现它与真实值T存在一定差距,因此计算其损失,为下面更新权重做准备

损失函数参考

https://blog.csdn.net/great_yzl/article/details/120666026icon-default.png?t=M85Bhttps://blog.csdn.net/great_yzl/article/details/120666026

 

三、更新权重 

以下我们以w5为例,其他权重更新过程都如下图

 

 更新权重我们使用梯度下降法,公式如图

其中α是学习率可以自由设置,w5为原始权重。w5'为更新后的权重,具体计算过程如图

学习率(Learning rate),也称为步长,学习率越大,输出误差对参数的影响就越大,参数更新的就越快,但同时受到异常数据的影响也就越大,很容易发散。

至此,我们就得到了一批新的权重w1 w2 w3 w4 w5 w6

梯度下降参考https://blog.csdn.net/wyf2017/article/details/109278430?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166701463316782417083201%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166701463316782417083201&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-2-109278430-null-null.142^v62^pc_search_tree,201^v3^add_ask,213^v1^t3_esquery_v3&utm_term=%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D&spm=1018.2226.3001.4187icon-default.png?t=M85Bhttps://blog.csdn.net/wyf2017/article/details/109278430?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166701463316782417083201%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166701463316782417083201&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-2-109278430-null-null.142^v62^pc_search_tree,201^v3^add_ask,213^v1^t3_esquery_v3&utm_term=%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D&spm=1018.2226.3001.4187

 学习率参考https://blog.csdn.net/jinxiaonian11/article/details/83105439icon-default.png?t=M85Bhttps://blog.csdn.net/jinxiaonian11/article/details/83105439

四、更新偏置值 

参考

https://blog.csdn.net/a493823882/article/details/78683445icon-default.png?t=M85Bhttps://blog.csdn.net/a493823882/article/details/78683445 

 

 

至此,我们就可以得到新的参数,再通过神经网络向前传播得到新的输出y,不断循环直至算法收敛

其他参考https://www.bilibili.com/video/BV1QV4y1E7eA/?spm_id_from=333.880.my_history.page.clickicon-default.png?t=M85Bhttps://www.bilibili.com/video/BV1QV4y1E7eA/?spm_id_from=333.880.my_history.page.clickhttps://blog.csdn.net/weixin_42080490/article/details/108867609?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-108867609-blog-104735507.pc_relevant_3mothn_strategy_and_data_recovery&spm=1001.2101.3001.4242.1&utm_relevant_index=3icon-default.png?t=M85Bhttps://blog.csdn.net/weixin_42080490/article/details/108867609?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-108867609-blog-104735507.pc_relevant_3mothn_strategy_and_data_recovery&spm=1001.2101.3001.4242.1&utm_relevant_index=3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值