def sigmoid(x): return 1./(1+numpy.exp(-x))
def sigmoid_derivation(x): return x*(1.-x)
X=numpy.array([[.10,.05,.95],[.09,.03,.08],[.01,.09,.91],
[.04,.92,.07],[.05,.02,.04],[.07,.97,.05],
[.06,.02,.98],[.02,.06,.03],[.01,.09,.03],
Y=numpy.array([[1,0,1,2,0,2,1,0,1,2]]).T
synapse0=numpy.random.randn(3,1)
layer0=X; layer1=sigmoid(numpy.dot(layer0,synapse0))
layer1_delta=layer1_error*sigmoid_derivation(layer1)
synapse0_derivative=numpy.dot(layer0.T,layer1_delta)/Y.shape[0]
synapse0-=synapse0_derivative
print(numpy.hstack((numpy.hstack((X,Y)),(layer1.round(3)))))
print('the 9th row wasn`t labeled rightly')
print('the neuron has corrected this mistake')
No comments:
Post a Comment