Skip to content

Latest commit

 

History

History
91 lines (44 loc) · 16.8 KB

File metadata and controls

91 lines (44 loc) · 16.8 KB

BPNN Theory

理论推导

  • 符号说明

    1. 神经网络的层数m,也就是包括m-2个隐层;

    2. 输入层为I,其节点数等于单个样本的输入属性数N_i;

      隐层输出为Hh,h为1到m-2,每一个隐层的节点数为Nh;

      输出层为O,其节点数等于单个样本的输出属性数N_o;

      样本真实输出为R;

    3. 层之间连接的权重为Wq,q为0到m-2,Wq矩阵的大小为(g, t), g为该隐层前一层的节点数,t为该隐层的节点数;

      对应的偏置为Bq,q为0到m-2,Bq矩阵的大小为(1, t), t为该隐层的节点数;

    4. 隐层的激活函数Ah,h为0到m-2。每一层的激活函数可以不同,但是大多数情形下设置为相同的;

      常用的激活函数:Sigmoid,Tanh,ReLU。选择激活函数时一定要注意:输出层激活函数的输出尺度一定要和样本的输出数据是同一尺度。例如Sigmoid的输出的数值是0-1之间,因此样本的输出也应该转化到0-1之间

    5. 输出层O与样本真实输出R之间的成本函数C,回归问题用最小二乘函数, 分类问题用交叉熵函数;

    6. s为子样本数,也就是一次训练过程中的样本数。当s为1是在线学习;当s为k,也就是全部样本数,为增量学习;s为小于K的其他数值为批量学习,比较常用;

    7. 运算符号说明为numpy数组的广播运算加法;为矩阵对应元素相乘;表示矩阵之间的乘法;

  • 网络结构图示

image

  • 样本结构说明

    • 输入数据

    ,其中每一行表示一个样本的输入,每个样本有N_i个输入属性, 样本数为k;

    • 输出数据

    ,其中每一行表示一个样本的输出,每个样本有N_o个输出属性, 样本数为k;

  • 正向传播

  • 反向传播

    • 回归问题

    最小二乘成本函数为:

    依据链式求导法则以及向量化,计算出成本函数对于每一个权重以及偏置的偏导数:

    为一次训练输入的s个样本组成的数据集。

    表示的导数。

    • 分类问题

    交叉熵成本函数为:

    计算梯度的方式和回归问题相似,就是将回归问题中的成本函数的导数

    变为交叉熵成本函数的导数

    即可。

  • 梯度下降