Updated documentation for 1.5 release.
git-svn-id: file:///home/svnrepos/software/liblbfgs/trunk@13 ecf4c44f-38d1-4fa4-9757-a0b4dd0349fc
This commit is contained in:
parent
36c6eaa158
commit
e59829f1db
@ -68,13 +68,13 @@ typedef double lbfgsfloatval_t;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Return values of lbfgs().
|
* Return values of lbfgs().
|
||||||
|
*
|
||||||
|
* Roughly speaking, a negative value indicates an error.
|
||||||
*/
|
*/
|
||||||
enum {
|
enum {
|
||||||
/** False value. */
|
/** L-BFGS reaches convergence. */
|
||||||
LBFGSFALSE = 0,
|
LBFGS_SUCCESS = 0,
|
||||||
/** True value. */
|
/** The initial variables already minimize the objective function. */
|
||||||
LBFGSTRUE,
|
|
||||||
/** */
|
|
||||||
LBFGS_ALREADY_MINIMIZED,
|
LBFGS_ALREADY_MINIMIZED,
|
||||||
|
|
||||||
/** Unknown error. */
|
/** Unknown error. */
|
||||||
@ -245,16 +245,30 @@ typedef struct {
|
|||||||
/**
|
/**
|
||||||
* Coeefficient for the L1 norm of variables.
|
* Coeefficient for the L1 norm of variables.
|
||||||
* This parameter should be set to zero for standard minimization
|
* This parameter should be set to zero for standard minimization
|
||||||
* problems. Setting this parameter to a positive value minimizes the
|
* problems. Setting this parameter to a positive value activates
|
||||||
* objective function F(x) combined with the L1 norm |x| of the variables,
|
* Orthant-Wise Limited-memory Quasi-Newton (OWL-QN) method, which
|
||||||
* {F(x) + C |x|}. This parameter is the coeefficient for the |x|, i.e.,
|
* minimizes the objective function F(x) combined with the L1 norm |x|
|
||||||
* C. As the L1 norm |x| is not differentiable at zero, the library
|
* of the variables, {F(x) + C |x|}. This parameter is the coeefficient
|
||||||
* modify function and gradient evaluations from a client program
|
* for the |x|, i.e., C. As the L1 norm |x| is not differentiable at
|
||||||
* suitably; a client program thus have only to return the function value
|
* zero, the library modifies function and gradient evaluations from
|
||||||
* F(x) and gradients G(x) as usual. The default value is zero.
|
* a client program suitably; a client program thus have only to return
|
||||||
|
* the function value F(x) and gradients G(x) as usual. The default value
|
||||||
|
* is zero.
|
||||||
*/
|
*/
|
||||||
lbfgsfloatval_t orthantwise_c;
|
lbfgsfloatval_t orthantwise_c;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Start index for computing L1 norm of the variables.
|
||||||
|
* This parameter is valid only for OWL-QN method
|
||||||
|
* (i.e., \ref orthantwise_c != 0). This parameter b (0 <= b < N)
|
||||||
|
* specifies the index number from which the library computes the
|
||||||
|
* L1 norm of the variables x,
|
||||||
|
* |x| := |x_{b} + x_{b+1} + ... + x_{N}|
|
||||||
|
* In other words, variables x_1, ..., x_{b-1} are not used for
|
||||||
|
* computing the L1 norm. Setting b (0 < b < N), one can protect
|
||||||
|
* variables, x_1, ..., x_{b-1} (e.g., a bias term of logistic
|
||||||
|
* regression) from being regularized. The default value is zero.
|
||||||
|
*/
|
||||||
int orthantwise_start;
|
int orthantwise_start;
|
||||||
} lbfgs_parameter_t;
|
} lbfgs_parameter_t;
|
||||||
|
|
||||||
@ -486,15 +500,29 @@ Among the various ports of L-BFGS, this library provides several features:
|
|||||||
This library is used by:
|
This library is used by:
|
||||||
- <a href="http://www.chokkan.org/software/crfsuite/">CRFsuite: A fast implementation of Conditional Random Fields (CRFs)</a>
|
- <a href="http://www.chokkan.org/software/crfsuite/">CRFsuite: A fast implementation of Conditional Random Fields (CRFs)</a>
|
||||||
- <a href="http://www.public.iastate.edu/~gdancik/mlegp/">mlegp: an R package for maximum likelihood estimates for Gaussian processes</a>
|
- <a href="http://www.public.iastate.edu/~gdancik/mlegp/">mlegp: an R package for maximum likelihood estimates for Gaussian processes</a>
|
||||||
|
- <a href="http://infmath.uibk.ac.at/~matthiasf/imaging2/">imaging2: the imaging2 class library</a>
|
||||||
|
- <a href="http://search.cpan.org/~laye/Algorithm-LBFGS-0.16/">Algorithm::LBFGS - Perl extension for L-BFGS</a>
|
||||||
|
|
||||||
@section download Download
|
@section download Download
|
||||||
|
|
||||||
- <a href="http://www.chokkan.org/software/dist/liblbfgs-1.4.tar.gz">Source code</a>
|
- <a href="http://www.chokkan.org/software/dist/liblbfgs-1.5.tar.gz">Source code</a>
|
||||||
|
|
||||||
libLBFGS is distributed under the term of the
|
libLBFGS is distributed under the term of the
|
||||||
<a href="http://opensource.org/licenses/mit-license.php">MIT license</a>.
|
<a href="http://opensource.org/licenses/mit-license.php">MIT license</a>.
|
||||||
|
|
||||||
@section changelog History
|
@section changelog History
|
||||||
|
- Version 1.5 (2008-07-09):
|
||||||
|
- Configurable starting index for L1-norm computation. A member variable
|
||||||
|
::lbfgs_parameter_t::orthantwise_start was added to specify the index
|
||||||
|
number from which the library computes the L1 norm of the variables.
|
||||||
|
This is useful to prevent some variables from being regularized by the
|
||||||
|
OW-LQN method.
|
||||||
|
- Fixed a zero-division error when the initial variables have already
|
||||||
|
been a minimizer (reported by Takashi Imamichi). In this case, the
|
||||||
|
library returns ::LBFGS_ALREADY_MINIMIZED status code.
|
||||||
|
- Defined ::LBFGS_SUCCESS status code as zero; removed unused constants,
|
||||||
|
LBFGSFALSE and LBFGSTRUE.
|
||||||
|
- Fixed a compile error in an implicit down-cast.
|
||||||
- Version 1.4 (2008-04-25):
|
- Version 1.4 (2008-04-25):
|
||||||
- Configurable line search algorithms. A member variable
|
- Configurable line search algorithms. A member variable
|
||||||
::lbfgs_parameter_t::linesearch was added to choose either MoreThuente
|
::lbfgs_parameter_t::linesearch was added to choose either MoreThuente
|
||||||
|
@ -401,7 +401,7 @@ int lbfgs(
|
|||||||
if (xnorm < 1.0) xnorm = 1.0;
|
if (xnorm < 1.0) xnorm = 1.0;
|
||||||
if (gnorm / xnorm <= param->epsilon) {
|
if (gnorm / xnorm <= param->epsilon) {
|
||||||
/* Convergence. */
|
/* Convergence. */
|
||||||
ret = 0;
|
ret = LBFGS_SUCCESS;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user