机器学习笔记自最优化理论与方法(十一)无约束优化问题——关于共轭方向法重要特征的相关证明

news2024/11/26 2:44:09

机器学习笔记之最优化理论与方法——关于共轭方向法重要特征的相关证明

  • 引言
    • 回顾:共轭方向法的思想与几何解释
    • 共轭方向法的重要特征(2023/9/12)
      • 共轭方向法重要特征的证明

引言

上一节介绍了共轭方向法的朴素思想几何意义。本节将继续介绍共轭方向法重要特征以及相关证明。

回顾:共轭方向法的思想与几何解释

共轭方向法的基本思想是:针对凸二次函数优化问题: min ⁡ f ( x ) = 1 2 x T Q x + C T x , Q ≻ 0 \begin{aligned}\min f(x) = \frac{1}{2} x^T \mathcal Q x + \mathcal C^T x ,\mathcal Q \succ 0\end{aligned} minf(x)=21xTQx+CTx,Q0,基于正定矩阵 Q \mathcal Q Q,构建一个由两两共轭的向量组成的向量组 D = { d 0 , d 1 , ⋯   , d n − 1 } \mathcal D = \{d_0,d_1,\cdots,d_{n-1}\} D={d0,d1,,dn1}
∀ d i , d j ∈ D ; i ≠ j ⇒ ( d i ) T Q d j = 0 \forall d_i,d_j \in \mathcal D;i \neq j \Rightarrow (d_i)^T \mathcal Q d_j = 0 di,djD;i=j(di)TQdj=0
并令:
x k + 1 = x k + ∑ i = 0 n − 1 α i ⋅ d i x_{k+1} = x_{k} + \sum_{i=0}^{n-1}\alpha_i \cdot d_i xk+1=xk+i=0n1αidi
其中 α i ( i = 0 , 1 , 2 , ⋯   , n − 1 ) \alpha_i(i=0,1,2,\cdots,n-1) αi(i=0,1,2,,n1)满足:
α i = arg ⁡ min ⁡ α ϕ ( α ) = arg ⁡ min ⁡ α f ( x k + α ⋅ d i ) \alpha_i = \mathop{\arg\min}\limits_{\alpha} \phi(\alpha) = \mathop{\arg\min}\limits_{\alpha} f(x_k + \alpha \cdot d_i) αi=αargminϕ(α)=αargminf(xk+αdi)
从而通过坐标轴交替下降法执行 n n n次迭代,完成一次线搜索过程

几何意义的角度解释:记 S = ( d 0 , d 1 , ⋯   , d n − 1 ) n × n \mathcal S = (d_0,d_1,\cdots,d_{n-1})_{n \times n} S=(d0,d1,,dn1)n×n。根据共轭方向的定义,必然有 S T Q S \mathcal S^T \mathcal Q \mathcal S STQS是一个对角矩阵
{ ( d i ) T Q d j = 0 ∀ d i , d j ∈ S ; i ≠ j S T Q S = [ ( d i ) T Q d j ] n × n = [ ( d 1 ) T Q d 1 0 ⋯ 0 0 ( d 2 ) T Q d 2 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ ( d n − 1 ) T Q d n − 1 ] = Λ \begin{cases} (d_i)^T \mathcal Q d_j = 0 \quad \forall d_i,d_j \in \mathcal S;i \neq j \\ \quad \\ \mathcal S^T \mathcal Q \mathcal S = [(d_i)^T \mathcal Q d_j]_{n \times n} = \begin{bmatrix} (d_1)^T\mathcal Qd_1 & 0 & \cdots & 0 \\ 0 & (d_2)^T \mathcal Q d_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & (d_{n-1})^T \mathcal Qd_{n-1} \end{bmatrix} = \Lambda \end{cases} (di)TQdj=0di,djS;i=jSTQS=[(di)TQdj]n×n= (d1)TQd1000(d2)TQd2000(dn1)TQdn1 =Λ
根据这个性质,可以对正定矩阵 Q \mathcal Q Q进行对角化,从而将 f ( x ) f(x) f(x)变成一个标准型。具体方法如下:

  • 由于 d 0 , d 1 , ⋯   , d n − 1 d_0,d_1,\cdots,d_{n-1} d0,d1,,dn1向量两两共轭,必然也是两两线性无关。因而矩阵 S \mathcal S S是一个可逆矩阵。对决策变量 x ∈ R n x \in \mathbb R^n xRn使用 S \mathcal S S进行投影,得到新的向量 x ^ \hat {x} x^;从而将 f ( x ) f(x) f(x)变成关于 x ^ \hat{x} x^函数形式 f ^ ( x ^ ) \hat f(\hat {x}) f^(x^)
    { x = S ⋅ x ^ ⇔ x ^ = S − 1 x f ( x ) = 1 2 x T Q x + C T x = 1 2 [ x ^ ] T S T Q S ⋅ x ^ + ( S T C ) T x = f ^ ( x ^ ) \begin{cases} x = \mathcal S \cdot \hat {x} \Leftrightarrow \hat {x} = \mathcal S^{-1} x\\ \quad \\ \begin{aligned} f(x) & = \frac{1}{2} x^T \mathcal Q x + \mathcal C^T x \\ & = \frac{1}{2} [\hat {x}]^T \mathcal S^T \mathcal Q \mathcal S \cdot \hat {x} + (\mathcal S^T \mathcal C)^T x = \hat f(\hat {x}) \end{aligned} \end{cases} x=Sx^x^=S1xf(x)=21xTQx+CTx=21[x^]TSTQSx^+(STC)Tx=f^(x^)
  • 此时的 f ^ ( x ^ ) \hat f(\hat {x}) f^(x^)是一个标准型。对应的,将线搜索过程中的数值解使用 S \mathcal S S进行投影,可以得到如下结果:
    { x ^ k = S − 1 x k x ^ k + 1 = S − 1 x k + 1 = S − 1 ( x k + ∑ i = 0 n − 1 α i ⋅ d i ) = S − 1 x k + ∑ i = 0 n − 1 α i ⋅ S − 1 d i \begin{cases} \hat {x}_k = \mathcal S^{-1} x_k \\ \begin{aligned} \hat x_{k+1} & = \mathcal S^{-1} x_{k+1} \\ & = \mathcal S^{-1} \left(x_{k} + \sum_{i=0}^{n-1}\alpha_i \cdot d_i\right) \\ & = \mathcal S^{-1} x_k + \sum_{i=0}^{n-1} \alpha_i \cdot \mathcal S^{-1} d_i \end{aligned} \end{cases} x^k=S1xkx^k+1=S1xk+1=S1(xk+i=0n1αidi)=S1xk+i=0n1αiS1di
    由于 S − 1 S = I \mathcal S^{-1} \mathcal S = \mathcal I S1S=I,从而 S − 1 d i ( i = 0 , 1 , ⋯   , n − 1 ) \mathcal S^{-1}d_i(i=0,1,\cdots,n-1) S1di(i=0,1,,n1)表示单位坐标向量 e i + 1 e_{i+1} ei+1。将其代入有:
    x k + 1 = x k + ∑ i = 0 n − 1 α i ⋅ d i ⇔ x ^ k + 1 = x ^ k + ∑ i = 0 n − 1 α i ⋅ e i + 1 x_{k+1} = x_{k} + \sum_{i=0}^{n-1}\alpha_i \cdot d_i \Leftrightarrow \hat x_{k+1} = \hat x_k + \sum_{i=0}^{n-1} \alpha_i \cdot e_{i+1} xk+1=xk+i=0n1αidix^k+1=x^k+i=0n1αiei+1
    最终可用坐标轴交替下降法数值解序列进行求解。上述算法的关键在于:该算法必须在共轭方向 d 0 , d 1 , ⋯   , d n − 1 d_0,d_1,\cdots,d_{n-1} d0,d1,,dn1已知的条件下。本节将重点介绍:如何获取共轭方向 d i d_i di

共轭方向法的重要特征(2023/9/12)

由于 f ( x ) = 1 2 x T Q x + C T x , Q ≻ 0 \begin{aligned}f(x) = \frac{1}{2} x^T \mathcal Q x + \mathcal C^T x,\mathcal Q \succ 0\end{aligned} f(x)=21xTQx+CTx,Q0凸二次函数,基于初始点 x 0 x_0 x0以及关于正交矩阵 Q \mathcal Q Q共轭方向 d k ( k = 0 , 1 , 2 , ⋯   , n − 1 ) d_k(k=0,1,2,\cdots,n-1) dk(k=0,1,2,,n1),算法的线搜索过程以及各迭代步骤的最优步长 α k ( k = 0 , 1 , 2 , ⋯   , n − 1 ) \alpha_k(k=0,1,2,\cdots,n-1) αk(k=0,1,2,,n1)表示如下:
{ x k + 1 = x k + α k ⋅ d k α k = − [ ∇ f ( x k ) ] T d k ( d k ) T Q d k k = 0 , 1 , 2 , ⋯   , n − 1 \begin{cases} x_{k+1} = x_k + \alpha_k \cdot d_k \\ \quad \\ \begin{aligned} \alpha_k = - \frac{[\nabla f(x_k)]^T d_k}{(d_k)^T \mathcal Q d_k} \quad k=0,1,2,\cdots,n-1 \end{aligned} \end{cases} xk+1=xk+αkdkαk=(dk)TQdk[f(xk)]Tdkk=0,1,2,,n1
这里需要做一些说明。上面的描述是文章下面链接中视频的描述(37:25)。很明显,它将线搜索迭代过程的下标 k k k共轭方向迭代过程的下标 i i i全部归为下标 k k k,真实情况应该是下面描述:
{ x k + 1 = x k + α i ⋅ d i α i = − [ ∇ f ( x k ) ] T d i ( d i ) T Q d i { i = 0 , 1 , 2 , ⋯   , n − 1 k = 0 , 1 , 2 , ⋯   , ∞ \begin{cases} x_{k+1} = x_k + \alpha_i \cdot d_i \\ \quad \\ \begin{aligned} \alpha_i = - \frac{[\nabla f(x_k)]^T d_i}{(d_i)^T \mathcal Q d_i} \end{aligned} \end{cases}\begin{cases} i=0,1,2,\cdots,n-1 \\ k = 0,1,2,\cdots, \infty \end{cases} xk+1=xk+αidiαi=(di)TQdi[f(xk)]Tdi{i=0,1,2,,n1k=0,1,2,,
从这组公式可以看出:只有决策变量 x k ∈ R n x_k \in \mathbb R^n xkRn各分量均迭代一次后, x k ⇒ x k + 1 x_k \Rightarrow x_{k+1} xkxk+1视频中的写法也没有错,因为凸二次函数 f ( x ) f(x) f(x)可以通过一步 k : 0 ⇒ 1 k:0 \Rightarrow 1 k:01即可完成迭代。而这一步存在 n n n次迭代,因而在该简单情况下,视频中将下标 i , k i,k i,k合并,并描述成 n n n次迭代。这样做的好处在于: k k k次迭代描述的是共轭方向 d k d_k dk的迭代过程。后续均使用视频中的方式进行描述。

基于上面描述产生的数值解序列 { x k } k = 1 n \{x_k\}_{k=1}^{n} {xk}k=1n具有如下特征:

  • 在第 k ( k = 1 , 2 , ⋯   , n ) k(k=1,2,\cdots,n) k(k=1,2,,n)次迭代产生的迭代结果 x k x_k xk,其梯度方向 ∇ f ( x k ) \nabla f(x_k) f(xk)之前使用过的共轭方向 d i ( i = 0 , 1 , ⋯   , k − 1 ) d_i(i=0,1,\cdots,k-1) di(i=0,1,,k1)均垂直
    [ ∇ f ( x k ) ] T d i = 0 i = 0 , 1 , 2 , ⋯   , k − 1 [\nabla f(x_k)]^T d_i = 0 \quad i=0,1,2,\cdots,k-1 [f(xk)]Tdi=0i=0,1,2,,k1
    对应示例图像表示如下:
    很明显,从初始点 x ( 0 ) x^{(0)} x(0)开始,沿着共轭方向 d ( 1 ) d^{(1)} d(1)更新至 x ( 1 ) x^{(1)} x(1);其中 ∇ f ( x ( 1 ) ) \nabla f(x^{(1)}) f(x(1))描述方向 d ( 1 ) d^{(1)} d(1)描述方向相垂直;由于 x ( 2 ) x^{(2)} x(2)是最优解,其 ∇ f ( x ( 2 ) ) = 0 \nabla f(x^{(2)}) = 0 f(x(2))=0。从而与 d ( 1 ) , d ( 2 ) d^{(1)},d^{(2)} d(1),d(2)均垂直。
    共轭方向法的重要特征

  • 经过 k k k次迭代得到的位置 x k = x 0 + ∑ i = 0 k − 1 α i ⋅ d i x_k = x_0 + \sum_{i=0}^{k-1} \alpha_i \cdot d_i xk=x0+i=0k1αidi,可以将该结果描述为如下形式
    { x k = arg ⁡ min ⁡ { 1 2 x T Q x + C T x ∣ x ∈ X k } X k = { x 0 + ∑ i = 0 k − 1 α i ⋅ d i ∣ α i ∈ R } \begin{cases} \begin{aligned} & x_k = \mathop{\arg\min} \left\{\frac{1}{2} x^T \mathcal Q x + \mathcal C^T x \mid x \in \mathcal X_k\right\} \\ & \mathcal X_k = \left\{x_0 + \sum_{i=0}^{k-1} \alpha_i \cdot d_i \mid \alpha_i \in \mathbb R\right\} \end{aligned} \end{cases} xk=argmin{21xTQx+CTxxXk}Xk={x0+i=0k1αidiαiR}
    说明:

    • 关于 x k x_k xk对应的可选择范围 X k \mathcal X_k Xk,其对应的共轭方向 d 0 , ⋯   , d k − 1 d_0,\cdots,d_{k-1} d0,,dk1并未出现调整,只是将对应的步长 α 0 , ⋯   , α k − 1 \alpha_0,\cdots,\alpha_{k-1} α0,,αk1均作为变量,从而构成位置空间 X k \mathcal X_k Xk,而 x k x_k xk是位置空间中使目标函数 f ( x ) f(x) f(x)最小的位置点。
    • k = n k=n k=n时,此时对应的位置空间 X n \mathcal X_n Xn就是完整的特征空间 R n \mathbb R^n Rn。当然,这里描述的完整特征空间是由共轭方向 d 0 , d 1 , ⋯   , d n d_0,d_1,\cdots,d_n d0,d1,,dn构成的投影空间,而不是原始特征空间
      x n = arg ⁡ min ⁡ { 1 2 x T Q x + C T x ∣ x ∈ R n } \begin{aligned}x_n = \mathop{\arg\min}\limits \left\{\frac{1}{2} x^T \mathcal Q x + \mathcal C^T x \mid x \in \mathbb R^n\right\}\end{aligned} xn=argmin{21xTQx+CTxxRn}

    根据上式可以看出,关于 f ( x ) f(x) f(x)必然可以通过最多 n n n找到最优解。

共轭方向法重要特征的证明

关于 [ ∇ f ( x k ) ] T d i ( i = 1 , 2 , ⋯   , k − 1 ) [\nabla f(x_k)]^T d_i(i=1,2,\cdots,k-1) [f(xk)]Tdi(i=1,2,,k1)证明

  • i = k − 1 i=k-1 i=k1时,对应迭代步骤的步长 α k − 1 \alpha_{k-1} αk1可表示为:
    该式中仅包含 α \alpha α一个变量,记作 ϕ k − 1 ( α ) \phi_{k-1}(\alpha) ϕk1(α)
    α k − 1 = arg ⁡ min ⁡ α f ( x k − 1 + α ⋅ d k − 1 ) = arg ⁡ min ⁡ α ϕ k − 1 ( α ) \alpha_{k-1} = \mathop{\arg\min}\limits_{\alpha} f(x_{k-1} + \alpha \cdot d_{k-1}) = \mathop{\arg\min}\limits_{\alpha}\phi_{k-1}(\alpha) αk1=αargminf(xk1+αdk1)=αargminϕk1(α)
    上式可等价为
    根据线搜索公式: x k = x k − 1 + α k − 1 ⋅ d k − 1 x_k = x_{k-1} + \alpha_{k-1} \cdot d_{k-1} xk=xk1+αk1dk1可知 ∇ f ( x k − 1 + α k − 1 ⋅ d k − 1 ) \nabla f(x_{k-1} + \alpha_{k-1} \cdot d_{k-1}) f(xk1+αk1dk1)就是函数 f ( ⋅ ) f(\cdot) f() x k x_k xk处的梯度: ∇ f ( x k ) \nabla f(x_k) f(xk)
    0 ≜ ∇ ϕ k − 1 ( α k − 1 ) = ∂ ϕ k − 1 ( α ) ∂ α ∣ α = α k − 1 = [ ∇ f ( x k − 1 + α k − 1 ⋅ d k − 1 ) ] T d k − 1 = [ ∇ f ( x k ) ] T d k − 1 \begin{aligned} 0 & \triangleq \nabla \phi_{k-1}(\alpha_{k-1}) \\ & = \frac{\partial \phi_{k-1}(\alpha)}{\partial \alpha} \mid_{\alpha = \alpha_{k-1}} \\ & = [\nabla f(x_{k-1} + \alpha_{k-1} \cdot d_{k-1})]^T d_{k-1} \\ & = [\nabla f(x_k)]^T d_{k-1} \end{aligned} 0ϕk1(αk1)=αϕk1(α)α=αk1=[f(xk1+αk1dk1)]Tdk1=[f(xk)]Tdk1
    可以看出:第 k − 1 k-1 k1次迭代产生的输出位置 x k x_k xk,其梯度 ∇ f ( x k ) \nabla f(x_k) f(xk) k − 1 k-1 k1次迭代使用的共轭方向 d k − 1 d_{k-1} dk1垂直。同理:当 k = 1 , 2 , ⋯   , n k=1,2,\cdots,n k=1,2,,n时,该结论均成立

  • 上面仅仅是描述:同一次迭代,其产生的输出位置共轭方向之间是垂直关系;若同一次迭代,观察内积 [ ∇ f ( x k ) ] T d i ( i = 0 , 1 , 2 , ⋯   , k − 2 ) [\nabla f(x_k)]^T d_i(i=0,1,2,\cdots,k-2) [f(xk)]Tdi(i=0,1,2,,k2)

    • ∇ f ( x k ) = Q x k + C \nabla f(x_k) = \mathcal Q x_k + \mathcal C f(xk)=Qxk+C代入。
    • x k x_k xk视作从第 i + 1 i+1 i+1次迭代开始,一直到 k − 1 k-1 k1次迭代产生的输出位置。这里可能并没有取出所有的迭代步骤,仅选择从 i + 1 i+1 i+1 k − 1 k-1 k1这一迭代部分。对应线搜索过程表示如下:
      x k = x i + 1 + α i + 1 ⋅ d i + 1 + ⋯ + α k − 1 ⋅ d k − 1 x_k = x_{i+1} + \alpha_{i+1} \cdot d_{i+1} + \cdots + \alpha_{k-1} \cdot d_{k-1} xk=xi+1+αi+1di+1++αk1dk1
    • 根据向量共轭的定义: ∀ d i , d j ∈ D ; i ≠ j ⇒ ( d i ) T Q d j = 0 \forall d_i,d_j \in \mathcal D;i \neq j \Rightarrow (d_i)^T \mathcal Q d_j = 0 di,djD;i=j(di)TQdj=0,消除掉展开式中的无关项; i + 1 , ⋯   , k − 1 ≠ i i+1,\cdots,k-1 \neq i i+1,,k1=i恒成立;且 Q T = Q \mathcal Q^T = \mathcal Q QT=Q
      [ ∇ f ( x k ) ] T d i = ( Q x k + C ) T d i = [ Q ( x i + 1 + α i + 1 ⋅ d i + 1 + ⋯ + α k − 1 d k − 1 ) + C ] T d i = [ Q x i + 1 + α i + 1 Q ⋅ d i + 1 + ⋯ + α k − 1 Q ⋅ d k − 1 + C ] T d i = [ Q x i + 1 ] T d i + α i + 1 ( d i + 1 ) T Q T d i ⏟ = 0 + ⋯ + α k − 1 ( d k − 1 ) T Q T d i ⏟ = 0 + C T d i = [ Q x i + 1 + C ] T d i = [ ∇ f ( x i + 1 ) ] T d i \begin{aligned} [\nabla f(x_k)]^T d_i & = (\mathcal Q x_k +\mathcal C)^T d_i \\ & = [\mathcal Q (x_{i+1} + \alpha_{i+1} \cdot d_{i+1} + \cdots + \alpha_{k-1} d_{k-1}) + \mathcal C]^T d_i \\ & = [\mathcal Q x_{i+1} + \alpha_{i+1} \mathcal Q \cdot d_{i+1} + \cdots + \alpha_{k-1} \mathcal Q \cdot d_{k-1} + \mathcal C]^T d_i \\ & = [\mathcal Q x_{i+1}]^Td_i + \underbrace{\alpha_{i+1} (d_{i+1})^T \mathcal Q^T d_i}_{=0} + \cdots + \underbrace{\alpha_{k-1}(d_{k-1})^T \mathcal Q^T d_i}_{=0} + \mathcal C^Td_i \\ & = [\mathcal Q x_{i+1} + \mathcal C]^T d_{i} \\ & = [\nabla f(x_{i+1})]^T d_i \end{aligned} [f(xk)]Tdi=(Qxk+C)Tdi=[Q(xi+1+αi+1di+1++αk1dk1)+C]Tdi=[Qxi+1+αi+1Qdi+1++αk1Qdk1+C]Tdi=[Qxi+1]Tdi+=0 αi+1(di+1)TQTdi++=0 αk1(dk1)TQTdi+CTdi=[Qxi+1+C]Tdi=[f(xi+1)]Tdi

    i = k − 1 i=k-1 i=k1时,上面已经证明过,因而有: [ ∇ f ( x i + 1 ) ] T d i = 0 [\nabla f(x_{i+1})]^T d_i = 0 [f(xi+1)]Tdi=0
    从而得到结论:即便不是同一次迭代,其迭代产生位置的梯度 ∇ f ( x k ) \nabla f(x_k) f(xk)与使用过的共轭方向 d 0 , d 1 , ⋯   , d k − 1 d_0,d_1,\cdots,d_{k-1} d0,d1,,dk1同样存在垂直关系

关于 { x k = arg ⁡ min ⁡ { 1 2 x T Q x + C T x ∣ x ∈ X k } X k = { x 0 + ∑ i = 0 k − 1 α i ⋅ d i ∣ α i ∈ R , i = 1 , 2 , ⋯   , k − 1 } \begin{cases} \begin{aligned} & x_k = \mathop{\arg\min} \left\{\frac{1}{2} x^T \mathcal Q x + \mathcal C^T x \mid x \in \mathcal X_k\right\} \\ & \mathcal X_k = \left\{x_0 + \sum_{i=0}^{k-1} \alpha_i \cdot d_i \mid \alpha_i \in \mathbb R,i=1,2,\cdots,k-1\right\} \end{aligned} \end{cases} xk=argmin{21xTQx+CTxxXk}Xk={x0+i=0k1αidiαiR,i=1,2,,k1}证明

  • x k x_k xk使用线搜索公式进行表述:
    x k = x 0 + α 0 ⋅ d 0 ⏟ x 1 + α 1 ⋅ d 1 ⏟ x 2 + ⋯ + α k − 1 ⋅ d k − 1 = x 0 + ∑ i = 0 k − 1 α i ⋅ d i \begin{aligned} x_k & = \underbrace{\underbrace{x_0 + \alpha_0 \cdot d_0}_{x_1} + \alpha_1 \cdot d_1}_{x_2}+\cdots + \alpha_{k-1} \cdot d_{k-1} \\ & = x_0 + \sum_{i=0}^{k-1} \alpha_i \cdot d_i \end{aligned} xk=x2 x1 x0+α0d0+α1d1++αk1dk1=x0+i=0k1αidi
    如果 α 0 , α 1 , ⋯   , α k − 1 \alpha_0,\alpha_1,\cdots,\alpha_{k-1} α0,α1,,αk1均视作各迭代步骤中的变量,并且 x 0 , d i ( i = 0 , 1 , ⋯   , k − 1 ) x_0,d_{i}(i=0,1,\cdots,k-1) x0,di(i=0,1,,k1)均是已知项,从而可以将 f ( x k ) f(x_k) f(xk)表示为仅关于 α 0 , α 1 , ⋯   , α k − 1 \alpha_0,\alpha_1,\cdots,\alpha_{k-1} α0,α1,,αk1的函数 ϕ ( α 0 , α 1 , ⋯   , α k − 1 ) \phi(\alpha_0,\alpha_1,\cdots,\alpha_{k-1}) ϕ(α0,α1,,αk1)
    f ( x k ) = ϕ ( α 0 , α 1 , ⋯   , α k − 1 ) = 1 2 ( x 0 + ∑ i = 0 k − 1 α i ⋅ d i ) T Q ( x 0 + ∑ i = 0 k − 1 α i ⋅ d i ) + C T ( x 0 + ∑ i = 0 k − 1 α i ⋅ d i ) \begin{aligned} f(x_k) & = \phi(\alpha_0,\alpha_1,\cdots,\alpha_{k-1}) \\ & = \frac{1}{2} \left(x_0 + \sum_{i=0}^{k-1} \alpha_i \cdot d_i\right)^T \mathcal Q \left(x_0 + \sum_{i=0}^{k-1} \alpha_i \cdot d_i\right) + \mathcal C^T \left(x_0 + \sum_{i=0}^{k-1} \alpha_i \cdot d_i\right) \end{aligned} f(xk)=ϕ(α0,α1,,αk1)=21(x0+i=0k1αidi)TQ(x0+i=0k1αidi)+CT(x0+i=0k1αidi)
  • 由于 x k x_k xk X k \mathcal X_k Xk内的最小点,这意味着: x k x_k xk在迭代过程中选择的步长 a 1 , a 2 , ⋯   , a k − 1 a_1,a_2,\cdots,a_{k-1} a1,a2,,ak1;这些步长同样构成了 ϕ ( α 0 , α 1 , ⋯   , α k − 1 ) \phi(\alpha_0,\alpha_1,\cdots,\alpha_{k-1}) ϕ(α0,α1,,αk1)最小解
    两个事件是等价的~
    x k = x 0 + ∑ i = 0 k − 1 a i ⋅ d i ⇒ { x k = arg ⁡ min ⁡ { 1 2 x T Q x + C T x ∣ x ∈ X k } ( a 0 , a 2 , ⋯   , a k − 1 ) = arg ⁡ min ⁡ α 0 , ⋯   , α k − 1 ϕ ( α 0 , α 1 , ⋯   , α k − 1 ) \begin{aligned} & x_k = x_0 + \sum_{i=0}^{k-1} a_i \cdot d_i \Rightarrow \begin{cases} \begin{aligned} x_k = \mathop{\arg\min} \left\{\frac{1}{2} x^T \mathcal Q x + \mathcal C^T x \mid x \in \mathcal X_k\right\} \end{aligned} \\ \quad \\ (a_0,a_2,\cdots,a_{k-1}) = \mathop{\arg\min}\limits_{\alpha_0,\cdots,\alpha_{k-1}} \phi(\alpha_0,\alpha_1,\cdots,\alpha_{k-1}) \end{cases} \end{aligned} xk=x0+i=0k1aidi xk=argmin{21xTQx+CTxxXk}(a0,a2,,ak1)=α0,,αk1argminϕ(α0,α1,,αk1)
    如何验证上述式子成立 ? ? ?即证:
    如果将变量视作一个向量: Λ = ( α 0 , ⋯   , α k − 1 ) T \Lambda = (\alpha_0,\cdots,\alpha_{k-1})^T Λ=(α0,,αk1)T,关于最优解向量 A = ( a 0 , ⋯   , a k − 1 ) T \mathcal A = (a_0,\cdots,a_{k-1})^T A=(a0,,ak1)T的梯度 ∇ ϕ ( Λ ) ∣ Λ = A = 0 \nabla \phi(\Lambda)\mid_{\Lambda = \mathcal A} = 0 ϕ(Λ)Λ=A=0向量;即对应各分量的偏导数均为 0 0 0
    ∂ ϕ ( α 0 , ⋯   , α k − 1 ) ∂ α i ∣ α i = a i = 0 i = 0 , 1 , 2 , ⋯   , k − 1 \frac{\partial \phi(\alpha_0,\cdots,\alpha_{k-1})}{\partial \alpha_i} \mid_{\alpha_i = a_i} = 0 \quad i=0,1,2,\cdots,k-1 αiϕ(α0,,αk1)αi=ai=0i=0,1,2,,k1
    计算 ∂ ϕ ( α 0 , ⋯   , α k − 1 ) ∂ α i \begin{aligned}\frac{\partial \phi(\alpha_0,\cdots,\alpha_{k-1})}{\partial \alpha_i}\end{aligned} αiϕ(α0,,αk1)
    注意复合函数求导~并且 α 0 , ⋯   , α i − 1 , α i + 1 , ⋯   , α k − 1 \alpha_0,\cdots,\alpha_{i-1},\alpha_{i+1},\cdots,\alpha_{k-1} α0,,αi1,αi+1,,αk1均视作常数。
    ∂ ϕ ( α 0 , ⋯   , α k − 1 ) ∂ α i = 2 ⋅ 1 2 ⋅ [ Q ( x 0 + ∑ i = 0 k − 1 α i ⋅ d i ⏟ x k ) + C ] T d i = ( Q ⋅ x k + C ) T d i = [ ∇ f ( x k ) ] T d i = 0 \begin{aligned} \frac{\partial \phi(\alpha_0,\cdots,\alpha_{k-1})}{\partial \alpha_i} & = 2 \cdot \frac{1}{2} \cdot \left[\mathcal Q \left(\underbrace{x_0 + \sum_{i=0}^{k-1} \alpha_i \cdot d_i}_{x_k}\right) + \mathcal C\right]^T d_i \\ & = (\mathcal Q \cdot x_k + \mathcal C)^T d_i \\ & = [\nabla f(x_k)]^T d_i \\ & = 0 \end{aligned} αiϕ(α0,,αk1)=221 Q xk x0+i=0k1αidi +C Tdi=(Qxk+C)Tdi=[f(xk)]Tdi=0
    因而 i = 0 , 1 , ⋯   , k − 1 i=0,1,\cdots,k-1 i=0,1,,k1均满足上述条件,得证。同理,当 k = n k=n k=n时,可以在完整的特征空间中找到最小解。

Reference \text{Reference} Reference
最优化理论与方法-第七讲-无约束优化问题(三)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1005318.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何判断一篇论文有没有被SCI收录?

打开 Web of Science 网站设置 SCI 筛选条件(因为 WoS 收录的不只是 SCI) 3. 输入论文题目,点击搜索

如何有效地设置示波器衰减比

在电子电路实验时,往往需要搭配测量设备方可检验电路可行性、了解电路实时动态。示波器是常见的测量设备之一,而搭配示波器使用的测量工具却有很多,如常见标配的无源电压探头、测输出端电压的有源差分探头、测某点电流信号的电流钳等等。 由…

【玩儿】Win 11 安装安卓子系统

Win 11 安装安卓子系统 一、Android子系统的要求二、配置 Windows 虚拟化支持三、Win11 正式版安装安卓子系统方法教程 (离线包安装)下载离线包安装子系统 四、软件安装应用商店下载ADB 调试模式下安装打开调试模式(开发人员模式)下载 ADB 调试工具ADB 配…

类和对象续

目录 包 自定义包 包的访问权限控制 常见的包 Static成员 静态成员变量 静态成员方法 代码块 构造块 静态块 重写 继承 继承是啥? 父类成员访问 子类中访问父类成员变量 两者不同名 两者同名 子类中访问父类对的成员方法 super 子类构造方法 …

浮点型数据在内存中是如何存储的

文章目录 浮点型变量的存储规则:浮点数怎么转化为二进制浮点型数据在内存中的存储E不全为0或不全为1E为全0E为全1 浮点型变量的存储规则: 根据国际标准IEEE(电气和电子工程协会) 754,任意一个二进制浮点数V可以表示成下…

java判断两个时间是不是同一天的方法、Java中判断是否是当天时间

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 热爱技术的小郑 前言 开发中会遇到这样一…

简简单单教你如何用C语言实现获取当前所有可用网口!

一、获取本机所有可用网卡名 原理: 在 Linux 系统中,/proc 目录是一个位于内存中的伪文件系统。 /proc目录是内核提供给我们的查询中心,通过查询该目录下的文件内容,可以获取到有关系统硬件及当前运行进程的信息,如…

【C++基础】左值引用、右值引用、move、forward

本文参考:右值引用 | 爱编程的大丙 转移和完美转发 | 爱编程的大丙 左值、右值、左值引用、右值引用 左值 是指存储在内存中、有明确存储地址(可取地址)的数据; 右值 是指可以提供数据值的数据(不可取地址&#x…

阶乘的素因数分解

一、题目 整除问题_牛客题霸_牛客网 (nowcoder.com) 二、普通数字的素因数分解 假如对n进行素因数分解。先利用素数筛法筛选出0~n范围内的全部素数。然后依次遍历这些素数,用n除以这些素数,直至无法整除。然后接着用下一个素数作为除数,直到n…

重庆OV证书和EV证书有什么区别

SSL数字证书按照保护的域名数量和类型可以分为单域名SSL证书、多域名SSL证书和通配符SSL证书三种,按照验证方式可以将SSL数字证书分为DV基础型SSL证书、OV企业型SSL证书和EV增强型SSL证书三种。今天就随SSL盾小编了解OV证书和EV证书的区别。 1.OV企业型SSL证书由CA…

Linux学习总结

Linux学习目标: Linux操作系统介绍与安装。 Linux常用命令。 Linux常用软件安装。 Linux网络。 防火墙。 Shell编程等。 *******************************LinuxOS介绍与安装************************************ Linux OS介绍与安装 Linux是什么&#xff…

C# 去除utf-8 BOM头

static void Main(string[] args) {var a1 Encoding.UTF8.GetBytes("<");var a2 Encoding.UTF8.GetBytes("&#xfeff;<");Console.WriteLine("去除utf-8 bom之前");Console.WriteLine(Encoding.UTF8.GetString(a1));Console.WriteLine(…

黑马 小兔鲜儿 uniapp 小程序开发- 推荐模块- day03

黑马 小兔鲜儿 uniapp 小程序开发- 02首页模块_软工菜鸡的博客-CSDN博客 小兔鲜儿 - 推荐模块- day03 主要实现 Tabs 交互、多 Tabs 列表分页加载数据。 动态获取数据 参考效果 推荐模块的布局结构是相同的&#xff0c;因此我们可以复用相同的页面及交互&#xff0c;只是所…

轻松打造自己的ChatGPT应用,AI应用,源码附赠

这里写自定义目录标题 前言简介 前言 大家好&#xff0c;我是静幽水&#xff0c;目前是一名大厂全栈工程师&#xff0c;练习时长两年&#xff0c;擅长Java后端&#xff0c;Vue前端&#xff0c;小程序编程&#xff0c;Python编程&#xff0c;ChatGPT 提示词等技术。现在正在系统…

建筑模板木模好还是钢模好

在建筑施工中&#xff0c;模板是一项关键的工程&#xff0c;对于建筑结构的质量和施工效率起着重要作用。在选择模板材料时&#xff0c;木模和钢模都是常见的选择。本文将比较木模和钢模的优缺点&#xff0c;以帮助您做出明智的选择。 正文&#xff1a;一、木模&#xff1a;传统…

信创国产化解决方案

近年来&#xff0c;随着信息技术的飞速发展&#xff0c;信创产业成为国家发展的重要战略之一。2018年以来我国将信创纳入国家战略&#xff0c;提出了“28”发展体系&#xff0c;随后扩展至更多行业&#xff0c;演变为“28N”应用体系。2023年中国信创产业逐步走向应用落地阶段。…

sql函数实现模糊精确匹配

sql函数实现模糊精确匹配 例如&#xff1a; 查询的时候匹配[‘1’] 就只匹配1的 &#xff0c;而不是15的也会模糊查询进去 slq函数如下&#xff1a; CREATE OR REPLACE FUNCTION does_string_array_intersect ( target_string TEXT, input_strings TEXT [] ) RETURNS BOOLEA…

单元格法求解多边形最大内接矩形问题【思路讲解+java实现】

问题描述 给定一个多边形的点集&#xff0c;希望找出多边形内部面积最大的矩形。该问题可能出现在&#xff0c;从一个多边形废料上面切割出一个最大的矩形&#xff0c;该矩形可以重复利用&#xff0c;解决该问题可以节约原材料&#xff0c;降低企业运作成本 问题解决方案 本…

解决Selenium元素拖拽不生效Bug

前几天在使用Selenium进行元素拖拽操作时&#xff0c;发现Selenium自带的元素拖拽方法&#xff08;dragAndDrop()&#xff09;不生效&#xff0c;网上的回答也是五花八门&#xff0c;比较混乱&#xff0c;尝试了以下几种方法均无法解决。 方案1&#xff1a;通过dragAndDrop()方…

群晖NAS如何在内网部署HTTPS服务让浏览器信任证书

前言 最近在折腾内部部署Web服务。通过Vue实现一个H5的内部的管理服务。但在实际部署过程中由于种种原因&#xff0c;必须部署成Https服务。但在部署成Https服务后&#xff0c;由于没有HTTPS证书&#xff0c;每次进入页面都会被浏览器拦截。使用起来非常不便。于是开始各种Goo…