深度学习--神经网络基础算法--BP/RBF算法理论

目录

一 BP神经网络(隐层层数不做限制)

1 前提

1)神经元的层次为3层(隐层只有一层),神经元的连接结构为全连接形式

2)激活函数使用S型函数

3)权重的学习算法,使用BP算法

2 训练阶段

1)数学符号解释

2)损失函数(采用平方和损失,对单个样本的损失)

3)计算FP

4)计算BP

5)权重更新(使用梯度下降算法)

二 RBF神经网络(径向基神经网络,隐层仅有一层)

1 前提

1)神经元的层次为3层(隐层只有一层),神经元的连接结构为全连接形式

2)激活函数使用RBF函数(径向基函数)

3)权重的学习算法,使用BP算法

2 训练阶段

1)第一阶段:无监督学习

2)第二阶段:有监督学习

三 BP神经网络与RBF神经网络联系与区别

1 联系

1)都是前馈神经网络,神经元采用全连接形式

2)参数更新都是采用梯度下降方式

2 区别

1)BP神经网络层次不做限制,RBF神经网络隐层仅有一层

2)BP神经网络激活函数使用S型函数,RBF神经网络激活函数使用径向基函数

3)BP神经网络是全局逼近网络,RBF神经网络是局部逼近网络


一 BP神经网络(隐层层数不做限制)

注意:层数过多,会导致梯度消失或者梯度爆炸问题(使用链式法则影响)

1 前提

1)假定神经元的层次为3层(隐层只有一层),神经元的连接结构为全连接形式

2)激活函数使用S型函数

3)参数的学习算法,使用BP算法

2 训练阶段

1)数学符号解释

  • E:表示总损失
  • d:表示标签真实概率大小(k维向量)
  • o:表示标签预测概率大小(k维向量)
  • net:表示该神经元的全连接线性组合
  • f:表示激活函数

2)损失函数(采用平方和损失,对单个样本的损失)

第一点:输出层损失

E=\frac{1}{2}(d-o)^{2}= \frac{1}{2}\sum_{l=1}^{k}(d_{l}-o_{l})^{2}

第二点:中间层损失(截距内化于特征中)

E=\frac{1}{2}\sum_{l=1}^{k}(d_{k}-f(net_{l}))^{2}=\frac{1}{2}\sum_{l=1}^{k}[d_{k}-f(\sum_{j=1}^{m+1}w_{jl}y_{j})]^{2}

第三点:输入层损失(截距内化于特征中)

E=\frac{1}{2}\sum_{l=1}^{k}[d_{k}-f(\sum_{j=1}^{m+1}(w_{jl}f(net_{j})]^{2}= \frac{1}{2}\sum_{l=1}^{k}[d_{k}-f(\sum_{j=1}^{m+1}(w_{jl}f(\sum_{i=1}^{n+1}w_{ij}x_{i})))]^{2}

3)计算FP

正向传播过程,计算各个神经元输出值

4)计算BP

反向传播过程,对损失函数求导,使用链式法则,计算各个神经元权重梯度

5)权重更新(使用梯度下降算法)

w^{k+1}=w^{k}-\alpha \bigtriangledown_{w} E\Rightarrow E\rightarrow 0

二 RBF神经网络(径向基神经网络,隐层仅有一层)

1 前提

1)神经元的层次为3层(隐层只有一层),神经元的连接结构为全连接形式

2)激活函数使用RBF函数(径向基函数)

3)参数的学习算法,使用BP算法

2 训练阶段

1)第一阶段:无监督学习

对m个样本进行聚类(或者随机选择),得到p个中心点c

2)第二阶段:有监督学习

第一步:使用径向基函数(指数衰减函数,即距离中心点越近,反应越大/值越大)

G(x,c)=e^{-\gamma |x-c|_{2}^{2}}

注意:|x-c|_{2}^{2}称为扩展函数

第二步:对隐层进行线性组合(截距内化到特征中)

y=\sum_{i=1}^{p}w_{i}G(x,c_{i})

第三步:损失函数(对所有样本的损失)

E=\frac{1}{2}\sum_{i=1}^{m}e_{i}^{2}=\frac{1}{2}\sum_{i=1}^{m}(d_{i}-\sum_{j=1}^{p}w_{j}G(x,c_{j}))^{2}

第四步:使用梯度下降算法,更新wc\gamma

E\rightarrow 0

三 BP神经网络与RBF神经网络联系与区别

1 联系

1)都是前馈神经网络,神经元采用全连接形式

2)参数更新都是采用梯度下降方式

2 区别

1)BP神经网络层次不做限制,RBF神经网络隐层仅有一层

2)BP神经网络激活函数使用S型函数,RBF神经网络激活函数使用径向基函数

3)BP神经网络是全局逼近网络(收敛速度慢),RBF神经网络是局部逼近网络(收敛速度快)

注意:

  • 全局逼近:当神经网络中一个或者多个参数对任何一个输出都有一定程度上影响
  • 局部逼近:当输入空间的某个局部区域只有少数几个连接权重影响输出