挖坑中…
激活函数
为了在神经网络中将线性输出转化为非线性输出。
结论:
- 隐藏层建议使用 ReLU;
- 输出层根据预测值选择:
- 二分类问题:Sigmoid
- 多分类问题:Softmax
- 预测值非负问题:ReLU
- 预测值可正可负可零问题:Linear(即不使用激活函数)
Linear
线性激活函数,也称作 no activation,本质上相当于没有使用激活函数。
$$
f(x) = x
$$
$$
f'(x) = 1
$$
Sigmoid
也称作 Logistic function,适用二分类问题。
$$
f(x) = \frac{1}{1+e^{-x}} \in (0,1)
$$
$$
f'(x) = \frac{e^{-x}}{(1 + e^{-x})^2} \in (0,0.25)
$$
tanh
$$
f(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} \in (-1, 1)
$$
ReLU
$$
f(x) =
\begin{cases}
x & \text{if $x \geq 0$} \\
\\0 & \text{if $x < 0$}
\end{cases} \space\space\space \text{or} \space\space\space
f(x) = \max(0, x)
$$
$$
f'(x) =
\begin{cases}
1 & \text{if $x \geq 0$} \\
\\0 & \text{if $x < 0$}
\end{cases}
$$
Softmax
适用多分类问题。
$$
p(x_i) = \frac{e^{x_i}}{\sum_{j=1}^{k}e^{x_j}}, 0 < p(x_i) < 1, \sum_{i} p(x_i)= 1
$$