RBF网络 radial basis function network 径向基函数神经网络

也是一种前向型的神经网络,和BP神经网络的区别在于训练过程上面。
RBF神经网络的隐含层和输入层的权值(IW1,1)不是随机确定的,有固定的方式MATLAB中=P的转置。
假设连接权值已经固定,每一列(代表一个样本)计算距离||dist||(欧氏距离),再与连接阈值b1进行相乘。两项结果点乘。
比如假设有一个测试集的样本和训练集中的某一个样本非常接近,那么该样本计算出的距离就很小接近于0,经过激活函数,就是接近于1。
RBF是具有单隐层的三层前向网络。
第一层为输入层,由信号源节点组成。
第二层为隐藏层,隐藏层节点数视所描述问题的需要而定,隐藏层中神经元的变换函数即径向基函数是对中心点径向对称且衰减的非负线性函数,该函数是局部响应函数,具体的局部响应体现在其可见层到隐藏层的变换跟其它的网络不同。以前的前向网络变换函数都是全局响应的函数。
第三层为输出层,是对输入模式做出的响应。输入层仅仅起到传输信号作用,输入层和隐含层之间之间可以看做连接权值为1的连接,输出层与隐含层所完成的任务是不同的,因而他们的学习策略也不同。输出层是对线性权进行调整,采用的是线性优化策略,因而学习速度较快;而隐含层是对激活函数(格林函数,高斯函数,一般取后者)的参数进行调整,采用的是非线性优化策略,因而学习速度较慢。对于这句话的理解,从下面的层与层之间的变换可以发现。
MATLAB中分为两类,近似型和精确型
现看精确型,RBF的激活函数形为开口向下的抛物线(输入为0时输出1,输入越大的时候输出最小)隐含层对两组数据进行求差, 若当前的输入和之前的某一组数据很相似,则输出为1
spread控制着径向基函数和样本之间的一个关系。如果spread设置的比较大,那么b1将会变小,那么激活函数的输入就会变小,当算出来的距离相同时,激活函数的输出会变大,那么针对每一个测试集的样本,训练集中的每一个的样本对测试的贡献都会变大,每一个样本和待测样本都很接近,区分不明显。如果调的过小,那么每一个都不接近,也不合适。需要进行调整。
如果在训练集中,本身某一个样本就是一个异常样本,BF和RBF网络往往会受影响,针对这种问题,下面两种网络有一定的包容性。
GRNN神经网络:广义回归神经网络(General Regression Neural Network)

广义回归神经网络和RBF神经网络很像。输入层和隐含层一模一样,LW21用训练集的输出矩阵来代替,那么如果测试集中的某一个样本和训练集中第i个样本非常接近,那么a1会很接近于1,那么n2就会非常接近LW21的第i个元素。
PNN神经网络:概率神经网络(Probabilistic Neural Network)

输出层有一定的变化,输出的时候使用的不是线性函数而是一个竞争函数。
只取出一个最大的训练集样本对应的label作为测试集预测的结果,重要函数(ind2vec)