简单神经网络实现 01
来源:互联网 发布:王德民 知乎 编辑:程序博客网 时间:2024/06/06 07:23
实现一个简单的神经网络,三个输入结点,没有隐层,一个输出结点,激活函数选择sigmoid函数。
from numpy import exp, array, random, dotclass 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])))
阅读全文
0 0
- 简单神经网络实现 01
- python简单实现神经网络
- 实现简单的神经网络
- 简单神经网络实现 02
- 简单神经网络实现 03
- CNN卷积神经网络简单实现
- Matlab实现简单BP神经网络
- 神经网络BP的简单实现
- BP神经网络的简单实现
- python实现简单神经网络算法
- 简单的BP神经网络实现
- BP神经网络python简单实现
- python实现简单神经网络算法
- BP神经网络python简单实现
- 手动实现简单的神经网络(唐宇迪神经网络课程笔记)
- 最简单的人工神经网络实现
- 最简单的三层神经网络Matlab实现
- BP神经网络设计的matlab简单实现
- Java数据结构与算法之数据结构-逻辑结构-线性结构(9)------Java线性结构概念及其基本操作
- git 常用指令操作总结
- 第四周项目三(2)
- 硬件基础
- Openlayer结合heatmap热力图的实现
- 简单神经网络实现 01
- Java高级篇(四三)------Java8中时间日期库
- php开发之路径引用,头文件引入
- 欢迎使用CSDN-markdown编辑器
- 51nod 1483 化学变换(暴力,预处理)
- 让我来教你如何搭建属于自己的git服务器
- CSS3中的rem,em与px间的换算关系
- freemarker笔记
- 生成图片验证码