@PublicationReference(author="Wikipedia", title="Gauss-Newton algorithm", type=WebPage, year=2009, url="http://en.wikipedia.org/wiki/Gauss%E2%80%93Newton_algorithm") public class GaussNewtonAlgorithm extends LeastSquaresEstimator
FletcherXuHybridEstimation
,
Serialized FormModifier and Type | Field and Description |
---|---|
static LineMinimizer<?> |
DEFAULT_LINE_MINIMIZER
Default line minimizer, LineMinimizerDerivativeBased.
|
static double |
STEP_MAX
Maximum step norm allowed under a Gauss-Newton step, 100.0
|
DEFAULT_MAX_ITERATIONS, DEFAULT_TOLERANCE
data, keepGoing
maxIterations
DEFAULT_ITERATION, iteration
Constructor and Description |
---|
GaussNewtonAlgorithm()
Creates a new instance of GaussNewtonAlgorithm
|
GaussNewtonAlgorithm(LineMinimizer<?> lineMinimizer)
Creates a new instance of GaussNewtonAlgorithm
|
GaussNewtonAlgorithm(LineMinimizer<?> lineMinimizer,
int maxIterations,
double tolerance)
Creates a new instance of GaussNewtonAlgorithm
|
Modifier and Type | Method and Description |
---|---|
protected void |
cleanupAlgorithm()
Called to clean up the learning algorithm's state after learning has
finished.
|
LineMinimizer<?> |
getLineMinimizer()
Getter for lineMinimizer
|
protected boolean |
initializeAlgorithm()
Called to initialize the learning algorithm's state based on the
data that is stored in the data field.
|
void |
setLineMinimizer(LineMinimizer<?> lineMinimizer)
Setter for lineMinimizer
|
protected boolean |
step()
Called to take a single step of the learning algorithm.
|
getCostFunction, getObjectToOptimize, getPerformance, getResult, getResultCost, getTolerance, setCostFunction, setObjectToOptimize, setResult, setResultCost, setTolerance
clone, getData, getKeepGoing, learn, setData, setKeepGoing, stop
getMaxIterations, isResultValid, setMaxIterations
addIterativeAlgorithmListener, fireAlgorithmEnded, fireAlgorithmStarted, fireStepEnded, fireStepStarted, getIteration, getListeners, removeIterativeAlgorithmListener, setIteration, setListeners
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
learn
clone
getMaxIterations, setMaxIterations
addIterativeAlgorithmListener, getIteration, removeIterativeAlgorithmListener
isResultValid, stop
public static final LineMinimizer<?> DEFAULT_LINE_MINIMIZER
public static final double STEP_MAX
public GaussNewtonAlgorithm()
public GaussNewtonAlgorithm(LineMinimizer<?> lineMinimizer)
lineMinimizer
- Workhorse algorithm that finds the minimum along a particular directionpublic GaussNewtonAlgorithm(LineMinimizer<?> lineMinimizer, int maxIterations, double tolerance)
lineMinimizer
- Workhorse algorithm that finds the minimum along a particular directionmaxIterations
- Maximum number of iterationstolerance
- Tolerance before stopping.protected boolean initializeAlgorithm()
AbstractAnytimeBatchLearner
initializeAlgorithm
in class AbstractAnytimeBatchLearner<java.util.Collection<? extends InputOutputPair<? extends Vector,Vector>>,GradientDescendable>
protected boolean step()
AbstractAnytimeBatchLearner
step
in class AbstractAnytimeBatchLearner<java.util.Collection<? extends InputOutputPair<? extends Vector,Vector>>,GradientDescendable>
protected void cleanupAlgorithm()
AbstractAnytimeBatchLearner
cleanupAlgorithm
in class AbstractAnytimeBatchLearner<java.util.Collection<? extends InputOutputPair<? extends Vector,Vector>>,GradientDescendable>
public LineMinimizer<?> getLineMinimizer()
public void setLineMinimizer(LineMinimizer<?> lineMinimizer)
lineMinimizer
- Workhorse algorithm that finds the minimum along a particular direction