激活函数(Activation Functions)
激活函数是神经网络的重要组成部分,它的作用是将神经元的输入信号映射到输出信号,同时引入非线性特性,使神经网络能够处理复杂问题。以下是常见激活函数的种类、公式、图形特点及其应用场景。
1. 常见激活函数及其公式与代码示例
1. Sigmoid 激活函数
公式:
特点:
- 输出范围为 (0, 1)。
- 对输入较大的值趋于 1,较小的值趋于 0。
- 常用于神经网络输出层处理二分类问题。
- 优点:
- 将输入映射为概率值,直观且常用于概率任务。
- 缺点:
- 梯度消失:输入很大或很小时,梯度趋近 0,导致反向传播时权重更新变慢。
- 输出不以 0 为中心,不利于零均值数据。
代码示例:
import numpy as np
import matplotlib.pyplot as plt
def sigmoid(x):
return 1 / (1 + np.exp(-x))
# 示例
x = np.linspace(-10, 10, 100)
y = sigmoid(x)
plt.plot(x, y)
plt.title("Sigmoid Activation Function")
plt.xlabel("x")
plt.ylabel("sigmoid(x)")
plt.grid()
plt.show()
运行结果:
2. Tanh(双曲正切)激活函数
公式:
特点:
- 输出范围为 (-1, 1)。
- 优点:
- 比 Sigmoid 更对称,输出以 0 为中心,更适合零均值数据。
- 缺点