资源简介
bpnn神经网络代码,是深度学习中一种比较常用的反馈神经网络模型
代码片段和文件信息
# Back-Propagation Neural Networks
#
# Written in Python. See http://www.python.org/
#
# Neil Schemenauer
import math
import random
import operator
import string
import sys
random.seed(0)
# calculate a random number where: a <= rand < b
def rand(a b):
return (b-a)*random.random() + a
# Make a matrix (we could use NumPy to speed this up)
def makeMatrix(I J fill=0.0):
m = []
for i in range(I):
m.append([fill]*J)
return m
class NN:
def __init__(self ni nh no):
# number of input hidden and output nodes
self.ni = ni + 1 # +1 for bias node
self.nh = nh
self.no = no
# activations for nodes
self.ai = [1.0]*self.ni
self.ah = [1.0]*self.nh
self.ao = [1.0]*self.no
# create weights
self.wi = makeMatrix(self.ni self.nh)
self.wo = makeMatrix(self.nh self.no)
# set them to random vaules
for i in range(self.ni):
for j in range(self.nh):
self.wi[i][j] = rand(-2.0 2.0)
for j in range(self.nh):
for k in range(self.no):
self.wo[j][k] = rand(-2.0 2.0)
# last change in weights for momentum
self.ci = makeMatrix(self.ni self.nh)
self.co = makeMatrix(self.nh self.no)
def update(self inputs):
if len(inputs) != self.ni-1:
raise ValueError ‘wrong number of inputs‘
# input activations
for i in range(self.ni-1):
#self.ai[i] = 1.0/(1.0+math.exp(-inputs[i]))
self.ai[i] = inputs[i]
# hidden activations
for j in range(self.nh):
sum = 0.0
for i in range(self.ni):
sum = sum + self.ai[i] * self.wi[i][j]
self.ah[j] = 1.0/(1.0+math.exp(-sum))
# output activations
for k in range(self.no):
sum = 0.0
for j in range(self.nh):
sum = sum + self.ah[j] * self.wo[j][k]
self.ao[k] = 1.0/(1.0+math.exp(-sum))
return self.ao[:]
def backPropagate(self targets N M):
if len(targets) != self.no:
raise ValueError ‘wrong number of target values‘
# calculate error terms for output
output_deltas = [0.0] * self.no
for k in range(self.no):
ao = self.ao[k]
output_deltas[k] = ao*(1-ao)*(targets[k]-ao)
# calculate error terms for hidden
hidden_deltas = [0.0] * self.nh
for j in range(self.nh):
sum = 0.0
for k in range(self.no):
sum = sum + output_deltas[k]*self.wo[j][k]
hidden_deltas[j] = self.ah[j]*(1-self.ah[j])*sum
# update output weights
for j in range(self.nh):
for k in range(self.no):
change = output_deltas[k]*self.ah[j]
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4797 2001-05-21 16:30 neural_net_1\bpnn.py
文件 2402 2001-05-21 13:07 neural_net_1\code2data.py
文件 41500 2001-06-07 02:13 neural_net_1\code_recog.test
文件 3593 2001-05-21 13:31 neural_net_1\code_recognizer.py
文件 142780 2001-06-07 02:12 neural_net_1\testdata.1k
文件 744810 2001-06-07 02:13 neural_net_1\testdata.200
文件 293480 2001-06-07 02:13 neural_net_1\testdata.500
目录 0 2014-10-10 16:19 neural_net_1
----------- --------- ---------- ----- ----
1233362 8
- 上一篇:电子琴汇编程序.
- 下一篇:操作系统课程设计-消费者生产者问题完整论文
相关资源
- BP多层感知器 源代码 神经网络
- 粒子群神经网络混合算法在负荷预测
- BP神经网络代码
- 基于改进粒子群神经网络的电力电子
- 吴恩达老师深度学习课程作业用到的
- 基于FPGA的神经网络的设计
- 思维进化算法应用于优化BP神经网络的
- t-s模糊神经网络程序
- 多层感知器MLP神经网络NN用于通过反向
- BP神经网路的变压器故障检测.zip
- 粒子群优化算法训练小波神经网络-
- 论文研究-基于卷积神经网络的真实图
- 基于FPGA的神经网络PID控制器设计与实
- 应用径向基神经网络求解第二类线性
- 神经网络(C语言七种方法实现
- 用R语言神经网络预测构建臭氧浓度模
- PID神经网络改进研究
- 基于BP人工神经网络的股票数据预测模
- 识别0-9十个数字,BP神经网络数字识别
- 电机振动故障检测tensorflow神经网络
- 基于神经网络的短期负荷预测研究
- 卷积神经网络的训练流程图
- BP神经网络法确定工程材料评价指标的
- efficient net 算法流程图
- 粒子群算法PSO和万有引力算法GSA结合
- 长短时记忆神经网络LSTM介绍及公式推
- 深度神经网络LSTM序列分类应用
- 灰色神经网络
- GA-BP遗传算法优化神经网络
- kalman-BP神经网络
评论
共有 条评论