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

径向基网络



谷歌的人工智能位于全球前列,在图像识别、语音识别、无人驾驶等技术上都已经落地。而百度实质意义上扛起了国内的人工智能的大旗,覆盖无人驾驶、智能助手、图像识别等许多层面。苹果业已开始全面拥抱机器学习,新产品进军家庭智能音箱并打造工作站级别Mac。另外,腾讯的深度学习平台Mariana已支持了微信语音识别的语音输入法、语音开放平台、长按语音消息转文本等产品,在微信图像识别中开始应用。全球前十大科技公司全部发力人工智能理论研究和应用的实现,虽然入门艰难,但是一旦入门,高手也就在你的不远处! AI的开发离不开算法那我们就接下来开始学习算法吧!

径向基函数(Radial Basis Function ,RBF)

径向基函数(RBF,Radial Basis Function)神经网络,是一种对局部逼近的神经网络。是由J.Moody 和C.Darken于20世纪80年代末提出的一种神经网络,径向基函数方法在某种程度上利用了多维空间中传统的严格插值法的研究成果。在神经网络的背景下,隐藏单元提供一个“函数”集,该函数集在输入模式向量扩展至隐层空间时为其构建了一个任意的“基”;这个函数集中的函数就被称为径向基函数。径向基函数首先是在实多变量插值问题的解中引入的。径向基函数是目前数值分析研究中的一个主要领域之一。

最基本的径向基函数(RBF)神经网络的构成包括三层,其中每一层都有着完全不同的作用。输入层由一些感知单元组成,它们将网络与外界环境连接起来;第二层是网络中仅有的一个隐层,它的作用是从输入空间到隐层空间之间进行非线性变换,在大多数情况下,隐层空间有较高的维数;输出层是线性的,它为作用于输入层的激活模式提供响应。

基本的径向基函数RBF网络是具有单稳层的三层前馈网络。由于它模拟了人脑中局部调整、相互覆盖接受域(或称感受域,Receptive Field)的神经网络结构,因此,RBF网络是一种局部逼近网络,现已证明它能以任意精度逼近任一连续函数。

RBF 神经网络是一种三层前向网络,通过输入层空间到隐含层空间的非线性变换以及隐含层空间到输出层空间的线性变换,实现输入层空间到输出层空间的映射。这两个层间变换参数的学习可以分别进行,使得 RBF 神经网络的学习速度较快且可避免局部极小问题。

RBF(Radial Basis Function,径向基函数)是某种沿径向对称的标量函数,通常定义为空间中一点到某一中心之间欧氏距离的单调函数,最常用的径向基函数是高斯函数,形式为:

径向基函数(Radial Basis Function ,RBF) - 图1

中为函数中心向量,为宽度向量。高斯函数的作用域表现出局部性,即当远离时函数取值较小。

如下图所示,RBF 神经网络的结构从左至右分为三层,依次是输入层、隐含层和输出层:

径向基函数(Radial Basis Function ,RBF) - 图2

RBF神经网络结构图

网络的输出如下式所示:

径向基函数(Radial Basis Function ,RBF) - 图3

与BP神经网络类似,理论上RBF神经网络对任何非线性连续映射能够用任意精度近似。但RBF神经网络有其自身的特点:

RBF 神经网络结构的物理意义比较明确。RBF 网络可以看成是输入层数据空间(通常是低维空间)到隐含层空间(通常是高维空间)的一种非线性映射,以及隐含层空间到输出层的线性映射。通过选择适当的非线性映射变换 RBF 函数,从而将原低维空间非线性不可分的问题转换成高维空间的近似线性可分的问题。

RBF 神经网络的学习分成两阶段,自组织学习阶段和监督学习阶段。在自组织学习阶段获取隐含层中心,在监督学习阶段获取隐含层到输出层之间的权值,各部分参数都可以快速学习,因此速度较快。

分阶段学习的 RBF 神经网络无局部极小值问题。由于 RBF 神经网络的学习与输入样本聚类中心密切相关,因此 RBF 神经网络比较适合应用于有类别特征的数据。

模型隐含层中心个数设定原则:

由于RBF神经网络的思想是将低维空间非线性不可分问题转换成高维空间线性可分问题,因此隐含层中心个数应该大于输入变量个数,一般设为输入变量个数的 2 倍以上。

由于隐含层中心点坐标代表了输入数据的聚类中心,因此隐含层中心个数应该大于输入数据集的按记录划分的类别个数,这样才能有效提取各种类别输入数据的特征。这需要对输入数据集的业务特征有一定了解,然后给出输入数据类别个数的大致范围。一般设隐含层中心个数为输入数据类别个数的 2 倍以上。

综合以上两个原则设定隐含层中心个数,然后可以根据训练和测试的效果,对中心个数进行适当调整。一般情况下,中心个数设得越多,训练的效果越好,但所需要的时间越长;而当中心个数多到一定程度的时候,增多中心个数对训练效果的改善已不大。另外,隐含层中心数应该不大于训练数据记录数。

应用示例

RBF优点

优点:

  1. 它具有唯一最佳的特性,且无局部极小问题存在;
  2. RBF神经网络具有较强的输入和输出映射功能,并且理论证明在前向网络中RBF神经网络是完成映射功能的最有效网络;
  3. 分类能力好;
  4. 学习过程收敛速度快。

RBF缺点

缺点:

  1. 没有能力来解释自己的推理过程和推理依据;
  2. 当样本数据不足时,预测结果不太准确。

谷歌的人工智能位于全球前列,在图像识别、语音识别、无人驾驶等技术上都已经落地。而百度实质意义上扛起了国内的人工智能的大旗,覆盖无人驾驶、智能助手、图像识别等许多层面。苹果业已开始全面拥抱机器学习,新产品进军家庭智能音箱并打造工作站级别Mac。另外,腾讯的深度学习平台Mariana已支持了微信语音识别的语音输入法、语音开放平台、长按语音消息转文本等产品,在微信图像识别中开始应用。全球前十大科技公司全部发力人工智能理论研究和应用的实现,虽然入门艰难,但是一旦入门,高手也就在你的不远处! AI的开发离不开算法那我们就接下来开始学习算法吧!

线性判别分析(Linear Discriminate Analysis ,LDA)

线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discriminant ,FLD),是模式识别的经典算法,它是在1996年由Belhumeur引入模式识别和人工智能领域的。线性判别分析是一种经典的线性分类方法。它设法将数据集投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例的投影点尽可能远。这样,在分类时,新样本同样投影到这条直线上,根据投影点的位置来确定类别。

由于LDA把原来N维的样本投影到了N-1维空间,因而也常被视为一种经典的降维技术。

预使得同类样例的投影点尽可能接近,可以让同类样例投影点的协方差尽可能小,即线性判别分析(Linear Discriminate Analysis ,LDA) - 图1尽可能小。预使得异类样例的投影点尽可能远,可以让不同类样例的投影点尽可能远,即让类中心距离尽可能大,即线性判别分析(Linear Discriminate Analysis ,LDA) - 图2 尽可能大。这样,目标函数为线性判别分析(Linear Discriminate Analysis ,LDA) - 图3.

其中类内散度矩阵线性判别分析(Linear Discriminate Analysis ,LDA) - 图4,类间散度矩阵线性判别分析(Linear Discriminate Analysis ,LDA) - 图5.

使用拉格朗日乘子法线性判别分析(Linear Discriminate Analysis ,LDA) - 图6可以求解得到线性判别分析(Linear Discriminate Analysis ,LDA) - 图7.

对多分类情况,线性判别分析(Linear Discriminate Analysis ,LDA) - 图8,W的解是线性判别分析(Linear Discriminate Analysis ,LDA) - 图9的N−1 个最大广义特征值所对应的特征向量组成的矩阵。

线性判别分析降维一般分为5个步骤:

  • 计算数据集中每个类别样本的均值向量。
  • 通过均值向量,计算类间散度矩阵线性判别分析(Linear Discriminate Analysis ,LDA) - 图10和类内散度矩阵线性判别分析(Linear Discriminate Analysis ,LDA) - 图11
  • 线性判别分析(Linear Discriminate Analysis ,LDA) - 图12进行特征值求解, 求出线性判别分析(Linear Discriminate Analysis ,LDA) - 图13的特征向量和特征值。
  • 对特征向量按照特征值的大小降序排列,并选择前K个特征向量组成投影矩阵W。
  • 通过D*K维的特征值矩阵将样本点投影到新的子空间中,线性判别分析(Linear Discriminate Analysis ,LDA) - 图14.

应用示例

  • 上一篇: 比目鱼搜索神器官网
  • 下一篇: c3p0jar包详解
  • 版权声明


    相关文章:

  • 比目鱼搜索神器官网2025-08-20 14:01:02
  • 浅析c 中结构体的定义、初始化和引用2025-08-20 14:01:02
  • 文件上传工具有哪些2025-08-20 14:01:02
  • 学计算机哪个专业就业前景好2025-08-20 14:01:02
  • 策略组win72025-08-20 14:01:02
  • c3p0jar包详解2025-08-20 14:01:02
  • 分析为什么用交叉验证法2025-08-20 14:01:02
  • 多线程编程 java2025-08-20 14:01:02
  • 高级软件测试员2025-08-20 14:01:02
  • js怎么注释2025-08-20 14:01:02