Python中的简单感知器

Python中的简单感知器,python,perceptron,Python,Perceptron,我正在用Python编写一个没有阈值的非常简单的感知器,我正在使用sigmoid函数,但我需要遵循一个明确的指南,我对如何构造输出感到困惑 Input = [(1,1,0), (0,1,0),(1,1,1),(0,0,1)] weights = [0,0,0] output = sigmoid(input) sigmoid = 1.0/(1.0 + exp(- Input) sigmoid_derative = sigmoid * (1.0 - sigmoid) 我没有用python测试代码,

我正在用Python编写一个没有阈值的非常简单的感知器,我正在使用sigmoid函数,但我需要遵循一个明确的指南,我对如何构造输出感到困惑

Input = [(1,1,0), (0,1,0),(1,1,1),(0,0,1)]
weights = [0,0,0]
output = sigmoid(input)
sigmoid = 1.0/(1.0 + exp(- Input)
sigmoid_derative = sigmoid * (1.0 - sigmoid)
我没有用python测试代码,但这只是我从讲座中学到的一场思想风暴。但我不确定我什么时候用乙状结肠? 据我所知,激活功能将分为两部分:

  • 加法器:
    newInput=w1x1+w2x2+w3x3
  • sigmoid=1.0/(1.0+exp(-newInput)
  • 然后我们将得到误差函数,以便知道权重是否准确

    Error = 0.5 * (Target - Output)* (Target- Output)
    if Error == 0 then Break;
    else
    Update weights.
    
  • 这根本不是Python代码。据我所知,这是一种伪代码
  • 你的问题更多的是一个概念性的问题,与Python或编码无关。因此,为了让你对这一点有一个清晰的认识,你需要首先按照你所做的方式计算新的输入。用作激活函数的sigmoid函数为你提供最终的输出(实际输出)。将此输出与目标输出进行比较,以获得用于更新权重的错误值。对所有输入逐历元重复此迭代,直到错误值低于合适的标记。终止算法的另一种可能方法是设置允许的最大历元数

  • 我希望我的一篇关于Perceptron的文章可以帮助你获得一个清晰的想法。我的文章是“人工神经网络(Perceptron)从自驾汽车检测汽车/行人的直观示例”。因此,基本上,这篇文章是为新手编写的,只是为了获得更好的直觉。以下是链接: