神经网络算法简单例子代码
时间: 2024-08-14 15:00:45 浏览: 47
matlab神经网络算法学习
神经网络是一种模拟人脑工作原理的计算模型,通常用于机器学习任务,比如图像识别、自然语言处理等。下面是一个简单的单层感知机(Perceptron)神经网络的Python代码示例,它主要用于二分类问题:
```python
import numpy as np
# 定义权重和阈值
weights = np.random.rand(2) - 0.5 # 假设我们有两个输入特征
bias = 0.5
def sigmoid(x):
return 1 / (1 + np.exp(-x))
def perceptron_step(inputs, targets, weights, bias):
predictions = sigmoid(np.dot(inputs, weights) + bias)
if predictions > 0.5 and targets == 1: # 如果预测结果大于0.5且实际目标为1,则调整权重
weights += inputs
elif predictions < 0.5 and targets == -1: # 否则,如果预测结果小于0.5且实际目标为-1,调整权重
weights -= inputs
return weights
# 示例数据
inputs = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
targets = np.array([1, -1, -1, 1]) # 目标标签,这里是异或函数的表示
# 训练过程
for _ in range(100): # 假设我们有100次迭代
weights = perceptron_step(inputs, targets, weights, bias)
print("最终权重:", weights)
```
这个例子展示了如何通过梯度上升算法训练一个非常基础的神经网络。请注意这只是一个非常简化的版本,并非完整的深度学习框架,而且对于复杂的任务可能需要更深层的网络结构。
阅读全文