【机器学习与深度学习理论要点】20. 什么是激活函数,为什么要用激活函数,常见的激活函数和特点,softmax函数
1)什么是激活函数,为什么要用激活函数?
激活函数,指神经网络中将输入信号的总和转换为输出信号的函数,激活函数将多层感知机输出转换为非线性,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。
2)神经网络中常用的激活函数有哪些,各自有什么特点?
(1)sigmoid
①定义:sigmoid函数用于影藏层神经元输出,能将数值映射到(0,1)区间,可用来做二分类,表达式为:
f
(
x
)
=
1
1
+
e
−
x
f(x) = \frac{1}{1+e^{-x}}
f(x)=1+e−x1
②特点:
- 优点:平滑、易于求导
- 缺点:激活函数计算量大,反向传播时,很容易出现梯度消
(2)tanh
①定义:双曲正切函数,表达式为:
f
(
x
)
=
1
−
e
−
2
x
1
+
e
−
2
x
f(x) = \frac{1-e^{-2x}}{1+e^{-2x}}
f(x)=1+e−2x1−e−2x
②特点:
- 优点:平滑,易于求导,输出均值为0,收敛速度比sigmoid快,减少迭代次数
- 缺点:很容易出现梯度消失
(3)relu
①定义:修正线性单元,其表达式为:
f
(
x
)
=
{
x
(
x
>
0
)
0
(
x
<
=
0
)
f(x) = \begin{cases} x & (x>0) \\ 0 & (x<=0) \end{cases}
f(x)={x0(x>0)(x<=0)
②特点:
- 优点:计算过程简单,避免了梯度消失和梯度爆炸问题
- 缺点:小于等于0时无输出
3)什么是softmax函数,主要作用是什么
- 定义:softmax函数可以将多分类的输出值转化为相对概率,而这些值的累加和为1,表达式为
S i = e V i ∑ i C e V i S_i = \frac{e^{V_i}}{\sum_i^Ce^{V_i}} Si=∑iCeVieVi
其中 V i V_i Vi 是分类器前级输出单元的输出。i 表示类别索引,总的类别个 数为 C。 S i S_i Si表示的是当前元素的指数与所有元素指数和的比值。
- 作用:softmax一般用于分类输出层,计算属于每个类别的概率