学习笔记-2-Review of Optimization-3-Quadratic

细节内容请关注微信公众号:运筹优化与数据科学

ID: pomelo_tree_opt


Quadratic optimization

之所以讲quadratic optimization,是因为SVM那些经常用到二次函数。尤其是那个norm的东西,ANN中的error/loss function最常用的是mean square error, 表现形式就是个二次的东西

---------------------------------------

两部分内容,quadratic function与quadratic models

Quadratic functions

  • Convex quadratic, nonconvex quadratic functions, 二次函数可以是凸的,也可以是凹的

Quadratic programming models

  • Linearly constrained quadratic program (LCoP)  线性约束的二次规划

  • Quadratically constrained quadratic program (QCQP) 二次约束的二次规划

-------------------------------------

(1) Quadratic functions

再写的稍微特殊一点,上面的M矩阵只是个方阵,这里的Q的一个symmetric matrix. symmetric的东西具有更多的特点。例如,对称矩阵的eigenvalue都是real实数,所以就可以通过eigenvalue来判断Q的性质,psd, pd, nsd, nd,那些,如果Q是半正定的,就意味着f函数是凸函数。

至于怎么把M变成Q,其实很简单,

------------------------------------------

第一条性质是由向量和矩阵的运算性质决定的。

至于一阶信息,每个点x不同,就不同,影响quadratic surface model, 每个地方的gradient也不同,不像linear function那样,一阶信息是个常数。

二阶信息,即“变化的变化”,就是Q,是个对称矩阵,eigenvalue are all real, 然后就可以判断psd, pd, nsd, nd那些,再判断quadratic function是凸的,还是非凸的。

------------------------------------------

(2) Graphs & contours of quadratic functions

第一个图是凸的,看等高线图,从里往外,从小到大。

第二个是个马鞍面,非凸非凹,也可以说是既凸又凹。等高线是个双曲线。

第三个是凹的。

这两个第一个就是非凸的,第二个是凸的。

大体上,直接看函数图像不太好确定是不是凸的,但是看等高线,就比较容易。凸的东西的等高线往往有个椭圆的形状,然后里面有个global optimum.

------------------------------------------

(3) Special symmetric matrices

上面是关于definite矩阵的定义,实际在使用时,都是用特征值来判断。

----------------------------------

(4) How quadratic functions come into picture?

这个两个点之间的距离,应该参考前面的vector norm与matrix norm. 对比起来看,会更直观一些

----------------------------------

(5) Linearly constrained QP (LCQP)

------------------------------------------

QP的primal 与 Dual

这个问题,如果没有Q的部分,就是标准的线性规划问题

Quadratic programming可以看作是linear programming的延伸

原来linear的P的目标函数上是加了一个quadratic term, 右边的D是减去了一个quadratic term. 而且Q会induce出来一些二阶信息,就是z.

D的约束其实是左边<=P的目标函数的梯度信息,分别是二阶信息(Q的部分)+一阶信息(c的部分). 

这个认识角度很新颖。

------------------------------------------

Theorem: Strong duality holds for convex (QP).

Implications:

  • No duality gap!

  • Free choice of primal approach, dual approach, or primal-dual approach

对于凸二次规划问题,有强对偶性,也就是没有duality gap.

而且,从问题复杂度上来看,primal和dual的复杂度是一样的,都是quadratic problem.

------------------------------------------

Solution methods

一圈一圈的就是目标函数(二次函数)的等高线,多面体是约束可行域。

两者的交集,从图上看,左边的图是落在可行域的内部,右边的图是落在可行域的边上了。

实际上这个最优点有可能落在可行域内的任何一个点上。

Optimality may happen at any feasible point

Many solution methods

  • Conjugate gradient method

  • Preconditioned conjugate gradient method

  • Active set algorithm

  • Interior-point method (polynomial-time solvable)

-----------------------------------------

(6) Quadratically constrained QP (QCQP)

Convex QCQP (CQCQP)

注意这里是很多Q,不是只有一个矩阵。

When the governing matrices are positive semidefinite, 

(QCQP) becomes a convex optimization problem.

大体意思应该是某些主要的matrix是半正定时,整个问题就是个凸优化的问题。

凸的QCQP问题等价于二阶锥问题,而二阶锥问题是线性锥优化问题的特殊形式。

内点法可以解SOCP问题,也就可以解CQCQP问题。

而对于nonconvex QCQP

Solution approaches for nonconvex QCQP

  • Linear conic programming (LCoP)

  • Second-order cone programming (SOCP)

  • Semidefinite programming (SDP) + relaxation

  • General nonlinear programming (NLP)

这部分一般用不到。

=============================

总结:

  1. 二次的东西,二次规划,可以是凸的,也可以是非凸的。取决于二次项的矩阵的性质。半正定的矩阵就意味着凸优化,而判断是否是半正定什么的,用矩阵的特征值就行。凸的二次规划是可以用求解器求解的,方法就是内点法。内点法是个polynomial time的算法,很厉害的东西。

  2. 之所以需要学习二次规划或者二次函数,是因为SVM,ANN中都需要用到二次函数的内容。两个超平面之间的距离就是个二次的形式。最主要是那些discrepancy, distance, loss, error等概念的度量方式,往往用2-norm,方便起见,往往再把2-norm的东西平方一下,就得到了二次函数的形式。

  3. 常提到的二次规划,约束条件是线性的,即LQCP. 如果约束条件中再出现二次的东西,就会变得很复杂,例如QCQP那些,这些往往没有专门好用的算法。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值