文章目录
引用
Preliminaries
梯度与梯度下降
- 对于一维函数 f ( x ) f(x) f(x),其导数定义为:
f ′ ( x ) = lim Δ x → 0 f ( x 0 + Δ x ) − f ( x 0 ) Δ x f'(x)=\lim \limits_{\Delta x \rightarrow 0} \frac{f(x_0+\small{\Delta} x)-f(x_0)}{\small{\Delta} x} f′(x)=Δx→0limΔxf(x0+Δx)−f(x0) - 对于多维函数 f ( x 1 , . . . , x n ) f(x_1,...,x_n) f(x1,...,xn),对 x i x_i xi求导数 d f d x i \frac{df}{dx_i} dxidf,将其记为偏导数 ∂ f ∂ x I \frac{\partial f}{\partial x_I} ∂xI∂f。特别的,记录梯度 ▽ f ( x ) \triangledown f(x) ▽f(x)或简记为 ▽ f \triangledown f ▽f为对 x i x_i xi求偏导后的列向量:
g ( x ) = ▽ f ( x ) = ( ∂ f ∂ x 1 , ∂ f ∂ x 2 , . . . , ∂ f ∂ x 1 ) T g(x)=\triangledown f(x)=(\frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2},..., \frac{\partial f}{\partial x_1})^T g(x)=▽f(x)=(∂x1∂f,∂x2∂f,...,∂x1∂f)T - 梯度下降
矩阵(半)正定
设有 x T A x x^TAx xTAx对 ∀ x = ( x 1 , ⋯ , x n ) T \forall x=(x_1,\cdots,x_n)^T ∀x=(x1,⋯,xn)T都有 x T A x > 0 x^TAx>0 xTAx>0,则称矩阵 A A A是正定矩阵;若都有 x T A x ≥ 0 x^TAx\ge0 xTAx≥0,则称其为半正定矩阵。
同时,若一个矩阵 A A A正定,则 A A A的特征值均为正数(半正定则为大于零的数),一定存在逆矩阵 A − 1 A^{-1} A−1。
线性方程组
设有对称、正定矩阵 A ∈ R n × n A \in \R^{n \times n} A∈Rn×n和非零列向量 x , b ∈ R n x,b \in \R^n x,b∈Rn满足 A x = b Ax=b Ax=b,称其为一个线性方程组(System of Linear Equations)。将其唯一解记为 x ∗ x^* x∗。
正交向量
若非零列向量 a , b ∈ R n a,b \in \R^n a,b∈Rn满足 a T b = 0 a^Tb=0 aTb=0,则将这两个向量互为正交向量。当其正交,则其在空间上互为垂直的两个向量。
Tip:亦有文献将其称为直交。
共轭方向及共轭方向组
- 如果对于非零列向量 u , v ∈ R n u,v \in \R^n u,v∈Rn存在 n × n n \times n n×n 对称、正定矩阵 A A A使得:
u T A v = 0 u^TAv=0 uTAv=0则称 u , v u,v u,v为关于 A A A的共轭方向。
众所周知,矩阵可以看作是一种运动、映射,当 u , v u,v u,v关于 A A A共轭时,实际上是值当 u , v u,v u,v经过对称正定矩阵 A A A的运动之后在空间上互相垂直(正交)。
特别的,当 A A A取得单位阵时,实际上下文提到的二阶拟合函数就是一个圆球,共轭方向为过圆心且互相垂直的若干组直径。
- 设对于非零向量 p i , p j ∈ p ^ = { p 1 , ⋯ , p n } p_i ,p_j\in \hat p= \{ p_1, \cdots, p_n \} pi,pj∈p^={ p1,⋯,pn} 且 p i , p j ∈ R n p_i,p_j \in \R^n pi,pj∈Rn,若 p i T A p j = 0 p_i^TAp_j=0 piTApj=0 ( i = j̸ ) (i =\not j) (i=j),则称 p 1 , ⋯ , p n p_1,\cdots,p_n p1,⋯,pn是关于 A A A相互共轭的一组共轭方向组。
引理:非0共轭方向组显然线性无关。(可用反证法证明)
证明:设有一组标量 α i \alpha_i αi使得 ∑ α i p i = 0 \sum \alpha_ip_i=0 ∑αipi=0,则 ∀ k , p k ∈ p ^ = { p 1 , ⋯ , p n } \forall k,p_k \in \hat p=\{ p_1, \cdots, p_n\} ∀k,pk∈p^={ p1,⋯,pn},有:
p k T A ∑ α i p i = 0 α k p k T A p k = 0 \begin{aligned} p_k^TA\sum \alpha_ip_i&=0 \\ \alpha_k p_k^TAp_k&=0 \end{aligned} pkTA∑αipiαkpkTApk=0=0∵ 矩阵 A A A正定有 p k T A p k > 0 p_k^TAp_k>0 pkTApk>0, ∴ α k = 0 ∴\alpha_k=0 ∴αk=0
牛顿法(Newton’s method)
牛顿法是对二阶泛函的近似求解。
由于共轭方向法同样采用了用二次泛函拟合函数极值微分点的做法,因此理解牛顿法对理解共轭方向法及其有效性有直接帮助。
换句话说,一般情况下,在极值点附近,原目标函数可以近似于一个二次函数。当我们对二次函数建立一个有效的模型,那么,它对非二次模型也应当是有效的。(ps:要注意,不是所有函数都可以很好地用二次函数拟合。)
共轭方向法
共轭方向法是一种介于梯度下降法和牛顿法之间的算法,它不像牛顿法一样需要二阶导数,又避免了梯度下降中的锯齿现象。
从几何出发说明共轭方向法的有效性
注:这一小节偏向白话,是比较形而上的理解内容。可以选择性阅读。
考虑 n n n维空间上的二次函数 ϕ ( x ) \phi(x) ϕ(x),它应当是一个超椭球体:
ϕ ( x ) ≈ f ( x ) = 1 2 x T A x + b T x + c ▽ ϕ ( x ) = A x + b T ▽ 2 ϕ ( x ) = A \begin{aligned} \phi(x) \approx f(x)&=\frac{1}{2}x^TAx+b^Tx+c \\ \triangledown \phi(x)&=Ax+b^T \\ \triangledown^2 \phi(x)&=A \end{aligned} ϕ(x)≈f(x)▽ϕ(x)▽2ϕ(x)=21xTAx+bTx+c=Ax+bT=A
其中,