Функция tanh
Функция tanh вычисляет гиперболический тангенс для каждого элемента массива. На вход функция принимает массив чисел, а возвращает новый массив с вычисленными значениями. Гиперболический тангенс определяется как отношение гиперболического синуса к гиперболическому косинусу: tanh(x) = sinh(x) / cosh(x). Результат всегда лежит в интервале от -1 до 1.
Синтаксис
np.tanh(x, out=None, where=True)
Основным параметром является массив x, для элементов которого вычисляется гиперболический тангенс. Дополнительно можно указать массив out для сохранения результата и условие where для выборочного применения.
Пример
Вычислим гиперболический тангенс для чисел от -2 до 2 с шагом 1:
import numpy as np
arr = np.array([-2, -1, 0, 1, 2])
res = np.tanh(arr)
print(res)
Результат выполнения кода:
[-0.96402758 -0.76159416 0. 0.76159416 0.96402758]
Пример
Вычислим гиперболический тангенс для двумерного массива:
import numpy as np
arr = np.array([[0.5, 1.5], [2.5, 3.5]])
res = np.tanh(arr)
print(res)
Результат выполнения кода:
[[0.46211716 0.90514825]
[0.9866143 0.9981779 ]]
Пример
Используем параметр where для вычисления только для положительных элементов:
import numpy as np
arr = np.array([-3, -2, -1, 0, 1, 2, 3])
res = np.zeros_like(arr)
np.tanh(arr, out=res, where=arr > 0)
print(res)
Результат выполнения кода:
[0. 0. 0. 0. 0.76159416 0.96402758
0.99505475]
Пример
Применим функцию tanh для преобразования значений из большого диапазона в интервал (-1, 1):
import numpy as np
arr = np.array([-100, -10, -1, 0, 1, 10, 100])
res = np.tanh(arr)
print(res)
Результат выполнения кода:
[-1. -0.99999999 -0.76159416 0. 0.76159416 0.99999999
1. ]
Как видно, для больших значений результат приближается к -1 или 1, что делает функцию полезной для нормализации данных.