f*****n 发帖数: 72 | 1 在解一个nonlinear optimization的问题,variables有441个. 开始3步是可以到2nd
order的,但是后面就会收敛很慢,基本上Gradient的norm就是常数了,老板让我找个
解释出来。。。想了半天无果。
code写的应该是没有问题的,因为有一个intial condition是可以得到2nd order
converge的,但是除此自外都不行,这也是一个需要解释的地方
输出如下:
Iter f(x) norm of grad
1 1.338356896477270 15.817786428955722
2 0.058318467536695 1.454325027881377
3 0.016906651903142 0.312036346047469
4 0.017479034846915 0.034953665750925
5 0.017480904458215 0.031569943654202
6 0.017484810226725 |
i******t 发帖数: 370 | 2 Check the condition number of your Hessian first. If your Hessian is ill-
conditioned in the last steps, the convergence could be bad.
Also Newton's method could fail to converge if starting too far away from
the optimum.
【在 f*****n 的大作中提到】 : 在解一个nonlinear optimization的问题,variables有441个. 开始3步是可以到2nd : order的,但是后面就会收敛很慢,基本上Gradient的norm就是常数了,老板让我找个 : 解释出来。。。想了半天无果。 : code写的应该是没有问题的,因为有一个intial condition是可以得到2nd order : converge的,但是除此自外都不行,这也是一个需要解释的地方 : 输出如下: : Iter f(x) norm of grad : 1 1.338356896477270 15.817786428955722 : 2 0.058318467536695 1.454325027881377 : 3 0.016906651903142 0.312036346047469
|
z*****a 发帖数: 3809 | 3 Is the function being optimized convex? If it is, then there must be
something wrong with your code since the function value increases in
iterations 3 to 7. If your function is not convex, how are you dealing with the case when the hessian matrix is not positive definite?
【在 f*****n 的大作中提到】 : 在解一个nonlinear optimization的问题,variables有441个. 开始3步是可以到2nd : order的,但是后面就会收敛很慢,基本上Gradient的norm就是常数了,老板让我找个 : 解释出来。。。想了半天无果。 : code写的应该是没有问题的,因为有一个intial condition是可以得到2nd order : converge的,但是除此自外都不行,这也是一个需要解释的地方 : 输出如下: : Iter f(x) norm of grad : 1 1.338356896477270 15.817786428955722 : 2 0.058318467536695 1.454325027881377 : 3 0.016906651903142 0.312036346047469
|
i******t 发帖数: 370 | 4 The function value increases probably because the second order
approximation (the assumption of Newton's method) is really bad there - in
the extreme case it could diverge. Not necessarily because the code has bugs.
with the case when the hessian matrix is not positive definite?
【在 z*****a 的大作中提到】 : Is the function being optimized convex? If it is, then there must be : something wrong with your code since the function value increases in : iterations 3 to 7. If your function is not convex, how are you dealing with the case when the hessian matrix is not positive definite?
|
z*****a 发帖数: 3809 | 5 I was assuming Newton's method is only used to generate the step direction
and a line search is used to compute the step size.
in
bugs.
【在 i******t 的大作中提到】 : The function value increases probably because the second order : approximation (the assumption of Newton's method) is really bad there - in : the extreme case it could diverge. Not necessarily because the code has bugs. : : with the case when the hessian matrix is not positive definite?
|
c********i 发帖数: 55 | 6 你说的那个 "有一个intial condition是可以得到2nd order
converge的", 得到的解是多少?
【在 f*****n 的大作中提到】 : 在解一个nonlinear optimization的问题,variables有441个. 开始3步是可以到2nd : order的,但是后面就会收敛很慢,基本上Gradient的norm就是常数了,老板让我找个 : 解释出来。。。想了半天无果。 : code写的应该是没有问题的,因为有一个intial condition是可以得到2nd order : converge的,但是除此自外都不行,这也是一个需要解释的地方 : 输出如下: : Iter f(x) norm of grad : 1 1.338356896477270 15.817786428955722 : 2 0.058318467536695 1.454325027881377 : 3 0.016906651903142 0.312036346047469
|