文章目录
共轭梯度
在前面利用梯度的算法中,迭代步骤中 x k x_k xk都是由初始点 x 0 x_0 x0以及梯度 ∇ f ( x i ) \nabla f(x_i) ∇f(xi)得到的。并且在凸优化简介6最后也提到了变度量方法的计算量较大。
前面的方法是从完整的 R n \mathbb{R}^n Rn空间中选取初始点开始迭代,那么是否可以在一个子空间内寻找解。
在求解大规模稀疏线性方程组 A x = b , A ∈ R n × n , b ∈ R n Ax=b, A\in \mathbb{R}^{n\times n}, b\in \mathbb{R}^n Ax=b,A∈Rn×n,b∈Rn,经常使用 Krylov subspace
,记作 K \mathfrak{K} K,基本思想是在 K ∈ R n \mathfrak{K}\in \mathbb{R}^n K∈Rn中寻找近似解。这类方法也被看做是一种投影方法。
问题描述:
设 K \mathfrak{K} K是 R n \mathbb{R}^n Rn的一个子空间,记 m : = d i m ( K ) ≪ n m:=dim(\mathfrak{K}) \ll n m:=dim(K)≪n。
目标:在 K \mathfrak{K} K中找到一个最好的逼近;
定解条件:设置 m m m个约束,要求参量满足 m m m个正交条件, 即 r = b − A x ~ ⊥ F r=b-A\widetilde{x} \perp \mathfrak{F} r=b−Ax
⊥F。其中 x ~ \widetilde{x} x
是近似解, F \mathfrak{F} F是一个约束空间。当 F = K \mathfrak{F}=\mathfrak{K} F=K的时候,称为正交投影,否则称为斜投影。
常见的Krylov subspace
方法包括 GMRES(Generalized minimal residual method)、CG等。
共轭梯度最初是用来最小化二次函数。例如 min x ∈ R n f ( x ) \min \limits_{x\in \mathbb{R}^n}f(x) x∈Rnminf(x),其中 f ( x ) = a + ⟨ a , x ⟩ + 1 2 ⟨ A x , x ⟩ f(x)=a+\langle a,x \rangle+\frac{1}{2}\langle Ax, x \rangle f(x)=a+⟨a,x⟩+21⟨Ax,x⟩,且 A = A T ≻ 0 A=A^T \succ 0 A=AT≻0。设 x ∗ x^* x∗为函数 f ( x ) f(x) f(x)的最优值,则根据 ∇ f ( x ∗ ) = 0 \nabla f(x^*)=0 ∇f(x∗)=0 得到 x ∗ = − A − 1 a x^*=-A^{-1}a x∗=−A−1a,因此目标函数可以转换为:
f ( x ) = a + ⟨ a , x ⟩ + 1 2 ⟨ A x , x ⟩ = a − ⟨ A x ∗ , x ⟩ + 1 2 ⟨ A x , x ⟩ = a − 1 2 ⟨ A x ∗ , x ∗ ⟩ + 1 2 ⟨ A ( x − x ∗ ) , x − x ∗ ⟩ . \begin{aligned} &f(x)=a+\langle a,x \rangle+\frac{1}{2}\langle Ax,x\rangle\\ &=a-\langle Ax^*,x \rangle+\frac{1}{2}\langle Ax, x \rangle\\ &=a-\frac{1}{2}\langle Ax^*,x^*\rangle+\frac{1}{2}\langle A(x-x^*), x-x^*\rangle. \end{aligned} f(x)=a+⟨a,x⟩+21⟨Ax,x⟩=a−⟨Ax∗,x⟩+21⟨Ax,x⟩=a−21⟨Ax∗,x∗⟩+21⟨A(x−x∗),x−x∗⟩.