コード例 #1
0
        public void AddLayer(int NeuronCount)
        {
            NetworkLayer newNetworkLayer = new NetworkLayer();

            newNetworkLayer.AddLayer(NeuronCount);
            if (NetworkLayers.Count > 0)
            {
                newNetworkLayer.ConnectLayers(NetworkLayers.Last());
            }
            NetworkLayers.Add(newNetworkLayer);
        }
コード例 #2
0
        public void ConnectLayers(NetworkLayer previous)
        {
            Random random = new Random();

            foreach (Neuron pvNeuron in previous.NetworkNeurons)
            {
                List <Synapse> newConnections = new List <Synapse>();
                foreach (Neuron nextNeuron in this.NetworkNeurons)
                {
                    double  k          = random.NextDouble();
                    Synapse newSynapse = new Synapse(pvNeuron, nextNeuron, k / 10);
                    nextNeuron.Inputs.Add(newSynapse);
                    newConnections.Add(newSynapse);
                }
                pvNeuron.Outputs = newConnections;
            }
        }