涉及的公式较多,直接以图片形式展示,不足之处请指教。

1、推导过程

1.1 前向传播

1.2 误差反向调参

2、代码实现

可以得到各层之间的权重。(PS:代码有许多可以完善的地方,此处仅为一种实现的思路)

# -*- coding: utf-8 -*-
import numpy as np
import random

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

def dsigmoid(y):   # sigmoid函数的导数
   return np.exp(y)/(1+np.exp(y))/(1+np.exp(y))

d = 0.5 # 期望输出值
Z_1 = 0.35 # 表示节点1的输入
Z_2 = 0.9 # 表示节点2的输入
Y_1 = sigmoid(Z_1) # 表示节点1的输出
Y_2 = sigmoid(Z_2) # 表示节点2的输出

def Bp_self(W_13 = 0.1,W_14 = 0.4,W_23 = 0.8,W_24 = 0.6,W_35 = 0.3,W_45 = 0.9):
   Z_3 = Y_1 * W_13 + Y_2 * W_23
   Z_4 = Y_1 * W_14 + Y_2 * W_24
   Y_3 = sigmoid(Z_3)
   Y_4 = sigmoid(Z_4)
   Z_5 = Y_3 * W_35 + Y_4*W_45
   Y_5 = sigmoid(Z_5)
   C = 0.5 * (Y_5-d)*(Y_5-d)
   print ('误差为:',C)
   '''反向调节权值参数'''
   t = 0
   while (C > 0.00001):
      W_35 = W_35 - (Y_5 - 0.5) * np.exp(Z_5)*Y_3/(1+np.exp(Z_5))/(1+np.exp(Z_5))
      W_45 = W_45 - (Y_5 - 0.5) * np.exp(Z_5)*Y_4/(1+np.exp(Z_5))/(1+np.exp(Z_5))
      W_13 = W_13 - (Y_5 - 0.5) * np.exp(Z_5)*W_35*np.exp(Z_3)*Y_1/(np.exp(Z_5)+1)/(np.exp(Z_5)+1)/(np.exp(Z_3)+1)/(np.exp(Z_3)+1)
      W_14 = W_14 - (Y_5 - 0.5) * np.exp(Z_5)*W_45*np.exp(Z_4)*Y_1/(np.exp(Z_5)+1)/(np.exp(Z_5)+1)/(np.exp(Z_4)+1)/(np.exp(Z_4)+1)
      W_23 = W_23 - (Y_5 - 0.5) * np.exp(Z_5)*W_35*np.exp(Z_3)*Y_2/(np.exp(Z_5)+1)/(np.exp(Z_5)+1)/(np.exp(Z_3)+1)/(np.exp(Z_3)+1)
      W_24 = W_24 - (Y_5 - 0.5) * np.exp(Z_5)*W_45*np.exp(Z_4)*Y_2/(np.exp(Z_5)+1)/(np.exp(Z_5)+1)/(np.exp(Z_4)+1)/(np.exp(Z_4)+1)

      Z_3 = Y_1 * W_13 + Y_2 * W_23
      Z_4 = Y_1 * W_14 + Y_2 * W_24
      Y_3 = sigmoid(Z_3)
      Y_4 = sigmoid(Z_4)
      Z_5 = Y_3 * W_35 + Y_4 * W_45
      Y_5 = sigmoid(Z_5)
      C = 0.5 * (Y_5 - d) * (Y_5 - d)
      t = t +1
      print ('实际输出:',Y_5,' 误差为:', C,'循环执行第:',t,'次')
print (Bp_self(random.uniform(0,1),random.uniform(0,1),random.uniform(0,1),random.uniform(0,1),random.uniform(0,1),random.uniform(0,1)))

 

 

更多相关推荐

python包实现bp神经网络_基于pyt...

BP神经网络是最简单的神经网络模型了,三层能够模拟非线性函数效果。难点:如何确定初始化参数...

继续阅读

BP神经网络——Python 实现

关于BP算法的原理和推导过程网上有很多博客已经写的十分清楚了,这里不再赘述,下面使用python...

继续阅读

bp神经网络预测案例python_详细B...

1.具体应用实例。根据表2,预测序号15的跳高成绩。表2 国内男子跳高运动员各项素质指标序号跳...

继续阅读

BP神经网络从推导到实现

目录一.ANN的基本要素 二.BP神经网络原理及流程1.原理2.流程1、网络的初始化2、隐含层的输出3...

继续阅读

BP神经网络的实现

一BP神经网络的基本结构在神经网络中,输入层由数据集的某个向量x和一个偏置b构成,该向量需要...

继续阅读

bp神经网络matlab代码_4层bp神经...

模型结构:4层bp模型如下代码:运行结果如下:推导一共4层:x,h,m,y模型公式为:(@表示矩阵乘...

继续阅读

BP神经网络python代码实现

首先直接上代码,后面有时间再把代码里面的详解写出来,接下来利用MINIST的数字手写图片数据进...

继续阅读

python包实现bp神经网络_BP神经...

人工神经网络是一种经典的机器学习模型,随着深度学习的发展神经网络模型日益完善.联想大家熟...

继续阅读

bp神经网络python源代码_神经网...

importnumpyasnp#定义tanh函数deftanh(x):returnnp.tanh(x)#tanh函数的导数deftan_deriv(x):re...

继续阅读

bp神经网络算法原理python_神经...

本文实例为大家分享了Python实现神经网络算法及应用的具体代码,供大家参考,具体内容如下首先...

继续阅读