资源简介
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神经网络源代码,可直接运行
- 连续hopfield神经网络解决TSP问题
- 改进的BP神经网络算法
- 基于bp神经网络的表情识别
- 神经网络仿真工具源代码
- 使用卷积神经网络在e + e-对撞机上改
- 用labview编写的一个神经网络Vi图
- 基于改进的SOM神经网络在产品配置中
- 深度学习卷积神经网络可检测和分类
- 标量场理论的回归和生成神经网络
- 基于ARIMA、BP神经网络与GM的组合模型
- 车辆自适应神经网络编队控制
- 基于RBF神经网络在线辨识的永磁同步
- 基于BP人工神经网络的SmFeN永磁材料工
- 融合粗糙集和人工神经网络的产品敏
- 基于粗糙集神经网络的数据挖掘在门
- Google OCR API源代码和神经网络识别OC
- 信息融合、神经网络-模糊推理理论及
- 基于双隐含层BP神经网络的预测
- SOM神经网络 PPT
- 小波神经网络预测模型代码
- 基于PSO优化BP神经网络的水质预测研究
- 基于神经网络的时间序列预测方法
- BP神经网络算法逼近一个正弦函数
- Hopfield神经网络解决 TSP问题
- 基于神经网络的数字水印
- 基于概率神经网络的图匹配算法研究
- 基于神经网络的身份证号码识别算法
- 机器学习方法R实现-用决策树、神经网
- 基于神经网络及Logistic回归的混合信用
评论
共有 条评论