do not cross upper bound for lambda
parent
a1ff716daf
commit
4aec076568
|
@ -184,10 +184,12 @@ void LevenbergMarquardtOptimizer::iterate() {
|
||||||
if (error < state_.error) {
|
if (error < state_.error) {
|
||||||
state_.values.swap(newValues);
|
state_.values.swap(newValues);
|
||||||
state_.error = error;
|
state_.error = error;
|
||||||
if(modelFidelity > params_.minModelFidelity)
|
if(modelFidelity > params_.minModelFidelity){
|
||||||
decreaseLambda(modelFidelity);
|
decreaseLambda(modelFidelity);
|
||||||
else
|
}else{
|
||||||
increaseLambda(modelFidelity);
|
if(state_.lambda < params_.lambdaUpperBound)
|
||||||
|
increaseLambda(modelFidelity);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
// Either we're not cautious, or the same lambda was worse than the current error.
|
// Either we're not cautious, or the same lambda was worse than the current error.
|
||||||
|
|
Loading…
Reference in New Issue