多层感知器神经网络模型代码
时间: 2023-07-22 17:27:57 浏览: 113
以下是一个基本的多层感知器(MLP)神经网络模型的 Python 代码:
``` python
import numpy as np
class MLP:
def __init__(self, num_inputs=3, num_hidden=[3,5], num_outputs=2):
self.num_inputs = num_inputs
self.num_hidden = num_hidden
self.num_outputs = num_outputs
layers = [self.num_inputs] + self.num_hidden + [self.num_outputs]
# 初始化权重
self.weights = []
for i in range(len(layers)-1):
w = np.random.rand(layers[i], layers[i+1])
self.weights.append(w)
def sigmoid(self, x):
return 1 / (1 + np.exp(-x))
def forward(self, inputs):
# 前向传递
activation = inputs
for w in self.weights:
h = np.dot(activation, w)
activation = self.sigmoid(h)
return activation
# 使用示例
mlp = MLP()
inputs = np.random.rand(mlp.num_inputs)
outputs = mlp.forward(inputs)
print("输入:", inputs)
print("输出:", outputs)
```
在此示例中,我们定义了一个名为 `MLP` 的类,它接受三个参数:输入层的数量,隐藏层的数量和输出层的数量。我们使用 `self.weights` 来存储每个层之间的权重,并使用 `forward` 方法来计算给定输入的输出。在此示例中,我们仅使用了一种激活函数 `sigmoid`,在前向传递过程中使用它来计算每个层的激活。
阅读全文