开发神经网络时如何在python中使用sigmoid函数

开发神经网络时如何在python中使用sigmoid函数,python,neural-network,sigmoid,Python,Neural Network,Sigmoid,我试图创建一个神经网络,但是当我尝试实现sigmoid函数(导入,或者像本例中那样手动创建)时,它只是说变量sigmoid不存在 这是我的密码 另外,我正在将visual studio代码用于Anaconda from matplotlib import pylab import pylab as plt import numpy as np class NeuralNetwork: def __init__(self,x,y): self.input = x

我试图创建一个神经网络,但是当我尝试实现sigmoid函数(导入,或者像本例中那样手动创建)时,它只是说变量sigmoid不存在

这是我的密码

另外,我正在将visual studio代码用于Anaconda

from matplotlib import pylab
import pylab as plt
import numpy as np

class NeuralNetwork:
    def __init__(self,x,y):
        self.input = x
        self.weights1 = np.random.rand(self.input.shape[1],4)
        self.weights2 = np.random.rand(4,1)
        self.y = y
        self.output = np.zeros(self.y.shape)


    def sigmoid(self,x):
        return (1/(1+np.exp(-x)))      



    def feedforward(self):
        self.layer1 = sigmoid(np.dot(self.input, self.weights1))
        self.output = sigmoid(np.dot(self.layer1, self.weights2))```

您已经将
sigmoid
定义为类方法,因此需要像这样使用
self
关键字

self.layer1 = self.sigmoid(np.dot(self.input, self.weights1))
self.output = self.sigmoid(np.dot(self.layer1, self.weights2))

你必须使用SigMoID(),因为SigMoID是分类的一种方法,下面我的回答帮助了你,考虑了投票和接受它。这将帮助我,你和其他人试图得到一个类似问题的答案。