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