ABSTRACT

This chapter introduces the implementation of training with the Levenberg–Marquardt algorithm in two parts: calculation of the Jacobian matrix and training process design. The Levenberg–Marquardt algorithm, which was independently developed by Kenneth Levenberg and Donald Marquardt, provides a numerical solution to the problem of minimizing a nonlinear function. The Levenberg–Marquardt algorithm blends the steepest descent method and the Gauss–Newton algorithm. The chapter presents the derivation of the Levenberg–Marquardt algorithm in four parts: steepest descent algorithm, Newton’s method, Gauss-Newton’s algorithm, and Levenberg–Marquardt algorithm. The steepest descent algorithm is a first-order algorithm. It uses the first-order derivative of total error function to find the minima in error space. With the update rule of the Levenberg–Marquardt algorithm and the computation of the Jacobian matrix, the next step is to organize the training process. The Levenberg–Marquardt algorithm solves the problems existing in both the gradient descent method and the Gauss–Newton method for neural-networks training, by the combination of those two algorithms.