优化问题的定义为:
其中, 。
凸优化问题相对优化问题的定义而言,要求函数 和 是凸函数, 是仿射函数( )。
对于仿射集和凸集的差别在凸优化-凸集一文也做了分析,二者的差别就在于凸集是线段而仿射集是直线(一维情况下)。很明显,求解凸函数的极小值(convex minimization)和凹函数的极大值(concave maximization)都是凸优化问题(convex optimization problem)。
我们定义凸优化解的集合(Convex solution sets)为 ,记为:
证明:假设 都是优化问题的解,那么对于 ,其中 ,则:
因此,点 也是优化问题 的一个解,所以点 之间必然存在两点连线上的任意点都是优化问题的最优解。故,凸优化问题解的集合为凸集。也就意味着如果凸优化问题存在两个包含两个以上的解时,那么其必定包含无数个解。对于这一点,其实不是特别好想象。
熟悉机器学习算法里面的线性回归或者逻辑回归的同学因该明白LASSO问题,其定义为:
LASSO是Tibshirani(对就是Tibshirani)在1996年JRSSB上的一篇文章上《Regression shrinkage and selection via lasso》提出的。所谓lasso,其全称是least absolute shrinkage and selection operator,其含义是在限制了 的情况下,求使得残差平和达到最小的参数的估值。Tibshirani指出,对于回归算法,当 足够小的时候,会使得某些回归系数的估值是0,可以起到变量选择的作用,是逐步回归的一种表现。
因此,对于LASSO算法,其是否是凸优化问题?它的解集合是否是唯一的点?
答案是,LASSO问题是凸优化问题,因为 和 均是凸函数,因此该问题为凸优化问题;如果样本数目 大于特征数目 ,且X满秩,那么 ,关于 二阶微分恒为半正定p.s.d.,因此,解是唯一的;但是,如果样本数目 小于特征数目 ,那么会造成高维特征空间上的维数灾难问题,此时,X为奇异矩阵,则解不唯一。
另一个实例是SVM算法,SVM算法的理论部分我就不多介绍了,会在机器学习算法篇章中对SVM做着重介绍,如果我们记SVM为:
其中, 为下图两个虚线边界的距离, 为引入分类错误的代价,代表下图错分样本点距正确分类边界的距离。具体如下图:
那么,该问题是否为凸优化问题呢?它的解是否是唯一?
答案是,SVM目标函数是凸优化问题,但是,它的解并不唯一,因为它不是严格凸函数。有兴趣的同学可以留言来解释为什么SVM是凸优化问题!
局部最优解的定义为:如果 ,使得 ,其中y满足 ,则点x为优化问题的局部最优解(locally optimal)。
对于凸优化问题,凸函数有一个特别的性质,即局部最优解是全剧最优解(local minima are global minima),即如果 ,同时 满足所有约束,那么对于局部 ,当 时,对于所有可行解 。相反,非凸优化问题则不具有该性质,如下图所示。
那么我们需要证明的是为什么凸优化问题的局部最优值就是全局最优值?
证明:这里,我们采用反证法来证明该理论,假设x为凸优化问题的局部最优解,意味着函数在 范围内的点的值都小于 。如果我们假设定理是错误的,那么必然存在一点 ,使得 ,且 。
此时,假设存在一点 ,使得 ,其中 ,那么:
因此,意味着 同样也是是凸优化问题的可行解。
然后,因为点 在 内均成立,所以我们可以假设 足够小,但大于0,使得 可以落在点 以 为半径的圆内,这时,对于凸优化问题中可行解的两个点 之间的点 ,我们可以得到如下公式:
又因为 ,且之前假设 ,所以 ,因此 ,这就与之前最开始假设x为局部最优解的定义相违背,因此,我们最终证明得到local minima are global minima。
等价于:
其中 ;
SVM采用的hinge loss就是利用的partial optimization的思想。如果我们把SVM优化问题的目标函数记为:
那么我们可以将约束改写为 ,SVM在优化过程中选用的hinge form就是将约束中的大于等于改写为等于,即:
因此,优化目标函数就变为:
上式就是SVM求解目标函数的最终形式,可称为hinge form of SVMs。
优化方法中的最大似然估计MLE就采用log函数对目标函数进行变换,就是采用的这个思想。
SVM算法都引入slack variables来允许训练误差的出现,防止模型过拟合。
凸优化问题根据目标函数和约束函数的形式分为:
Ryan教授给了一个非常形象的例子来解释凸优化问题在优化问题领域的位置,以及以上几种优化问题间的关联关系,如下图:
线性规划问题(LPs)定义是优化问题满足以下形式,线性规划的实例包括diet problem, transportation problem, basis pursuit和Dantzig selector等: