import numpy as np
#定义激活函数
def sigmoid(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],
[0,0,1]
]
)
print(x.shape)
#定义标签数据集
y=np.array([
[0],
[1],
[1],
[0],
[0]
]
)
print(y.shape)
#创建一个永久的随机种子来初始化l0,l1层权重
np.random.seed(1)
#初始化权重值w0并归一化到-1到1之间(配合sigmoid激活函数),4行3列权重矩阵因为3个输入值x1,x2,x3,4列因为模型有4个神经元输出4个特征值
w0=2*np.random.random((3,4))-1
#初始化权重值w1并归一化到-1到1之间(配合sigmoid激活函数),1行4列权重矩阵因为4个输入值x1,x2,x3,x4,1列因为输出一个分类值
w1=2*np.random.random((4,1))-1
print(w0)
print(w1)
#搭建一个简单的神经网络
for j in range(60000):
#l0:模型数据输入
l0=x
#计算输入l0和权重矩阵w0的矩阵乘积
l1=sigmoid(np.dot(l0,w0))
#计算上一层输出的l1作为下一层即本层l1的输入和本层权重矩阵w1的矩阵乘积
l2=sigmoid
搭建一个最简单的神经网络实现二分类
最新推荐文章于 2023-01-07 18:01:18 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)