python 代码实现多层感知机
时间: 2024-04-18 15:22:50 浏览: 121
python感知机实现代码
5星 · 资源好评率100%
以下是一个Python实现多层感知机的例子[^2]:
```python
import numpy as np
# 定义激活函数
def sigmoid(x):
return 1 / (1 + np.exp(-x))
# 定义多层感知机类
class MLP:
def __init__(self, input_size, hidden_size, output_size):
self.W1 = np.random.randn(input_size, hidden_size)
self.b1 = np.zeros(hidden_size)
self.W2 = np.random.randn(hidden_size, output_size)
self.b2 = np.zeros(output_size)
def forward(self, x):
self.hidden = sigmoid(np.dot(x, self.W1) + self.b1)
self.output = sigmoid(np.dot(self.hidden, self.W2) + self.b2)
return self.output
# 创建多层感知机对象
mlp = MLP(input_size=2, hidden_size=3, output_size=1)
# 输入数据
x = np.array([[3, 3], [4, 3], [1, 1]])
# 前向传播
output = mlp.forward(x)
print(output)
```
这段代码实现了一个具有2个输入节点,3个隐藏节点和1个输出节点的多层感知机。通过调用`forward`方法,可以进行前向传播并得到输出结果。在这个例子中,输入数据`x`是一个3x2的矩阵,表示3个样本,每个样本有2个特征。输出结果是一个3x1的矩阵,表示3个样本的预测结果。
阅读全文