双层网络代码
时间: 2023-08-06 12:19:33 浏览: 77
以下是一个双层神经网络的 Python 代码示例:
```python
import numpy as np
# 定义第一层神经元的数量和输入数据的维度
input_size = 3
hidden_size = 4
# 随机初始化第一层的权重
w1 = np.random.randn(hidden_size, input_size)
# 定义第二层神经元的数量和第一层神经元的数量
output_size = 2
# 随机初始化第二层的权重
w2 = np.random.randn(output_size, hidden_size)
# 定义激活函数
def sigmoid(x):
return 1 / (1 + np.exp(-x))
# 定义前向传播函数
def forward(x, w1, w2):
# 计算第一层的输出
hidden = sigmoid(np.dot(w1, x))
# 计算第二层的输出
output = sigmoid(np.dot(w2, hidden))
# 返回输出结果和第一层的输出
return output, hidden
# 定义输入数据
x = np.array([0.5, 0.2, 0.1])
# 进行前向传播
output, hidden = forward(x, w1, w2)
# 输出结果
print("Input: ", x)
print("Output: ", output)
```
在这个代码示例中,我们实现了一个包含两层的神经网络。第一层包含 4 个神经元,第二层包含 2 个神经元。我们使用随机初始化的权重进行前向传播,并使用 sigmoid 激活函数作为神经元之间的转换函数。对于给定的输入数据,我们可以通过调用 forward 函数来计算网络的输出。
阅读全文