'''
用数组来实现深度学习的神经网络的计算,分为输入层,隐藏层,和输出层,参与计算的 有每个神经元的权重,以及偏置,还有
激活函数,也就是上面的 阶跃函数,sigmoid函数 relu函数
计算公式为 Y = XW + B
'''
def sigmoid_fun(x): # 激活函数
return 1 /(1 + np.exp(-x))
X1_in = np.array([0.1,0.2]) #定义2个输入神经元
X2_in = np.array([0.5,0.6,0.7]) # 定义另一个输入神经元
W_1 = np.array([[0.5,0.7,0.9],[1.1,1.3,1.5]]) #定义两个输入神经元的权重
B_1 = np.array([0.7,0.8,0.9]) # 定义一个偏置,偏置的个数和一个输入神经元的权重的个数相等
Y_1 = np.dot(X1_in,W_1) + B_1 # 得出输出层神经元
# 接下来是使用激活函数激活输出神经元
Z_1 = sigmoid_fun(Y_1)
print(Z_1)
'''
以上是 第0层到第一层的神经网络实现方式,如果要实现3层神经网络,则可以使用函数的方式来实现。
理论上 输入层和权重可以有无数个,就像大脑神经一样,四通八达
'''
def W_init_fun(): #定义一个权重和偏置的初始函数
dic_init = {} #定义一个 空的字典,用来保存 权重和偏置
dic_init['W1'] = np.array([[0.1,0.2,0.3],[0.4,0.5,0.6]])
# 定义一个2维数组作为输入层的权重,意味着输入参数至少要俩个参数
第十天,三层神经网络的代码实现以及输出层的设计
最新推荐文章于 2023-03-24 15:02:22 发布
本文详细介绍了如何在三层神经网络中设计并实现Softmax输出层,重点讲解了Softmax函数确保输出值在0到1之间且总和为1的特性,这对于概率解释和分类任务至关重要。
摘要由CSDN通过智能技术生成