感知器Python实现

2019-06-28  本文已影响0人  Challis
import numpy as np
class Perceptron(object):
  weight = None
  biases = None

  def __init__(self, input_num, labels):
    self.rate = 0.1
    self.iter = 10

  def activate(self, x):
    return max(x, 0)

  def fit(self, input_num, labels):
    self.weight = np.random.rand(len(input_num))
    self.biases = 0
    for _ in range(self.iter):
      for data, label in zip(input_num, labels):
        y_predict = self.activate(sum(self.predict(data)))
        loss = label - y_predic
        self.weight += self.rate * loss * np.array(data)
        self.biases += self.rate * loss
        print("权重是:{}   偏移是:{}".formate(self.weight, self.biases))

  def predict(self, x):
    return self.weight * x + self.biases

上一篇 下一篇

猜你喜欢

热点阅读