RBF神经网络编程结果图中为何显示的是BP训练

RBF神经网络编程结果图中为何显示的是BP训练,第1张

你在编写BP神经网络程序时肯定是设定了训练次数或者结束训练条件的,BP算法的训练具有随机性,耽叮槽顾噩该茶双偿晶所以达到结束条件的时间或训练次数一般是不同的。如果每次训练次数相同的话,训练结果可信程度极小,建议增大训练次数数值!

在多分类中,CNN的输出层一般都是Softmax。RBF在我的接触中如果没有特殊情况的话应该是逗径向基函数地(Radial Basis Function)。在DNN兴起之前,RBF由于出色的局部近似能力,被广泛应用在SVM的核函数中,当然也有我们熟悉的RBF神经网络(也就是以RBF函数为激活函数的单隐含层神经网络)。

如果说把RBF作为卷积神经网络的输出,我觉得如果不是有特殊的应用背景的话,它并不是一个很好的选择。至少从概率角度上讲,RBF没有Softmax那样拥有良好的概率特性。

如果题主是在什么地方看到它的源代码并且感到困惑的话,可以贴上源链接一起讨论一下。

FYI RBF的定义和计算公式参考:

RBF网络本来就是这样的。

原始输入通过径向基函数转化后变得线性可分,隐含层的输出就是经转化后的数据,即“输入”。

另外你试试看这样:net=newrb(x',tt,err_goal,sc,200,1);

看看结果有啥不同。。

rbf神经网络即径向基函数神经网络(Radical Basis Function)。径向基函数神经网络是一种高效的前馈式神经网络,它具有其他前向网络所不具有的最佳逼近性能和全局最优特性,并且结构简单,训练速度快。同时,它也是一种可以广泛应用于模式识别、非线性函数逼近等领域的神经网络模型。

rbf神经网络有多种学习策略,首先选取中心,可以随机选,也可采用K均值聚类,然后学习权值,可采用伪逆法(涉及矩阵的奇异值分解),也可以采用最小均方误差法,或者进化算法,上述方法中心是固定的,也可采用梯度下降法同时学习中心、宽度、权值,这个比较复杂。具体参考《神经网络原理》。

你用Java写可以参考Weka,其完全开源,不过我没有看过源码,不知其用何种学习策略。最近用C++写了一个简单的rbf,即固定中心、最小均方误差法学习权值,但我发现采用K均值聚类选中心跟随机选没有什么区别,不知二者有何区别?自己写伪逆法对于我来说基本不可能,及其复杂,我看到过某人写了个天书般的程序,一个函数500行。

希望对你有帮助,如果你有新发现,欢迎与我探讨,国内估计没多少人真正自己写过RBF,都用MATLAB代入了事。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/12177659.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存