无约束 数值 优化基础
DESCRIPTION
无约束 数值 优化基础. 最优化问题. 最优化问题的数学定义 目标函数是 光滑 的 变量可以是向量. 目标函数的光滑特性. 为了简单起见,我们考虑光滑函数,因为 光滑函数是各阶可 微 的 首先函数是 连续的 且函数可 微 且各阶 导数连续且可微 由于 函数连续可微,提供了(不为垂直的)切线方向. 几个相关概念. 不连续 函数 连续函数但不可 微 连续可微函数但不光滑. 向量变量. 一般情况下变量是用特征向量的形式表示 向量如何求导 Partial derivative Vector value. 数值最优化. 没有闭式解 函数信息昂贵 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/1.jpg)
无约束数值优化基础
![Page 2: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/2.jpg)
最优化问题• 最优化问题的数学定义
– 目标函数是光滑的– 变量可以是向量
![Page 3: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/3.jpg)
目标函数的光滑特性• 为了简单起见,我们考虑光滑函数,因为– 光滑函数是各阶可微的• 首先函数是连续的• 且函数可微• 且各阶导数连续且可微
• 由于函数连续可微,提供了(不为垂直的)切线方向
![Page 4: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/4.jpg)
几个相关概念• 不连续函数
• 连续函数但不可微
• 连续可微函数但不光滑
![Page 5: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/5.jpg)
向量变量• 一般情况下变量是用特征向量的形式表示• 向量如何求导– Partial derivative– Vector value
![Page 6: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/6.jpg)
数值最优化• 没有闭式解• 函数信息昂贵– 变量个数小,但函数计算复杂– 变量个数巨大
• 思路– 从某点出发– 根据局部信息,作一些迭代– 判断是否达到了解
![Page 7: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/7.jpg)
解• 为什么我们要定义一个函数的解?– 全局极值• 在整个变量域,难找,也不必要
– 局部极值• 某个开区间,容易找,通常情况下称为解
• 特殊的局部极值– 严格局部极小值
– 孤立局部极小值
![Page 8: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/8.jpg)
课堂测试( 1 )• 以下哪些说法是对的– 严格局部极小值都是孤立局部极小值– 严格局部极小值不都是孤立局部极小值– 孤立局部极小值都是严格局部极小值– 孤立局部极小值不都是严格局部极小值
![Page 9: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/9.jpg)
如何判断一个局部极值• 在 f(x) 是二阶连续可微的情况下, x* 是局
部极值– 必要条件
– 充分条件
![Page 10: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/10.jpg)
算法 (1)
• 数值最优化算法的基本思想– 从给定的 x0 出发– 产生一系列的 x1,x2,x3…xK– 当收敛条件达到时
• 结束算法– 单调性要求: f(x1)>f(x2)>f(x3)…
• 两种策略– Line search 线搜索
• 选择一个方向,再选择步长– Trust region 信赖域
• 定一个范围,根据这个区域内的近似模型选择方向
![Page 11: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/11.jpg)
算法( 2 )
Choose a,x0,While(not convergent) do choose ak,pk
xk+1=xk+akpk
k=k+1end
tmp0=xk,0+akpk,0
tmp1=xk,1+akpk,1
tmp2=xk,2+akpk,2
…tmpi=xk,i+akpk,i
tmpN=xk,N+akpk,N
xk,0=tmp0….xk,N=tmpN
Line search: 先确定 pk, 再确定 ak
Trust region: 先确定 ak 最大范围 r ,在确定 pk
最后确定真正使用的 ak
![Page 12: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/12.jpg)
两种策略
![Page 13: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/13.jpg)
线搜索方法• 选择一个函数值下降的方向– 最速下降– Newton 法– Quasi-Newton 法
• 步长– 足够小• 使下一次函数值有效减小
– 足够大• 能较快收敛
![Page 14: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/14.jpg)
Linesearch: 方向的选择 (1)
• 明显的一个选择:梯度– 最速下降
• Downhill direction
优点:计算简便缺点:对于复杂问题收敛速度慢对归一化敏感
![Page 15: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/15.jpg)
Newton 方法
Cholesky 分解 :B=LDLT
For j=1,2,…,n,do cjj=ajj-Σs=1,to j-1dsl2
js
dj=cjj
For i=j+1,…n,do cij=aij-Σs=1 to j-1dslisljs
lij=cij/dj
endend
目标:迭代至极值初始点 x0
For k=0,1,2,… do 找到正定矩阵 Bk
解 Bkpk=-Δf(xk) xk+1=xk+akpk
End
目标 : 使 D 元素均为正,且 L,D 中元素不太大dj==max(|cjj|,(maxj<i<=n |cij|/b)2,e )
![Page 16: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/16.jpg)
Quasi-Newton 法• 思想:找一个 Hessian 矩阵的近似– 并根据每一轮的新信息进行有效更新
• BFGS :近似矩阵是对称的,且 Bk 与 Bk+1 的差为秩 =2 的矩阵
![Page 17: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/17.jpg)
课堂测试( 2 )• 如果函数形式为– 则在最速下降中,最好的步长 ak 为 ?
• 思考:最速下降、牛顿法, Quasi-Newton法的优缺点是什么?
![Page 18: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/18.jpg)
Linesearch :步长的选择( 1 )• 希望的目标
• 实际上– 目标函数有效减少– 寻找合适步长的计算代价不太高
![Page 19: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/19.jpg)
Linesearch :步长的选择( 2 )
![Page 20: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/20.jpg)
Linesearch :步长的选择• Wolfe Condition– Sufficient decrease: Armijo condition
– Not too small: curvature condition
• Backtracking 算法– 初始化 a>0,p<1,c– 重复
• 直到满足 Armijo condition• 否则: a=pa
![Page 21: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/21.jpg)
课堂测试( 3 )• 下面哪些说法是对的,为什么?– 最速下降法的步长初始为 1– Newton 法的步长初始为 1– Quasi-newton 法的步长初始为 1– 如果 0<c2<c1<1, 则有可能找不到满足 wolfe 条件
的步长
![Page 22: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/22.jpg)
信赖域方法• 选择一个信赖域– 在
• 在信赖域内选择一个与目标函数具有相同特性的近似函数
• 同时选择一个方向和步长
![Page 23: 无约束 数值 优化基础](https://reader033.vdocuments.pub/reader033/viewer/2022061410/56814fe3550346895dbdab47/html5/thumbnails/23.jpg)
如何选择信赖域半径• 模型的质量:
Choose Δ0, x0,k=0While(not convergent) do choose pk
evaluate sk
if (sk<1/4) then reject step xk+1=xk
Δk+1= Δk
end Else if (sk>1/4 && ||p||=Δk) then xk+1=xk+akpk
Δk+1= min(2Δk, Δ)
end
k=k+1end