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

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

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

* Что делает функция `np.exp()`
* Как применить функцию к одному значению и к массивам NumPy
* Как использовать функцию для построения графиков экспоненциальных массивов

Оглавление

* [Понимание функции `np.exp()`](#ponimanie-funkcii-np.exp)
* [Как применить функцию `np.exp()` к двумерному массиву](#kak-primenit-funkciyu-np.exp-k-dvumernomu-massivu)
* [Как применить функцию np.exp() к многомерному массиву](#kak-primenit-funkciyu-np.exp-k-mnogomernomu-massivu)
* [Как построить график функции `np.exp()` с помощью Matplotlib](#kak-postroit-grafik-funkcii-np.exp-s-pomoshyu-matplotlib)
* [Заключение](#zaklyuchenie)
* [Дополнительные ресурсы](#zaklyuchenie)

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

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

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

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

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

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

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

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

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

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

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

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

```python
# Применение функции 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()` может быть применена к многомерным массивам. Функция будет применяться ко всем значениям в массиве, независимо от его размерности. Давайте рассмотрим пример:

```python
# Применение функции 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()`, чтобы создать линейное пространство, который затем можно передать в функцию.

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

```python
# Рисование графика функции 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()`. Это приводит к следующему графику:

<figure><img src="https://datagy.io/wp-content/uploads/2022/06/Plotting-the-np-exp-Function-in-Matplotlib.png" alt="Plotting the np exp Function in Matplotlib" height="480" width="640"><figcaption><p>Построение функции np exp в Matplotlib</p></figcaption></figure>

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

### Заключение

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

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

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

* [Пространство журналов **NumPy**: понимание функции `np.logspace()`](https://bemind.gitbook.io/neural/uchebniki-po-pandas-i-numpy/numpy/numpy-logspace-ponimanie-funkcii-np.logspace)
* NumPy где: обрабатывать элементы массива условно
* [`np.argmax()`: Как использовать NumPy Argmax](https://bemind.gitbook.io/neural/uchebniki-po-pandas-i-numpy/numpy/np.argmax-kak-ispolzovat-numpy-argmax)
