[英]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.