学习bp神经网络 详细教程http://blog.youkuaiyun.com/accumulate_zhang/article/details/53265766
两层神经网络
import numpy as np
# sigmoid function
def nonlin(x,deriv=False):
if(deriv==True):
return x*(1-x)
return 1/(1+np.exp(-x))
# input dataset
X=np.array([[0,0,1],
[0,1,1],
[1,0,1],
[1,1,1]])
# output dataset
y=np.array([[0,1,1,0]]).T
# seed random numbers to make calculation deterministic (just a good practice)
np.random.seed(1)
# initialize weights randomly with mean 0
syn0=2*np.rand