Sigmoid function returning 2

138 Views Asked by At

I just started learning about neural networks and I'm using the sigmoid function.

Here's the implementation :

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

then I have my network :

def make_predictions2(previousPrice, currentPrice, weight1, weight2, weight3, bias):
n11 = np.dot(previousPrice, weight1) + np.dot(currentPrice, weight2) + bias
n21 = np.dot(n11, weight3) + bias
n31 = sigmoid(n21)
return n31[0]

the problem is that the function is returning 2.0, but sigmoid is only supposed to return numbers between 0 and 1 Am I missing something obvious ?

1

There are 1 best solutions below

0
Domenico On BEST ANSWER

As you can see in here, that definition of the sigmoid function is wrong. Instead of

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

you should use the following definition:

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