Skip to content

Files

Latest commit

c60fde8 · Dec 20, 2018

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Dec 20, 2018
May 17, 2018
May 7, 2018
Jul 3, 2018

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个样本组成的数据集。

    表示的导数。

    • 分类问题

    交叉熵成本函数为:

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

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

    即可。

  • 梯度下降