Aller au contenu principal

Qu'est-ce que la fonction TANH ?

Définition
La fonction TANH calcule la tangente hyperbolique d'un nombre. Elle applique la formule `(e^x - e^(-x)) / (e^x + e^(-x))` et renvoie toujours un résultat compris entre -1 et 1, quelle que soit la valeur en entrée.

TANH (tangente hyperbolique) te sert quand tu dois ramener des valeurs très étalées sur une échelle commune, bornée et centrée sur zéro, avant de les comparer ou de les injecter dans un modèle. Si tu travailles en data science, en physique ou en ingénierie, tu vas la croiser régulièrement, notamment comme fonction d'activation dans les réseaux de neurones.

Contrairement aux fonctions trigonométriques classiques, les fonctions hyperboliques comme TANH sont basées sur les exponentielles. Elle normalise des données très étalées, modélise des courbes en S, et crée des transitions douces entre deux états limites.

Syntaxe

=TANH(nombre)

Clique sur un argument pour aller à son explication.

TANH sature très rapidement : pour |x| >= 3, le résultat est déjà très proche de ±1 (à moins de 1 % des limites). Si tes données vont au-delà de cette plage, pense à diviser par un facteur d'échelle avant d'appliquer la fonction.

Le savais-tu ?
TANH sature très vite : dès que ton nombre dépasse 3 en valeur absolue, le résultat colle déjà à moins de 1 % de ses limites, plus ou moins 1. Au-delà, divise par un facteur d'échelle avant d'appliquer la fonction.
Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction TANH

1

nombre

: la valeur numérique pour laquelle tu veux calculer la tangente hyperbolique

Ça peut être un nombre positif ou négatif, une référence de cellule comme A1, ou le résultat d'un calcul. La fonction accepte toutes les valeurs numériques de -∞ à +∞.

Quelques valeurs de référence : TANH(0) = 0, TANH(1) ≈ 0,762, TANH(2) ≈ 0,964, TANH(3) ≈ 0,995. La fonction est impaire : TANH(-x) = -TANH(x).

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment ramener une valeur entre -1 et 1 avec la fonction TANH

Tu prépares un jeu de features pour entraîner un modèle, et tes colonnes n'ont pas du tout la même amplitude : certaines tiennent entre -1 et 1, d'autres s'étalent jusqu'à des dizaines. Il faut tout ramener sur une échelle commune centrée sur zéro, sinon les features les plus étalées écrasent les autres pendant l'apprentissage. La fonction TANH fait cette compression d'un coup, sans que tu aies à chercher le minimum et le maximum de chaque colonne.

Les étapes
  1. 1
    Dans une cellule, écris =TANH(.
  2. 2
    En 1er argument : clique sur la cellule de la valeur à normaliser, B2, qui vaut -50. Pointer la cellule plutôt que de retaper le nombre laisse la formule suivre quand tu la recopies vers le bas.
  3. 3
    Ferme la parenthèse et appuie sur Entrée. Il n'y a rien d'autre à régler, et c'est là qu'est le piège : sans facteur d'échelle, la fonction applique sa propre pente, ce qui suffit sur une colonne qui grimpe à -50 pour saturer la ligne et renvoyer un -1 exact.
Au final, ta formule devrait ressembler à ça :=TANH(B2)
Explication
La fonction TANH écrase toute la droite réelle dans l'intervalle qui va de -1 à 1, en gardant le signe et l'ordre des valeurs. Le rendu est fidèle près de zéro (0,5 devient 0,4621), mais -50 ressort à -1,0000 pile : la fonction sature, et l'écart avec -2 a totalement disparu.
Exemple 2

Comment éviter la saturation de la fonction TANH avec un facteur d'échelle

En reprenant la colonne précédente, tu constates que les valeurs extrêmes ressortent toutes collées à -1 et 1 : l'information sur leur amplitude est perdue, et deux features très différentes deviennent identiques pour le modèle. Le remède n'est pas de changer de fonction mais de régler sa pente, en divisant la valeur brute par un facteur choisi selon l'étendue de la colonne. Avec des données qui vont jusqu'à 50, un facteur de 20 place la saturation juste au-delà de tes valeurs réelles.

Les étapes
  1. 1
    Dans une cellule, écris =TANH(.
  2. 2
    En 1er argument : clique sur la valeur brute, B2, puis complète par /20 pour la diviser par le facteur d'échelle avant que la fonction ne la voie. C'est ce quotient, et lui seul, qui devient l'argument.
  3. 3
    Ferme la parenthèse et appuie sur Entrée. Le facteur 20 se choisit d'après l'étendue réelle de ta colonne, sachant que la fonction sature vers 3 en valeur absolue : divisées par 20, tes valeurs extrêmes tombent autour de 2,5 et restent du bon côté de la saturation.
Voici la formule que tu obtiens à la fin :=TANH(B2/20)
Explication
Diviser avant de normaliser étale la courbe sur toute la plage des données : -50 ressort maintenant à -0,9866 au lieu de -1 pile, donc la valeur reste distincte de ses voisines. Les petites valeurs se retrouvent dans la zone quasi linéaire (-1 donne -0,0500, soit à peu près la valeur divisée par 20), ce qui préserve leur écart relatif.
Exemple 3

Comment éviter l'erreur #NOMBRE! en inversant la fonction TANH avec ATANH

Ton modèle travaille sur des valeurs normalisées et tu veux repasser en unités d'origine pour interpréter ses sorties, ce qui est le rôle de la fonction réciproque ATANH. Sur les lignes saturées, ce retour échoue avec #NOMBRE!, et le tableau se retrouve constellé d'erreurs. Ce test te montre jusqu'où l'aller-retour tient et à partir de quand la normalisation a détruit l'information de départ.

Les étapes
  1. 1
    Dans une cellule, écris =SIERREUR(.
  2. 2
    En 1er argument : écris l'aller-retour à surveiller, ATANH(TANH(B2)), qui normalise la valeur puis tente de la retrouver. Sur une colonne réelle, seul le retour ATANH t'intéresse, mais l'enchaîner ici montre directement ce qui survit au passage.
  3. 3
    En 2ᵉ argument : saisis le texte de repli, "Saturé", entre guillemets. SIERREUR ne l'affiche que si le calcul renvoie une erreur, donc uniquement sur les lignes dont la valeur normalisée a atteint la borne.
  4. 4
    Ferme la parenthèse et appuie sur Entrée.
Une fois les morceaux assemblés, ta formule donne ça :=SIERREUR(ATANH(TANH(B2)); "Saturé")
Explication
L'aller-retour est parfait tant que la normalisation n'a pas saturé : 0,5 et 2 reviennent à l'identique. À 17 la valeur revient déjà abîmée (16,9980), et à 50 elle ne revient plus du tout, parce que la normalisation a rendu 1 tout rond et qu'aucun nombre de départ ne peut être retrouvé à partir de cette borne.

Attention : La cause de l'erreur n'est pas dans ATANH mais dans la saturation qui la précède : TANH(50) ne vaut pas « presque 1 », il vaut 1 exactement à la précision d'Excel, et ATANH(1) renvoie #NOMBRE!. La bascule est nette : TANH(17) rend encore 0,999999999999997, mais TANH(18) rend 1 tout rond. Si tu comptes revenir en arrière, cale ton facteur d'échelle pour rester sous ce seuil, comme dans l'exemple précédent, plutôt que de rattraper l'erreur après coup.

Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction TANH

Le faux pas qui revient le plus, c'est de taper TAN à la place de TANH : la trigonométrique grimpe à l'infini et explose près de ses asymptotes, alors que tu attendais une valeur sage entre -1 et 1. Le deuxième classique est plus discret : =TANH qui renvoie 1 partout parce que tes données dépassent 3 ou 4 et que la fonction sature, signe qu'il te manque un facteur d'échelle.

Et si tu reviens en arrière avec ATANH, gare au #NOMBRE! dès que tu lui passes exactement 1, -1 ou au-delà : l'inverse n'est défini que sur l'intervalle ouvert ]-1, 1[.

Confusion entre TANH et TAN

L'erreur la plus fréquente est de confondre TANH (tangente hyperbolique) avec TAN (tangente trigonométrique). TAN a des asymptotes et peut donner des valeurs très grandes, voire des erreurs de division, tandis que TANH est toujours bornée entre -1 et 1.

Solution : Souviens-toi que TANH est utilisée pour la normalisation et la saturation (valeurs bornées entre -1 et 1), tandis que TAN est utilisée pour les angles et les rotations. Si tu as besoin d'une valeur entre -1 et 1, c'est TANH qu'il te faut.

TANH renvoie toujours 1 (ou -1) sur tes données

TANH sature très rapidement. Si tu utilises =TANH(valeur) directement sur des valeurs entre 0 et 100, tu obtiendras presque toujours 1. Le facteur d'échelle est oublié.

Solution : Utilise =TANH(valeur/facteur) où le facteur est choisi selon ta plage de données. Par exemple, =TANH(A1/50) si tes valeurs vont de 0 à 100. Le facteur détermine à quelle vitesse la courbe sature.

Erreur #NOMBRE! en inversant TANH avec ATANH

ATANH (la fonction inverse de TANH) n'est pas définie pour des valeurs en dehors de l'intervalle strict ]-1, 1[. Si tu passes une valeur de 1, -1 ou en dehors, tu obtiens #NOMBRE!.

Solution : Vérifie toujours que tes valeurs sont strictement comprises entre -1 et 1 avant d'appliquer ATANH. Ajoute une vérification : =SI(ABS(A1)<1; ATANH(A1); "Erreur").

Lucas, la mascotte du Dojo, compare deux fonctions Excel

TANH vs SINH vs COSH vs ATANH

Prends TANH dès que tu veux une sortie bornée et centrée en zéro : c'est la seule des quatre qui reste coincée dans ]-1, 1[, d'où son rôle de normalisation et de fonction d'activation en machine learning. Si au contraire tu as besoin que la valeur s'envole sans plafond, regarde vers SINH (qui passe par 0) ou COSH (qui ne descend jamais sous 1).

ATANH n'est pas une alternative mais le chemin retour : tu l'utilises uniquement pour retrouver l'entrée à partir d'un résultat de TANH.

CritèreTANHSINHCOSHATANH
Formule(e^x - e^(-x)) / (e^x + e^(-x))(e^x - e^(-x)) / 2(e^x + e^(-x)) / 2ln((1+x)/(1-x)) / 2
Plage de sortie]-1, 1[]-infini, +infini[[1, +infini[]-infini, +infini[
Valeur en 00010
Valeur en 10,7621,1751,543+infini
Usage principalNormalisation, machine learningPhysique, équationsGéométrie, physiqueInverse de TANH
Bornée ?Oui, entre -1 et 1NonPartiellement (min = 1)Non
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec TANH

1Astuce

Calcule la dérivée de TANH pour la rétropropagation

La dérivée de TANH en un point x vaut 1 - TANH(x)². Dans Excel, tu l'obtiens avec =1-TANH(A1)^2. C'est la formule utilisée dans les algorithmes de rétropropagation (backpropagation) pour entraîner des réseaux de neurones : à chaque neurone, le gradient de l'erreur est multiplié par cette dérivée.
Si TANH(x) = 0,762 (pour x = 1), la dérivée vaut 1 - 0,762² = 0,419, ce qui indique comment ajuster les poids du réseau.

2Astuce

Relie TANH à la sigmoïde avec une formule simple

TANH et la sigmoïde sont deux fonctions d'activation liées par l'identité sigmoïde(x) = (TANH(x/2) + 1) / 2. La sigmoïde donne des valeurs entre 0 et 1, TANH entre -1 et 1. Pour implémenter une sigmoïde dans Excel sans la formule EXP, tu peux donc écrire =(TANH(A1/2)+1)/2.
Choisis TANH quand tes données doivent être centrées en zéro, et la sigmoïde quand tu modélises des probabilités (entre 0 et 1).

3Astuce

Visualise la courbe en S avec un graphique rapide

Pour mieux comprendre TANH, crée un graphique dans Excel : place dans la colonne A des valeurs de -5 à +5 par pas de 0,5 (21 lignes), et dans la colonne B la formule =TANH(A1). Insère un graphique en courbe : tu verras clairement la courbe en forme de S qui tend vers -1 et +1 aux extrémités.
Ce graphique te montre aussi que pour |x| < 0,5, TANH est quasi linéaire (TANH(x) ≈ x avec 98 % de précision), ce qui justifie les approximations courantes dans les calculs rapides.

FAQ

Questions fréquentes

TANH calcule la tangente hyperbolique (fonction hyperbolique) dont les valeurs sont toujours comprises entre -1 et 1. TAN calcule la tangente trigonométrique classique qui peut prendre n'importe quelle valeur de -∞ à +∞ et qui a des asymptotes. TANH(1) ≈ 0,762 tandis que TAN(1) ≈ 1,557. Si tu as besoin de borner une valeur, c'est TANH. Si tu travailles avec des angles, c'est TAN.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction TANH : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir