BasicNetwork
org.encog.neural.networks

Class BasicNetwork

    • Constructor Detail

      • BasicNetwork

        public BasicNetwork()
        Construct an empty neural network.
    • Method Detail

      • addLayer

        public void addLayer(Layer layer)
        Add a layer to the neural network. If there are no layers added this layer will become the input layer. This function automatically updates both the input and output layer references.
        Parameters:
        layer - The layer to be added to the network.
      • addWeight

        public void addWeight(int fromLayer,             int fromNeuron,             int toNeuron,             double value)
        Add to a weight.
        Parameters:
        fromLayer - The from layer.
        fromNeuron - The from neuron.
        toNeuron - The to neuron.
        value - The value to add.
      • calculateError

        public double calculateError(MLDataSet data)
        Calculate the error for this neural network. We always calculate the error using the "regression" calculator. Neural networks don't directly support classification, rather they use one-of-encoding or similar. So just using the regression calculator gives a good approximation.
        Specified by:
        calculateError in interface MLError
        Parameters:
        data - The training set.
        Returns:
        The error percentage.
      • calculateNeuronCount

        public int calculateNeuronCount()
        Calculate the total number of neurons in the network across all layers.
        Returns:
        The neuron count.
      • classify

        public int classify(MLData input)
        Classify the input into a group.
        Specified by:
        classify in interface MLClassification
        Parameters:
        input - The input data to classify.
        Returns:
        The group that the data was classified into.
      • clearContext

        public void clearContext()
        Clear any data from any context layers.
        Specified by:
        clearContext in interface MLContext
      • clone

        public Object clone()
        Return a clone of this neural network. Including structure, weights and bias values. This is a deep copy.
        Overrides:
        clone in class Object
        Returns:
        A cloned copy of the neural network.
      • compute

        public void compute(double[] input,           double[] output)
        Compute the output for this network.
        Parameters:
        input - The input.
        output - The output.
      • compute

        public MLData compute(MLData input)
        Compute the output for a given input to the neural network.
        Specified by:
        compute in interface MLRegression
        Parameters:
        input - The input to the neural network.
        Returns:
        The output from the neural network.
      • decodeFromArray

        public void decodeFromArray(double[] encoded)
        Decode an array to this object.
        Specified by:
        decodeFromArray in interface MLEncodable
        Parameters:
        encoded - The encoded array.
      • dumpWeights

        public String dumpWeights()
        Returns:
        The weights as a comma separated list.
      • enableConnection

        public void enableConnection(int fromLayer,                    int fromNeuron,                    int toNeuron,                    boolean enable)
        Enable, or disable, a connection.
        Parameters:
        fromLayer - The layer that contains the from neuron.
        fromNeuron - The source neuron.
        toNeuron - The target connection.
        enable - True to enable, false to disable.
      • encodedArrayLength

        public int encodedArrayLength()
        Specified by:
        encodedArrayLength in interface MLEncodable
        Returns:
        The length of an encoded array.
      • encodeToArray

        public void encodeToArray(double[] encoded)
        Encode the object to the specified array.
        Specified by:
        encodeToArray in interface MLEncodable
        Parameters:
        encoded - The array.
      • equals

        public boolean equals(Object other)
        Compare the two neural networks. For them to be equal they must be of the same structure, and have the same matrix values.
        Overrides:
        equals in class Object
        Parameters:
        other - The other neural network.
        Returns:
        True if the two networks are equal.
      • equals

        public boolean equals(BasicNetwork other,             int precision)
        Determine if this neural network is equal to another. Equal neural networks have the same weight matrix and bias values, within a specified precision.
        Parameters:
        other - The other neural network.
        precision - The number of decimal places to compare to.
        Returns:
        True if the two neural networks are equal.
      • getActivation

        public ActivationFunction getActivation(int layer)
        Get the activation function for the specified layer.
        Parameters:
        layer - The layer.
        Returns:
        The activation function.
      • getInputCount

        public int getInputCount()
        Specified by:
        getInputCount in interface MLInput
        Returns:
        The input.
      • getLayerBiasActivation

        public double getLayerBiasActivation(int l)
        Get the bias activation for the specified layer.
        Parameters:
        l - The layer.
        Returns:
        The bias activation.
      • getLayerCount

        public int getLayerCount()
        Returns:
        The layer count.
      • getLayerNeuronCount

        public int getLayerNeuronCount(int l)
        Get the neuron count.
        Parameters:
        l - The layer.
        Returns:
        The neuron count.
      • getLayerOutput

        public double getLayerOutput(int layer,                    int neuronNumber)
        Get the layer output for the specified neuron.
        Parameters:
        layer - The layer.
        neuronNumber - The neuron number.
        Returns:
        The output from the last call to compute.
      • getLayerTotalNeuronCount

        public int getLayerTotalNeuronCount(int l)
        Get the total (including bias and context) neuron cont for a layer.
        Parameters:
        l - The layer.
        Returns:
        The count.
      • getOutputCount

        public int getOutputCount()
        Specified by:
        getOutputCount in interface MLOutput
        Returns:
        The output count.
      • getStructure

        public NeuralStructure getStructure()
        Returns:
        Get the structure of the neural network. The structure allows you to quickly obtain synapses and layers without traversing the network.
      • getWeight

        public double getWeight(int fromLayer,               int fromNeuron,               int toNeuron)
        Get the weight between the two layers.
        Parameters:
        fromLayer - The from layer.
        fromNeuron - The from neuron.
        toNeuron - The to neuron.
        Returns:
        The weight value.
      • hashCode

        public int hashCode()
        Generate a hash code.
        Overrides:
        hashCode in class Object
        Returns:
        THe hash code.
      • isConnected

        public boolean isConnected(int layer,                  int fromNeuron,                  int toNeuron)
        Determine if the specified connection is enabled.
        Parameters:
        layer - The layer to check.
        fromNeuron - The source neuron.
        toNeuron - THe target neuron.
        Returns:
        True, if the connection is enabled, false otherwise.
      • isLayerBiased

        public boolean isLayerBiased(int l)
        Determine if the specified layer is biased.
        Parameters:
        l - The layer number.
        Returns:
        True, if the layer is biased.
      • reset

        public void reset()
        Reset the weight matrix and the bias values. This will use a Nguyen-Widrow randomizer with a range between -1 and 1. If the network does not have an input, output or hidden layers, then Nguyen-Widrow cannot be used and a simple range randomize between -1 and 1 will be used.
        Specified by:
        reset in interface MLResettable
      • reset

        public void reset(int seed)
        Randomize between -1 and 1, use the specified seed.
        Specified by:
        reset in interface MLResettable
        Parameters:
        seed - The seed value.
      • setBiasActivation

        public void setBiasActivation(double activation)
        Sets the bias activation for every layer that supports bias. Make sure that the network structure has been finalized before calling this method.
        Parameters:
        activation - THe new activation.
      • setLayerBiasActivation

        public void setLayerBiasActivation(int l,                          double value)
        Set the bias activation for the specified layer.
        Parameters:
        l - The layer to use.
        value - The bias activation.
      • setWeight

        public void setWeight(int fromLayer,             int fromNeuron,             int toNeuron,             double value)
        Set the weight between the two specified neurons. The bias neuron is always the last neuron on a layer.
        Parameters:
        fromLayer - The from layer.
        fromNeuron - The from neuron.
        toNeuron - The to neuron.
        value - The to value.
      • validateNeuron

        public void validateNeuron(int targetLayer,                  int neuron)
        Validate the the specified targetLayer and neuron are valid.
        Parameters:
        targetLayer - The target layer.
        neuron - The target neuron.
      • winner

        public int winner(MLData input)
        Determine the winner for the specified input. This is the number of the winning neuron.
        Parameters:
        input - The input patter to present to the neural network.
        Returns:
        The winning neuron.

SCaVis 1.8 © jWork.org