用神经网络实现异或运算 Posted on 2019-05-14 | Post modified: 2019-10-16 | In ML Words count in article: 144 | Reading time ≈ 1 1234567891011121314151617181920212223242526272829303132import numpy as npclass Logistic(): def __init__(self): pass def sigmoid(self, z): '''激活函数''' return 1 / (1 + np.exp(-z)) def logistic(self, X, theta): '''一层神经网络进行简单的逻辑运算''' h = self.sigmoid(X*theta.T) for i in range(int(h.shape[1])): h[0, i] = 1 if h[0, i] >= 0.5 else 0 return hX = np.matrix(np.array([1, 0, 1]))theta1 = np.matrix([[-30, 20, 20], [10, -20, -20]]) #第一层网络的权重theta2 = np.matrix([-10, 20, -20]) #第二层网络的权重log = Logistic() #实例化a1 = log.logistic(X, theta1) #第一层a1 = np.c_[1, a1] #添加偏置单元a2 = log.logistic(a1, theta2) #第二层print(a2) ------ 本文结束 ------