簡體   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