repl.it
@TheEggoCat/

Neural Network

Python

made by: Polycode

fork
loading
Files
  • main.py
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import numpy as np

def sigmoid(x):
  return 1/(1 * np.exp(-x))

def sigmoid_derivative(x):
  return x*(1-x)

training_inputs = np.array([[0,0,1],[1,1,1],[1,0,1],[0,1,1]])

training_outputs = np.array([[0,1,1,0]]).T

np.random.seed(1)

synaptic_weights = 2 * np.random.random((3,1)) -1

print('Random starting synaptic weights: ')
print(synaptic_weights)

for iteration in range(20000):
  
  input_layer = training_inputs

  outputs = sigmoid(np.dot(input_layer, synaptic_weights))

  error = training_outputs - outputs

  adjustments = error * sigmoid_derivative(outputs)

  synaptic_weights += np.dot(input_layer.T, adjustments)

print('Synaptic weights after training: ')
print(synaptic_weights)

print('Outputs after training: ')
print(outputs)
Fetching token
?