search
Search
Join our weekly DS/ML newsletter layers DS/ML Guides
menu
menu search toc more_vert
Robocat
Guest 0reps
Thanks for the thanks!
close
Outline
chevron_left Activation functions
Comments
Log in or sign up
Cancel
Post
account_circle
Profile
exit_to_app
Sign out
help Ask a question
Share on Twitter
search
keyboard_voice
close
Searching Tips
Search for a recipe:
"Creating a table in MySQL"
Search for an API documentation: "@append"
Search for code: "!dataframe"
Apply a tag filter: "#python"
Useful Shortcuts
/ to open search panel
Esc to close search panel
to navigate between search results
d to clear all current filters
Enter to expand content preview
icon_star
Doc Search
icon_star
Code Search Beta
SORRY NOTHING FOUND!
mic
Start speaking...
Voice search is only supported in Safari and Chrome.
Navigate to
A
A
brightness_medium
share
arrow_backShare
Twitter
Facebook
chevron_left Activation functions
0
thumb_down
0
chat_bubble_outline
0
auto_stories new
settings

Comprehensive Guide on tanh

Machine Learning
chevron_right
Neural Networks
chevron_right
Activation functions
schedule Jul 1, 2022
Last updated
local_offer
Tags
tocTable of Contents
expand_more

The $\mathrm{tanh}$ curve looks similar to the sigmoid curve in that the shape is s-like. $\mathrm{tanh}$ takes in any real value as input, and outputs a value from $-1$ to $1$.

The following is a graph of $\mathrm{tanh}$ and sigmoid function:

Mathematically, we can represent $\mathrm{tanh}(x)$ like so:

$$\mathrm{tanh}(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}$$

Derivative

What makes $\mathrm{tanh}$ appealing as an activation function is that the derivative of $\mathrm{tanh}$ is clean:

$$\frac{d}{dx}\mathrm{tanh}(x)=1-\mathrm{tanh}(x)^2$$

The graph of the derivative of $\mathrm{tanh}(x)$ looks like the following:

Code

The code used to generate the plot is as follows:

import numpy as np
import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
plt.style.use('seaborn')

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

x_tanh = np.arange(-5, 5, 0.1)
y_tanh = np.tanh(x)
plt.figure(figsize=(5,4))
plt.xlabel("x")
plt.ylabel("y")
plt.axhline(0, color="blue", alpha=0.2)
plt.axvline(0, color="blue", alpha=0.2)
x_sigmoid = np.arange(-5, 5, 0.1)
y_sigmoid = sigmoid(x)
plt.plot(x_sigmoid, y_sigmoid, color="red", label="Sigmoid")
plt.plot(x_tanh, y_tanh, color="blue", label="tanh")
plt.legend()
mail
Join our newsletter for updates on new DS/ML comprehensive guides (spam-free)
robocat
Published by Isshin Inada
Edited by 0 others
Did you find this page useful?
Ask a question or leave a feedback...
0
thumb_down
0
chat_bubble_outline
0
settings
Enjoy our search
Hit / to insta-search docs and recipes!