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

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

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

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

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

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

Оглавление

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

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

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

# Understanding the np.exp() Function
import numpy as np

np.exp(
    x=,         # Input values
    out=None,   # Location to store
    where=True  # Condition to broadcast over input
)

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

# Running the np.exp() Function with a Single Value
import numpy as np
print(np.exp(1))

# Returns: 2.718281828459045

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

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

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

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

# Applying the np.exp() Function to a 2-d Array
import numpy as np

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

# Returns: [  2.71828183   7.3890561   20.08553692  54.59815003 148.4131591 ]

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

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

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

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

# Applying the np.exp() Function to a Multidimensional Array
import numpy as np

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

# Returns: 
# [[ 1.          2.71828183]
#  [ 7.3890561  20.08553692]]

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

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

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

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

# Graphing the np.exp() Function
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 1000)
y = np.exp(x)

plt.plot(x, y)
plt.show()

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

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

Заключение

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

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

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

  • Пространство журналов NumPy: понимание функции np.logspace()

  • NumPy где: обрабатывать элементы массива условно

  • np.argmax(): Как использовать NumPy Argmax

Last updated