Neural network Encog RBF C#,RBF神经元的总数必须是'的幂的整数;尺寸';

Neural network Encog RBF C#,RBF神经元的总数必须是'的幂的整数;尺寸';,neural-network,encog,Neural Network,Encog,我使用C#中的SetRBFcenter和WidthSequalspace方法得到RBF神经元的总数量必须是“维数”幂的整数 熟悉Encog中RBF网络的人可以检查RBFNetwork.cs中的232行吗。我想可能有个bug或者我错过了什么: var expectedSideLength = (int) Math.Pow(totalNumHiddenNeurons, 1.0d/dimensions); double cmp = Math.Pow(totalNumHiddenNeurons, 1.

我使用C#中的SetRBFcenter和WidthSequalspace方法得到RBF神经元的总数量必须是“维数”幂的整数

熟悉Encog中RBF网络的人可以检查RBFNetwork.cs中的232行吗。我想可能有个bug或者我错过了什么:

var expectedSideLength = (int) Math.Pow(totalNumHiddenNeurons, 1.0d/dimensions); 
double cmp = Math.Pow(totalNumHiddenNeurons, 1.0d/dimensions); 
if (expectedSideLength != cmp) -> error
这两个变量不能相等,因为(int)对数字进行四舍五入。巧合的是,它适用于XOR示例,它不会适用于不同的维度,例如19

以下是我创建RBF网络的方法:

dataSet is VersatileMLDataSet 
RBFNetwork n = new RBFNetwork(dataSet.CalculatedInputSize, dataSet.Count, 1, RBFEnum.Gaussian);
n.SetRBFCentersAndWidthsEqualSpacing(0, 1, RBFEnum.Gaussian, 2.0/(dataSet.CalculatedInputSize * dataSet.CalculatedInputSize), true);

我的数据集有19个属性(维度),共有731条记录。

隐藏神经元的数量是一个整数,与输入神经元的数量成幂关系。因此,如果你有3个输入属性,窗口大小为2,隐藏的神经元将是任何整数(比如3),提高到6(3x2)或729的幂。这限制了输入属性的数量和窗口大小,因为隐藏神经元的数量很快变得非常大。

隐藏神经元的数量是一个整数,与输入神经元的数量成幂关系。因此,如果你有3个输入属性,窗口大小为2,隐藏的神经元将是任何整数(比如3),提高到6(3x2)或729的幂。这限制了输入属性的数量和窗口大小,因为隐藏神经元的数量很快变得非常大。

请提供在调用函数中传递的输入以及初始化神经网络更新的方式,抱歉延迟。请提供在调用函数中传递的输入以及初始化神经网络更新的方式,抱歉耽搁了。