恩佐2登录 > SEO攻略 > 一些经典优化算法1

一些经典优化算法1

admin SEO攻略 2020年01月11日

  课程纲要 ? 最优化理论数学基础复习 ? 线搜索方法 ? 梯度法和牛顿法 ? 共轭梯度法 ? 拟牛顿法 ? 最小二乘法 ? 最优性条件(*) ? 线性规划 ? 二次规划 2 课程纲要 ? 最优化理论数学基础复习 ? 线搜索方法 ? 梯度法和牛顿法 ? 共轭梯度法 ? 拟牛顿法 ? 最小二乘法 ? 最优性条件(*) ? 线性规划 ? 二次规划 3 最优化理论数学基础 ? 最优化问题就是求一个多元函数在某个给定集合上的 极值问题, 几乎所有类型的最优化问题都可以描述如下: min () , s. t. ∈ Ω 其中: Ω为某个给定的集合, 称为可行集或可行域; ()为定义在集合Ω上连续可微的多元实值函数, 称为 目标函数; = (1 , 2 ? , ) 为决策变量; s.t. 为 subject to (受限于)的缩写. 对于极大化问题, 在目标函数前添加负号可以转化为极 小化问题. 因此, 只需考虑目标函数极小化问题. 4 最优化理论数学基础 ? 最优化问题: min () , s. t. ∈ Ω 可行域Ω一般常用等式和不等式来描述 Ω = { ∈ = 0, ∈ ?; ≥ 0, ∈ ?} 其中 ( ∈ ? ∪ ?)为定义在 上连续可微的多元实 值函数, 称为约束函数. 等式约束: = 0, ∈ ? ; ? 为等式约束指标集; 不等式约束: ≥ 0, ∈ ? ; ? 为等式约束指标集 5 最优化理论数学基础 ? 最优化问题: min () , s. t. ∈ Ω Ω = { ∈ = 0, ∈ ?; ≥ 0, ∈ ?} 无约束优化问题: ? ∪ ? = ?, 否则为约束优化问题 等式约束优化问题: ? ≠ ?且? = ? 不等式约束优化问题: ? ≠ ?且? = ? 线性规划问题: 目标函数和约束函数都是线性函数 二次规划问题:目标函数二次, 而约束函数是线 向量和矩阵范数 ? 在维实向量空间 中定义向量的范数 ? 向量 ∈ 的范数 ? 是一个非负数, 须满足以下条件: ① ≥ 0, = 0 ? = ② ③ = , ? ∈ + ≤ + 1 ? -范数: = 1 =1 , ≥ 1 1 ? 1-范数: ? 2-范数: ? ∞-范数: = = =1 2 2 7 =1 1≤≤ ∞ = max 向量和矩阵范数 ? 按照向量范数的定义引入矩阵 ∈ × 的矩阵范数 ? 矩阵范数 ? 还需满足乘法性质: ≤ ? 称矩阵范数 ? , , ? ∈ × , ∈ × ? 是相容的, 当 ? ∈ × , ∈ 与向量范数 ≤ ? 若存在 ≠ 使得 = max = max ≠ = 称矩阵范数 ? 是由向量范数 ? 诱导出来的算子范数, 也称为从属于向量范数 ? 的矩阵范数. 此时, 向量范数 8 和算子范数通常采用相同的符号 ? . 向量和矩阵范数 ? 显然, 从属于向量范数 1, 2 , ∞ 的矩阵范数为: 1 = max 1≤≤ =1 = ∞ ∈ ( ) = max 1≤≤ =1 分别称为列和范数, 谱范数, 行和范数. 注: ( )表示 的特征值 9 向量和矩阵范数 ? F-范数: 2 =1 =1 1/2 例如: = = ( ) 11 = 21 12 11 22 ? = 12 21 22 2 2 + 11 21 = 11 12 + 21 22 11 12 + 21 22 2 2 12 + 22 2 2 2 2 = 11 + 12 + 21 + 22 10 谱范数和F-范数常用来讨论各种迭代算法的收敛性 . 向量序列与矩阵序列的收敛性 ? 若向量序列 () ∞ =1 ? , 则: () lim →∞ →∞ lim () = ? = ? 类似, 若矩阵序列 →∞ ∞ () =1 ? × , 则: = lim () = ? () lim →∞ 11 向量序列与矩阵序列的收敛性 12 多元函数分析 ? 主要介绍三个概念 ? 元函数的一阶导数 ? 元函数的二阶导数 ? 元函数的泰勒展开式 13 多元函数分析 ? 定义1.1 = (1 , 2 ? , ) ∈ . 称向量 = 的一阶导数或梯度. 称下列矩阵为()在处 的二阶导数或Hesse阵 2 () 2 1 2 () 2 1 ? 2 () 1 2 () 1 2 2 () 2 2 ? 2 () 2 2 () ? 1 2 () ? 2 ? ? 2 () … 2 () () () , ,?, 为()在处 1 2 2 = 14 多元函数分析 ? 若梯度()的每个分量函数在处都连续, 则 称在处一阶连续可微. ? 若Hesse阵 2 ()的各个分量函数在处都连 续, 则称在处二阶连续可微. ? 若 在开集的每一点都一阶连续可微, 则称 在上一阶连续可微. ? 若 在开集的每一点都二阶连续可微, 则称 在上二阶连续可微. 15 多元函数分析 ? 显然, 若在处二阶连续可微, 则 2 () 2 () = , , = 1,2, ? , 即Hesse阵 2 ()是对称阵. 2 () 2 1 2 () 2 1 ? 2 () 1 2 () 1 2 2 () 2 2 ? 2 () 2 2 () ? 1 2 () ? 2 ? ? 2 () … 2 2 = 16 多元函数分析 ? 泰勒展开: 设函数: → 连续可微, 则 1 + = + 0 ( + ) = + ( + ) ∈ 0,1 = + () + ( ) ( ? )是泰勒展开的余项, 是一个一价无穷小 泰勒公式是一个用函数在某点的信息描述其附近取值的公式。如果 函数足够平滑的话,在已知函数在某一点的各阶导数值的情况之下, 泰勒公式可以用这些导数值做系数构建一个多项式来近似函数在这 17 一点的邻域中的值。新宝7恩佐登录新宝7登录 多元函数分析 ? 泰勒展开: 设函数: → 连续可微, 则 + = + () + ( ) 若函数f是二次连续可微的, 则有 + = + () + + () 1 0 (1 ? ) 2 ( + ) 1 2 = + + ∈ 0,1 2 1 2 = + () + + ( 2 ) 2 18 多元函数分析 ? 泰勒展开: 设函数: → 连续可微, 则 + = + () + ( ) 若函数f是二次连续可微的, 则有 1 2 + = + () + + ( 2 ) 2 以及 1 + = + 0 2 ( + ) = + 2 ( + ) ∈ 0,1 = + 2 () + ( ) 19 多元函数分析 ? 例1.1: 设二次函数 1 = ? 2 式中: ∈ 且 ∈ × 是对称阵. 求 在处 的梯度和Hesse阵. ? 解: 显然 = ? , 2 = 20 多元函数分析 ? 向量值函数 = (1 , 2 , ? , ) : → ? 若每个分量函数 都是(连续)可微的, 则称是 (连续)可微的. ? 向量值函数在处的导数′ ∈ × 称为它在 处的Jacobi矩阵,记为′ ()或 (), 其转置称为 梯度矩阵 = () : 21 多元函数分析 ? 同理: 若向量值函数: → 是连续可微的, 则对于任意的, ∈ , 有: + = + ′ () + ( ) 22 凸集与凸函数 ? 介绍凸集、锥和凸函数的有关概念 ? 定义1.3 设集合 ? . 称集合为凸集, 是指 对任意的, ∈ 及任意的实数λ ∈ [0, 1], 都有 + 1 ? ∈ . 凸集 非凸 23 凸集与凸函数 ? 性质1.1 设, 1 , 2 是凸集, 是一实数, 那么 (1) ? { = , ∈ }是凸集 (2) 交集1 ∩ 2 是凸集 (3) 和集1 + 2 ? { = + , ∈ 1 , ∈ 2 }是凸集 ? 例1.3 维欧几里得空间中的个点的凸组合是 一个凸集, 即集合 = =1 ∈ , ≥ 0, =1 = 1 是凸集 24 凸集与凸函数 ? 定义1.4 集合 ? 的凸包(convex hull)是指所 有包含的凸集的交集, 记为 ? ? 式中: 为凸集 25 凸集与凸函数 ? 定义1.5 设非空集合 ? . 若对任意的 ∈ 和任意的实数 0, 有λ ∈ , 则称 为一个锥 (cone). 若 同时也是凸集, 则称为一个凸锥 (convex cone). 此外, 对于锥 , 若 ∈ , 则称 为 一个尖锥(pointed cone). 相应地, 包含的凸锥成 为尖凸锥. ? 例1.6 多面体{ ∈ ≥ }是 一个尖凸锥, 通常称为多面锥 26 凸集与凸函数 ? 定义凸集上的凸函数 ? 定义1.6 设函数: ? → , 其中为凸集. (1) 称是上的凸函数, 是指对任意的, ∈ 及任意的实数 λ ∈ [0,1], 都有 + 1 ? ≤ + 1 ? () (2) 称是上的严格凸函数, 是指对任意的, ∈ 及任意的实数 λ ∈ (0,1), 都有 + 1 ? + 1 ? () (3) 称是上的一致凸函数, 是指存在常数 0, 使对任意的 , ∈ 及任意的实数λ ∈ [0,1], 都有 1 + 1 ? + (1 ? ) ? 2 2 ≤ + 1 ? () 27 凸集与凸函数 ? 定义凸集上的凸函数 ? 性质1.2 设 , 1 , 2 都是凸集上的凸函数, 1 , 2 ∈ + , ∈ , 则有 (1) 1 1 + 2 2 也是上的凸函数; (2) 水平集? , = { ∈ , () ≤ }是凸集. ? 凸集和凸函数在传统优化理论中起着举足轻重的作用, 但是 用凸函数的定义来判断一个函数是否具有凸性相当困难. ? 如果函数是一阶或二阶连续可微的, 那么利用函数的梯度或 Hesse矩阵来判别或验证函数的凸性要相对容易. 28 函数的凸性 ? 29 函数的凸性 ? 在一元函数中, 若()在区间(, )上二阶可微且 ′′ () ≥ ( ), 则()在(, )内凸(严格凸). ? 对于二阶连续可微的多元函数 ∶ ? → , 也 可以由其二阶导数(Hesse矩阵)给出凸性的一个近乎 完整的表述. 30 函数的凸性 ? 在一元函数中, 若()在区间(, )上二阶可微且 ′′ () ≥ ( ), 则()在(, )内凸(严格凸). ? 推广到多元函数 ? 定理1.5 设元实函数 在凸集 ? 上二阶连续可 微, 则: (1) 在上为凸函数的充要条件是 2 ()对一切 ∈ 为半正定; (2) 在上为严格凸函数的充分条件是 2 ()对一切 ∈ 为正定; (3) 在上为一致凸函数的充要条件是 2 ()对一切 ∈ 为一致 正定. 31 无约束问题的最优性条件 ? 讨论无约束优化问题 ∈ min () 的最优性条件 ? 一阶必要条件 ? 二阶必要条件 ? 二阶充分条件 ? 凸函数全局极小点的充要条件 32 无约束问题的最优性条件 ? ? 33 无约束问题的最优性条件 ? 一般讨论的求极小点的方法都是指局部极小点. ? 为了表述的方便, 引入下列记号: = , = = 2 , = 2 34 无约束问题的最优性条件 ? 定理1.6 (一阶必要条件) 设()在开集上一阶 连续可微. 若? ∈ 是问题 min ()的一个局部极 小点, 则必有 ? = 0. ∈ 35 无约束问题的最优性条件 ? 定理1.7 (二阶必要条件) 设()在开集上二 阶 连续可微. 若? ∈ 是问题 min ()的一个局部极 小点, 则必有 ? = 0且 是半正定矩阵. ∈ ? 36 无约束问题的最优性条件 ? 定理1.8 (二阶充分条件) 设()在开集上二 阶连 续可微. 若? ∈ 满足条件 ? = 0且 ? 是正定 矩阵, 则? 是问题 min ()的一个局部极小点. ∈ ? 目标函数的稳定点(驻点, 一阶导数为0)不一定是极小点. ? 但是, 目标函数是凸函数的无约束优化问题, 其稳定 点、局部极小点和全局极小点等价. 37 无约束问题的最优性条件 ? 定理1.9 设()在 上是凸函数并且一 阶连续可 微. 则? ∈ 是问题 min ()的全局极小点的充要 条件是 ? = 0. ∈ 38 无约束优化问题的数值优化方法 ? 在数值优化中, 一般采用迭代法求解无约束优化问 题的极小点. ? 基本思路如下: ? 给定一初始点0 ; ? 按照某迭代规则产生一迭代序列{ }, 使该序列是有限的, 则最后一个点就是极小点; ? 若序列{ }是无限的, 它有极限点且该点即为极小点. ? 迭代细节: ? 为第次迭代点, 为第 次搜索方向, 为第次步长 因子, 则可得第 + 1次迭代点+1 = + . 39 无约束优化问题的数值优化方法 ? 无约束优化问题的一般算法框架 ? 称上述算法中的 = 为第次迭代的位移. ? 设计不同的位移(不同搜索方向和步长因子)会产生不同的迭代算 法. 为了保证收敛性, 一般要求搜索方向为所谓的下降方向. 40 无约束优化问题的数值优化方法 ? 定义 1.10 若存在 0, 使得对任意的 ∈ (0, )和 ≠ , 有 + , 则称 为()在 处的一个下降方向. ? 引理 1.1 设函数: ? → 在开集上一阶连 续可微. 则 为()在 处的一个下降方向的充要 条件是. ( ) 0 41 无约束优化问题的数值优化方法 ? 定义 1.11 若某算法只有当初始点0 充分接近极 小点? 时, 由算法产生的点列{ }才收敛于? , 则 称该算法具有局部收敛性. 若对于任意的初始点 0 , 由算法产生的点列{ }都收敛于? , 则称该算法具 有全局收敛性. ? 算法的局部收敛速度是衡量一个算法好坏的重要 指标, 通常有两种衡量收敛速度的尺度: Q-收敛和 R-收敛. 42 无约束优化问题的数值优化方法 ? Q-收敛 43 无约束优化问题的数值优化方法 ? R-收敛 44 无约束优化问题的数值优化方法 ? 迭代算法常用的终止条件: 45 线搜索方法 ? 线搜索方法是求解无约束优化问题 min ()的 一个最基本的方法. 此处介绍一维线 线搜索方法 ? 线搜索方法是求解无约束优化问题 min ()的 一个最基本的方法. 此处介绍一维线搜索方法. ∈ ? 这实际上是将原优化问题转变为(个变量)目标函数() 在一个规定方向上移动所形成的单变量优化问题, 也即所 谓的“线搜索”或“一维搜索”. 令 = ( + ) 如此, 搜索步骤3等价于求步长因子 使得 0 . 47 线搜索方法 = ( + ) 求步长因子 使得 0 . ? 精确线搜索: 求 使目标函数沿方向 达到极小, 即 = min 0 若()连续可微, 那么步长因子 具有如下性质: ( + ) = 0 (也即 +1 = 0) ? 非精确线搜索: 求 使目标函数得到可接受的下降量, 即 ? = ? + 0 是可接受的. 48 精确线搜索方法 ? 精确线搜索基本思想: 首先确定包含问题最优解的搜索 区间, 然后采用某种插值或分割技术缩小这个区间, 进行搜 索求解. ? 搜索区间定义: 49 精确线搜索方法 ? 精确线搜索: 首先确定包含问题最优解的搜索区间, 然后 采用某种插值或分割技术缩小这个区间, 进行搜索求解. ① 如何确定搜索区间并保证具有近似单峰性质? ? 进退法基本思想: 从一点出发, 按一定步长, 试图确定函数 值呈现“高-低-高”的三点, 从而得到一个近似的单峰区间. 50 精确线搜索方法 ① 如何确定搜索区间并保证具有近似单峰性质? ? 进退法: 实际上相当于是?1 51 精确线搜索方法 ? 精确线搜索: 首先确定包含问题最优解的搜索区间, 然后 采用某种插值或分割技术缩小这个区间, 进行搜索求解. ② 如何采用某种插值或分割技术缩小这个区间? ? 方法一般分为两类: 1) 使用导数的搜索, 如插值法、新宝7恩佐登录牛顿 法及抛物线) 不使用导数的搜索, 如黄金分割法、分 数法等. ? 黄金分割法基本思想: 通过试探点函数值的比较, 使包含极值点的搜 索区间不断缩小. 该方法仅需要计算函数值. ? 抛物线法基本思想: 通过在搜索区间中不断地使用二次多项式去近 似目标函数, 并逐步用插值多项式的极小点去逼近线搜索问题的极小点. 该方法也不需要计算导数值. 52 精确线搜索方法—黄金分割法 Why? 53 精确线搜索方法—黄金分割法 ? 第 次迭代时, 搜索区间为[ , ]. 取两个试探点为 , ∈ [ , ]且 , 并满足以下两个条件: ? [ , ]与[ , ]的长度相同, 即 ? = ? ? 区间长度的缩短率相同, 即+1 ? +1 = ( ? ) 黄金分割法每 次迭代搜索区 间搜索率是 0.618, 只是线 性收敛, 计算 效率不高, 但 是每次迭代只 需计算一次函 数值. 54 精确线搜索方法—抛物线法 ? 抛物线法基本思想: 通过在搜索区间中不断地使用二次多 项式去近似目标函数, 并逐步用插值多项式的极小点去逼近 线 精确线搜索方法—抛物线法 ? 抛物线)搜索的最优性保证? 拟合三点间 的二次曲线 求拟合曲线 的极小值 凸二次连续可 微, 保证最优性 56 非精确线搜索方法 ? 精确线搜索缺点: 往往需要计算很多的函数值和梯度值, 特别当迭代点远离最优点时, 不是十分有效合理. ? 非精确线搜索: 既能保证目标函数具有可接受的下降量, 又能使最终形成的迭代序列收敛. ? Wolfe准则 ? Armijo准则 57 非精确线搜索方法—Wolfe准则 ? Wolfe准则是指给定 ∈ 0,0.5 , ∈ (, 1), 求使得下 面两个不等式同时成立: + ≤ + + ≥ 其中: = = ( ) 有时用更强的条件代替: (强Wolfe准则) + ≤ ? 0充分小时, 可使其变为近似精确线搜索. 由该Wolfe准则得到的新的迭代点+1 = + 在 的 某一领域内并且使目标函数值有一定的下降量. 由于 0, 有定理可以证明Wolfe准则的有限终止性. 58 非精确线搜索方法—Armijo准则 ? Armijo准则是指给定 ∈ 0, 1 , ∈ (0, 0.5). 令步长因子 = , 其中 为满足下列不等式的最小非负整数: + ≤ + 可以证明, 若()是连续可微的且满足 0, 则Armijo 准则是有限终止的, 即存在正数, 使得对于充分大的正整 数, 上式成立. 59 非精确线搜索方法—Armijo准则 ? Armijo搜索的Matlab程序: fun: 目标函数 gfun: 目标函数 的梯度函数 60 线搜索法总结 ? 线搜索法: 指用线搜索策略求步长因子的无约束优化问题 下降类算法的简称, 一般算法框架如下. 61 梯度法 ? 梯度法(最速下降法)是求解无约束优化问题最简单 最古老的方法之一. 前述下降类算法的一般框架中 提到用不同的方式确定搜索方向或搜索步长, 就会 得到不同算法. 梯度法是用负梯度方向 = ?( ) 作为搜索方向的. ? 两个问题: ? 为什么选择负梯度方向? ? 为什么称为最速下降法? 62 梯度法 1)为什么选择负梯度方向? 2)为什么称为最速下降法? 搜索步长 小于0 也即搜索方向为负梯度 方向, 是目标函数在当前 点的最速下降方向 要使变化率最小, 也即变化 率绝对值最大, 只有 = ?1, 即 = 63 梯度法 ? 梯度法计算步骤: 可用精确/非精确线性 搜索方法, 在理论上均 能保证全局收敛性. 64 梯度法 ? 一些定理(了解) 接近1(的最大和最小 特征值接近时), 梯度法 收敛很快.较大时(A近 似于病态), 收敛很慢 65 牛顿法 ? 牛顿法基本思想: 用迭代点 处的一阶导数(梯度)和二阶 导数(Hesse矩阵)对目标函数进行二次函数近似, 然后把二次 函数的极小点作为新的迭代点, 不断重复这一过程, 直至求 得满足精度的近似极小点. 实际运算中为避免求逆, 可先解 = ? 得 = +1 ? , 然后令+1 = + 66 牛顿法 ? 基本牛顿法优点: 收敛速度快, 具有局部二阶收敛性 67 牛顿法 ? 基本牛顿法缺点: 初始点需要足够靠近极小点, 否则算法 有可能不收敛. 但通常精确极小点位置未知, 故而带来困难. 可引入线搜索方法以得到大范围收敛的算法?阻尼牛顿法 68 牛顿法 ? 基于Armijo搜索的阻尼牛顿法: 牛顿法求 搜索方向 Armijo法则 搜索步长 69 牛顿法 ? 基于Armijo搜索的阻尼牛顿法(理论支撑, 了解) 70 修正牛顿法 ? 牛顿法的优点: 不低于二阶的收敛速度 ? 牛顿法的缺点: 要求目标函数的Hesse矩阵()在每个迭 ?1 代点 处是正定的, 否则难以保证牛顿方向 = ? 是 在 处的下降方向. ? 修正方法之一: 和梯度法结合起来, 构造“牛顿-梯度混合 算法”: 当Hesse阵正定, 用牛顿方向作为搜索方向; 否则, 若 Hesse阵奇异, 或非奇异但牛顿方向不是下降方向, 采用负梯 度方向作为搜索方向. 71 修正牛顿法--牛顿-梯度混合算法 72 修正牛顿法 ? 牛顿法的优点: 不低于二阶的收敛速度 ? 牛顿法的缺点: 要求目标函数的Hesse矩阵()在每个迭 ?1 代点 处是正定的, 否则难以保证牛顿方向 = ? 是 在 处的下降方向. ? 修正方法之二 : 引入阻尼因子 ≥ 0, 即在每一迭代步适 当选取参数 使得矩阵 = + 正定. 73 修正牛顿法 牛顿法求 搜索方向 Armijo法则 搜索步长 74

标签: seo算法