Skip to content

Must optimize the learning algorithm #19

@sreramk

Description

@sreramk

the method

    public void computeNetworkResult(int startIndex, MoveOrder direction) throws Exception {

in the file NeuralNetwork.java, obviously has two arguments int startIndex and MoveOrder direction which respectively determine the layer (within the set of hidden layers) from which the evaluation process must start and the second argument defines how the process should proceed (forward or backwards). The functionality of the second argument is completely unnecessary and must be removed. The first argument only works as expected if the value zero is passed into it. This argument, when made to work, can be made to evaluate the result from the chosen layer. Without this, for each learning iteration, the entire system is computed for three complete times. With this feature, the total execution time of the above method can be cut by half.
This method (computeNetworkResult) being the slowest one in the method,

      // this method is present in the file: NeuralTrainer.java
    public void trainNeuron(Neuron neuron, ArrayList<Double> expectedOutput) throws Exception {

increases the overall training speed of the neural network system by twice the previous execution speed. Any possible optimization will be really helpful for this project.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions