python实现感知器的算法
时间: 2023-09-25 18:16:37 浏览: 105
以下是Python实现感知器算法的示例代码:
```python
import numpy as np
class Perceptron:
def __init__(self, input_size, lr=1, epochs=10):
self.W = np.zeros(input_size+1)
self.epochs = epochs
self.lr = lr
def activation_fn(self, x):
return 1 if x >= 0 else 0
def predict(self, x):
z = self.W.T.dot(x)
a = self.activation_fn(z)
return a
def fit(self, X, d):
for epoch in range(self.epochs):
for i in range(d.shape[0]):
x = np.insert(X[i], 0, 1)
y = self.predict(x)
e = d[i] - y
self.W = self.W + self.lr * e * x
X = np.array([[0,0],[0,1],[1,0],[1,1]])
d = np.array([0,0,0,1])
perceptron = Perceptron(input_size=2)
perceptron.fit(X, d)
print(perceptron.W) #输出学习后的权重
```
其中,输入数据X和期望输出d是numpy数组。在fit函数中,我们使用了随机梯度下降法来更新权重。在每个训练周期中,我们遍历所有的输入数据,并计算输出和期望输出之间的误差。然后使用误差和学习率来更新权重。最终,我们输出学习后的权重。
阅读全文