matlab - 如何提高基于符号函数的稀疏回归优化算法的计算复杂度?
问题描述
我正在使用基于符号函数的正则化稀疏回归模型。
正则化稀疏回归模型的目标是获得具有噪声的超定系统的稀疏解,公式如下。我已将以下方程设置为优化问题,为此我使用MATLAB 优化工具箱中的lsqnonlin求解器。
X˙= Θ(X)Ξ,
在哪里
X、X˙:可用,但 X˙ 可能被噪音污染
Θ(X):X 元素的库函数
Ξ:确定非线性的系数
问题: 随着问题维数的增加,所涉及的符号函数的数量也随之增加,从而增加了优化算法的时间复杂度。
作为参考,使用 lsqnonlin 求解器的 Levenberg-Marquardt 算法选项的优化时间如下:
5 dimensional problem: 1.179 seconds
9 dimensional problem: 36.5 minutes
14 dimensional problem: 14.5 hours
此外,我尝试修改迭代次数,使用不同的正则化规范,使用并行计算选项,以及使用优化求解器可用的不同缩放选项。然而,计算时间方面的结果并没有显示出任何显着的改进,并且对于更高维系统的情况仍然非常大。
是否有一种计算速度更快的方法来解决与高达 1000 维案例相关的优化问题?
解决方案
推荐阅读
- css - 换行后 CSS Grid 或 Flex 中元素的不同对齐方式
- javascript - 用于根据其数据类型呈现组件的 Javascript 设计模式
- matlab - 使用函数句柄创建创建函数和声明符号有什么区别?
- python - __init__() 接受 1 个位置参数,但给了 2 个“TypeError at /hello/”
- google-cloud-platform - GCP:为删除的虚拟机收费。如何单独删除资源?
- android - 将传感器数据发送到移动应用程序以供其他人查看
- excel - VBA Excel - 单击按钮时检查多个文本框的验证
- python - 使用 min() 多次还是将其存储在变量中对性能更好?
- c++ - c中的printf波浪号运算符
- c# - 如何在一个循环中存储几个产品并将其显示在 html 页面中?用 C#