最优化学习笔记(十三)——基本共轭方向算法(扩张子空间定理)

    由上节我们得出的一个引理:
引理 在共轭方向算法中, 对于所有的 k,0kn1,0ik 都有 :

g(k+1)Td(i)=0

由上可知: g(k+1) 正交于由向量 d(0),d(1),,d(k) 张成的子空间中的任意向量。该引理可用于证明共轭方向法的一个很有意思的最优性性质。可以证明 f(x(k+1)) 不仅能够满足 f(x(k+1))=minαf(x(k)+αd(k)) ,而且还能满足
f(x(k+1))=minα0,α1,,αkf(x(0)+i=0kαid(i))

换言之,如果记:

νk=x(0)+span[d(0),d(1),,d(k)]

则有 f(x(k+1))=minxνkf(x) .随着 k 的增大,子空间span[d(0),d(1),,d(k)]不断扩张,直至充满整个 Rn (前提是它们是线性无关的)。因此,当 k 足够大时,x将位于 νk 中。基于此,以上结论有时也称为扩张子空间定理。

    定义矩阵 D(k) 为:

D(k)=[d(0),d(1),,d(k)]

其中, d(i) 为矩阵 D(k) 的第 i 列。注意, x(0)+R(D(k))=νk,同时,
x(k+1)=x(0)+i=0kαid(i)=x(0)+D(k)α

其中, α=[α0,α1,,αk]T . 因此,
x(k+1)x(0)+R(D(k))=νk

对于任意向量 xνk , 存在一个向量 a ,使得 x=x(0)+D(k)a .令 ϕk(a)=f(x(0)+D(k)a) 可知 ϕk(a) 是一个二次型函数,具有唯一的极小点。由链式法则可得:
Dϕk(a)=f(x(0)+D(k)a)D(k)

带入 α 可得:
Dϕk(α)=f(x(0)+D(k)α)TD(k)=f(x(k+1))TD(k)=g(k+1)TD(k)

由定理可知, g(k+1)TD(k)=0T . 因此, α 能够满足函数 ϕk 的局部极小点的一阶必要条件,是 ϕk 的极小点,即:
f(x(k+1))=minaf(x(0)+D(k)a)=minxνkf(x)

扩张子空间定理证明完成。
    共轭方向法的计算效率很高,但是,前提是必须能够给定一组 Q 共轭方向。幸运的是,存在一种方法,能够随着迭代进行, 逐一产生 Q 共轭方向,无需提前指定。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值