【AI】数学基础——最优化

从本质上讲,人工智能的目标就是最优化——在复杂环境中与多体交互中做出最优决策

几乎所有的人工智能问题都会归结为一个优化问题

  • 在线性搜索中,确定寻找最小值时的搜索方向需要使用目标函数的一阶导数和二阶导数
  • 置信域的思想是先确定搜索步长,再确定搜索方向

4.1 基本概念

目标函数(评价函数):要实现最大化/最小化的函数

  • 目标函数可以看做是连续的山脉,最优化的过程就是判断顶峰的位置,并找到到达顶峰路径的过程

最优化理论研究的问题是:

  • 判定 给定目标函数的最大值(最小值)是否存在
  • 找到 令目标函数取到最大值(最小值)的数值

大多数最优化问题都可以通过使目标函数最小化解决

  • 最大化问题可以通过使 − f ( x ) -f(x) f(x) 最小化实现

4.1.1 最优化目标

理想情况下,最优化算法的目标是 找到全局最小值

  • 全局最小值:全局最小值比定义域内所有其他点的函数值都小
  • 局部极小值:局部极小值只比所有邻近点的函数值都小

当目标函数的输入参数较多、解空间较大时,绝大多数的实用算法都不能满足全局搜索对计算复杂度的要求,因而只能求出局部极小值。

在AI领域,只要目标函数取指足够小,就可以把这个值当做全局最小值实用,作为对 性能和复杂度的折衷

4.1.2 凸优化

{ min ⁡ f ( x ) s . t . g i ( x ) ≤ 0 , i = 1 , 2 , ⋯ , k h j ( x ) = 0 , j = 1 , 2 , ⋯ , l \begin{cases} \min f(x)\\ s.t.\quad &g_i(x)\le 0,i=1,2,\cdots,k\\ &\quad h_j(x)=0,j=1,2,\cdots,l \end{cases} minf(x)s.t.gi(x)0,i=1,2,,khj(x)=0,j=1,2,,l

等式约束与不等式的解空间都是凸集

在欧氏空间中,凸集是对于集合内的每一对点,连接该对点的直线段上的每个点也在该集合内

在这里插入图片描述

凸集 ∩ 凸集 = 凸集 凸集\cap 凸集=凸集 凸集凸集=凸集

  • 故有
    { 目标函数是凸集 可行域是凸集 ⇒ 全局最优 = 局部最优 \begin{cases} 目标函数是凸集\\ 可行域是凸集 \end{cases}\Rightarrow 全局最优=局部最优 {目标函数是凸集可行域是凸集全局最优=局部最优

Hessian 阵半正定,为凸函数
[ ∂ 2 f ∂ x 1 2 ∂ 2 f ∂ x 1 ∂ x 2 ⋯ ∂ 2 f ∂ x 1 ∂ x n ∂ 2 f ∂ x 1 ∂ x 2 ∂ 2 f ∂ x 2 2 ⋯ ∂ 2 f ∂ x 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ 2 f ∂ x n ∂ x 1 ∂ 2 f ∂ x n ∂ x 2 ⋯ ∂ 2 f ∂ x n 2 ] \left[\begin{matrix} \frac{\partial^2f}{\partial x_1^2} &\frac{\partial^2f}{\partial x_1\partial x_2}&\cdots&\frac{\partial^2f}{\partial x_1\partial x_n}\\ \frac{\partial^2f}{\partial x_1\partial x_2} &\frac{\partial^2f}{\partial x_2^2}&\cdots&\frac{\partial^2f}{\partial x_2\partial x_n}\\ \vdots&\vdots&\ddots&\vdots\\ \frac{\partial^2f}{\partial x_n\partial x_1} &\frac{\partial^2f}{\partial x_n\partial x_2}&\cdots&\frac{\partial^2f}{\partial x_n^2}\\ \end{matrix} \right] x122fx1x22fxnx12fx1x22fx222fxnx22fx1xn2fx2xn2fxn22f

4.1.3 分类

根据约束条件的不同,最优化问题可以分为无约束优化(unconstrained optimization)和约束优化(constrained optimization) 两类。

  • 无条件优化:对自变量 x x x 的取值没有限制
  • 条件优化:对自变量 x x x 的取值限制在特定的集合内,即需要满足一定的约束条件

4.2 无约束优化问题

目标:
min ⁡ x ∈ R n f ( x ) \min\limits_{x\in R^n}f(x) xRnminf(x)

4.2.1 线性搜索方法

先确定方向,再确定步长

梯度下降法

沿目标函数值下降最快的方向寻找最小值,方向为梯度的反方向

单个样本梯度下降法

梯度

当输入为数值,目标函数的图像为二维空间上的曲线,梯度为导数的反方向

当输入为向量,目标函数的图像就变成了高维空间上的曲面,梯度为垂直于目标函数等值线并指向函数值增加方向的方向向量

  • 梯度:变大最快的方向
    { 一点沿某一方向上的方向导为 Γ 的切线—— Γ :过方向向量与 x o y 垂直的垂面与 f ( x , y , z ) 的交线 某一点沿不同方向有不同的方向导,方向导最大方向为梯度 ▽ f 梯度与等值面垂直 \begin{cases} 一点沿某一方向上的方向导为 \Gamma 的切线——\Gamma:过方向向量与xoy垂直的垂面与f(x,y,z)的交线\\ 某一点沿不同方向有不同的方向导,方向导最大方向为梯度 \bigtriangledown f\\ 梯度与等值面垂直 \end{cases} 一点沿某一方向上的方向导为Γ的切线——Γ:过方向向量与xoy垂直的垂面与f(x,y,z)的交线某一点沿不同方向有不同的方向导,方向导最大方向为梯度f梯度与等值面垂直

  • f ( x ) f(x) f(x) 沿梯度正方向增大,沿梯度负方向减小

梯度下降

要让目标函数以最快下降,就是要让自变量在梯度负方向上移动——多元函数沿其负梯度方向下降最快

步长 :每次更新 f ( x ) f(x) f(x) x x x 的变化值

  • 较小的步长会导致收敛过程较慢
  • f ( x ) f(x) f(x) 接近最小值点时,步长太大会导致迈过最小值点

在梯度下降法中,步长选择的整体规律是逐渐变小

ω ← ω − η ▽ x f ( x ) \omega\leftarrow \omega-\eta\bigtriangledown_x f(x) ωωηxf(x)

多样本梯度下降法

批处理模式

计算每个样本上目标函数的梯度,再将不同样本的梯度进行求和,求和的结果作为本次更新中目标函数的梯度。

在批处理模式中,每次更新都要遍历训练集中所有样本,因而运算量比较大

随机梯度下降法

每次更新中只使用一个样本,下一次更新再使用另一个样本,在不断迭代中实现对所有样本的遍历

梯度下降法分析

梯度下降法只用到了目标函数的一阶导数

  • 一阶导数描述的是目标函数如何随输入的变化而变化

  • 二阶导数提供了关于目标函数的曲率信息

    曲率影响的是目标函数的下降速度

    曲率为正,目标函数会比梯度下降法预期下降的更慢

    曲率为负,目标函数则会比梯度下降法预期下降的更快

只能利用目标函数的局部性质,因而难免盲目的搜索,导致收敛过慢

  • 通过一阶导数,可以获知目标函数可能在多个方向上都有增加的导数,意味着下降的梯度有很多种选择。但不同选择的效果有好有坏

  • 但无法获取导数的变化信息,即无法得知导数长期为负的方向

牛顿法

将二阶导数引入优化过程,得到的典型方法就是牛顿法

将目标函数泰勒展开成二阶近似形式,再对近似形式求导并令其为0,得到的向量为下降最快的方向

  • 相较梯度下降法,牛顿法下降速度快

4.2.2 非线性搜索——置信域方法

先确定步长,以步长为参数划定一个区域,再在这个区域内寻找最快大的下降方法

算法过程:

  1. 设置 置信域半径 s s s ,并在以当前点为中心、 s s s 为半径的封闭圆球形区域作为 置信域

  2. 在置信域内寻找目标函数的二次近似模型的最优点,最优点与当前点的距离就是 备选位移

  3. 在备选位移上,

    如果目标函数的二次近似产生了充分下降,就将当前点移动到计算出的最优点,并以此规则迭代,适当增加 s s s

    如果目标函数的近似下降不明显,则说明步长太大,需要缩小 s s s 并重新计算备选位移

    直到满足备选位移

4.2.3 非地毯式搜索——启发式算法

核心思想:优生劣汰的生存法则,并在算法中增加了选择和突变等经验因素

智能程度高的表现在于善用启发式策略,不用经过大量搜索也能解决问题

  • 生物进化——遗传算法

  • 统计物理中固体结晶过程——模拟退火算法

  • 低等动物产生集群智能——蚁群算法

  • 大脑中神经元竞争和协作的机制——人工神经网络

4.3 约束优化问题

4.3.1 约束优化与Langrange函数

对于凸优化问题
{ min ⁡ x f ( x ) s . t . h j ( x ) = 0 , j = 1 , 2 , ⋯ , l g i ( x ) ≤ 0 , i = 1 , 2 , ⋯ , m \begin{cases} \min\limits_{x}f(x)\\ s.t.& h_j(x)=0&,j=1,2,\cdots,l\\ &g_i(x)\le 0&,i=1,2,\cdots,m \end{cases} xminf(x)s.t.hj(x)=0gi(x)0,j=1,2,,l,i=1,2,,m
由 Lagrange 函数
L ( x , α , β ) = f ( x ) + ∑ i = 1 m α i g i ( x ) + ∑ j = 1 l β j h j ( x ) , α i ≥ 0 , β j ≥ 0 L(x,\alpha,\beta)=f(x)+\sum\limits_{i=1}^m\alpha_i g_i(x)+\sum\limits_{j=1}^l\beta_j h_j(x)\quad ,\alpha_i\ge 0,\beta_j\ge 0 L(x,α,β)=f(x)+i=1mαigi(x)+j=1lβjhj(x),αi0,βj0
求证:在满足 ▽ x L = 0 \bigtriangledown_x L=0 xL=0 的条件下, max ⁡ L = f ( x ) \max L=f(x) maxL=f(x)

  • L L L 求梯度过程为求 L L L 最大值的过程

在可行解域内
h j ( x ) ≡ 0 ⇒ β j h j ( x ) ≡ 0 g i ( x ) ≤ 0 且 α i ≥ 0 ,故 α i g i ≤ 0 h_j(x)\equiv 0\Rightarrow \beta_jh_j(x)\equiv 0\\ g_i(x)\le 0且 \alpha_i\ge 0,故 \alpha_ig_i\le 0 hj(x)0βjhj(x)0gi(x)0αi0,故αigi0

max ⁡ α , β L ( x , α , β ) = max ⁡ α , β [ f ( x ) + ∑ i = 1 m α i g i ( x ) + ∑ j = 1 l β j h j ( x ) ] = f ( x ) + max ⁡ α , β [ ∑ i = 1 m α i g i ( x ) + ∑ j = 1 l β j h j ( x ) ] = f ( x ) \begin{aligned} \max\limits_{\alpha,\beta}L(x,\alpha,\beta)&=\max\limits_{\alpha,\beta}\left[f(x)+\sum\limits_{i=1}^m\alpha_ig_i(x)+\sum\limits_{j=1}^l\beta_jh_j(x)\right]\\ &=f(x)+\max\limits_{\alpha,\beta}\left[\sum\limits_{i=1}^m\alpha_ig_i(x)+\sum\limits_{j=1}^l\beta_jh_j(x)\right]\\ &=f(x) \end{aligned} α,βmaxL(x,α,β)=α,βmax[f(x)+i=1mαigi(x)+j=1lβjhj(x)]=f(x)+α,βmax[i=1mαigi(x)+j=1lβjhj(x)]=f(x)

在可行解域外
若 h j ( x ) ≠ 0 ⇒ max ⁡ β j h j ( x ) → ∞ 若 g i ( x ) > 0 ⇒ max ⁡ α i g i ( x ) → ∞ } ⇒ 可行解域外, L ( α , β , x ) → ∞ \left. \begin{aligned} 若h_j(x)\neq 0\Rightarrow \max \beta_jh_j(x)\rightarrow \infty\\ 若g_i(x)>0\Rightarrow \max \alpha_ig_i(x)\rightarrow \infty \end{aligned} \right\}\Rightarrow 可行解域外,L(\alpha,\beta,x)\rightarrow \infty hj(x)=0maxβjhj(x)gi(x)>0maxαigi(x)}可行解域外,L(α,β,x)

对偶问题

KaTeX parse error: Expected 'EOF', got '&' at position 26: …\limits_{x}f(x)&̲\iff \min\limit…

相当于求原问题的下界,故对于条件优化问题,拉格朗日函数与原目标函数有共同的最优点集和共同的最优目标函数值

4.3.2 等式约束优化

{ min ⁡ x f ( x ) s . t . h j ( x ) = 0 , j = 1 , 2 , ⋯ , l \begin{cases} \min\limits_{x} f(x)\\ s.t. h_j(x)=0&,j=1,2,\cdots,l \end{cases} {xminf(x)s.t.hj(x)=0,j=1,2,,l

设有 σ x \sigma_x σx ,对于任一 x F x_F xF ,使 f ( x F + σ x ) < f ( x F ) f(x_F+\sigma_x)<f(x_F) f(xF+σx)<f(xF) ——即 f ( x ) f(x) f(x) 为凸函数

1. f ( x ) f(x) f(x) 梯度
▽ x k f ( x k ) = ∂ f ( x ) ∂ x k ⇒ ▽ x f ( x ) = ∑ x k ∈ X ∂ f ( x ) ∂ x k \bigtriangledown_{x_k}f(x_k)=\frac{\partial f(x)}{\partial x_k}\Rightarrow\bigtriangledown_{x}f(x)=\sum\limits_{x_k\in\mathcal{X}}\frac{\partial f(x)}{\partial x_k} xkf(xk)=xkf(x)xf(x)=xkXxkf(x)

2. h ( x ) h(x) h(x) 梯度
▽ h ( x ) = ( ▽ h ( x 1 ) ⋮ ▽ h ( x k ) ) \bigtriangledown h(x)=\left( \begin{aligned} \bigtriangledown h(x_1)\\ \vdots\\ \bigtriangledown h(x_k) \end{aligned} \right) h(x)= h(x1)h(xk)
3. h ( x ) h(x) h(x) f ( x ) f(x) f(x) 的梯度关系

eg
{ min ⁡ x f ( x ) = min ⁡ x ( x 1 + x 2 ) s . t . h ( x ) = x 1 2 + x 2 2 − 2 = 0 \begin{cases} \min\limits_{x}f(x)=\min\limits_{x}(x_1+x_2)\\ s.t. \quad h(x)=x_1^2+x_2^2-2=0 \end{cases} {xminf(x)=xmin(x1+x2)s.t.h(x)=x12+x222=0
分别求 f ( x ) f(x) f(x) h ( x ) h(x) h(x) 的梯度
▽ f ( x ) = ( ∂ f ∂ x 1 ∂ f ∂ x 2 ) = ( 1 1 ) ▽ h ( x ) = ( 2 x 1 2 x 2 ) \bigtriangledown f(x)=\left(\begin{aligned} \frac{\partial f}{\partial x_1}\\ \frac{\partial f}{\partial x_2} \end{aligned}\right)=\left( \begin{aligned} 1\\1 \end{aligned} \right)\qquad \bigtriangledown h(x)=\left( \begin{aligned} 2x_1\\2x_2 \end{aligned} \right) f(x)= x1fx2f =(11)h(x)=(2x12x2)
在这里插入图片描述

在这里插入图片描述

从几何上可以看出,当 σ x ⊥ − ▽ x f ( x ) \sigma_x\bot -\bigtriangledown_x f(x) σxxf(x) 时,可找到最小值


从几何角度分析,当达到最优情况 x F x_F xF 时,满足
{ h ( x F + σ x ) = 0 σ x ⋅ ( − ▽ x f ( x F ) ) = 0 ⇒ ▽ x f ( x F ) 与 ▽ x h ( x F ) 平行,有 − ▽ x f ( x F ) = β ▽ x h ( x F ) , β ≥ 0 \begin{cases} h(x_F+\sigma_x)=0\\ \sigma_x\cdot (-\bigtriangledown_xf(x_F))=0 \end{cases}\Rightarrow \bigtriangledown_xf(x_F)与 \bigtriangledown_xh(x_F)平行,有\\ -\bigtriangledown_xf(x_F)=\beta\bigtriangledown_xh(x_F),\beta\ge 0 {h(xF+σx)=0σx(xf(xF))=0xf(xF)xh(xF)平行,有xf(xF)=βxh(xF),β0
即优化问题等价于
{ min ⁡ x f ( x ) s . t . h ( x ) = 0 ⇒ L ( x , β ) = f ( x ) + β h ( x ) , β ≥ 0 ,求 max ⁡ β L ( x , β ) 令 { ∂ L ∂ x = 0 ⇒ ▽ x f ( x ) + β ▽ x h ( x ) = 0 ⇒ − ▽ x f ( x ) = β ▽ x h ( x ) ∂ L ∂ β = 0 ⇒ h ( x ) = 0 \begin{aligned} &\begin{cases} \min\limits_{x}f(x)\\ s.t. \quad h(x)=0 \end{cases}\\ &\Rightarrow L(x,\beta)=f(x)+\beta h(x),\beta \ge 0,求 \max\limits_{\beta}L(x,\beta)\\ 令&\begin{cases} \frac{\partial L}{\partial x}=0&\Rightarrow \bigtriangledown_x f(x)+\beta\bigtriangledown_xh(x)=0\\ &\Rightarrow -\bigtriangledown_x f(x)=\beta\bigtriangledown_xh(x)\\ \frac{\partial L}{\partial \beta}=0&\Rightarrow h(x)=0 \end{cases} \end{aligned} {xminf(x)s.t.h(x)=0L(x,β)=f(x)+βh(x),β0,求βmaxL(x,β) xL=0βL=0xf(x)+βxh(x)=0xf(x)=βxh(x)h(x)=0
eg

对于
{ min ⁡ x f ( x ) = min ⁡ x ( x 1 + x 2 ) s . t . h ( x ) = x 1 2 + x 2 2 − 2 = 0 L ( x 1 , x 2 , β ) = x 1 + x 2 + β ( x 1 2 + x 2 2 − 2 ) \begin{aligned} &\begin{cases} \min\limits_{x}f(x)=\min\limits_{x}(x_1+x_2)\\ s.t. \quad h(x)=x_1^2+x_2^2-2=0 \end{cases}\\ &L(x_1,x_2,\beta)=x_1+x_2+\beta(x_1^2+x_2^2-2) \end{aligned} {xminf(x)=xmin(x1+x2)s.t.h(x)=x12+x222=0L(x1,x2,β)=x1+x2+β(x12+x222)

{ ∂ L ∂ x 1 = 0 ∂ L ∂ x 2 = 0 ∂ L ∂ β = 0 ⇒ { 1 + 2 β x 1 = 0 1 + 2 β x 2 = 0 x 1 2 + x 2 2 − 2 = 0 ⇒ 代入后,得 β ∗ { x 1 ∗ = x 1 β 1 ∗ x 2 ∗ = x x β 2 ∗ \begin{cases} \frac{\partial L}{\partial x_1}=0\\ \frac{\partial L}{\partial x_2}=0\\ \frac{\partial L}{\partial \beta}=0\\ \end{cases}\Rightarrow \begin{cases} 1+2\beta x_1=0\\ 1+2\beta x_2=0\\ x_1^2+x_2^2-2=0 \end{cases}\xRightarrow{代入后,得\beta^*}\begin{cases} x_1^*=x_1\beta_1^*\\ x_2^*=x_x\beta_2^*\\ \end{cases} x1L=0x2L=0βL=0 1+2βx1=01+2βx2=0x12+x222=0代入后,得β {x1=x1β1x2=xxβ2

4.3.3 不等式优化

{ min ⁡ x f ( x ) s . t . g i ( x ) ≤ 0 , i = 1 , 2 , ⋯ , m \begin{cases} \min\limits_{x} f(x)\\ s.t. g_i(x)\le 0&,i=1,2,\cdots,m \end{cases} {xminf(x)s.t.gi(x)0,i=1,2,,m

有Lagrange函数
L ( x , α ) = f ( x ) + ∑ i = 1 m α i g i ( x ) , α i ≥ 0 L(x,\alpha)=f(x)+\sum\limits_{i=1}^m\alpha_ig_i(x),\alpha_i\ge 0 L(x,α)=f(x)+i=1mαigi(x),αi0

最优值在约束范围内

等价于全局最优,即为无约束优化问题
{ min ⁡ x f ( x ) g i ( x ) < 0 , i = 1 , 2 , ⋯ , m \begin{cases} \min\limits_{x}f(x)\\ g_i(x)<0\quad,i=1,2,\cdots,m \end{cases} {xminf(x)gi(x)<0,i=1,2,,m
在这里插入图片描述

eg:
{ min ⁡ x f ( x ) = x 1 2 + x 2 2 s . t . g ( x ) = x 1 2 + x 2 2 − 1 ≤ 0 ⇒ { f ( x ) = x 1 2 + x 2 2 g ( x ) = x 1 2 + x 2 2 − 1 < 0 且 max ⁡ β L ( x , β ) = f ( x ) ⇒ g ( x ) < 0 α = 0 \begin{aligned} &\begin{cases} \min\limits_{x}f(x)=x_1^2+x_2^2\\ s.t.\quad g(x)=x_1^2+x_2^2-1\le 0 \end{cases}\Rightarrow\begin{cases} f(x)=x_1^2+x_2^2\\ g(x)=x_1^2+x_2^2-1<0 \end{cases}\\ &且 \max\limits_{\beta} L(x,\beta)=f(x)\xRightarrow{g(x)<0}\alpha=0 \end{aligned} {xminf(x)=x12+x22s.t.g(x)=x12+x2210{f(x)=x12+x22g(x)=x12+x221<0βmaxL(x,β)=f(x)g(x)<0 α=0

最优值不在约束范围内

梯度关系 { 平行 : − ▽ x f ( x ) = α g ( x ) 同向: α > 0 梯度关系\begin{cases} 平行:-\bigtriangledown_xf(x)=\alpha g(x)\\ 同向:\alpha>0 \end{cases} 梯度关系{平行:xf(x)=αg(x)同向:α>0

在这里插入图片描述

L ( x , α ) = f ( x ) + α g ( x ) L(x,\alpha)=f(x)+\alpha g(x) L(x,α)=f(x)+αg(x)
在可行解域内, g ( x ) ≤ 0 , α > 0 ⇒ α g ( x ) ≤ 0 且 max ⁡ α L ( x , α ) = f ( x ) + max ⁡ α α g ( x ) = f ( x ) ⇒ max ⁡ α α g ( x ) = 0 g ( x ) = 0 \begin{aligned} &在可行解域内,g(x)\le 0,\alpha>0\Rightarrow \alpha g(x)\le 0\\ &且 \max\limits_{\alpha}L(x,\alpha)=f(x)+\max\limits_{\alpha} \alpha g(x)=f(x)\xRightarrow{\max\limits_{\alpha} \alpha g(x)=0}g(x)=0 \end{aligned} 在可行解域内,g(x)0,α>0αg(x)0αmaxL(x,α)=f(x)+αmaxαg(x)=f(x)αmaxαg(x)=0 g(x)=0
即最优值不在约束域内,则一般在边界上

4.3.3 约束优化总结——KKT条件

min ⁡ x max ⁡ α , β L ( x , α , β ) = min ⁡ x max ⁡ α , β [ f ( x ) + ∑ i = 1 m α i g i ( x ) + ∑ j = 1 l β j h j ( x ) ] , α i ≥ 0 , β j ≥ 0 K K T { ▽ x L = 0 ⇒ − ▽ x f ( x ) = ∑ i = 1 m α i ▽ x g i ( x ) + ∑ j = 1 l β j ▽ x h j ( x ) ∂ L ∂ α i = 0 , α i ≥ 0 , α i g i ( x ) ≤ 0 { α i = 0 , g i ( x ) < 0 , 最优解在约束范围内 g i ( x ) = 0 , α i > 0 , 最优解不在约束范围内,一般在边界 ∂ L ∂ β j = 0 , β j ≥ 0 \min\limits_{x}\max\limits_{\alpha,\beta}L(x,\alpha,\beta)=\min\limits_{x}\max\limits_{\alpha,\beta}\left[f(x)+\sum\limits_{i=1}^m\alpha_ig_i(x)+\sum\limits_{j=1}^l\beta_jh_j(x)\right],\alpha_i\ge 0,\beta_j\ge 0\\ KKT\begin{cases} \bigtriangledown_xL =0\Rightarrow -\bigtriangledown_xf(x)=\sum\limits_{i=1}^m\alpha_i\bigtriangledown_xg_i(x)+\sum\limits_{j=1}^l\beta_j\bigtriangledown_xh_j(x)\\ \frac{\partial L}{\partial \alpha_i}=0\quad ,\alpha_i\ge 0,\quad \alpha_ig_i(x)\le 0\begin{cases} \alpha_i=0,g_i(x)<0,\quad 最优解在约束范围内\\ g_i(x)=0,\alpha_i>0 ,\quad 最优解不在约束范围内,一般在边界 \end{cases} \\ \frac{\partial L}{\partial \beta_j}=0\quad ,\beta_j\ge 0 \end{cases} xminα,βmaxL(x,α,β)=xminα,βmax[f(x)+i=1mαigi(x)+j=1lβjhj(x)],αi0,βj0KKT xL=0xf(x)=i=1mαixgi(x)+j=1lβjxhj(x)αiL=0,αi0,αigi(x)0{αi=0,gi(x)<0,最优解在约束范围内gi(x)=0,αi>0,最优解不在约束范围内,一般在边界βjL=0,βj0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/79303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS基础(一)

&#xfecc;&#xfecc;&#xfecc;&#xfecc;♡‎&#xfecc;&#xfecc;&#xfecc;&#xfecc;♡‎‎&#xfecc;&#xfecc;&#xfecc;&#xfecc;♡‎&#xfecc;&#xfecc;&#xfecc;&#xfecc;♡&#xfecc;&#xfecc;&#xfecc;&#xfecc;…

Qt使用注意事项

1.菜单选项不能出现数字&#xff0c;可以是 英文 加 “_”&#xff1a; 2.如何确保加载的图片&#xff0c;尺寸大小与原来一样&#xff1f; 【QT】添加图片资源并使用QImage加载图片显示_qimage显示图片_李春港的博客-CSDN博客 ui->PicLabel->setPixmap(QPixmap::fromIm…

K8s的网络——underLay和overLay网络

0. 基础知识 1&#xff09;网络7层基础知识 在网络7层协议基础里&#xff0c; 第一层物理链路&#xff1b;第二层是数据链路层&#xff0c;在第一层的基础上引入MAC地址做数据转发。MAC地址在局域网内具有唯一性&#xff0c;主机A发送数据时&#xff0c;会向局域网内进行广播…

QT生成ICO文件

生成ICO文件 #include <QApplication> #include <QImage> #include <QIcon> #include <QFile> #include <QDebug> #include <QPixmap>int main(int argc, char* argv[]) {QApplication app(argc, argv);// 读取图片文件QImage image(&quo…

IDEA编写Java编程代码提示插件

网址&#xff1a; aiXcoder idea软件中使用代码提示&#xff1a; aixcoder

uniapp使用@microsoft/signalr(报错“ReferenceError: require is not defined“)

后台老哥要用微软的signalr&#xff0c;总结了一些经验和问题 引入方法 1、npm npm i microsoft/signalr 2、下载他的js或者cdn <script src"https://cdnjs.cloudflare.com/ajax/libs/microsoft-signalr/6.0.1/signalr.js"></script>在uniapp中&…

Python vs C#:首先学习哪种编程语言最好?

进入编码可能很困难。 最艰难的部分? 决定先学什么语言。 当谈到 Python 与 C# 时,可能很难知道在您的决定中要考虑哪些因素。 我们为您提供了有关这些全明星编程语言的所有信息。 什么是 C#? 自 2000 年作为 Microsoft Visual Studio 的一部分开发 C# 以来,它一直是开发人…

Postman使用_Tests Script(断言测试)

断言测试可以在Collection、Folder和Request的 pre-request script 和 test script中编写&#xff0c;测试脚本可以检测请求响应的各个方面&#xff0c;包括正文、状态代码、头、cookie、响应时间等&#xff0c;只有测试符合自定义的要求后才能通过。 pm对象提供了测试相关功能…

常用的8位单片机+2.4g遥控芯片的“化学”反应

8位单片机通常是微控制器&#xff0c;它们具有相对简单的处理能力&#xff0c;但对于许多嵌入式系统和低复杂度应用而言&#xff0c;它们足够使用。这些芯片通常具有较低的功耗&#xff0c;价格相对实惠。 2.4GHz无线通信芯片&#xff0c;则具备强大的无线通信能力。它们可以实…

windows 下docker安装宝塔镜像 宝塔docker获取镜像

1. docker 安装宝塔 打开链接&#xff1a;https://www.docker.com/get-started&#xff0c;找对应的版本下载docker&#xff0c;安装docker打开百度云盘&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1DGIjpKkNDAmy4roaKGLA_w 提取码&#xff1a;u8bi 2. 设置镜像 点…

java设计模式之观察者模式

. 基本概念 观察者&#xff08;Observer&#xff09;模式中包含两种对象&#xff0c;分别是目标对象和观察者对象。在目标对象和观察者对象间存在着一种一对多的对应关系&#xff0c;当这个目标对象的状态发生变化时&#xff0c;所有依赖于它的观察者对象都会得到通知并执行它…

1、MongoDb综述

1. MongoDb综述 1.1. 什么是Nosql NoSQL&#xff1a;Not Only SQL ,本质也是一种数据库的技术&#xff0c;相对于传统数据库技术&#xff0c;它不会遵循一些约束&#xff0c;比如&#xff1a;sql标准、ACID属性&#xff0c;表结构等。 Nosql优点 l 满足对数据库的高并发读写…

创建查询系统,提升工作效率

今天我要和大家分享一个非常实用的小技巧&#xff0c;能够让老师们在短短三分钟内创建一个非常方便的查询系统&#xff01;是的&#xff0c;通过使用易查分这个神奇的工具&#xff0c;你可以轻松满足各种查询需求&#xff01; 首先&#xff0c;老师们只需要注册一个易查分账号。…

使用两个队列模拟栈

整体思路如下图&#xff1a; 代码实现 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner;/*** author: Arbicoral* Description: 使用2个队列模拟栈的 push() pop() top(), 自己实现打印 print()*/ public class QueueMoniStack2 {public stati…

uniapp 模糊搜索(小白必看)

实现模糊搜索很简单,按照下面的步骤: 1. 搜索栏 <view class"search-box"><uni-search-bar class"uni-mt-10" radius"100" placeholder"请输入移交信息" clearButton"auto" bgColor"#F8F8F8"cancelBut…

SpringMvc决战-【SpringMVC之自定义注解】

目录 一、前言 1.1.什么是注解 1.2.注解的用处 1.3.注解的原理 二.注解父类 1.注解包括那些 2.JDK基本注解 3. JDK元注解 4.自定义注解 5.如何使用自定义注解&#xff08;包括&#xff1a;注解标记【没有任何东西】&#xff0c;元数据注解&#xff09;&#xff1f; 三…

Linux下使用lookbusy加载cpu负载

Lookbusy 是一个用于在 Linux 系统上生成合成负载的简单应用程序。它可以在 CPU 上生成固定的、可预测的负载&#xff0c;保持选定数量的内存处于活动状态&#xff0c;并生成您需要的任意数量的磁盘流量。 官方地址&#xff1a;lookbusy -- a synthetic load generator 编译 …

Article Forge:AI写作文章内容生成器

【产品介绍】 名称 Article Forge 成立/上线时间 2022年 具体描述 Article Forge是一款基于人工智能和深度学习的AI写作文章内容生成器&#xff0c;可以自动写出1500字的文章无论是产品描述&#xff0c;还是整篇博客文章&#xff0c;Article Forge都能在一…

堆与栈的区别

OVERVIEW 栈与堆的区别一、程序内存分区中的堆与栈1.栈2.堆3.堆&栈 二、数据结构中的堆与栈1.栈2.堆 三、堆的深入1.堆插入2.堆删除&#xff1a;3.堆建立&#xff1a;4.堆排序&#xff1a;5.堆实现优先队列&#xff1a;6.堆与栈的相关练习 栈与堆的区别 自整理&#xff0c;…

竞赛 基于机器视觉的车道线检测

文章目录 1 前言2 先上成果3 车道线4 问题抽象(建立模型)5 帧掩码(Frame Mask)6 车道检测的图像预处理7 图像阈值化8 霍夫线变换9 实现车道检测9.1 帧掩码创建9.2 图像预处理9.2.1 图像阈值化9.2.2 霍夫线变换 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分…