自变量无约束的求极值方法 - 梯度下降法
10 回归算法 - 梯度下降在线性回归中的应用
11 回归算法 - BGD、SGD、MBGD梯度下降
12 回归算法 - 手写梯度下降代码
梯度下降法(Gradient Descent, GD)常用于求解无约束情况下凸函数(Convex
Function)的极小值,是一种迭代类型的算法,因为凸函数只有一个极值点,故
求解出来的极小值点就是函数的最小值点。
1、有约束的最优化问题
最优化问题一般是指对于某一个函数而言,求解在其指定作用域上的全局最小值
问题,一般分为以下三种情况(备注:以下几种方式求出来的解都有可能是局部
极小值,只有当函数是凸函数的时候,才可以得到全局最小值):
1、无约束问题:求解方式一般求解方式梯度下降法、牛顿法、坐标轴下降法等。
2、等式约束条件:求解方式一般为拉格朗日乘子法。
3、不等式约束条件:求解方式一般为KKT条件。
理解等式约束和不等式约束:
2、拉格朗日乘子法
拉格朗日乘子法就是当我们的优化函数存在等值约束的情况下的一种最优化求解
方式;其中参数α被称为__拉格朗日乘子__。
分析上述公式:
3、理解拉格朗日乘子法
假设现在有一个二维的优化问题,求f(x,y)的最小值,同时有等值条件约束:
分析上述公式:
几何意义分析:
直观感受一下曲面g(x,y) 和 f(x,y)相切的曲线:
参考文献: 拉格朗日乘数法的证明
4、拉格朗日乘子法的目的
拉格朗日乘子法的目的:为了定义一个新的无约束问题,等价于原来的有约束问题,从而将约束问题无约束化。泛拉格朗日函数有如下定义:
分析公式:
比起等值约束,转化后的函数L,在 f(x) 加 α项 的基础上,增加了不等式约束 __β项__。
$color{red}{凭什么可以让带有等值约束和不等值约束的函数转换成新的函数?}$
$color{red}{下面来说明这个问题。}$
1、原始问题
对于式子L(x,α,β) 来说,如果将x看做为常数,那么该函数为关于α、β的一个函数。若先求关于α、β的最大值,将α、β固定后,L(x,α,β) 就仅是一个关于x的函数。
定义:
那么有:
在满足约束条件时:
定义下面公式为原始问题:
同时定义:
分析原始问题的公式推导:
回顾原始问题: 对于式子L(x,α,β) 来说,如果将x看做为常数,那么该函数为关于α、β的一个函数。若先求关于α、β的最大值,将α、β固定后,L(x,α,β) 就仅是一个关于x的
函数。
原始问题的不可解在于: 当x满足约束时,α和β对L是否能形成最大值起不到影响,而当x不满足约束时,最后L的最大值都是正无穷。
结论: $color{red}{在原始问题中直接求解α和β的值使L最大,不现实。}$
2、对偶问题
在优化问题中,目标函数f(x)存在多种形式,如果目标函数和约束条件都为变量x的线性函数,则称问题为__线性规划__;如果目标函数为二次函数,则称最优化问题为二次规划;如果目标函数或者约束条件为__非线性函数__,则称最优化问题为非线性优化。每个线性规划问题都有一个对应的__对偶问题__。对偶问题具有以下几个特性。
- 对偶问题的对偶是原问题;
- 无论原始问题是否是凸的,对偶问题都是凸优化问题;
- 对偶问题可以给出原始问题的一个下界;
- 当满足一定条件的时候,原始问题和对偶问题的解是完美等价的。
对于式子L(x,α,β) 来说,如果将α、β看做为常数,那么该函数为关于x的一个函数。若先求关于x的最小值,将x固定后,L(x,α,β) 就仅是一个关于α、β的函数。定义:
此时,原问题的对偶问题可以写作:
对偶问题等价于:
并定义:
分析上述对偶问题公式:
3、原始问题与对偶问题的关系
定理:
证明:
__结论:__对偶问题小于等于原始问题。
__预告:__当函数满足KKT条件的时候,对偶问题=原始问题。下章介绍KKT。