BP神经网络流程

1初始化

创建网络规模

创建网络规模列表


表示m+1层网络,第i层节点数为,输入为,输入为

创建权重列表(初始为随机数)

weight[m]=

创建阈值列表(初始为随机数)

threshold[m]=

创建更新权重列表(初始为0)

delta_weight[m]=

创建更新阈值列表(初始为0)

delta_threshold[m]=

构造Sigmod函数

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

Sigmod计算结果列表


输入为,输入为

加权和计算结果列表

2正向计算

for k in range(1,m+1):#循环m次
----#
----#

3反向计算

初始化:
E_H[m]=

H_I[m]=


for k in range(m,0,-1):
----#1.HI_{n_k,n_k}^k=\frac{\partial H_{n_k}^k}{\partial I_{n_k}^k} =\begin{bmatrix} {h_1^k(1-h_1^k)}&0&0&0\\ 0&{h_2^k(1-h_2^k)}&0&0\\ {\vdots}&{\vdots}&{\ddots}&{\vdots}\\ 0&0&0&{h_{n_k}^k(1-h_{n_k}^k)}\\ \end{bmatrix}
----#2.
----#3.
----#4.


weight[m]=weight[m]+delta_weight[m]
threshold[m]=threshold[m]+delta_threshold[m]

python实现的BP神经网络
https://github.com/dai-zb/BPNN_python.git

你可能感兴趣的:(BP神经网络流程)