import numpy as np def nonlin(x,deriv = False): if deriv == True: return x*(1-x) return 1/(1+np.exp(-x)) X = np.array([[0, 0, 1], [0, 1, 1], [1, 0, 1], [1, 1, 1]]) y = np.array([[0, 1, 1, 1]]).T w0 = 2*np.random.random((3, 4))-1 w1 = 2*np.random.random((4, 1))-1 for iter in xrange(100000): l0 = X l1 = nonlin(np.dot(l0, w0)) l2 = nonlin(np.dot(l1, w1)) l2_error = y - l2 l2_grad = l2_error*nonlin(l2, deriv=True) l1_error = l2_grad.dot(w1.T) l1_grad = l1_error*nonlin(l1, deriv=True) w1 += l1.T.dot(l2_grad) w0 += l0.T.dot(l1_grad) print 'result' print l2
我的第一个双隐层神经代码
最新推荐文章于 2025-05-31 10:23:56 发布