共轭梯度法(Conjugate Gradient method, CG)
对于严格凸的二次优化问题n维二次优化问题,
minx∈Rnf(x)=12xTAx−bTx,
其中A是对称正定的矩阵, b∈Rn。
相比于最速下降法,CG在最速下降方向(−gk)上加入了惯性项,生成了一组相互共轭的方向 dk (dTk−jAdk=0,0<j<k),因此,当第一次迭代采用精确线搜索的条件下,CG最多n步就能收敛。具体地,CG的迭代格式如下
xk+1=xk+tkdk,
dk={−gk,ifk=0,−gk+βkdk−1,ifk≥1.
其中最流行的参数βk有
βFRk=||gk||2||gk−1||2,βCDk=||gk||2−gTk−1dk−1,βDYk=||gk||2yTk−1dk−1,
βHSk=yTk−1gkyTk−1dk−1,βPRPk=yTk−1gk||gk−1||2,βLSk=yTk−1gk−gTk−1dk−1.
当然对于凸二次的优化问题,上面这六个参数是等价的。对于一般的目标函数,它们就不是等价的。这些参数的区别在于:前三个有强的收敛性质,但是它们在实践中的表现不太好;后三个可能不收敛,但是它们的性能通常要比前三个的性能好。
因此,经常会看到一些文献中采用混合策略,将前三个参数的某一个与后三个中的某一个相结合起来,(主要将分母相同的参数进行混合) 比如Touati-Ahmed 和 Storey提出了PRP-FR方法,
βH1k=max{0,min{βPRPk,βFRk}},
Gilbert和Nocedal提出了
βH2k=max{−βFRk,min{βPRPk,βFRk}},
Dai和Yuan提出了
βH3k=max{0,min{βHSk,βDYk}}.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具