Использование функции NumPy.exp() для вычисления экспоненты

В этом руководстве вы узнаете, как использовать функцию экспоненты NumPy, np.exp(). Функция возводит константу Эйлера, e, в заданную степень. Поскольку константа Эйлера имеет множество практических применений в науке, математике и глубоком обучении, умение работать с этой функцией значимо для любого пользователя Python!

К концу этого руководства вы научитесь:

  • Что делает функция np.exp()

  • Как применить функцию к одному значению и к массивам NumPy

  • Как использовать функцию для построения графиков экспоненциальных массивов

Оглавление

Понимание функции np.exp()

Функция exp() в NumPy используется для вычисления экспоненты всех элементов массива. Это означает, что она возводит в степень значение константы Эйлера, e, для всех элементов массива или одного элемента, переданного в функцию. Константа Эйлера примерно равна 2.718 и имеет множество практических применений, таких как расчёт сложных процентов.

Экспоненциальная функция часто используется в глубоком обучении при разработке сигмоидной функции. Давайте рассмотрим функцию:

# Понимание функции np.exp()
import numpy as np

np.exp(
    x=,         # Входные значения
    out=None,   # Место для хранения результата
    where=True  # Условие для распространения по входным данным
)

В большинстве случаев вы увидите, что функция применяется только с предоставленным аргументом x. Давайте посмотрим, как мы можем запустить функцию, передав только одно значение:

# Вызов функции np.exp() для одиночной переменной
import numpy as np
print(np.exp(1))

# Возвращает: 2.718281828459045

Вызов функции, указанный выше, аналогичен вызову e1. Настоящая ценность функции проявляется, когда она применяется ко всем массивам чисел. Именно это вы узнаете в следующем разделе.

Как применить функцию np.exp() к двумерному массиву

В этом разделе вы научитесь применять функцию np.exp() к массиву чисел. Применение функции к массиву происходит так же, как и к скаляру, только мы передаем в нее массив. Поскольку numpy работает с массивами, функция применяется к каждому элементу в этом массиве.

Давайте посмотрим на пример:

# Применение функции np.exp() к двумерному массиву
import numpy as np

arr = np.arange(1,6)
print(np.exp(arr))

# Возвращает: [ 2.71828183   7.3890561   20.08553692 54.59815003 148.4131591 ]

В приведенном выше примере мы используем функцию для создания значений от 1 до 5. Затем мы передаем этот массив в функцию np.exp() для обработки каждого элемента.

Функция также работает с многомерными массивами, как показано в следующем разделе.

Как применить функцию np.exp() к многомерному массиву

Работа с многомерными массивами аналогична работе с двумерными массивами: функция np.exp() может быть применена к многомерным массивам. Функция будет применяться ко всем значениям в массиве, независимо от его размерности. Давайте рассмотрим пример:

# Применение функции np.exp() к массиву из нескольких измерений
import numpy as np

arr = np.arange(4).reshape((2, 2))
print(np.exp(arr))

# Возвращает: 
# [[1.          2.71828183]
# [7.3890561  20.08553692]]

В приведенном выше примере мы преобразуем значения от 0 до 3 в двумерный массив размером 2×2. Затем мы передаем этот массив в функцию

Как построить график функции np.exp() с помощью Matplotlib

В этом заключительном разделе мы узнаем, как строить результаты массивов функции np.exp(), чтобы увидеть, как она ведет себя. Мы можем создать тонко распределенный массив с помощью функции np.linspace(), чтобы создать линейное пространство, который затем можно передать в функцию.

Давайте посмотрим, как мы можем это сделать:

# Рисование графика функции np.exp()
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 1000) # Генерация набора значений x от 0 до 10 с шагом 1
y = np.exp(x)

plt.plot(x, y)
plt.show() # Показываем график

В приведенном выше примере мы создаем равномерно распределенный массив чисел от 0 до 10, содержащий 1000 значений. Затем мы передаем этот массив в функцию np.exp(). Это приводит к следующему графику:

Это показывает распределение экспоненциальной функции.

Заключение

В этом посте вы узнали, как использовать функцию np.exp(). Вы узнали, как эта функция часто применяется в машинном обучении и глубоком обучении. Затем вы научились использовать функцию для скаляра, двумерного массива и многомерного массива. Наконец, вы узнали, как визуализировать функцию с использованием Matplotlib.

Дополнительные ресурсы

Чтобы узнать больше о смежных темах, ознакомьтесь с нижеприведенными учебными пособиями:

Last updated