请用单层感知器实现“或”运算。
时间: 2023-11-19 11:06:58 浏览: 25
好的,单层感知器实现“或”运算的代码如下:
```python
import numpy as np
# 定义激活函数
def activation(x):
if x >= 0:
return 1
else:
return 0
# 定义“或”运算的输入和输出
X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
y = np.array([0, 1, 1, 1])
# 初始化权重和偏置
w = np.array([0.0, 0.0])
b = 0.0
# 设置学习率和迭代次数
lr = 0.1
epochs = 10
# 训练模型
for epoch in range(epochs):
for i in range(4):
# 计算模型输出
y_hat = activation(np.dot(X[i], w) + b)
# 更新权重和偏置
w += lr * (y[i] - y_hat) * X[i]
b += lr * (y[i] - y_hat)
# 打印每次迭代后的权重和偏置
print(f"epoch {epoch + 1}: w = {w}, b = {b}")
# 测试模型
print("测试模型:")
for i in range(4):
y_hat = activation(np.dot(X[i], w) + b)
print(f"输入:{X[i]},输出:{y_hat}")
```
如果您有任何问题,可以随时问我哦。