最优化理论期末复习笔记 Part 2

拟牛顿法

考:提出的思想是什么

希望用一个对称正定矩阵 B 去近似 Hesse 矩阵 G

或者是用一个对称正定矩阵 H 去近似 Hesse 矩阵 G 的逆

并且要求这个方法比较简单,不然还不如直接求 G

考:方程是什么(条件是什么)

因为 G 满足

G k + 1 ( x k + 1 − x k ) ≈ g k + 1 − g k G_{k+1}(x_{k+1}-x_{k}) \approx g_{k+1} - g_{k} Gk+1(xk+1xk)gk+1gk

如果记 s k = x k + 1 − x k , y k = g k + 1 − g k s_k = x_{k+1}-x_{k}, y_k = g_{k+1} - g_{k} sk=xk+1xk,yk=gk+1gk

那么上式转化为

G k + 1 s k ≈ y k G_{k+1}s_k \approx y_k Gk+1skyk

那么我们的问题就转化为找一个 B 满足

B k + 1 s k ≈ y k B_{k+1}s_k \approx y_k Bk+1skyk

或者是找一个

实际迭代用一个修正公式

B k + 1 = B k + E k B_{k+1} = B_k + E_k Bk+1=Bk+Ek

对称秩一校正

考:对称秩一校正公式是怎么得到的

E k = a u k u k T E_k = a u_k u_k^T Ek=aukukT 一个自由度

因为 u k u k T u_k u_k^T ukukT 这个矩阵的每一列都是 u k T u_k^T ukT 这个列向量的 u i u_i ui

所以这个矩阵线性无关的列只有一个,那就是 u k T u_k^T ukT 所以秩为 1

α ( u k T s k ) u k = y k − B k s k \alpha(u_k^T s_k)u_k = y_k-B_ks_k α(ukTsk)uk=ykBksk

s k s_k sk 是列向量, u k T u_k^T ukT 是行向量, ( u k T s k ) (u_k^T s_k) (ukTsk) 是一个数,所以 u k u_k uk y k − B k s k y_k-B_ks_k ykBksk 平行

所以把 u k u_k uk 写成 y k − B k s k y_k-B_ks_k ykBksk 的倍数

初始 B 0 = I B_0 = I B0=I 显然是对称正定

之后要确定方向的时候,还是要求解 G d = − g Gd = -g Gd=g 也就是求解这个 B d = − g Bd = -g Bd=g 中的 d

也就是要求一个 B B B 的逆,一般是可以接受的

但是如果你是用 H H H 取近似 G G G 的逆

那么直接就能 d k = − H k g k d_k = -H_k g_k dk=Hkgk

目标函数的计算耗时

一阶导用差分来算的话,至少算两次目标函数,那么更耗时

二阶导同理,至少算四次目标函数,更耗时,所以才要避免计算 G

对称秩二

加两个修正的话,有两个参数,能够修正的范围就更多

现在在推导的时候没有那个关键条件 左边的列向量和右边的列向量是平行的

现在的问题是,右端的向量 y k − B k s k y_k-B_ks_k ykBksk 位于左边的 u k , v k u_k,v_k uk,vk 张成的平面上

那么其实两个基向量的系数可以任取

那么我们就取一中最简单的情况,就是 y k − B k s k y_k-B_ks_k ykBksk 中的 y k y_k yk u k u_k uk 平行, B k s k B_ks_k Bksk v k v_k vk 平行

DFP, BFGS

BFGS, DFP 怎么推导得到的

对称正定

考:BFGS, DFP 每一步校正的时候,怎么保证 Bk 对称正定?

还要证明迭代得到的 B k B_k Bk 也是对称正定,那么就是要求这个条件

书上结论错了,不是说有一个对称正定矩阵 B,就能把这个对称正定矩阵分解为对称正定矩阵 B 1 2 B 1 2 B^{\frac{1}{2}}B^{\frac{1}{2}} B21B21

这里实际上应该是对称正定矩阵的 Cholesky 分解(Cholesky 分解是 LU 分解对对称正定矩阵的特殊情况)

Cauchy-Schwarz 不等式 ( a ⋅ b ) 2 ⩽ ( a ⋅ a ) ( b ⋅ b ) (a \cdot b)^2 \leqslant (a \cdot a)(b \cdot b) (ab)2(aa)(bb)

同样的是 ∫ ( a ⋅ b ) 2 d x ⩽ ∫ ( a ⋅ a ) ( b ⋅ b ) d x \int(a \cdot b)^2 \mathrm{d}x \leqslant \int(a \cdot a)(b \cdot b) \mathrm{d}x (ab)2dx(aa)(bb)dx

一个向量像另外一个向量投影再投影回他自身,得到的向量的长度,小于它自身的长度

因为 B 是对称正定,所以 B d = − g Bd = -g Bd=g 有唯一解 d

同时还有 0 < d T B d = − d T g 0<d^TBd = -d^Tg 0<dTBd=dTg,所以解得的 d 与下降方向 -g 成锐角,所以能够保证下降

所以之前这一段在证啥来着

所以问题怎么就转化成了 保证 y k T s k > 0 y_k^Ts_k > 0 ykTsk>0

那么问题转变成,你怎么保证 y k T s k > 0 y_k^Ts_k > 0 ykTsk>0

对于精确线搜索,有 g k + 1 T d k = 0 g^T_{k+1} d_k = 0 gk+1Tdk=0,故 y k T s k = α k ( g k + 1 − g k ) T d k = − α k g k T d k > 0 y_k^Ts_k = \alpha_k(g_{k+1}-g_k)^T d_k = -\alpha_k g^T_k d_k > 0 ykTsk=αk(gk+1g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值