凸函数
对于一元函数f(x),如果对于任意tϵ[0,1]均满足:f(tx1+(1−t)x2)≤tf(x1)+(1−t)f(x2),则称f(x)为凸函数(convex function)
判断一个函数是否是凸函数?
对于一元函数f(x),我们可以通过其二阶导数f′′(x) 的符号来判断。如果函数的二阶导数总是非负,即f′′(x)≥0 ,则f(x)是凸函数
对于多元函数f(X),我们可以通过其Hessian矩阵(Hessian矩阵是由多元函数的二阶导数组成的方阵)的正定性来判断。
凸优化
凸优化问题的局部极小值是全局极小值
我们观察下面两幅图,形象感受一下为什么凸优化问题的局部最优解是全局最优解,(1) 从下图可以看出当函数不是凸函数时,当对非凸函数f(x)进行最优化时,便可能得到局部最优解,无法获得全局最优解
(2) 从下图可以看出当目标函数可行域是非凸时,则此时对函数进行优化时也可能错过全局最优解
凸优化定义
一个凸优化问题可描述为:
凸函数的定义是 如下所示,对x的约束集C是一个凸集
凸优化的定义为:
约束条件变为一些列凸集的交集,即g(x) 和h(x),g(x) 是一个凸函数,h(x) 是仿射函数
(1)目的是求解目标函数的最小值;
(2)目标函数f(x)和不等式约束函数g(x)都是凸函数,定义域是凸集;
(3)若存在等式约束函数,则等式约束函数h(x)为仿射函数;仿射函数指的是最高次数为1的多项式函数,一般形式为f(x)= Ax + b,A是m*k矩阵,x是一个k向量,b是一个m向量
(4)凸优化问题有一个良好的性质即:局部最优解便是全局最优解
常用的凸优化求解方法
1、梯度下降方法
3、牛顿法
4、拉格朗日对偶问题求解(等式约束凸优化问题求解&不等式约束凸优化问题求解)
等等
梯度下降
最小二乘法
拉格朗日乘子法
基本的拉格朗日乘子法(又称为拉格朗日乘数法),就是求函数 f(x1,x2,...) 在 g(x1,x2,...)=0 的约束条件下的极值的方法。其主要思想是引入一个新的参数 λ (即拉格朗日乘子),将约束条件函数与原函数联系到一起,使能配成与变量数量相等的等式方程,从而求出得到原函数极值的各个变量的解。
详解查看
https://www.cnblogs.com/ooon/p/5721119.html
应用 拉格朗日乘子优化问题主要应用于SVM最优解的求解上