《python神经网络编程》程序实现
通过对这本书的学习,结合这本书的内容:
完成了以下代码:
其中NN.py实现了一个类,这个类可以完成神经网络的初始化,训练以及输入数据并得出结果。
而run.py则是对神经网络类的使用
NN.py:
import numpy
import scipy.special
#神经网络类的实现
class neuralNetwork:
#构造函数初始化类
def __init__(self,inputnodes,hiddennodes,outputnodes,learningrate):
#初始化输入层、隐藏层、输出层、学习率
self.inodes=inputnodes
self.hnodes=hiddennodes
self.onodes=outputnodes
self.lr=learningrate
#初始化输入层和隐藏层之间的链接权重矩阵
self.wih=(numpy.random.rand(self.hnodes,self.inodes)-0.5)
#初始化
# 隐藏层和输出层之间的链接权重矩阵
self.who=(numpy.random.rand(self.onodes,self.hnodes)-0.5)
#定义激活函数S函数-匿名函数
self.activation_function=lambda x:scipy.special.expit(x)
pass
#训练神经网络
def train(self,inputs_list,targets_list):
inputs=numpy