感知器Python实现

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容