径向基函数拟合的基本原理 详解径向基函数神经网络RBNN
原文来源:medium
作者:Ramraj Chandradevan
「机器人圈」编译:嗯~阿童木呀、多啦A亮
在单层感知器/多层感知器(MLP)中,我们只有线性可分性,因为它们是由输入和输出层(MLP中的一些隐藏层)组成的。
例如,AND和OR函数是线性分离的,而XOR函数则不是线性分离的。
MLP(多层感知器)和RBF(径向基函数)之间的区别
•RBNN由输入、隐藏和输出层组成。RBNN被严格限制为只能含有一个隐藏层。我们将这个隐藏层称为特征向量。
•RBNN增加了特征向量的维度。
RBNN架构的简略图
扩展图显示了具有隐藏函数的RBNN架构。
•在进行分类问题之前,我们将非线性传递函数应用于特征向量。
•当我们增加特征向量的维度时,特征向量的线性可分离性就会增加。
相较于在低维空间中,非线性可分离问题(模式分类问题)在高维空间中具有高度可分离性。
•什么是径向基函数?
我们定义一个接受器= t。
我们在接受器周围画出confrontal映射。
高斯函数通常用于径向基函数(confrontal映射)。因此我们定义径向距离r = || x-t ||。
具有confrontal映射的径向距离和径向基函数
高斯径向函数:ϕ(r) = exp (- r²/2σ²),其中σ> 0。
分类仅在第二阶段发生,其中隐藏函数的线性组合被驱动到输出层
•例如,XOR函数:
我有4个输入,而我不会在此增加特征向量的维度。所以我将在此处选择2个接受器。对于每个变换函数φ(x),我们都将得到每个接受器t。
现在需要考虑的是RBNN架构:
P := # 输入特征 / 值
M = #变换后的向量维数(隐藏层宽度). 因此通常 M ≥ P
隐藏层中的每个节点,执行一组非线性径向基函数。
输出值C将与分类问题保持相同(一定数量的类标签是预定义的)。
XOR RBNN架构
具有接受器和方差的变换函数
输出→变换函数的线性组合列表
•隐藏层中只有节点执行弧度基变换函数。
•输出层执行隐藏层的输出的线性组合,以在输出层给出最终的概率值。
•所以分类只@(隐层→输出层)中执行。
训练RBNN:
•首先,我们应该使用反向传播来训练隐藏层。
•神经网络训练(反向传播)是一种曲线拟合方法。它在训练阶段适合非线性曲线。它通过随机逼近法运行,我们称之为反向传播。
•对于隐层中的每个节点,我们必须找到t(接受器)和方差(σ)[方差——径向基函数的扩展系数spread。
•在第二个训练阶段,我们必须更新隐藏层和输出层之间的权重向量。
•在隐藏层中,每个节点表示每个变换基函数。任何一个函数都可以满足非线性的可分离性,甚至组合函数也可以满足非线性的可分离性。
•所以在我们的隐藏层转换中,包括了所有的非线性项。就像X² Y² 5XY;它都包含在超曲面方程(X&Y是输入)中。
•因此,第一阶段的训练是通过聚类算法完成的。我们定义我们需要的聚类中心数量。并且通过聚类算法,我们计算聚类中心,然后将其分配为每个隐藏神经元的接受器。
•我必须将N个样本或观察值聚类到M个簇(N> M)中。
•所以输出“簇”是“接受器”。
•对于每个接受器,我可以发现方差为“各受体与每个簇最近样本之间的距离的平方和”:= 1 / N * || X-t ||²。
•第一个训练阶段的演绎是“将特征向量投影到变换空间”。
描述RBNN的复杂图表
RBNN与MLP相比较
1、RBNN的训练速度比在多层感知器(MLP)中更快→在MLP中进行许多“交互”。
2、我们可以很容易地解释RBNN隐藏层中每个节点的含义/功能是什么。这在MLP中却很困难。
3、(隐藏层中的#节点数目以及隐藏层的#数量)在MLP中这个参数化是很困难的。但是在RBNN中没有发现这点。
4、分类在RBNN中比MLP需要更多的时间。
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com