【问题标题】:Simple perceptron in PythonPython中的简单感知器
【发布时间】:2017-04-11 07:34:06
【问题描述】:

我正在用 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 中测试代码,但这只是我从讲座中学到的头脑风暴。但我不确定何时使用 sigmoid_derative? 我了解激活功能将分为两部分:

  1. 地址:newInput= w1x1 + w2x2 + w3x3
  2. sigmoid = 1.0/(1.0 + exp(- newInput)

然后我们将有误差函数,以便知道权重是否准确。

Error = 0.5 * (Target - Output)* (Target- Output)
if Error == 0 then Break;
else
Update weights.

【问题讨论】:

    标签: python perceptron


    【解决方案1】:
    1. 这根本不是 Python 代码。据我了解,它是一种伪代码。
    2. 您的问题更多的是概念性问题,与 Python 或编码无关。因此,为了让您对此有一个清晰的认识,您需要首先按照您的方式计算 newInput 。用作激活函数的 sigmoid 函数为您提供最终输出(实际输出)。将此输出与目标输出进行比较,以获得用于更新权重的错误值。对所有输入一个时期一个时期地重复这个迭代,直到误差值低于一个合适的标记。终止算法的另一种可能方法是设置允许的最大时期数。

    【讨论】:

      【解决方案2】:

      我希望我关于 Perceptron 的一篇文章可以帮助您获得一个清晰的概念。我的文章是“人工神经网络(感知器)检测自动驾驶汽车中的汽车/行人的直观示例”。 - 所以,基本上,这篇文章是为新手写的,只是为了获得更好的直觉。这是链接:

      https://www.spicelogic.com/Journal/Perceptron-Artificial-Neural-Networks-10

      []2

      【讨论】:

        猜你喜欢
        • 2020-08-22
        • 2012-03-28
        • 2014-08-09
        • 2018-07-05
        • 2021-04-07
        • 2019-09-28
        • 2021-03-11
        • 2013-08-20
        • 2012-04-30
        相关资源
        最近更新 更多