作者课堂笔记,需要请联系humminwang@163.com
Preview:
- 常见的激活函数
- 万能准则
- 反向传播(BackPropagation)
M-P神经元模型:(名字来源是一个叫McCulloch和Pitts大佬提出的)
1 常见的激活函数
Sigmoid
f
(
x
)
=
1
1
+
e
−
x
f(x)=\frac{1}{1+e^{-x}}
f(x)=1+e−x1
f
‘
(
x
)
=
f
(
x
)
∗
(
1
−
f
(
x
)
)
f`(x)=f(x)*(1-f(x))
f‘(x)=f(x)∗(1−f(x))
缺点:
- 计算量大
- 容易出现梯度消失的现象
- 收敛缓慢
Tanh
f
(
x
)
=
t
a
n
h
(
x
)
=
e
x
−
e
−
x
e
x
+
e
−
x
f(x)=tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}
f(x)=tanh(x)=ex+e−xex−e−x
t
a
n
h
(
x
)
=
2
s
i
g
m
o
i
d
(
2
x
)
−
1
tanh(x)=2sigmoid(2x)-1
tanh(x)=2sigmoid(2x)−1
称为双切正切函数,取值范围[-1,1],在特征相差明显的时候效果不错,迭代的过程中会不断扩大特征效果。与Sigmoid区别在于,其均值为0,实际应用也好过Sigmoid.
ReLu
f
(
x
)
=
m
a
x
(
0
,
x
)
f(x)=max(0,x)
f(x)=max(0,x)
用于隐层神经元输出。使用ReLu得到的随机梯度下降收敛速度比Sigmoid和tanh快很多。
缺点:
训练很容易失败。这时应该注意,lr不能选太大的值。否则所有的梯度可能会是0.
Leaky ReLu
f
(
x
)
=
m
a
x
(
0
,
x
)
+
l
e
a
k
×
m
i
n
(
0
,
x
)
f(x)=max(0,x)+leak \times min(0,x)
f(x)=max(0,x)+leak×min(0,x)
导数:
x
>
0
,
f
‘
(
x
)
=
1
x
<
=
0
,
f
‘
(
x
)
=
l
e
a
k
x>0,f`(x)=1\quad x<=0,f`(x)=leak
x>0,f‘(x)=1x<=0,f‘(x)=leak
leak是一个很小的常数,这样保留了一些负轴的值,使得负轴的信息不会丢失。
2 万能近似准则
Universal approximation theorem(Hornik et al., 1989;Cybenko, 1989)定理表明:前馈神经网络,只需具备单层隐含层和有限个神经单元,就能以任意精度拟合任意复杂度的函数。
3 反向传播(BackPropagation)
前馈神经网络:每层神经元与下一层的神经元全互连,神经元之间不存在同层连接,同时也不存在跨层连接,这样的神经网络结构通常称为"多层前馈神经网络(multi-layer feedforward neural networks)".
算法描述:
- 输入训练集 D = { ( x k , y k ) } ; D=\{(x_k,y_k)\}; D={(xk,yk)};学习率 η \eta η.
- 过程:在(0,1)范围内随机初始化网络中所有连接权和阈值。
- Repeat{
for all ( x k , y k x_k,y_k xk,yk) ∈ D \in D ∈D do
根据当前的参数计算当前样本输出 y ^ k \hat y_k y^k;
计算输出层神经元的梯度项 g j g_j gj;
计算隐层神经元的梯度项 e h e_h eh;
利用梯度下降更新权值;
end for
until 达到停止条件
} - 输出:连接权与阈值确定的多层前馈神经网络。