【问题标题】:Alternative to Levenberg-Marquardt algorithmLevenberg-Marquardt 算法的替代方案
【发布时间】:2019-05-04 16:25:50
【问题描述】:

我收到了一些旧代码,它使用函数 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_);

【问题讨论】:

    标签: matlab levenberg-marquardt


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-08
      • 1970-01-01
      • 2011-06-04
      相关资源
      最近更新 更多