我正在编写执行MLE的代码。在每一步,我在一个点上获得渐变,然后沿着它移动到另一个点。但我确定移动的幅度有问题。如何确定良好收敛的最佳幅度?你能否告诉我如何避免其他陷阱,例如存在多个最大值?
答案 0 :(得分:1)
关于存在多个最大值:处理非convex的函数时会发生此问题。它可以通过多启动优化来部分解决,这实际上意味着您多次运行模拟,以便找到尽可能多的最大值,然后从中选择“最高”最大值。请注意,这并不能保证全局最优,因为全局最优可能很难达到(即局部最优具有更大的吸引力)。
关于收敛的最佳步长:您可能希望查看后向跟踪linesearch。可以在this question
的答案中找到对它的简短说明正如jkalden已经指出的那样,如果你能给我们一些代码,我们可能会给你更具体的帮助。