神经元模型
神经网络中最基本的成分是神经元模型。
M-P神经元模型
激活函数
感知机与多层网络
感知机
感知机由两层神经元组成,如图,
感知机能够容易的实现逻辑与、或、非运算, $f(\sum_iw_ix_i-\theta)$, 假定f是阶跃函数,有
- 与:令 $w_1=w_2=1,\theta=2$, 则 $y=f(1 \cdot x_1+1 \cdot x_2-2)$,仅在$x_1=x_2=1$ 时,y=1;
- 或:令 $w_1=w_2=1,\theta=0.5$, 则 $y=f(1 \cdot x_1+1 \cdot x_2-0.5)$,仅在$x_1=1 or x_2=1$ 时,y=1;
- 非:令令 $w_1=-06,w_2=0,\theta=-0.5$, 则 $y=f(-0.6 \cdot x_1+0 \cdot x_2+0.5)$,当$x_1=1$ 时,$y=0$,当 $x_1=0$ 时, $y=1$.
给定训练数据集,权重与阈值可以通过学习得到。
感知机学习规则:对训练样例(x,y),若当前感知机的输出为 $\hat{y}$, 则感知机权重将这样调整:
$w_i \leftarrow w_i +\Delta w_i$
$\Delta w_i=\eta(y-\hat{y})x_i$
其中 $\eta \in (0,1)$ 代表learning rate,.
感知机的局限性
感知机只拥有一层功能神经元,学习能力非常有限,只能处理线性可分问题,不能解决抑或问题。 要解决非线性可分问题,需要考虑多层神经元,例如添加一个隐藏层的两层神经元可以解决“异或”问题。 神经网络的学习过程,就是根据训练数据来调整神经元之间的权重以及每个功能神经元的阈值。
误差逆传播算法(BP)
全局最小与局部最小
神经网络的训练过程可以看作参数寻优过程,在参数空间中寻找一组最优参数使神经网络在训练集上的误差达到最小。
局部最优解:参数空间中的某个点,其邻域点的误差函数值均不小于该点的函数值
全局最小解:参数空间中所有点的误差函数值均不小于该点的函数值
基于梯度的搜索是使用最为广泛的参数寻优方法
局部最小跳出策略
- 以多组不同参数值初始化多个神经网络,取误差最小的参数
- “模拟退火”:以一定概率接受比当前解更差的结果
- 随机梯度下降 在计算梯度时加入了随机因素,即使陷入局部极小,也有可能跳出。