简单神经网络实现 01
2017-10-12 10:15
411 查看
实现一个简单的神经网络,三个输入结点,没有隐层,一个输出结点,激活函数选择sigmoid函数。
from numpy import exp, array, random, dot class NeuralNetwork(): def __init__(self): random.seed(1) self.synaptic_weights = 2 * random.random((3, 1)) - 1 def __sigmoid(self, x): return 1 / (1 + exp(-x)) def __sigmoid_dirivative(self, x): return x * (1 - x) def train(self, training_set_inputs, training_set_outputs, number_of_training_iterations): for iteration in range(number_of_training_iterations): outputs = self.predict(training_set_inputs) error = training_set_outputs - outputs adjustment = 0.1 * dot(training_set_inputs.T, error * self.__sigmoid_dirivative(outputs))#梯度下降 self.synaptic_weights += adjustment def predict(self, inputs): return self.__sigmoid(dot(inputs, self.synaptic_weights)) if __name__ == '__main__': neural_network = NeuralNetwork() print(neural_network.synaptic_weights) training_set_inputs = array([[0, 0, 1], [1, 1, 1], [1, 0, 1], [0, 1, 1]]) training_set_outputs = array([[0, 1, 1, 0]]).T neural_network.train(training_set_inputs, training_set_outputs, 1000) print(neural_network.synaptic_weights) print(neural_network.predict(array([1, 1, 1])))
相关文章推荐
- 学习笔记TF055:TensorFlow神经网络简单实现一元二次函数
- RBF神经网络的matlab简单实现
- 实现简单的神经网络
- 用JS实现简单的神经网络算法
- python实现简单神经网络算法
- 简单多层神经网络实现异或XOR
- 《TensorFlow学习笔记》 MINST数字识别问题-简单的神经网络实现
- python实现简单神经网络算法
- tensorflow入门(简单神经网络实现)
- 利用tensorflow 一步一步实现一个简单神经网络,线性回归
- 学习笔记TF055:TensorFlow神经网络简单实现一元二次函数
- 一个简单的matlab项目实现三层神经网络的简单应用
- [置顶] TensorFlow入门之简单实现神经网络的结构
- RBF神经网络的matlab简单实现
- 训练神经网络的简单例子(TensorFlow平台下Python实现)
- 神经网络简单实现和公式推导
- Python编程实现的简单神经网络算法示例
- 简单的前向传播模型实现(四层神经网络),菜鸟用于交流
- Tensorflow简单神经网络实现
- Tensorflow实战1:最简单神经网络实现