赞
踩
对于无约束优化,如果目标函数是凸函数,可直接通过令目标函数的梯度为零求得全局最优值;为避免陷入局部最优值,一般进行优化的目标函数采用凸函数;
凸集定义:在欧氏空间中,对于集合中任意两点的连线,连线上的点都在集合中,则该集合为凸集合;
凸函数定义:对于任意属于[0,1]的a和任意属于凸集的x、y,有f[ax+(1-a)x]≤af(x)+(1-a)f(y),几何意义上就是两点连线上的函数值要大于等于两点之间某点的函数值,即凸函数的任一局部极小点就是全局极小点;
凸函数的充要条件:有f(x)在开凸集S上具有二阶连续偏导数,且f(x)的海塞矩阵(二阶偏导的矩阵)在S上处于半正定,则f(x)为S上的凸函数;
带约束的优化问题,形式为
{ m i n f ( x ) s . t . g i ( x ) ⩽ 0 h j = 0
若三个函数都为线性函数,则该问题为线性规划问题;若任意一个函数为非线性函数,则该问题为非线性规划问题;若目标函数为二次函数,且约束函数都为线性函数,则为二次规划;若目标函数和不等式约束函数为凸函数,等式约束函数为线性函数,则该问题为凸优化问题;
要在等式约束求得目标函数的极小点,就得找目标函数与约束函数的切点,在切点上可以认为,目标函数的梯度与约束函数的梯度是处于一条直线上的,即存在拉格朗日乘子 μ ⩾ 0 \mu\geqslant0 μ⩾0,有 ∇ x f ( x ∗ ) = μ ∇ x h ( x ∗ ) ∇_x f(x^* )=μ∇_x h(x^*) ∇xf(x∗)=μ∇xh(x∗);满足前述式子并同时满足等式约束函数为零,就能将带约束的优化问题转为不带约束的优化问题,这就是拉格朗日乘子法;
对 L ( x , μ ) = f ( x ) + μ h ( x L(x,μ)=f(x)+μh(x L(x,μ)=f(x)+μh(x)求极小值 x ∗ x^* x∗,该极小值需满足以下条件 ∇ x L ( x ∗ , μ ∗ ) = 0 ∇_x L(x^*,μ^* )=0 ∇xL(x∗,μ∗)=0与 ∇ μ L ( x ∗ , μ ∗ ) = 0 ∇_μ L(x^*,μ^* )=0 ∇μL(x∗,μ∗)=0。
对于不等式约束函数,在几何上它表示为一个区域,称为可行域;一般分为两种情况讨论,第一种是极值点落入可行域内(不包含边界);第二种是极值点落入可行域外(包含边界);
第一种情况:
若目标函数的极值点落入可行域内,则约束函数是不起约束作用的,此时可以直接通过令目标函数的梯度为零求得极值点;如图所示:
第二种情况:
当目标函数的极值点落入可行域外时,约束函数就会起到约束作用,而目标函数就需要在约束函数的边界上求得极值点(因为极小值点在边界上,此时约束函数为零),即切点,同理两个函数的梯度会在一条直线上,只是约束函数的梯度会与目标函数的负梯度同向,有 − ∇ x f ( x ) = λ ∇ x g ( x ) -∇_x f(x)=λ∇_x g(x)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。