梯度下降法的算法过程
# 感知机原始形式
def perceptron(X, y, eta):
w, b = np.zeros(X.shape[1]),0
while ((y*(w.dot(X.T)+b))<=0).any():
index = np.random.randint(X.shape[0])
if y[index]*(w.dot(X[index])+b) <= 0:
w = w + eta * y[index] * X[index]
b = b + eta * y[index]
def f(x):
return np.sign(w.dot(x)+b)
return w, b, fLast updated