神经网络算法python程序
时间: 2023-09-24 22:05:48 浏览: 79
以下是一个简单的神经网络算法的 Python 程序示例:
```
# 导入所需的库
import numpy as np
# 定义 sigmoid 函数
def sigmoid(x):
return 1 / (1 + np.exp(-x))
# 定义神经网络类
class NeuralNetwork:
def __init__(self, num_inputs, num_hidden, num_output):
# 初始化权重
self.weights_hidden = np.random.normal(scale=1 / num_inputs**0.5, size=(num_inputs, num_hidden))
self.weights_output = np.random.normal(scale=1 / num_hidden**0.5, size=(num_hidden, num_output))
def forward(self, inputs):
# 计算隐藏层输入
hidden_inputs = np.dot(inputs, self.weights_hidden)
# 计算隐藏层输出
hidden_outputs = sigmoid(hidden_inputs)
# 计算输出层输入
output_inputs = np.dot(hidden_outputs, self.weights_output)
# 计算输出层输出
output_outputs = sigmoid(output_inputs)
return output_outputs
# 创建神经网络实例
nn = NeuralNetwork(2, 3, 1)
# 定义输入
inputs = np.array([0.5, -0.2])
# 进行前向传播
output = nn.forward(inputs)
# 输出结果
print(output)
```
这个程序实现了一个简单的神经网络,并使用 sigmoid 函数作为激活函数。在程序中,我们首先定义了 sigmoid 函数,然后定义了一个神经网络类,它包含一个初始化函数和一个前向传播函数。在初始化函数中,我们随机初始化了神经网络的权重。在前向传播函数中,我们计算了隐藏层和输出层的输入和输出,并最终返回输出层的输出。在代码末尾,我们创建了一个神经网络实例,并对其进行了前向传播,输出了结果。
阅读全文