繁体   English   中英

替代Levenberg-Marquardt算法

[英]Alternative to Levenberg-Marquardt algorithm

我收到了一些旧代码,它使用函数fmincon和算法LevenbergMarquardt来优化我的参数。 但是,此算法不再提供此算法。 由于我是Matlab的新手,我不确定最好的选择是什么。 我试图简单地将功能更改为与LevenbergMarquardt兼容的功能,但这似乎不起作用。

下面是选项向量和fmincon函数。 “S”,“A”和“b”是参数的起始值,“lb”和“ub”是上限和下限。

如果有任何不清楚或您需要其他信息,请写。

options_ = optimset('LevenbergMarquardt', 'on','TolFun',1e-6,'TolX',1e-6, 'HessUpdate', 'steepdesc', 'Display','iter', 'LargeScale', 'off', 'MaxFunEvals', 100000, 'MaxIter', 100000);

[ out_p, fval, exitfflag ] = fmincon(@MyLikelihoodFunction, S, A, b, [], [], lb, ub, [], options_);

你尝试了什么,出了什么问题?

我将从fmincon开始,使用所有默认选项。 这将为您提供内点算法。 将“显示”设置为“iter”以查看算法的进展情况。 如果问题很大(虽然旧代码关闭'LargeScale'),您可以尝试将'HessianApproximation'设置为'lbfgs'。

A和b不是起点的一部分。 那些定义了线性不等式约束。 在上面给出的文档链接中有更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM