Sigmoid 激活函数
表达式:
Sigmoid(x)=11+e−x
{Sigmoid}(x) = \frac{1}{1 + e^{-x}}
Sigmoid(x)=1+e−x1
作图:
- 定义:将输入值映射到 0 到 1的区间内。
- 优点:输出值在 0 和 1 之间,适用于二分类问题。
- 缺点: 当输入值过大或过小时,会出现梯度消失问题。
ReLU 激活函数
表达式:
ReLU(x)={x,如果 x>00,如果 x≤0
{ReLU}(x) = \begin{cases} x, & \text{如果} \ x > 0 \\ 0, & \text{如果} \ x \leq 0 \end{cases}
ReLU(x)={x,0,如果 x>0如果 x≤0
作图:
- 定义:将输入值中的负数部分设为 0,正数部分保持不变。
- 优点:计算简单,高效。在深层网络中能够有效缓解梯度消失问题。
- 缺点:当输入值为负时,神经元将不更新权重,导致“神经元死亡”问题。
Tanh 激活函数
表达式:
Tanh(x)=ex−e−xex+e−x
{Tanh}(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}
Tanh(x)=ex+e−xex−e−x
作图:
- 定义:将输入值映射到 -1 到 1 的区间内。
- 优点: 输出值中心对称,零均值有助于网络收敛。
- 缺点: 也会出现梯度消失问题。
Linear 激活函数
表达式:
Linear(x)=x
{Linear}(x) = x
Linear(x)=x
作图:
- 定义:输出值与输入值保持一致。
- 应用场景:常用于回归问题的输出层。
- 缺点:不引入非线性特性,不能解决复杂问题。
激活函数 | 输出范围 | 优点 | 缺点 |
---|---|---|---|
Sigmoid | 0,10, 10,1 | 二分类问题常用 | 梯度消失问题 |
ReLU | [0,+∞)[0, +\infty)[0,+∞) | 简单高效 | 可能导致神经元死亡 |
Tanh | (−1,1)(-1, 1)(−1,1) | 零均值,有助于收敛 | 梯度消失问题 |
Linear | (−∞,+∞)(-\infty, +\infty)(−∞,+∞) | 适用于回归问题 | 无法引入非线性特性 |
Softmax激活函数
假设有一个向量z=[z1,z2,...,zn]z = [z_1, z_2, ..., z_n]z=[z1,z2,...,zn],Softmax 函数的输出是一个概率分布,公式如下:
Softmax(zi)=ezi∑j=1nezj Softmax(z_i) = \frac{e^{z_i}}{\sum_{j=1}^{n} e^{z_j}} Softmax(zi)=∑j=1nezjezi
其中:
- ziz_izi 是输入向量中的第 i个元素。
- e 是自然对数的底(约等于 2.718)。
- 输出的值是一个归一化的概率分布,所有值的总和为 1。
- Softmax 将输入的 logits 转换为概率值。
- 每个输出值都介于 0 和 1 之间,并且所有输出值的总和为 1,因此它表示一个概率分布。
- Softmax 的值越大,说明模型越确信这个类别是正确的。