Accord.Neuro.Networks.DeepBeliefNetwork.DeepBeliefNetwork C# (CSharp) Method

DeepBeliefNetwork() public method

Creates a new DeepBeliefNetwork.
public DeepBeliefNetwork ( IStochasticFunction function, int inputsCount ) : System
function IStochasticFunction The activation function to be used in the network neurons.
inputsCount int The number of inputs for the network.
return System
        public DeepBeliefNetwork(IStochasticFunction function, int inputsCount, params int[] hiddenNeurons)
            : base(function, inputsCount, hiddenNeurons)
        {
            machines = new List<RestrictedBoltzmannMachine>();

            // Create first layer
            machines.Add(new RestrictedBoltzmannMachine(
                hidden: new StochasticLayer(function, hiddenNeurons[0], inputsCount),
                visible: new StochasticLayer(function, inputsCount, hiddenNeurons[0]))
            );

            // Create other layers
            for (int i = 1; i < hiddenNeurons.Length; i++)
            {
                machines.Add(new RestrictedBoltzmannMachine(
                    hidden: new StochasticLayer(function, hiddenNeurons[i], hiddenNeurons[i - 1]),
                    visible: new StochasticLayer(function, hiddenNeurons[i - 1], hiddenNeurons[i])));
            }

            // Override AForge layers
            layers = new Layer[machines.Count];
            for (int i = 0; i < layers.Length; i++)
                layers[i] = machines[i].Hidden;
        }

Same methods

DeepBeliefNetwork::DeepBeliefNetwork ( int inputsCount ) : System