简介:本文主要介绍了简单二分神经网络的公式推导过程。

欢迎探讨,如有错误敬请指正

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

如需转载,请注明出处 http://www.cnblogs.com/nullzx/

1. 数据表示说明

定义一个名为n的列表

n[i]表示第i层的节点数 i从0开始

L = len(n)-1表示神经网络的层数,网络的层数从第0层开始

W[i]的维度为(n[i], n[i-1]) i从1开始

b[i]的维度为(n[i], 1) i从1开始

二分类神经网络公式推导过程 人工智能 第1张

二分类神经网络公式推导过程 人工智能 第2张

 

2. 正向传播

X表示训练样本矩阵,每个训练样本有d个特征,有m个训练样本,所以X的维度是(d, m) 即n[0] = d

二分类神经网络公式推导过程 人工智能 第3张

二分类神经网络公式推导过程 人工智能 第4张

二分类神经网络公式推导过程 人工智能 第5张

二分类神经网络公式推导过程 人工智能 第6张

二分类神经网络公式推导过程 人工智能 第7张表示第i层的激活函数

二分类神经网络公式推导过程 人工智能 第8张 维度 (n[i], m)一个样本对应一列

二分类神经网络公式推导过程 人工智能 第9张 维度 (n[i], m)一个样本对应一列

 

3. 交叉熵损失函数的推导过程

二分类神经网络公式推导过程 人工智能 第10张

“*”表示对应元素相乘,二分类神经网络公式推导过程 人工智能 第11张表示第i个样本的真实值,二分类神经网络公式推导过程 人工智能 第12张表示第i个样本的预测值,也就是神经网络最后一层的输出。

对于二分类的神经网络来说,最后一层的激活函数一般都是sigmoid函数

sigmoid函数由下列公式定义

二分类神经网络公式推导过程 人工智能 第13张

二分类神经网络公式推导过程 人工智能 第14张

从图中可知,最后一层的输出为0~1之间,可以看做概率。我们可以把二分神经网络看成一个概率模型,输入为一些特征,输出为概率,而且满足二项分布

二分类神经网络公式推导过程 人工智能 第15张 表示真实值为1时,神经网络预测准确的概率

二分类神经网络公式推导过程 人工智能 第16张 表示真实值为0时,神经网络预测准确的概率,我们可以将上面的分段函数写成一个表达式

二分类神经网络公式推导过程 人工智能 第17张

所以上式表示了神经网络预测准确的概率。

当前有m个样本,那么like表示了这m个样本同时预测准确的概率

二分类神经网络公式推导过程 人工智能 第18张

      二分类神经网络公式推导过程 人工智能 第19张

我们的目的就是让like取最大值,由于对数函数ln(x)是一个单调函数,所以当like函数取最大值时,ln(like)一定取得最大值

二分类神经网络公式推导过程 人工智能 第20张

ln(like)取得最大值等价于下面的值取得最小。

二分类神经网络公式推导过程 人工智能 第21张

而这个就是损失函数,初始化时w和b随机,我们通过随机梯度下降法,得到w和b使得损失函数最小。

另一方面,我们还可以通过信息论的角度推导交叉熵

二分类神经网络公式推导过程 人工智能 第22张

 

4. 反向传播(随机梯度下降法)

L表示最后一层,从最后一层开始,由损失函数逐步向后求导

二分类神经网络公式推导过程 人工智能 第23张

二分类神经网络公式推导过程 人工智能 第24张

一般情况下

二分类神经网络公式推导过程 人工智能 第25张

sigmoid的导数可以用自身表示:

二分类神经网络公式推导过程 人工智能 第26张

所以二分类神经网络公式推导过程 人工智能 第27张

二分类神经网络公式推导过程 人工智能 第28张

二分类神经网络公式推导过程 人工智能 第29张 一定是维度 (1, m)一个样本对应一列(也就是一个数值),

假设已经知道了二分类神经网络公式推导过程 人工智能 第30张 ,它的维度是(n[i], m),则可以推出三点:

1)二分类神经网络公式推导过程 人工智能 第31张 ,它的维度是(n[i], m) 乘以(n[i-1], m)T

2)二分类神经网络公式推导过程 人工智能 第32张,它的维度是(n[i], 1)

3)二分类神经网络公式推导过程 人工智能 第33张

它的维度是(n[i+1], n[i]).T乘以(n[i+1], m)

同理还可以继续推出

二分类神经网络公式推导过程 人工智能 第34张

*表示对应元素相乘,而二分类神经网络公式推导过程 人工智能 第35张就是激活函数的求导,这样就可以继续向下求导了

 

5. 参数更新

二分类神经网络公式推导过程 人工智能 第36张

二分类神经网络公式推导过程 人工智能 第37张

k表示学习速度

二分类神经网络公式推导过程 人工智能 第38张维度 (n[i], m) 一个样本对应一列

二分类神经网络公式推导过程 人工智能 第39张维度 (n[i], 1) 一个样本对应一行

二分类神经网络公式推导过程 人工智能 第40张 维度 (n[i], n[i-1])

二分类神经网络公式推导过程 人工智能 第41张 维度 (n[i], m)

 

6. 通过具体的例子解释反向传播的公式

二分类神经网络公式推导过程 人工智能 第42张

对于上图神经网络的而言的一个训练样本而言,在求导的过程中我们应该把二分类神经网络公式推导过程 人工智能 第43张看成一个有关二分类神经网络公式推导过程 人工智能 第44张的超多元函数

二分类神经网络公式推导过程 人工智能 第45张的维度(1,1)

二分类神经网络公式推导过程 人工智能 第46张的维度(1,1)

二分类神经网络公式推导过程 人工智能 第47张就是一个数

我们从最后一层开始反向传播

二分类神经网络公式推导过程 人工智能 第48张 维度(1,1)

二分类神经网络公式推导过程 人工智能 第49张

二分类神经网络公式推导过程 人工智能 第50张

二分类神经网络公式推导过程 人工智能 第51张

二分类神经网络公式推导过程 人工智能 第52张
二分类神经网络公式推导过程 人工智能 第53张

二分类神经网络公式推导过程 人工智能 第54张

二分类神经网络公式推导过程 人工智能 第55张

注意最后推导出来的结果是两个矩阵的乘法

二分类神经网络公式推导过程 人工智能 第56张 维度(1,3)

二分类神经网络公式推导过程 人工智能 第57张 维度(1,1)

继续向前一层进行反向传播

二分类神经网络公式推导过程 人工智能 第58张

二分类神经网络公式推导过程 人工智能 第59张
二分类神经网络公式推导过程 人工智能 第60张

所以二分类神经网络公式推导过程 人工智能 第61张维度(3,1),还因为 二分类神经网络公式推导过程 人工智能 第62张,所以

二分类神经网络公式推导过程 人工智能 第63张

二分类神经网络公式推导过程 人工智能 第64张

二分类神经网络公式推导过程 人工智能 第65张

二分类神经网络公式推导过程 人工智能 第66张

维度(3,1)

因为

二分类神经网络公式推导过程 人工智能 第67张

展开可得

二分类神经网络公式推导过程 人工智能 第68张

现在将成本函数二分类神经网络公式推导过程 人工智能 第69张看成由二分类神经网络公式推导过程 人工智能 第70张这12个自变量的函数(为啥是12个,因为每一个二分类神经网络公式推导过程 人工智能 第71张都是一个1行4列的向量)

成本函数二分类神经网络公式推导过程 人工智能 第72张对着12个参数求导就形成了一个矩阵

二分类神经网络公式推导过程 人工智能 第73张

这矩阵正好可以表示成

二分类神经网络公式推导过程 人工智能 第74张

维度(3,1)乘 维度(4,1)T 形成一个(3,4)的矩阵

现在将成本函数二分类神经网络公式推导过程 人工智能 第75张看成由二分类神经网络公式推导过程 人工智能 第76张这4个自变量的函数(为啥是4个,因为二分类神经网络公式推导过程 人工智能 第77张是一个4行1列的向量)

成本函数二分类神经网络公式推导过程 人工智能 第78张对着4个参数求导就形成了一个四行一列的向量

二分类神经网络公式推导过程 人工智能 第79张

这个矩阵恰好可以表示成

二分类神经网络公式推导过程 人工智能 第80张

通用形式:

二分类神经网络公式推导过程 人工智能 第81张

同理有了二分类神经网络公式推导过程 人工智能 第82张就可以推出二分类神经网络公式推导过程 人工智能 第83张 进而可以推出二分类神经网络公式推导过程 人工智能 第84张二分类神经网络公式推导过程 人工智能 第85张

对于m个样本而言,我们求得的某个参数的导数是m样本分别对这个参数求导的平均值。至此反向传播过程推导推导完毕。

 

7. 参考内容

[1]. 浅谈神经网络算法

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄