当前位置:   article > 正文

python bp神经网络代码实现预测,用Python实现BP神经网络(附代码)

bp神经网络python代码分类预测问题

用Python实现出来的机器学习算法都是什么样子呢? 前两期线性回归及逻辑回归项目已发布(见文末链接),今天来讲讲BP神经网络。

BP神经网络

全部代码

https://github.com/lawlite19/MachineLearning_Python/blob/master/NeuralNetwok/NeuralNetwork.py

神经网络model

先介绍个三层的神经网络,如下图所示

输入层(input layer)有三个units(

adb64ef01a4aaea9a265e7973178c4b7.png

为补上的bias,通常设为1)

8735589089a6fa795b0dae48aff8031a.png

表示第j层的第i个激励,也称为为单元unit

ee17e2711e9150b7341ebfb52f5490dd.png

为第j层到第j+1层映射的权重矩阵,就是每条边的权重

25150d2c2d265bda67a309f4d131407c.png

所以可以得到:

隐含层:

5e66c248fcc126952e2bddef5a98a658.png

f5a5a99878adc37162af89f6ffff3582.png

b6419fea71e58d569121b1a821b7fa96.png

输出层

72102a2a7282ec49fd51e7407e40f024.png

其中,S型函数

88e4fb88acb963899e7b33e8550f5d1f.png

,也成为激励函数

可以看出

68b01e070903f559b9ed847e1f50a76f.png

为3x4的矩阵,

5975cf091c125fd7dcaa40c6625b9c05.png

为1x4的矩阵

ee17e2711e9150b7341ebfb52f5490dd.png

==》j+1的单元数x(j层的单元数+1)

代价函数

假设最后输出的

82477b7fb165d742759a4f05c0e1ceed.png

,即代表输出层有K个单元

b1a6676407d8d3c11bedf41eddc9ff00.png

其中,

2b2e4e2d82cee04097d65d1a0bd941ac.png

代表第i个单元输出与逻辑回归的代价函数

6d0341bc93796a83744d7aabb16f44a7.png

差不多,就是累加上每个输出(共有K个输出)

正则化

L-->所有层的个数<

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/358938
推荐阅读
相关标签
  

闽ICP备14008679号