Task04 详读西瓜书+南瓜书第5章

Task04 详读西瓜书+南瓜书第5章

1 神经元模型

  • 神经网络概念:
      由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物种所作出的交互反应
  • M-P神经元模型:
      每个神经元收到 n n n个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接传递,神经元接收到的总输入值与该神经元阈值进行比较,然后通过激活函数处理,产生神经元的输出。
  • 激活函数常采用Sigmoid函数: sigmoid ( x ) = 1 1 + e − x \displaystyle \text{sigmoid}(x)=\frac{1}{1 + e^{-x}} sigmoid(x)=1+ex1

2 感知机与多层网络

  • 感知机概念:
      由两层神经元组成,输入层接收外界信号后传递给输出层,输出层是M-P神经元(阈值逻辑单元)
  • 感知机学习规则:
      对训练样例 ( x , y ) (x,y) (x,y),若当前感知机的输出为 y ^ \hat{y} y^,则感知机权重进行如下调整: w i ← w i + Δ w i Δ w i = η ( y − y ^ ) x i \begin{array}{cc} w_i \leftarrow w_i + \Delta w_i \\ \Delta w_i = \eta(y-\hat{y})x_i \end{array} wiwi+ΔwiΔwi=η(yy^)xi
      其中 η ∈ ( 0 , 1 ) \eta \in (0,1) η(0,1)称为学习率。
  • 多层神经网络:目的是解决非线性可分问题,输出层和输入层之间的被称为隐含层,隐含层和输出层神经元都是拥有激活函数的功能神经元。

3 误差逆传播算法(BP算法)

  • BP算法思路:
      首先将误差反向传播给隐含层神经元,调节隐含层到输出层的连接权重与输出层神经元的阈值;接着根据隐含层神经元的均方误差,来调节输入层到隐含层的连接权值与隐含层神经元的阈值。
  • BP算法基本流程:
    输入: 训练集 D = { ( x k , y k ) } k = 1 m D=\{(x_k,y_k)\}_{k=1}^m D={(xk,yk)}k=1m
        学习率 η \eta η
    过程:
    (1) 在 ( 0 , 1 ) (0,1) (0,1)范围内随机初始化网络中所有连接权和阈值;
    (2) repeat
    (3)  for all ( x k , y k ) ∈ D (x_k,y_k) \in D (xk,yk)D do
    (4)   根据当前参数和 y ^ j k = f ( β j − θ j ) \hat{y}_j^k = f(\beta_j-\theta_j) y^jk=f(βjθj)计算当前样本的输出 y ^ k \hat{y}_k y^k
    (5)   根据 g j = y ^ j k ( 1 − y ^ j k ) ( y j k − y ^ j k ) g_j= \hat{y}_j^k (1-\hat{y}_j^k )(y_j^k-\hat{y}_j^k) gj=y^jk(1y^jk)(yjky^jk)计算输出层神经元的梯度项 g j g_j gj
    (6)   根据 e h = b h ( 1 − b h ) ∑ j = 1 l w h j g j \displaystyle e_h=b_h(1-b_h)\sum_{j=1}^l w_{hj} g_j eh=bh(1bh)j=1lwhjgj隐藏层神经元的梯度项 e h e_h eh
    (7)   更新连接权 w h j , v i h w_{hj},v_{ih} whj,vih与阈值 θ j , γ h \theta_j,\gamma_h θj,γh
    (8)  end for
    (9) until 达到停止条件
    输出: 连接权与阈值确定的多层前馈神经网络
  • BP算法更新规则:
      基于每个样本的预测值与真实类标的均方误差来进行权值调节,即每次更新只针对单个样例。其最终目标是要最小化整个训练集 D D D上的累积误差,即: E = 1 m ∑ k = 1 m E k \displaystyle E=\frac{1}{m} \sum_{k=1}^m E_k E=m1k=1mEk
  • 通过“试错法”设置隐含层神经元个数,使得多层前馈网络能够逼近连续函数。
  • 解决BP网络的过拟合:
    1. 早停(early stopping):将数据分为训练集与验证集,训练集用于计算梯度、更新连接权重和阈值,验证集用于评估误差,若在训练过程中,训练集误差降低,而验证集误差升高,则停止训练。
    2. 正则化(regularization):在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权重与阈值的平方和,其中 λ ∈ ( 0 , 1 ) \lambda \in (0,1) λ(0,1)用于对经验误差与网络复杂度这两项进行折中,常通过交叉验证法来估计。
      E = λ 1 m ∑ k = 1 m E k + ( 1 − λ ) ∑ i w i 2 E=\lambda \frac{1}{m} \sum_{k=1}^m E_k+(1-\lambda) \sum_{i} w_i^2 E=λm1k=1mEk+(1λ)iwi2

你可能感兴趣的