【如何求解经典优化问题:最小二乘求解】Matlab|正规方程|QR分解|梯度下降法|最优化方法

 

对于最小二乘优化问题的求解,笔者在本次实验中对比分析了以下几种求解思路:

1、用正规方程法求解最小二乘问题:运算量最小,而且简单直观,但由于A^T * A的条件数是A的条件数的平方,因此对于病态情形(即A的条件数比较大),不建议使用该方法。

2、用正规方程QR分解来求最小二乘问题:通常QR算法比较稳定,是求解最小二乘问题的首选方法,特别是当A条件数较大(病态)时。但由于此方法需要使用QR分解,所以只适用于列向量无关的矩阵。若对列向量有关的矩阵求解会出现无效结果。正规方程法所要求的矩阵A列向量线性无关,在实际中几乎无法满足。所以不适合把此方法应用到实际问题中。另外,在实际求解过程中,一般无需获得准确解,所以可以使用梯度下降法求得近似解。

3、梯度下降法求解最小二乘问题:当threshold的值大于1.00E-16后,算法的性能不再提升,此时的迭代次数为2837,残差向量值为1.37780850876571,梯度和正规残差向量之差为9.48E-14,算法性能已接近准确解。

因此,对比分析,可以得出以下结论:

当矩阵A的列向量线性相关时,梯度下降法是更优的选择;当矩阵A的列向量线性无关时,因为正规方程QR分解相对于梯度下降法的复杂度更低,正规方程QR分解是更优的选择。


思维导图如下:



源文件可以在笔者的[Github下载]


├── GD_code.m
├── LS_code.m
├── Matlab实现最小二乘法优化模型(正规方程&梯度下降法).pdf
└── Matrix_A_b.mat

暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇