• 径向基函数神经网络模型与学习算法


    1985年,Powell提出了多变量插值的径向基函数(RBF)方法。1988年Moody和Darken提出了一种神经网络结构,即RBF神经网络,属于前向神经网络类型,它能够以任意精度逼近任意连续函数,特别适合于解决分类问题。

    RBF网络的结构与多层前向网络类似,它是一种三层前向网络。输入层由信号源结点组成,第二层为隐含层,隐单元数视所描述问题的需要而定,隐单元的变换函数是RBF,它是对中心点径向对称且衰减的非负非线性函数,第三层为输出层,它对输入模式的作用作出相应。从输入空间到隐含层空间的变换是非线性的,而从隐含层空间到输出层空间变换是线性的。

    RBF网络的基本思想是:用RBF作为隐单元的“基”构成隐含层空间,这样就可以将输入矢量直接映射到隐空间,而不需要通过权连接。当RBF的中心点确定以后,这种映射关系也就确定了。而隐含层空间到输出空间的映射是线性的,即网络的输出是隐单元输出的线性加权和,此处的权即为网络可调参数。从总体上看,网络由输入到输出的映射是非线性的,而网络输出对可调参数而言却又是线性的。这样,网络由输入到输出的映射是非线性的,而网络输出对可调参数而言却又是线性的。这样网络的权就可由线性方程组直接解出,从而大大加快学习速度并避免局部极小问题。

    RBF神经网络模型

    径向基神经网络的激活函数采用径向基函数,通常定义为空间任一点到某一中心之间欧氏距离的单调函数。径向基神经网络的激活函数是以输入向量和权值向量之间的距离(Vert dist Vert) 为自变量的。径向神经网络的激活函数一般表达式为 $$R(Vert dist Vert) = e^{-Vert dist Vert^2}$$
    随着权值和输入向量之间距离的减少,网络输出是递增的,当输入向量和权值向量一致时,神经元输出1。b为阈值,用于调整神经元的灵敏度。利用径向基神经元和线性神经元可以建立广义回归神经网络,该种神经网络适用于函数逼近方面的应用;径向基神经元和竞争神经元可以组件概率神经网络,此种神经网络适用于解决分类问题。输出层和隐含层所完成的任务是不同的,因而它们的学习策略也不相同。输出层是对线性权进行调整,采用的是线性优化策略,因而学习速度较快。而隐函数是对激活函数(格林函数或高斯函数,一般为高斯函数)的参数进行调整,采用的是非线性优化策略,因而学习速度较慢。

    尽管RBF网络的输出是隐单元输出的线性加权和,学习速度加快,但并不等于径向基神经网络就可以取代其他前馈网络。这是因为径向神经网络很可能需要比BP网络多得多的隐含层神经元来完成工作。

    RBF网络学习算法

    RBF神经网络学习算法需要求解的参数有3个:基函数的中心、方差以及隐含层到输出层的权值。根据径向基函数中心选取方法的不同,RBF网络有多种学习方法。下面介绍自组织选取中心的RBF神经网络学习法。此方法由两个阶段组成:

    1. 自组织学习阶段,此阶段为无监督学习过程,求解隐含层基函数的中心与方差;
    2. 监督学习阶段,此阶段求解隐含层到输出层之间的权值。

    径向基神经网络中常用的径向基函数是高斯函数,因此径向基神经网络的激活函数可表示为:$$R(x_p-c_i) = exp(-frac{1}{2sigma^2}Vert x_p - c_i Vert^2)$$

    由此可得,径向基神经网络的结构可得到网络的输出为:$$y_j = sum^h_{i=1}w_{ij}exp(-frac{1}{2sigma^2}Vert x_p - c_i Vert^2) j = 1,2,cdots, n$$

    其中(x_p) 为第p个输入样本。h为隐含层的结点数。

    如果d是样本的期望输出值,那么基函数的方差可表示为:$$sigma = frac{1}{P}sum^m_jVert d_j - y_jc_i Vert^2$$

    基于K-均值聚类方法求取基函数中心c

    1. 网络初始化 随机选取h个训练样本作为聚类中心(c_i)
    2. 将输入的训练样本集合按最近邻规则分组,按照(x_p) 与中心为 (c_i) 之间的欧式距离将(x_p) 分配到输入样本的各个聚类集合 (vartheta_p) 之中。
    3. 重新调整聚类中心 计算各个聚类集合 (vartheta_p) 中训练样本的平均值,即新的聚类中心 (c_i), 如果新的聚类中心不再发生变化,所得到的 (c_i) 就是RBF神经网络最终的基函数中心,否则返回2进行下一轮求解

    求解方差(sigma_i)

    该RBF神经网络的基函数为高斯函数,因此方差 (sigma_i) 可由下式求解得出:$$sigma_i = frac{c_{max}}{sqrt{2h}} i=1,2,cdots,h$$

    其中 (c_{max}) 是所选取中心之间的最大距离

    计算隐含层和输出层之间的权值

    用最小二乘法直接计算得到: $$w = exp(frac{h}{c^2_{max}} Vert x_p - c_i Vert^2) p = 1,2,cdots,P;i=1,2,cdots, h$$

  • 相关阅读:
    VS2019基于windows类库创建单元测试报错解决方法
    scp 跨机远程拷贝
    java递归查询部门
    使用jOrgChart插件生成树形图
    让你页面上所有的非http请求强制转成https请求
    js对金额格式化————脑子不好使总忘
    去除相邻的重复元素 122345556 -> 123456
    打包时无法引入外部jar
    计算list里连续出现的值
    VirtualBox安装Centos双网卡(访问外网+固定IP)
  • 原文地址:https://www.cnblogs.com/gscienty/p/6566579.html
Copyright © 2020-2023  润新知