这是我参与11月更文挑战的第10天,活动详情查看:2021最后一次更文挑战
在各种场景可能都会遇到需要求解多元二次函数极值的问题,本系列文章介绍相关的计算方法,核心内容为共轭梯度法。
本文介绍问题定义。
问题定义
- 多元二次多项式,维度为n,那么可以用以下公式描述该函数:
f(x1,x2,x3,...,xn)=a1,1x12+a1,2x1x2+a1,3x1x3+⋯+a1,nx1xn+a2,1x2x1+a2,2x22+a2,3x2x3+⋯+a2,nx2xn+⋯+an,nxn2+b1x1+b2x2+⋯+bnxn+c
其中ai,j为二次项系数,共有n2项,1≤i,j≤n,且所有的a不全为0,即∃ai,j=0;
bk为一次项系数,共n项,1≤k≤n;
c为常数项。
- 记 f(x)=[x1,x2,⋯,xn]T ,则上述函数可以写作二次型的形式:
f(x1,x2,x3,...,xn)=f(x)=xTAx+bTx+c
转化过程中A,b满足:
A 为n阶对称方阵,Ai,j=ai,j
因为∃ai,j=0,A不为零矩阵
bi=bi
f(x)=21xTAx−bTx+c
- 我们的目标就是寻找该函数的极值点的坐标,我们把该目标称为x∗。
简要分析
- 当前问题其实就是多元二次方程极值求解的问题
- 此类函数在函数定义域内处处连续可导
- 极值点必然处于导数为0的位置
需要解决的问题
- 同一个多元二次方程表示成二次型的参数A,b,c是否唯一,如果不唯一该如何设置,为什么如此设置
- 该问题是否存在导数为0的点
- 导数为0的点如何求解
- 导数为0的点是否就是极值点
- 对于给定的二次型如何判断是否可优化
- 对于可优化的二次型都有什么方法寻找极值点
- 寻找极值点的方法们都有哪些优缺点,为什么需要提出共轭梯度法
- 代数解法,梯度下降法介绍与分析
- 共轭梯度法介绍与分析
- 共轭梯度法的相关证明