该笔记初衷为期末复习所用,引用出处均已注明,涉及个人理解部分如果有不对之处,还请批评指正,俺会虚心接受滴!
1.应用范围
目标函数的无约束绩效问题。
2.相关定义
定义1 设Q为n阶实对称正定矩阵,若n维方向x和y满足,则称方向x和y是Q-共轭的。
3.原理
将函数改写成如下形式:
如果每个子函数都能取得最小值,那么f(x)也能取得最小值。假设梯度下降一共需要n阶(也就是迭代次数啦),每个对应一个阶梯,每阶的方向和步长都使取得最小值。
我们当然希望阶梯数n越少越好,那么如何找到所需最少的阶梯数呢?当阶梯数最少时,每阶的方向和步长都不同,且每阶都无法由其他的阶梯组合而成。也就是说,每次梯度下降的方向必须是线性无关的,梯度下降的次数才会最少,迭代次数才会最少。
我们是有办法找到一组线性无关的方向向量(即Rn中的一组基{p1,p2,…,pn})的哦!首先在初始点(记为x1)选取负梯度方向为p1(就是x1点的方向啦),然后寻找与p1共轭的方向为p2,再寻找与p1和p2共轭的方向为p3,…,由此经过n次寻找到f(x)的最小值。
也就是说,我们需要找到合适的基{p1,p2,…,pn},从而确定方向、步长的迭代式,满足 ,i∈{1,2,…,n}。
好巧不巧,当时,选择方向 ,其中(常数),步长为 (常数),可以满足上述条件。
当时,就可以使 ,i∈{1,2,…,n}成立了。
已知 ,那么总是成立,i∈{1,2,…,n},j∈{1,2,…,i}(简单来说,i表示当前迭代次数,j表示i次之前的每个迭代次数,显然i≠j)。(正是这个独特的导数和梯度条件,使得共轭梯度法的使用范围有限制!)整理一下就是。这非常容易凑成共轭关系:
这里仅仅得到了基需要满足的条件(即它们必须具有关于Q共轭的性质)。然而,在迭代过程中,程序需要的是pi+1与pi的关系式,以及λi+1与λi的关系式。所以要根据基的共轭特性,找出方向和步长的迭代式。
根据恒成立等式,尝试构造出一类方向迭代式: 。显然当时,
=0总是成立。这样就确定下方向迭代式了。
通过恒成立等式可以确定步长迭代式。显然当时,下式成立:
其中可由推出。
本来这里就结束了,但是大聪明们发现方向中的是可以简化的,于是将其简化为
这样方向就可以简单写为了。嘻嘻。
4.步骤
首先,找到初始点 。当梯度不为零时,根据步长和方向的规则
逐次迭代出下一个点 。(若某点梯度为零,那找到极小点咯,就不需要继续迭代咯!)
2021.09.25
注:文中的“显然”只是我猜想大聪明们在构造它们的时候觉得“显然”,我个人觉得一点都不“显然”!