コード例 #1
0
ファイル: NeuralLayer.cs プロジェクト: marcnowa/neurony
        public NeuralLayer(int inputSize, int neuronsSize, bool randomWeights, double[] randomWeightsLimits, TransitionFunction tf, bool useBias)
        {
            neurons = new Neuron[neuronsSize];

            for (int j = 0; j < neuronsSize; j++)
            {
                double[] weights = new double[inputSize];
                neurons[j] = new Neuron(weights, 0, tf);

                if (randomWeights)
                {
                    neurons[j].RandomFill(randomWeightsLimits, useBias);
                }
            }
        }
コード例 #2
0
ファイル: KohonenLayer.cs プロジェクト: marcnowa/neurony
        private void Init(int inputSize, int neuronsSize, bool randomWeights, double[] randomWeightsLimits, int neighbourhoodDimension)
        {
            neurons = new Neuron[neuronsSize];

            for (int j = 0; j < neuronsSize; j++)
            {
                double[] weights = new double[inputSize];

                neurons[j] = new Neuron(weights, 0);

                if (randomWeights)
                    neurons[j].RandomFill(randomWeightsLimits, true);
            }

            int length = (int)Math.Ceiling(Math.Pow(neuronsSize, 1.0 / neighbourhoodDimension));
            for (int i = 0; i < neuronsSize; i++)
            {
                double[] pos = new double[neighbourhoodDimension];
                int p = i;
                for (int j = 0; j < neighbourhoodDimension - 1; j++)
                {
                    pos[j] = p % length;
                    p /= length;
                }
                pos[neighbourhoodDimension - 1] = p;
                neurons[i].Position = pos;
            }
        }
コード例 #3
0
ファイル: KohonenLayer.cs プロジェクト: marcnowa/neurony
 public KohonenLayer(Neuron[] neurons)
 {
     this.neurons = neurons;
 }
コード例 #4
0
ファイル: NeuralLayer.cs プロジェクト: marcnowa/neurony
 public NeuralLayer(Neuron[] neurons)
 {
     this.neurons = neurons;
 }