一、泰勒展开:
泰勒公式是一个用函数在某点的信息描述其附近取值的公式。这个公式来自于微积分的泰勒定理,泰勒定义描述了一个可微函数,如果函数足够光滑的话,在已知函数在某一点的各阶导数值的情况之下,泰勒公式可以用这些导数值做系数构建一个多项式来近似函数在这一点的邻域中的值,这个多项式称为泰勒多项式。
泰勒定理:
设n是一个正整数,如果定义在一个包含a的区间上的函数f在a点处n+1次可导,那么对于这个区间上的任意x,都有:
f(x)=f(a)+1!f′(a)(x−a)+2!f(2)(a)(x−a)2+...+n!f(n)(a)(x−a)n+Rn(x)
其中的多项式称为函数在a处的泰勒展开式,剩余的Rn(x)是泰勒展开式的余项,为(x−a)n的高阶无穷小。
二、泰勒展开和Hassian矩阵的关系
二元函数f(x1,x2)在X(0)(x1(0),x2(0))的泰勒展开为:
f(x1,x2)=f(x1(0),x2(0))+∂x1∂f∣X(0)△x1+∂x2∂f∣X(0)△x2+21[∂x12∂2f∣X(0)△x12+2∂x1∂x2∂2f∣X(0)△x1△x2+∂x22∂2f∣X(0)△x22]+...
将上述表达式写成矩阵形式:
f(X)=f(X(0))+(∂x1∂f,∂x2∂f)X(0)(△x1△x2)+21(△x1,△x2)(∂x12∂2f∂x2∂x1∂2f∂x1∂x2∂2f∂x22∂2f)X(0)(△x1△x2)+...
令:
▽f(X(0))T=(∂x1∂f∂x2∂f)X(0),△X=(△x1△x2),G(X(0))=(∂x12∂2f∂x2∂x1∂2f∂x1∂x2∂2f∂x22∂2f)X(0)
此时上式可表示为:
f(X(0))=f(X(0))+▽f(X(0))T△X+21△XTG(X(0))△X+....
这个G(X(0))就是f(x1,x2)在X(0)点处的Hassian矩阵。
同时注意这个▽f(X(0))是雅可比矩阵
https://baike.baidu.com/item/%E9%BB%91%E5%A1%9E%E7%9F%A9%E9%98%B5
三、拉格朗日函数:
3.1定义:
设给定二元函数z=f(x,y)和附加条件ϕ(x,y)=0,为寻找z=f(x,y)在附加条件下的极值点,先做拉格朗日函数F(x,y,ϕ)=f(x,y)+λϕ(x,y),其中λ是参数
首先令F(x,y,λ)对x,y,λ的一阶导数为零,即:
Fx′=fx′(x,y)+λϕx′(x,y)=0
Fy′=fy′(x,y)+λϕy′(x,y)=0
Fλ′=ϕ(x,y)=0
由上述方程解出x,y,λ,如此求得的(x,y),就是函数z=f(x,y)在附加条件ϕ(x,y)=0下的可能极值点。
如果这样的点只有一个,由实际问题可直接确定此即所求的点。
https://baike.baidu.com/item/%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E4%B9%98%E6%95%B0%E6%B3%95/8550443
3.2 理解:
拉格朗日函数本身只是一种构造方式,这种方式本身是没有意义的,但它可以使求条件极值的步骤变得相对简单方便一些,所以大家倾向于使用构造拉格朗日函数这种方式来求极值。
以二元函数为例,假设变量x,y满足约束条件f(x,y)=0,求g(x,y)的极值:
对f(x,y)=0微分可以得到:df=∂x∂fdx+∂y∂fdy=0 (1)
同时g(x,y)取极值的必要条件是dg=∂x∂gdx+∂y∂gdy=0 (2)
联立(1)(2),这个方程组可以看成关于dx,dy的齐次线性方程组。要使该方程组有非零解(dx,dy虽然是小量,但不是真正的零),则该方程组的行列式为零,即:
∂x∂f∂y∂g−∂y∂f∂x∂g=0 (3)
也就是说(3)就是g(x,y)取极值的一个条件,将(3)与f(x,y)联立,就能求出极值点。
上面是按定义求极值的方法,接下来构造拉格朗日函数看能否得到(3)这个式子。
令拉格朗日函数h(x,y)=g(x,y)+λf(x,y)。其无条件极值点满足:
∂x∂h=∂x∂g+λ∂x∂f=0 (4)
∂y∂h=∂y∂g+λ∂y∂f=0 (5)
联立(4)(5),这个方程组可以看成关于μ,λ(这个μ只是一个临时引入的变量)的一个齐次线性方程组:
μ∂x∂g+λ∂x∂f=0
μ∂y∂g+λ∂y∂f=0
且已知该方程组有非零解μ=1
根据齐次线性方程组有非零解的条件可知,该方程的系数矩阵的行列式为零,即:
∂x∂g∂y∂f−∂x∂f∂y∂g=0 (6)
可以看出(3)和(6)是完全等价的,也就是说用拉格朗日函数来求条件极值,和用定义求条件极值是等价的。所以我们可以通过解(4)(5)这个方程组,来求g(x,y)的条件极值。
https://www.zhihu.com/question/64044033
四、广义拉格朗日函数:
给定不等式约束问题:
KaTeX parse error: Invalid delimiter: 'm' after '\middle' at position 9: \middle m̲in f(x)\\s.t.\\…
定义广义拉格朗日函数:
L(x,α,β)=f(x)+∑i=1kαici(x)+∑j=1lβjhj(x)
这里x=(x(1),x(2),...,x(n))T∈Rn,αi,βj是拉格朗日乘子,αi≥0,考虑x的函数
θP(x)=maxα,β,αi≥0L(x,α,β)
则
θP(x)={f(x),x满足原始问题约束+∞,其他
(有严格证明,这里跳过)
极小化问题minxθp(x)=minxmaxα,β,αi≥0L(x,α,β)与原始优化问题有相同的解。
广义拉格朗日函数相当于构造了一个含参函数,在满足约束条件的情况下,这个函数的值总是小于等于目标函数f(x),而我们此时选取合适的参数α,β令该函数最大可使等号成立,即L(x,α,β)=f(x);若不满足约束条件,则总存在α,β使得该函数趋向于+∞
定义原始问题的最优值为p∗=minxθp(x)
4.1对偶问题
定义θD(α,β)=minxL(x,α,β)
我们得到极大极小问题
maxα,βθD(α,β)=maxα,βminxL(x,α,β)
s.t.ai≥0,i=1,2,...,k
称为原问题(极小极大问题)的对偶问题
定义对偶问题的最优解为d∗=maxα,β,αi≥0θ(α,β)
4.2 原始问题和对偶问题的关系
4.2.1 性质1
(弱对偶性)d∗≤p∗。p是先求最大的一块区域然后在这块区域求最小,d是先求最小的一块区域然后在这块区域求最大,最大里面的最小,总会比最小里面的最大要大
4.2.2 性质2
(强对偶充分条件)若f(x)和ci(x)是凸函数,hj(x)是仿射函数,并且不等式是严格可行的(即∃x,∀i,有ci(x)<0),则存在x∗,α∗,β∗使得x∗是原始问题的解,α∗,β∗是对偶问题的解,并且
p∗=d∗=L(x∗,α∗,β∗)
4.2.3 性质3
(强对偶充要条件)若f(x)和ci(x)是凸函数,hj(x)是仿射函数,并且不等式是严格可行的,则x∗是原始问题的解,α∗,β∗是对偶问题的解的充要条件就是他们满足KKT(Karush-Kuhn-Tucker)条件