如何在python中制作感知器的伪代码?

时间:2018-02-15 19:04:53

标签: python neural-network perceptron

这段代码是用python 3编写的,你能告诉我你的伪代码是什么样的吗?我无法理解正在进行的计算:

#dobro n * 2
# x * weight

import random
import numpy as np

   def derivada(n):
        return n*(1-n)

x = 0.85 
y = 0.25
w = random.random()

#épocas

for i in range(10):
     a=np.tanh(x*w)

     e = y-a#erro

     w+= x* derivada(e)

     print(a)

我尝试以这种方式进行伪代码,但它运行得不太好。

     algoritm "untitled"

            var
                er, n, f, x1, w1, w2, u, y : real
                                  b, yd, i : inteiro
           Begin
               b <- 1
               x1 <- 1
               w1 <- 0
               u <- (x1*w1)+b
               y <- tan(u)
               yd <- 5
               er <- yd-y
               for i de 1 to 10 do
               n <- 0.5
               f <- (n*x1*er)
               w1 <- w1+f
               Write(w1)
               endfor

               // Commands
          End

你能告诉我什么是错的吗?

1 个答案:

答案 0 :(得分:0)

基本上,正在发生的是你有这些变量:

x - 为感知器输入值

y - 来自perceptron的预期输出

w - 感知器上的重量值

derivato(n)函数返回tanh曲线的导数。这用于计算w变量的调整。

x设置为0.85,y设置为0.25。 w初始化为随机数。

10次,a是感知器的输出。这等于tanh(x*w),其中x是输入,w是权重,tanh是tanh函数。

错误(e变量)是通过执行y-a计算的,其中y是预期输出。 (基本事实)

通过计算w处的tanh曲线的导数并乘以e来计算对权重(x)的调整。所以调整是x*derivato(e)

然后,将调整添加到重量中,进行调整。