当前位置:网站首页 > 技术博客 > 正文

rbf(机器学习(一)——BP、RBF(径向基)、GRNN(广义回归)、PNN(概率)神经网络对比分析(附程序、数据))



对比分析了几种常见的神经网络《BP、RBF(径向基)、GRNN(广义回归)、PNN(概率)》,并在文末附代码,想要训练测试数据可以。

1. BP神经网络:
BP神经网络是一种多层的前馈神经网络,有导师学习的神经网络。其主要的特点是:信号是前向传播的,而误差是反向传播的。具体来说,对于如下的只含一个隐层的神经网络模型:输入向量应为n个特征。
在这里插入图片描述
BP神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。
其中神经元,或称神经单元/神经节点,是神经网络基本的计算单元,其计算函数称为激活函数(activation function),用于在神经网络中引入非线性因素,可选择的激活函数有:Sigmoid函数、双曲正切函数(tanh)、ReLu函数(Rectified Linear Units),softmax等。
训练一个神经网络的全流程:
1.初始化神经网络,对每个神经元的w和b赋予随机值;
2.输入训练样本集合,对于每个样本,将输入给到神经网络的输入层,进行一次正向传播得到输出层各个神经元的输出值;
3.求出输出层的误差,再通过反向传播算法,向后求出每一层(的每个神经元)的误差;
4.通过误差可以得出每个神经元的∂C/∂w、∂C/∂b,再乘上负的学习率(-η),就得到了Δw、Δb,将每个神经元的w和b更新为 w+Δw、b+Δb;
完成训练之后,一般情况下我们都能得到一个损失比较小的神经网络。









下面是RBF,GRNN,PNN神经网络,相比最经典BP神经网络(Backpropagation neural networks,误差是反向传播,而输入到输出是前向传播的,相对这种有导师学习的神经网络,它的原理相对简单,但是它的参数比较多,需要调整的空间比较大。比如权值和阈值的确定困难。),这三个神经网络的参数只有一个spread, 因此要十分注意spread的选择。

2. RBF(径向基)神经网络:
通过对比来了解RBF神经网络。与 BP 神经网络的区别在于训练过程——其参数初始化具有一定方法,并非随机,隐含层的末尾使用了径向基函数,它的输出经过加权和得到。
在这里插入图片描述
径向基函数(Radial Basis Function,RBF)神经网络是一种三层网络.其学习过程和BP算法类似,二者的主要区别在于:
(1)隐藏层的激活函数不同,BP算法的激活函数是sigmod函数,RBF的激活函数是高斯基函数;
(2)BP算法是全局的逼近,每次学习都要进行所有网络连接的权重迭代更新,RBF是一种局部逼近,其输入层到输层是非线性映射,但其隐藏层到输出层是线性映射的.且输入层到隐藏层直接求和,不需要参数迭代。
RBF神经网络是一种性能优良的前馈型神经网络,RBF网络可以任意精度逼近任意的非线性函数,且具有全局逼近能力,从根本上解决了BP网络的局部最优问题,而且拓扑结构紧凑,结构参数可实现分离学习,收敛速度快。
RBF网络的优点:
① 它具有唯一最佳逼近的特性,且无局部极小问题存在。
② RBF神经网络具有较强的输入和输出映射功能,并且理论证明在前向网络中RBF网络是完成映射功能的最优网络。
③ 网络连接权值与输出呈线性关系。
④ 分类能力好。
⑤ 学习过程收敛速度快。
总结:RBF网络和BP网络一样能以任意精度逼近任何非线性函数。但由于它们使用的激励函数不同,其逼近性能也不相同。Poggio和Girosi已经证明,RBF网络是连续函数的最佳逼近,而BP网络不是。BP网络使用的Sigmoid函数具有全局特性,它在输入值的很大范围内每个节点都对输出值产生影响,并且激励函数在输入值的很大范围内相互重叠,因而相互影响,因此BP网络训练过程很长。此外,由于BP算法的固有特性,BP网络容易陷入局部极小的问题不可能从根本上避免,并且BP网络隐层节点数目的确定依赖于经验和试凑,很难得到最优网络。采用局部激励函数的RBF网络在很大程度上克服了上述缺点,RBF不仅有良好的泛化能力,而且对于每个输入值,只有很少几个节点具有非零激励值,因此只需很少部分节点及权值改变。学习速度可以比通常的BP算法提高上千倍,容易适应新数据,其隐层节点的数目也在训练过程中确定,并且其收敛性也较BP网络易于保证,因此可以得到最优解。












3. GRNN神经网络(函数逼近)
输入层和隐含层与 RBF 神经网络一致,这里的 直接由输出矩阵代替,并在隐含层与输出层之间和激活函数进行点乘。
在这里插入图片描述
(尤其适合解决曲线拟合问题)广义回归神经网络是径向基神经网络的一种,径向基神经元和线性神经元可以建立广义回归神经网络,它是径RBF网络的一种变化形式,经常用于函数逼近。在某些方面比RBF网络更具优势。GRNN具有很强的非线性映射能力和学习速度,比RBF具有更强的优势,网络最后普收敛于样本量集聚较多的优化回归,样本数据少时,预测效果很好,网络还可以处理不稳定数据。


4. PNN神经网络(模式分类)
径向基神经元和竞争神经元还可以组成概率神经网络。PNN也是RBF的一种变化形式,结构简单训练快捷,特别适合于模式分类问题的解决。
输入层和隐含层与RBF神经网络一致,不同点是最后的输出环节使用了一个竞争函数。概率神经网络(Probabilistic Neural Network)的网络结构类似于RBF神经网络,但不同的是,PNN是一个前向传播的网络,不需要反向传播优化参数。这是因为PNN结合了贝叶斯决策,来判断测试样本的类别。
在这里插入图片描述
与传统BP 网络相比较,PNN 网络具有如下主要优点 :
(1) 训练快速,其训练时间仅仅略大于读取数据的时间。
(2) 无论分类问题多么复杂,只要有足够多的训练数据,可以保证获得贝叶斯准则下的最优解。
(3) 允许增加或减少训练数据而无需重新进行长时间的训练。
总结:概率神经网络一般有以下四层:输入层、模式层、求和层和输出层。有的资料中也把模式层称为隐含层,把求和层叫做竞争层。其中,输入层负责将特征向量传入网络,输入层个数是样本特征的个数。模式层通过连接权值与输入层连接。计算输入特征向量与训练集中各个模式的匹配程度,也就是相似度,将其距离送入高斯函数得到模式层的输出。模式层的神经元的个数是输入样本矢量的个数,也就是有多少个样本,该层就有多少个神经元。求和层,就是负责将各个类的模式层单元连接起来,这一层的神经元个数是样本的类别数目。输出层的话,就负责输出求和层中得分最高的那一类。(在分类问题上,有优势)







总结这三种网络,由上图可以得出他们的主要区别是在输出层,即RBF、GRNN、PNN的各自的输出层分别是Linear Layer、Special Linear Layer、Competitive Layer,即在编写代码的时候,只要注意改变他们在输出层代码的区别。

程序:
BP:

 
  

RBF:

 
  

GRNN、PNN:

 
  

                            

  • 上一篇: iframe页面
  • 下一篇: okhttp入门
  • 版权声明


    相关文章:

  • iframe页面2025-12-04 07:01:03
  • React有必要用ts吗2025-12-04 07:01:03
  • uvm import2025-12-04 07:01:03
  • malloc函数中的*是什么意思2025-12-04 07:01:03
  • 基于java的管理系统2025-12-04 07:01:03
  • okhttp入门2025-12-04 07:01:03
  • 适配器模式的应用实例2025-12-04 07:01:03
  • 安卓线程间通信的几种方法2025-12-04 07:01:03
  • ts在vue中的用法2025-12-04 07:01:03
  • rbac数据权限2025-12-04 07:01:03