【问题标题】:Minimizing a function of more than a hundred variables on matlab在matlab上最小化一百多个变量的函数
【发布时间】:2017-01-30 16:00:16
【问题描述】:

我正在尝试使用 Matlab 的函数 fminunc 最小化约 120 个变量的函数(我通过最大似然估计参数),但迭代步骤非常慢。我可以通过哪些方式来加速这个过程?

该函数是非线性的,包含大量的求和。

我正在考虑尽可能多地对函数定义进行矢量化,并可能将梯度函数提供给 Matlab,但除了这些解决方案之外,我不知道还有哪些其他可能性。

【问题讨论】:

  • 很多时候,标准算法速度慢的时候,需要自己写优化策略,针对具体问题进行优化
  • 您的问题是否有限制,或者您能想到变量的一些逻辑界限吗?在这种情况下,fmincon 可能更适合您。

标签: matlab minimization bigdata


【解决方案1】:

我解决了我的问题,最小化速度很慢,因为我使用 for 循环在函数中实现了总和。现在,我尽可能多地对问题进行向量化,尽可能频繁地使用矩阵乘法和向量,fminunc 的优化速度要快得多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 2021-06-18
    • 1970-01-01
    • 2023-03-26
    • 2017-02-16
    • 1970-01-01
    相关资源
    最近更新 更多