#### World's Best AI Learning Platform **with profoundly Demanding** Certification Programs

Designed by IITians, only for AI Learners.

Internship Partner

In Association with

In collaboration with

Designed by IITians, only for AI Learners.

Internship Partner

In Association with

In collaboration with

New to InsideAIML? Create an account

Employer? Create an account

Designed by IITians, only for AI Learners.

Internship Partner

In Association with

In collaboration with

Enter your email below and we will send a message to reset your password

Designed by IITians, only for AI Learners.

Internship Partner

In Association with

In collaboration with

By providing your contact details, you agree to our Terms of Use & Privacy Policy.

Already have an account? Sign In

Designed by IITians, only for AI Learners.

Internship Partner

In Association with

In collaboration with

By providing your contact details, you agree to our Terms of Use & Privacy Policy.

Already have an account? Sign In

Download our e-book of Introduction To Python

Matplotlib - Object-oriented InterfaceMatplotlib - MultiplotsCNTK - Creating First Neural NetworkMatplotlib - Working with ImagesMicrosoft Cognitive Toolkit (CNTK) - CPU and GPUPython Forensics - Memory and ForensicsPython Blockchain - Scope and ConclusionDiscuss Microsoft Cognitive ToolkitMatplotlib - Twin AxesMatplotlib - Subplot2grid() Function View More

Exception Type: JSONDecodeError at /update/ Exception Value: Expecting value: line 1 column 1 (char 0) How can I write Python code to change a date string from "mm/dd/yy hh: mm" format to "YYYY-MM-DD HH: mm" format? How to choosing the right estimator for the machine learning problem? How to Write Python ZIP File? How to extracting text from PDF file using python How can a web interface execute a .py file from a PHP file? What methods can we use to differentiate between correlated and uncorrelated variables in a regression analysis? How to leave/exit/deactivate a Python virtualenvironment Join Discussion

4.5 (1,292 Ratings)

589 Learners

Sep 30th (7:00 PM) 1117 Registered

Kajal Pawar

2 years ago

- How to write a tanh function and its derivative in python?

- Tanh and Sigmoid activation function:

- When will can use tanh function:

- Advantages of tanh function

- Disadvantages of tanh function

- A simple implementation of tanh activation function in python

Tanh is also known as **hyperbolic tangent function**. The
curves of tanh function and sigmoid function are relatively similar as we can
see from the image below.

Let ’s compares both of them. When the input is large or small,
the output is almost smooth and the gradient is small, which is not conducive
to weight update. The difference is the output interval.

The output interval of tanh is **1,** and the whole function is
**0-centric**, which is better than sigmoid.

In general, binary classification problems, the tanh function is
used for the hidden layer and the sigmoid function is used for the output
layer. However, these are not static, and the specific activation function to
be used must be analyzed according to the specific problem, or it depends on different
experiments.

The equation of the tanh function id given by:

The graph of the tanh function and its derivative can be shown as:

So, writing
a tanh function and its derivative is quite easy. Simply we have to define a
function for the formula. It is implemented as shown below:

```
def tanh_function(z):
return (np.exp(z) - np.exp(-z)) / (np.exp(z) + np.exp(-z))
```

```
def tanh_prime_function(z):
return 1 - np.power(tanh_function(z),2)
```

- Tanh is quite similar to the Y=X function in the vicinity of the origin. When the value of the activation function is low, the matrix operation can be directly performed which makes the training process relatively easier. Both tanh and sigmoid activation functions are fired which makes the neural network heavier.

- Sigmoid function ranges from 0 to 1, but there might be a case where we would like to introduce a negative sign to the output of the artificial neuron. This is where Tanh (hyperbolic tangent function) becomes very useful. Tanh function is almost similar to sigmoid function but the only the main difference is that its output varies from +1 to -1 and Tanh function is centred at zero.

Most of
the times Tanh function is usually used in hidden layers of a neural network because
its values lies between -1 to 1 that’s why the
mean for the hidden layer comes out be 0 or its very close to 0, hence tanh
functions helps in centering the data by
bringing mean close to 0 which makes learning for the next layer much easier. So,
tanh function is useful.

- For tanh activation function the gradient is stronger as compared to sigmoid function.

- Tanh also has the vanishing gradient problem similar to the sigmoid function.

```
# import libraries
import matplotlib.pyplot as plt
import numpy as np
#creating a tanh function
def tanh(x):
a=(np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))
dt=1-t**2
return a,da
b=np.arange(-4,4,0.01)
tanh(b)[0].size,tanh(b)[1].size
# Setup centered axes
fig, ax = plt.subplots(figsize=(9, 5))
ax.spines['left'].set_position('center')
ax.spines['bottom'].set_position('center')
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
# Create and show plot
ax.plot(b,tanh(b)[0], color="#307EC7", linewidth=3, label="tanh")
ax.plot(b,tanh(b)[1], color="#9621E2", linewidth=3, label="derivative")
ax.legend(loc="upper right", frameon=false)
fig.show()
```

The plot shown below is the output
of the above code which plots the tanh and its derivative function.

I hope you enjoyed reading this article and finally, you came
to know about **Tanh Activation Function and its implementation using python.**

For more such blogs/courses on data science, machine
learning, artificial intelligence and emerging new technologies do visit us at InsideAIML.

Thanks for reading…

Happy Learning…