C# Класс Accord.Math.Optimization.TrustRegionNewtonMethod

Simplified Trust Region Newton Method (TRON) for non-linear optimization.

Trust region is a term used in mathematical optimization to denote the subset of the region of the objective function to be optimized that is approximated using a model function (often a quadratic). If an adequate model of the objective function is found within the trust region then the region is expanded; conversely, if the approximation is poor then the region is contracted. Trust region methods are also known as restricted step methods.

The fit is evaluated by comparing the ratio of expected improvement from the model approximation with the actual improvement observed in the objective function. Simple thresholding of the ratio is used as the criteria for expansion and contraction—a model function is "trusted" only in the region where it provides a reasonable approximation.

Trust region methods are in some sense dual to line search methods: trust region methods first choose a step size (the size of the trust region) and then a step direction while line search methods first choose a step direction and then a step size.

This class implements a simplified version of Chih-Jen Lin and Jorge Moré's TRON, a trust region Newton method for the solution of large bound-constrained optimization problems. This version was based upon liblinear's implementation.

References: Wikipedia, The Free Encyclopedia. Trust region. Available on: http://en.wikipedia.org/wiki/Trust_region Chih-Jen Lin and Jorge Moré, TRON. Available on: http://www.mcs.anl.gov/~more/tron/index.html Chih-Jen Lin and Jorge J. Moré. 1999. Newton's Method for Large Bound-Constrained Optimization Problems. SIAM J. on Optimization 9, 4 (April 1999), 1100-1127. Machine Learning Group. LIBLINEAR -- A Library for Large Linear Classification. National Taiwan University. Available at: http://www.csie.ntu.edu.tw/~cjlin/liblinear/

Наследование: BaseGradientOptimizationMethod
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
TrustRegionNewtonMethod ( int numberOfVariables ) : System

Creates a new ResilientBackpropagation function optimizer.

TrustRegionNewtonMethod ( int numberOfVariables, double>.Func function, double[]>.Func gradient, double[]>.Func hessian ) : System

Creates a new ResilientBackpropagation function optimizer.

Защищенные методы

Метод Описание
Optimize ( ) : bool

Implements the actual optimization algorithm. This method should try to minimize the objective function.

Приватные методы

Метод Описание
trcg ( double delta, double g, double s, double r ) : int
tron ( double w ) : void

Описание методов

Optimize() защищенный метод

Implements the actual optimization algorithm. This method should try to minimize the objective function.
protected Optimize ( ) : bool
Результат bool

TrustRegionNewtonMethod() публичный метод

Creates a new ResilientBackpropagation function optimizer.
public TrustRegionNewtonMethod ( int numberOfVariables ) : System
numberOfVariables int The number of parameters in the function to be optimized.
Результат System

TrustRegionNewtonMethod() публичный метод

Creates a new ResilientBackpropagation function optimizer.
public TrustRegionNewtonMethod ( int numberOfVariables, double>.Func function, double[]>.Func gradient, double[]>.Func hessian ) : System
numberOfVariables int The number of free parameters in the function to be optimized.
function double>.Func The function to be optimized.
gradient double[]>.Func The gradient of the function.
hessian double[]>.Func The hessian of the function.
Результат System