【发布时间】:2015-01-15 22:01:22
【问题描述】:
我正在编写执行 MLE 的代码。在每一步,我都会在一个点上得到渐变,然后沿着它移动到另一个点。但我对确定移动幅度有疑问。如何确定良好收敛的最佳幅度?您能给我建议如何避免其他陷阱,例如存在多个最大值吗?
【问题讨论】:
-
你有一些代码要看吗?这就是 SO 的意义......
标签: matlab
我正在编写执行 MLE 的代码。在每一步,我都会在一个点上得到渐变,然后沿着它移动到另一个点。但我对确定移动幅度有疑问。如何确定良好收敛的最佳幅度?您能给我建议如何避免其他陷阱,例如存在多个最大值吗?
【问题讨论】:
标签: matlab
关于存在多个最大值:在处理不是convex 的函数时会出现此问题。它可以通过多启动优化部分解决,这实质上意味着您多次运行模拟以找到尽可能多的最大值,然后从中选择“最高”最大值。请注意,这并不能保证全局最优,因为全局最优可能难以达到(即局部最优具有更大的吸引力域)。
关于收敛的最佳步长:您可能需要查看回溯线搜索。对它的简短解释可以在this question的回答中找到
正如 jkalden 已经指出的那样,如果您可以提供一些代码供我们查看,我们或许可以为您提供更具体的帮助。
【讨论】: