Levenberg Marquardt Optimization
Optimization techniques have extensively been utilized to find solutions related to the linear and nonlinear systems in mathematical problems. It is useful to provide optimization algorithms when solving unmodeled dynamics especially in control theory/system dynamics.
On the other hand, Neural network structure has been reached to the utmost topic for solving/creating a dynamic model design in data science. NN efficiency is also increased with general microprocessor speed.
In theory, NN establishes the input-output relation with the rule of training which is the backpropagation algorithm. However, the BP algorithm is slow in contrast with its stability. Due to this reason, the BP algorithm is redesigned with Newton-Gaussian methods which are called the Levenberg-Marquardt algorithm. In the LM algorithm, each coefficient is updated for a given error value, not a total cost one! So, it gives a way to create a faster learning algorithm.
For the whole reason, a simple Levenberg-Marquardt algorithm is presented to fix these issues on both computer and microprocessor structures!
In this GitHub file, the LM optimization technique is applied to the feedforward neural network structure.
I hope it is useful for you 🙂
The main usages of this library:
- establishing model to nonlinear input-output relation
- estimation for a given system dynamic model
- training linear output for a given set
Which kinds of projects you can utilize the basis of these codes?
- Engine design (physic motors)
- line estimation and production
- pattern recognition
- Real time engine application
How can you use the library?
- The detailed example is given in the example folder!
- You can also use creatingDataset code to produce your own dataset!