# Python Sigmoid Function: The Complete Guide

Python sigmoid function is a mathematical logistic feature used in information, audio signal processing, biochemistry, and the activation characteristic in artificial neurons. Sigmoidal functions are usually recognized as activation features and, more specifically, squashing features.

The “squashing” refers to the fact that the output of the characteristic exists between a nite restrict, typically zero and 1. those features are exceptionally useful in figuring out opportunity.

## Python sigmoid program

``````import math

def basic_sigmoid(x):
s = 1 / (1 + math.exp(-x))
return s

print(basic_sigmoid(-100))``````

#### Output

``3.7200759760208356e-44``

The usage of nonlinear sigmoid capabilities was stimulated through the outputs of biological neurons. Hence, it can mathematically be modeled as a function with the two most straightforward outputs.

Seeing that neurons begin to re (turn on) after a sure enter threshold has been surpassed, the best mathematical feature to version this conduct is the (Heaviside) step feature, which

The outputs are 0 beneath a threshold enter fee and one above the edge input value. But, this characteristic isn’t easy (it fails to be differential at the edge value). Therefore, the sigmoid elegance of features is a differentiable alternative that also captures a lot of organic neurons’ behavior.

Sigmoidal functions are frequently utilized in gadget mastering, specifically to version the output of a node or “neuron”. These features are inherently nonlinear and permit neural networks to nd nonlinear relationships among facts capabilities. This greatly expands the application of neural networks and allows them (in principle) to learn any characteristic.

Without those activation functions, your neural community might be very similar to a linear version (to be a terrible predictor for the records that consist of a lot of nonlinearity).

Observe: Absolutely, we rarely use the “math” library in deep studying because the inputs of the capabilities are real numbers. In DL, we primarily use matrices and vectors. That is why numpy is extra beneficial. it can also handle the enter in an array’s (list) shape.

Let’s import the numpy module and create an array using the np.array() function.

``````import numpy as np

x = np.array([1, 2, 3])
print(np.exp(x))``````

#### Output

``[ 2.71828183 7.3890561 20.08553692]``

Moreover, if x is a vector, then a Python operation consisting of or will output s as a vector of the identical length as x.

``````import numpy as np

x = np.array([1, 2, 3])
print (x + 3)``````

#### Output

``[4 5 6]``

Imposing the sigmoid function, the usage of numpy should now be either an actual quantity, a vector, or a matrix. The records structures we use in numpy to symbolize these shapes (vectors, matrices…) are known as numpy arrays.

As you can see inside the concept class lecture, you may need to compute gradients to optimize loss features using backpropagation. So let’s code your rst gradient characteristic imposing the function sigmoid_grad() to compute the gradient of the sigmoid feature with admire to its enter x.

The formula is:

``sigmoid_derivative(x) = σ (x) = σ(x)(1 − σ(x))``

With the help of the Sigmoid activation function, we can reduce the loss during the time of training because it eliminates the gradient problem in the machine learning model while training.

## Plot a sigmoid function in Python

To plot a graph of a sigmoid function in Python, use the matplotlib libarary’s plot() function. The np.linspance() function returns evenly spaced numbers over a specified interval.

``````import matplotlib.pyplot as plt
import numpy as np

data = np.linspace(-20, 20, 200)
sm = 1/(1 + np.exp(-data))

plt.plot(data, sm)
plt.xlabel("data")
plt.ylabel("Sigmoid(data)")

plt.show()``````

#### Output That’s it for Sigmoid in Python.