Hi everyone,
From what I see in e.g. OWLQN.scala it is supposed to use FirstOrderMinimizer::adjust to apply regularisation and not FirstOrderMinimizer::adjustFunction but then if I look to FirstOrderMinimizer::infiniteIterations I see that non-adjusted values are used in convergence check:
val (value, grad) = calculateObjective(adjustedFun, x, state.history)
val (adjValue,adjGrad) = adjust(x,grad,value)
...
val newCInfo = convergenceCheck.update(x, grad, value, state, state.convergenceInfo)
Please elaborate on why is value used here instead of adjValue? It seems to me that regularised values should be used in convergence update.
By the way this may be a duplicate of another topic of mine, I've posted it earlier today but could not find it anywhere so decided to post again, sorry if any inconvenience was introduced.
Kind regards,
Dmitry