建设企业网站用动态还是静态,为公司建设网络强国,做餐饮类网站用哪个程序,制作网站的难度概念
深层神经网络中的前向传播是指从输入数据开始#xff0c;逐层计算每个神经元的输出值#xff0c;直到得到最终的预测值。
一般步骤
1输入数据传递#xff1a; 将输入数据传递给网络的输入层。输入数据通常是一个特征矩阵#xff0c;每一列代表一个样本#xff0c;…概念
深层神经网络中的前向传播是指从输入数据开始逐层计算每个神经元的输出值直到得到最终的预测值。
一般步骤
1输入数据传递 将输入数据传递给网络的输入层。输入数据通常是一个特征矩阵每一列代表一个样本每一行代表一个特征。
2加权求和和激活函数 对于每个隐藏层进行以下步骤
3计算加权输入即将输入数据与权重矩阵相乘并加上偏置向量。 将加权输入传递给激活函数得到该隐藏层的激活值输出。常用的激活函数包括Sigmoid、ReLU、Tanh等。 4传递至下一层 将当前隐藏层的输出作为下一隐藏层的输入重复步骤 2直到到达输出层。输出层的输出即为网络的预测值。
5返回预测值和缓存 返回预测值输出层的输出以及在计算过程中保存的缓存各层的加权输入和激活值这些缓存在反向传播中会用到。
代码实现
import numpy as np# Sigmoid 激活函数
def sigmoid(x):return 1 / (1 np.exp(-x))# 初始化参数
def initialize_parameters(layer_dims):parameters {}L len(layer_dims) # 网络层数for l in range(1, L):parameters[W str(l)] np.random.randn(layer_dims[l], layer_dims[l - 1]) * 0.01parameters[b str(l)] np.zeros((layer_dims[l], 1))return parameters# 前向传播
def forward_propagation(X, parameters):caches []A XL len(parameters) // 2 # 网络层数for l in range(1, L):Z np.dot(parameters[W str(l)], A) parameters[b str(l)]A sigmoid(Z)caches.append((Z, A))Z np.dot(parameters[W str(L)], A) parameters[b str(L)]AL sigmoid(Z)caches.append((Z, AL))return AL, caches# 示例数据
X np.random.randn(3, 10) # 3个特征10个样本
layer_dims [3, 4, 5, 1] # 输入层维度、各隐藏层维度、输出层维度
parameters initialize_parameters(layer_dims)# 前向传播
AL, caches forward_propagation(X, parameters)# 打印预测值
print(预测值:, AL)