给我一个人工神经网络的python代码
时间: 2024-05-12 12:19:24 浏览: 90
以下是一个简单的基于Python的人工神经网络代码:
```python
import numpy as np
# 激活函数
def sigmoid(x):
return 1/(1+np.exp(-x))
# 输入层
inputs = np.array([[0, 1, 0],
[0, 0, 1],
[1, 1, 1],
[1, 0, 1]])
# 输出层
outputs = np.array([[0, 0, 1, 1]]).T
# 随机权重矩阵
weights = 2 * np.random.random((3, 1)) - 1
# 训练
for i in range(10000):
inputs_layer = inputs
output_layer = sigmoid(np.dot(inputs_layer, weights))
error = outputs - output_layer
adjustments = error * sigmoid(output_layer, True)
weights += np.dot(inputs_layer.T, adjustments)
# 打印结果
print("Weights after training:")
print(weights)
print("Output after training:")
print(output_layer)
```
这个代码实现了一个简单的3个输入1个输出的人工神经网络。它使用sigmoid激活函数和随机权重矩阵进行训练。在训练循环中,它使用反向传播算法来计算权重矩阵的调整量,以最小化输出误差。最终,它打印出训练后的权重矩阵和输出。
阅读全文