我正在尝试使用RBF来解决分类问题。输入矩阵的大小为40,000 x 2,500,输出矩阵的大小为25 x 2,500。输出矩阵仅包含0和1。
如大多数示例中所述,RBF可以在训练数据中提供100%的准确性,因此在我的情况下也是如此。但是,当我使用新的输入矩阵(40,000 x 2,500维度,通过模拟网络在nntool中)测试网络时,准确性非常差。我尝试过各种各样的SPREAD值,但没有一个能够帮助推广网络。
输入数据集值介于-960.0到+960.0之间。
我尝试过的SPREAD值很少包括:
5e-9, 5e-6, 0.005, 0.01, 0.25, 1.0, 5.0, 100.0, 450.0
一些论坛建议使用无监督网络对输入数据进行聚类,并使用聚簇数据作为RBF的输入。我已经使用 k-means聚类与25个群集,但结果却是徒劳的。
有人可以建议如何改善RBF的测试准确度吗?
提前致谢!!
答案 0 :(得分:0)
RBF隐藏层更易于以无监督的方式进行训练,可以使用k均值或K-NN来找到中心,对于 spread 参数,您可以计算每两个最近的群集的中心之间的距离的平均值。 现在让N为样本数,理论上RBF网络至少需要N / 2个中心(隐藏节点)。您的输入大小为40,000,并且您只有25个k均值中心,请再次对20000个聚类进行处理,然后看是否有效。您的隐藏层大小太小。据我所知,输出层的权重应采用监督方式进行计算,并据此进行梯度下降。