diff options
| author | ziejd2 | 2017-09-28 15:04:40 -0500 |
|---|---|---|
| committer | ziejd2 | 2017-09-28 15:04:40 -0500 |
| commit | 8070dc963753142bb86c4ed698d91fd623ed28e7 (patch) | |
| tree | d0f6dd8fc46a49b819aa55c1a90faa14d8448883 /sourcecodes/bnt-master/nethelp3.3/conjgrad.htm | |
| parent | 7cc31810d53176e805532b2789955f4eedbce6bb (diff) | |
| download | BNW-8070dc963753142bb86c4ed698d91fd623ed28e7.tar.gz | |
BNW using Octave instead of Matlab.
This version of BNW should perform the same as the original version. The only difference is that it uses Octave instead of Matlab when running BayesNet Toolbox during parameter learning. I am calling this BNW_1.02. It can be accessed at: compbio.uthsc.edu/BNW_1.02
Diffstat (limited to 'sourcecodes/bnt-master/nethelp3.3/conjgrad.htm')
| -rw-r--r-- | sourcecodes/bnt-master/nethelp3.3/conjgrad.htm | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/nethelp3.3/conjgrad.htm b/sourcecodes/bnt-master/nethelp3.3/conjgrad.htm new file mode 100644 index 00000000..4a70c330 --- /dev/null +++ b/sourcecodes/bnt-master/nethelp3.3/conjgrad.htm @@ -0,0 +1,101 @@ +<html> +<head> +<title> +Netlab Reference Manual conjgrad +</title> +</head> +<body> +<H1> conjgrad +</H1> +<h2> +Purpose +</h2> +Conjugate gradients optimization. + +<p><h2> +Description +</h2> +<CODE>[x, options, flog, pointlog] = conjgrad(f, x, options, gradf)</CODE> uses a +conjugate gradients +algorithm to find the minimum of the function <CODE>f(x)</CODE> whose +gradient is given by <CODE>gradf(x)</CODE>. Here <CODE>x</CODE> is a row vector +and <CODE>f</CODE> returns a scalar value. +The point at which <CODE>f</CODE> has a local minimum +is returned as <CODE>x</CODE>. The function value at that point is returned +in <CODE>options(8)</CODE>. A log of the function values +after each cycle is (optionally) returned in <CODE>flog</CODE>, and a log +of the points visited is (optionally) returned in <CODE>pointlog</CODE>. + +<p><CODE>conjgrad(f, x, options, gradf, p1, p2, ...)</CODE> allows +additional arguments to be passed to <CODE>f()</CODE> and <CODE>gradf()</CODE>. + +<p>The optional parameters have the following interpretations. + +<p><CODE>options(1)</CODE> is set to 1 to display error values; also logs error +values in the return argument <CODE>errlog</CODE>, and the points visited +in the return argument <CODE>pointslog</CODE>. If <CODE>options(1)</CODE> is set to 0, +then only warning messages are displayed. If <CODE>options(1)</CODE> is -1, +then nothing is displayed. + +<p><CODE>options(2)</CODE> is a measure of the absolute precision required for the value +of <CODE>x</CODE> at the solution. If the absolute difference between +the values of <CODE>x</CODE> between two successive steps is less than +<CODE>options(2)</CODE>, then this condition is satisfied. + +<p><CODE>options(3)</CODE> is a measure of the precision required of the objective +function at the solution. If the absolute difference between the +objective function values between two successive steps is less than +<CODE>options(3)</CODE>, then this condition is satisfied. +Both this and the previous condition must be +satisfied for termination. + +<p><CODE>options(9)</CODE> is set to 1 to check the user defined gradient function. + +<p><CODE>options(10)</CODE> returns the total number of function evaluations (including +those in any line searches). + +<p><CODE>options(11)</CODE> returns the total number of gradient evaluations. + +<p><CODE>options(14)</CODE> is the maximum number of iterations; default 100. + +<p><CODE>options(15)</CODE> is the precision in parameter space of the line search; +default <CODE>1e-4</CODE>. + +<p><h2> +Examples +</h2> +An example of +the use of the additional arguments is the minimization of an error +function for a neural network: +<PRE> + +w = quasinew('neterr', w, options, 'netgrad', net, x, t); +</PRE> + + +<p><h2> +Algorithm +</h2> + +The conjugate gradients algorithm constructs search +directions <CODE>di</CODE> that are conjugate: i.e. <CODE>di*H*d(i-1) = 0</CODE>, +where <CODE>H</CODE> is the Hessian matrix. This means that minimising along +<CODE>di</CODE> does not undo the effect of minimising along the previous +direction. The Polak-Ribiere formula is used to calculate new search +directions. The Hessian is not calculated, so there is only an +<CODE>O(W)</CODE> storage requirement (where <CODE>W</CODE> is the number of +parameters). However, relatively accurate line searches must be used +(default is <CODE>1e-04</CODE>). + +<p><h2> +See Also +</h2> +<CODE><a href="graddesc.htm">graddesc</a></CODE>, <CODE><a href="linemin.htm">linemin</a></CODE>, <CODE><a href="minbrack.htm">minbrack</a></CODE>, <CODE><a href="quasinew.htm">quasinew</a></CODE>, <CODE><a href="scg.htm">scg</a></CODE><hr> +<b>Pages:</b> +<a href="index.htm">Index</a> +<hr> +<p>Copyright (c) Ian T Nabney (1996-9) + + +</body> +</html> \ No newline at end of file |
