fengchuicaodong

一、神经元(Neuron)

一个简单的神经元数学模型如下:

 

  一个神经元由多个输入x、一个偏置项b和一个输出组成。每个输入对输出的影响都不一样,用权限w表示,多个输入和对应权重w的卷积,为神经元的直接输入值,然后经过激励函数映射得到输出值。

输入:                                                     输出:

                                      

 

 

 

二、激励函数

  假设激励函数为线性函数f=x,且假设神经元只有一个输入,那么节点输入可以退化为一条线:y=wx+b,如果神经元由两个输入,那么节点输入退化为一个面:y=w1*x1+w2*x2+b,以此递推任意多个输入,节点输入则是一个高度复杂的超平面,偏置项b则是超平面与y=0轴的截距。

  实际过程中,激励函数很多是非线性的,可以将简单的线性输入转化为复杂的非线性输出。常见的激励函数参考1、2

 

三、神经网络

神经网络是由任意多个神经元组成的神经元网络,由输出层、隐藏层、输出层组成。

网络层数=隐藏层数+2(输入层和隐藏层)

  1989Robert Hecht-Nielsen证明了对于任何闭区间内的一个连续函数都可以用一个隐含层的BP网络来逼近,这就是万能逼近定理。所以一个三层的BP网络就可以完成任意的m维到n维的映射。即这三层分别是输入层(I),隐含层(H),输出层(O。既然三层神经网络就能进行逼近,为什么还要多层网络呢?因为隐藏数增多,则可以减少隐藏层神经元节点个数。且多层网络从仿生学来说,更加贴合大脑中的神经网络结构。

 

四、BP算法推导

BP算法是求解神经网络的常用方法。它是利用误差反向传播,来调节神经网络中的权重和偏置项,从而达到求解网络的算法。深度了解BP算法必须要掌握以下知识点:

1) 梯度下降法;

2) 复合求导;

3) 损失函数基本概念;

4.1梯度下降法

梯度下降法是BP算法的核心,利用梯度下降更新权重和偏置项。梯度下降核心思想是沿着梯度下降的方向更新变量,就能找到最小值。详细介绍可以参考3.

4.2样本数据

假设有样本集合,有n个样本,其中输入,输出。输入有m个特征值组成,输出由p个输出组成。如第i个样本为,输出为

4.3 损失函数

利用梯度下降法必须要有目标函数(或者损失函数),算法的目的是使得目标最小。对于某个样本输入,对应的输入为,假设输入样本在神经网络中输出的期望值为。那么本次的损失可以表示为:

n个样本的损失可以表示为:

4.4 BP算法思想

对于某个输入样本X,计算其对应的期望输出D,让后求出输出层每个节点的误差,L-1层的误差又可以由输出层得到,以此递推,可以求得整个网络神经元的误差,再根据误差调整网络中的权重和偏置项。遍历所有样本最终得到整个网络的w,b

4.5 符号定义

假设网络层数为L表示第层第i个神经元,表示神经元与神经元的连接权重,表示神经元的偏置项。

4.6详细推导

根据梯度下降法原理,需要求损失函数Jw,b的偏导数,因为每次输入样本后求误差,所以只需要用单个样本的损失函数进行求导即可。

先考虑输入层(L层):

求偏导(第L层第k个神经元连接第L-1层第j个神经元权重):

 

 

 再分析第L-1层:

 

 求第L-1层第i个神经元连接到第L-2层第j个神经元的权重

 

 

4.7 总结

 

分类:

技术点:

相关文章:

  • 2021-11-19
  • 2021-10-11
  • 2021-09-29
  • 2021-09-28
  • 2021-12-28
  • 2021-12-10
  • 2021-08-10
猜你喜欢
  • 2021-10-14
  • 2021-05-16
  • 2021-09-28
  • 2021-10-01
  • 2021-09-12
相关资源
相似解决方案