感知器算法程序
时间: 2023-07-26 17:13:38 浏览: 99
以下是一个简单的Python实现感知器算法的程序:
```python
import numpy as np
class Perceptron(object):
def __init__(self, lr=0.01, n_iter=1000):
self.lr = lr # 学习率
self.n_iter = n_iter # 迭代次数
self.w = None # 权重
self.b = None # 偏置
def fit(self, X, y):
n_samples, n_features = X.shape
# 初始化权重和偏置
self.w = np.zeros(n_features)
self.b = 0
# 迭代训练
for i in range(self.n_iter):
for j in range(n_samples):
# 计算线性输出
z = np.dot(self.w, X[j]) + self.b
# 非线性变换
y_pred = np.where(z >= 0, 1, 0)
# 更新权重和偏置
self.w += self.lr * (y[j] - y_pred) * X[j]
self.b += self.lr * (y[j] - y_pred)
def predict(self, X):
# 计算预测结果
z = np.dot(X, self.w) + self.b
y_pred = np.where(z >= 0, 1, 0)
return y_pred
```
这个程序实现了感知器算法的训练和预测过程,其中fit方法用于训练模型,predict方法用于预测结果。需要注意的是,这个程序只能处理二分类问题,如果要处理多分类问题,需要进行适当的修改。
阅读全文