首先介绍一下什么是共轭:

暴力拆解《Numerical Optimization》之共轭方向法是一个n阶对称正定阵,若存在非零向量所构成的集合暴力拆解《Numerical Optimization》之共轭方向法使得

暴力拆解《Numerical Optimization》之共轭方向法

那么则称暴力拆解《Numerical Optimization》之共轭方向法与对称正定阵暴力拆解《Numerical Optimization》之共轭方向法形成共轭。

在这一篇博客中,就是利用共轭方向做为目标函数减小的方向,来迭代计算目标函数暴力拆解《Numerical Optimization》之共轭方向法的极值点。




考虑这样一个问题:暴力拆解《Numerical Optimization》之共轭方向法,求解暴力拆解《Numerical Optimization》之共轭方向法,其中暴力拆解《Numerical Optimization》之共轭方向法为对称正定阵。


我们可以考虑这样一个目标函数:

暴力拆解《Numerical Optimization》之共轭方向法

我们可以看出,暴力拆解《Numerical Optimization》之共轭方向法是该目标函数的梯度。当该目标函数取到极值的时候,其梯度为零,也就是暴力拆解《Numerical Optimization》之共轭方向法。求解暴力拆解《Numerical Optimization》之共轭方向法的问题就被转化成了求解该目标函数的极值点的问题。


暴力拆解《Numerical Optimization》之共轭方向法是一个对角矩阵,那么目标函数暴力拆解《Numerical Optimization》之共轭方向法的等值线与坐标轴平行,并且暴力拆解《Numerical Optimization》之共轭方向法的共轭梯方向也与坐标轴平行,这时,我们可以非常方便的且非常直观的用下面的方法去找到目标函数暴力拆解《Numerical Optimization》之共轭方向法的极值点:

暴力拆解《Numerical Optimization》之共轭方向法

并且 ,由上面的图我们可以看出,我们是可以在n次迭代之内找到极值点的。


暴力拆解《Numerical Optimization》之共轭方向法不是一个对角矩阵时,这个时候它的共轭方向不再是坐标轴方向,按上面的方法就无法再找到极值点:

暴力拆解《Numerical Optimization》之共轭方向法


此时,我们可以想办法把矩阵暴力拆解《Numerical Optimization》之共轭方向法转化为对角矩阵,然后再按照上面的方法来找到目标函数暴力拆解《Numerical Optimization》之共轭方向法的极值点。


由矩阵理论的知识,我们可知若暴力拆解《Numerical Optimization》之共轭方向法为对称正定阵,那么暴力拆解《Numerical Optimization》之共轭方向法就是一个正规阵,由正规阵的性质可知,暴力拆解《Numerical Optimization》之共轭方向法可以写成这样的形式:

暴力拆解《Numerical Optimization》之共轭方向法

其中暴力拆解《Numerical Optimization》之共轭方向法为矩阵暴力拆解《Numerical Optimization》之共轭方向法的特征值,暴力拆解《Numerical Optimization》之共轭方向法为酉矩阵(酉矩阵意味着:暴力拆解《Numerical Optimization》之共轭方向法暴力拆解《Numerical Optimization》之共轭方向法的求解方法将在最后补充)。这里我们只考虑实数域的情况,此时,暴力拆解《Numerical Optimization》之共轭方向法。记:

暴力拆解《Numerical Optimization》之共轭方向法

令:

暴力拆解《Numerical Optimization》之共轭方向法

那么,我们就将上面的而目标函数变成了:

暴力拆解《Numerical Optimization》之共轭方向法

原本的暴力拆解《Numerical Optimization》之共轭方向法变成了一个对角矩阵:

暴力拆解《Numerical Optimization》之共轭方向法


由此,我们得到了一个共轭方向法计算目标函数暴力拆解《Numerical Optimization》之共轭方向法的极值点的计算步骤:

1.利用矩阵理论的知识,计算出暴力拆解《Numerical Optimization》之共轭方向法暴力拆解《Numerical Optimization》之共轭方向法、所对应的新的起始点暴力拆解《Numerical Optimization》之共轭方向法、以及新的目标函数暴力拆解《Numerical Optimization》之共轭方向法

2.将平行于坐标轴的方向(暴力拆解《Numerical Optimization》之共轭方向法的共轭方向)做为新的目标函数暴力拆解《Numerical Optimization》之共轭方向法减小的方向,计算暴力拆解《Numerical Optimization》之共轭方向法,其中暴力拆解《Numerical Optimization》之共轭方向法(由来见置顶文章暴力拆解《Numerical Optimization》之器材准备(数学知识补充)之4)

3.进行n次迭代,找到新的目标函数暴力拆解《Numerical Optimization》之共轭方向法的极值点暴力拆解《Numerical Optimization》之共轭方向法。然后利用公式暴力拆解《Numerical Optimization》之共轭方向法,计算出原目标函数暴力拆解《Numerical Optimization》之共轭方向法的极值暴力拆解《Numerical Optimization》之共轭方向法





补充:若暴力拆解《Numerical Optimization》之共轭方向法就是一个正规阵,如何计算暴力拆解《Numerical Optimization》之共轭方向法暴力拆解《Numerical Optimization》之共轭方向法

利用线性代数的知识计算出矩阵暴力拆解《Numerical Optimization》之共轭方向法的特征值和特征向量,然后将特征向量进行单位化。

将特征值组成对角阵即为暴力拆解《Numerical Optimization》之共轭方向法,其对应单位化后的特征向量组成暴力拆解《Numerical Optimization》之共轭方向法

相关文章: