关于圆锥对偶的一些知识

在学习机器学习的理论课程(数学,经济学,优化,金融等)时,经常会发现“双重问题”的概念。

对偶任务通常用于获得优化问题中目标功能的较低(或较高)估计。 此外,对于优化问题的几乎所有有意义的陈述,对偶问题都有有意义的解释。 也就是说,如果您面临一个重要的优化问题,那么它的双重问题也很可能很重要。

在本文中,我将讨论圆锥对偶性。 在我看来,这种构造双重任务的方式值得关注。

下一个...

通常如何构建双重任务?


给出一些优化问题:

 minx inRnfxfix leq0 quad1 leqi leqkhix=01 leqi leqm



根据以下方案构造双重任务:

  • 建立拉格朗日

Lx lambda mu=fx+ sumi=1k lambdaifix+ sumi=1m muihix


  • 建立双重功能

g lambda mu= infxLx lambda mu


  • 获得双重任务

 max lambda mug lambda mu lambda geq0



该方案的主要困难在于搜索步骤  infxLx lambda mu

如果问题不是凸的,那么这就是棺材-通常情况下,它不能在多项式时间内解决(如果 P neqNP)以及本文中的此类问题,我们以后将不再赘述。

假设问题是凸的,那又是什么?

如果问题是平稳的,那么我们可以使用一阶最优条件  nablaxLx lambda mu=0。 在这种情况下,如果一切正常,就可以推断出或 x lambda mu= arg minxLx lambda mug lambda mu=Lx lambda mu lambda mu或直接起作用 g lambda mu

如果问题不顺利,那么我们可以使用一阶条件的类似物 0 in partialxLx lambda mu(在这里  partialxLx lambda mu表示函数的微分 Lx lambda mu),但是此过程通常要复杂得多。

有时存在一个等效的“平滑”优化问题,并且可以为此构造对偶问题。 但是,通常为了改善结构(从不光滑到光滑),总是必须增加尺寸。

圆锥对偶


有很多优化任务(以下示例)均采用以下表示形式:

 minx inRncTxAx+b inK


在哪里 -矩阵 b-矢量 K-非退化凸锥。

在这种情况下,可以根据以下方案构造双重任务:

根据以下方案构造双重任务:

  • 建立拉格朗日

Lx lambda=cTx+ lambdaTAx+b


  • 建立双重功能

g lambda= infxLx lambda= begincases lambdaTb quadc+AT lambda=0 infty quadc+AT lambda neq0 endcases


  • 获得双重任务

 max lambdabT lambdac+AT lambda=0 lambda inK


共轭锥在哪里 K用于锥 K定义为 K ^ * = \左\ {y \ in R ^ k | z ^ T y \ geq 0,\ quad \ forall z \ in K \ right \}

如我们所见,构造对偶问题的整个复杂性已转移到对偶圆锥的构造上。 但令人高兴的是,构建双锥具有良好的演算,而且经常可以立即写出双锥。

例子


假设我们需要为该问题构造一个双重优化问题:

 minx inRn |x |2+ |x |1Ax geqb



在这里  |x |1= sumi=1n|xi| |x |2= sqrt sumi=1nxi2

您会注意到的第一件事:目标函数始终可以线性化!

相反,线性目标函数总是存在一个等效问题:

 minx inRny inRz inRy+z |x |2 leqy |x |1 leqzAx geqb



现在您需要使用一些秘密知识:许多

K_1 = \ {(x,t)\ in R ^ n \ times R | \ quad \ | x \ | _1 \ leq t \}

K_2 = \ {(x,t)\ in R ^ n \ times R | \ quad \ | x \ | _2 \ leq t \}

是凸锥。

因此,我们得出问题的等效表示法:

 minx inRny inRz inRy+zIn+1\开pmatrixxy endpmatrix+0n+1 inK2In+1\开pmatrixxz endpmatrix+0n+1 inK1Axb inR+k



现在我们可以立即写出一个双重问题:

 max lambda mu nubT nu lambdai+ mui+[AT nu]i=0 quad1 leqi leqn lambdan+1+1=0 mun+1+1=0 lambda\在K2=K2 mu\在K1=K infty nu inR+k


或者,为了简化一点,

 max lambda mu nubT nu lambda+ mu+AT nu=0 | lambda |2 leq1 | mu | infty leq1 nu inR+k



在哪里  | mu | infty= maxi| mui|

进一步研究的链接:

Source: https://habr.com/ru/post/zh-CN431756/


All Articles