老师的讲课视频在 B 站BV1nB4y137j9。
主要分为数学基础、局部最优化问题求解和全局局部最优化问题,只讲了局部的部分。
- 绪论
- 单变量优化问题——线搜索
- 多变量优化问题
- 约束优化问题
- 约束问题的最优性条件
- 可行方向法
- 梯度投影法、简约梯度法
- 罚函数法
- 乘子法
优化问题的表述:在一定的约束下,调整一组可变参数 x,使设计目标 f(x)达到最小值(或最大值)。
数学表述可以表示为:
min f(x) s.t. x∈Ks.t.
是数学中 subject to (such that) 的缩写,表示受约束的意思- f(x) 是目标函数(实值函数)
- x为参数向量,K为可行域,即参数能够许可的取值范围
进而可以将最优化问题细分为:
- 线性规划和非线性规划问题:可行集是有限维向量空间的子集
- 组合优化或网络规划:可行集中的元素是离散的
- 动态规划:可行集是一个依赖时间的决策序列
- 最优控制:可行集是无穷维空间中的一个连续子集
线性最优化问题(线性函数,线性约束)的情况,最有情况出现在端点。
课程考虑非线性规划/优化:
s.t. min f(x)hi(x)=0,i=1,…,l,gi(x)<0,i=1,…m,最优化问题求解的一般思路#
无约束问题的一般算法框架:
- step 0: 给定初始化参数及初始迭代点x0, 置k:=0
- step 1: 若xk满足某种终止准则,停止迭代,以xk作为极小点
- step 2: 通过求解xk处的某个子问题确定下降方向xk
- step 3: 通过某种搜索方式确定步长因子αk,使得f(xk+αkdk)<f(xk)
- step 4: 令xk+1=xk+αkdk,k:=k+1,转步 1
最优化问题的数学基础#
线性代数#
线性代数的核心内容是 Ax=b 线性代数方程组解的存在性问题,以及如何求解他的问题,
以及这样的数学结构的问题。
- 矩阵行的含义,A 的每一行是平面线的法向量(线的表达式系数,二维情况),n 个法向量互相不相关,那么方程有唯一解,相关则可能有无数解(共线)或没有解(平行)
- 矩阵列的含义,相当于 x 是 A 的列向量的加权系数,加权组合结果为 b
- 矩阵行列式:Ax=b, 向量 x 被 A 左乘后,变成了向量 b,称为线性变换,矩阵 A 的行列式的绝对值表示经过该矩阵变换前后图形的面积之比;符号表示该图形变换后法向是否翻转了
- 矩阵的秩:将图形变化为线(秩为 1),面(秩为 2),体(秩为 3)
- 矩阵的逆:一一映射才有逆,行列式为 0 时,矩阵没有逆
迭代求解过程中,如何判断点序列是否收敛,需要通过度量来衡量,
通常用范数来定义这个度量:
“言为士则、行为世范”出自南朝宋刘义庆著《世说新语》开篇《德行第一》的第一则第一句,
意思是说言行足以为士人的法则、举世的示范。
向量的范数必须满足以下条件:
- 非负性 ∥x∥≥0, ∥x∥=0,iffx=0
- 线性性 λ∥x∥=λ∥x∥
- 三角不等式(又叫广义加)∥x+y∥≤∥x∥+∥y∥
常用向量的 p 范数,∥x∥p=(∑i=1n∣xi∣p)p1。
p→∞lim∥x∥p=∥x∥maxp→∞lim(i∑(∥x∥max∥x∥)p)p1
由于1≤i∑(∥x∥max∥x∥)p≤n,根据夹逼原理可以得到极限部分为 1,另一个思路是求和里面只有一个底数为 1,其他均小于 1,可以得到结果。
矩阵范数,也需要满足非负性,线性性以及三角不等式。为了体现向量的乘法,增加乘法性质。进一步要求相容性:
- 乘法性质 ∥AB∥≤∥A∥∥B∥
- 相容性质 ∥Ax∥≤∥A∥∥x∥
矩阵范数∥⋅∥μ如果满足下列条件,则称为由向量范数的诱导范数(诱导算子)。
∥A∥μ=supx=0∥x∥∥Ax∥=maxx=1∥Ax∥矩阵范数表示单位圆/球/超球面上的所有向量 x 经过线性变换后得到的所有向量 Ax 中最长的那个的范数,
或者说表示任向量经过矩阵 A 所代表的线性变换后得到的所有向量中最长的那个的范数与原向量 x 的范数的比值。
- 矩阵范数是矩阵长度(大小)的度量
- 可以用来判断矩阵是否相等,判断两个矩阵之间的距离
- 矩阵范数可以表达经过变换之后向量范数大小的变化
各种范数之间具有等价性:
- 设∥⋅∥和∥⋅∥’是定义在Rn上的两个向量范数,则存在两个正数c1,c2,对所有x∈Rn 均成立:c1∥x∥≤∥x∥’≤c2∥x∥
- 设∥⋅∥和∥⋅∥’是定义在Rn×n上的两个两个范数,则存在两个正数c1,c2,对所有x∈Rn 均成立:c1∥A∥≤∥A∥’≤c2∥A∥
向量 1 范数推导矩阵列和范数#
∥A∥1∥Ax∥1=x=0max∥x∥1∥Ax∥1=i=1∑n∣∣j=1∑naijxj∣∣≤i=1∑nj=1∑n∣aijxj∣≤i=1∑nj=1∑n∣aij∣∣xj∣≤1≤j≤nmax(i=1∑n∣aij∣)⋅j=1∑n∣xj∣
向量无穷范数推导矩阵行和范数#
∥A∥1∥Ax∥1=x=0max∥x∥1∥Ax∥1=i=1,…,nmax∣∣j=1∑naijxj∣∣≤i=1,…,nmaxj=1∑n∣aijxj∣≤i=1,…,nmaxj=1∑n∣aij∣∣xj∣≤1≤i≤nmax(i=1∑n∣aij∣)⋅j=1∑n∣xj∣
向量 2 范数推导矩阵谱范数#
∥Ax∥22=xTATAx=(Hx)Tdiag(λi)(Hx)=i=1∑nλiyi2≤(1≤i≤nmaxλi)∥y∥22.
以上推导省略等于号情况,详细推导可以看模糊计算士
多元函数#
一维泰勒展开
f(x)≈f0(x)=f(x0)+∂x∂f∣∣x=x0(x−x0)+21∂x2∂2f∣∣x=x0(x−x0)2
二维展开
f(x)≈f0(x)=f(x0)+∇f∣x=x0(x−x0)+21(x−x0)T∇2f∣∣x=x0(x−x0)
若函数 f(x)连续可微,则
f(x)≈f0(x)=f(x0)+∇f∣x=x0(x−x0)+o(∥x−x0∥)
若函数 f(x)二次连续可微,则
f(x)≈f0(x)=f(x0)+∇f∣x=x0(x−x0)+21(x−x0)T∇2f∣∣x=x0(x−x0)+o(∥x−x0∥2)
进一步可以推广到函数 F:Rn→Rm 的情况,有时称 F 的 Jacobi 矩阵的转置称为 F 的转置。
凸集与凸函数#