The Levenberg–Marquardt algorithm, as a quasi-Newton method, was designed to approach the second-order training speed of neural network. The model parameter space (weight space in the case of neural network) is searched using an iterative procedure that combines the Gauss–Newton algorithm and the method of gradient descent.