bp神经网络学习

来源:互联网 发布:mathtype 矩阵虚线 编辑:程序博客网 时间:2024/05/19 19:59
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] ])print(X)#每一行所对应的类,用0,1来表示       y = np.array([[0,0,1,1]]).Tprint(y)#产生随机种子np.random.seed(1)#随机生成一个三行一列的数据syn0 = 2*np.random.random((3,1)) - 1print('产生随机权重')print(syn0)for iter in range(10000):    l0 = X    #待分类的数据跟权值相乘,并且使用逻辑回归进行分类    l1 = nonlin(np.dot(l0,syn0))    #用标签来计算分类的错误程度,计算出来负值说明要减小,计算出来正值说明要增大    l1_error = y - l1    #根据错误率来计算更改的幅度    l1_delta = l1_error * nonlin(l1,True)    #设定更改的值    syn0 += np.dot(l0.T,l1_delta)print ("Output After Training:")print (l1)
0 0
原创粉丝点击