《数学基础》-4.凸优化-4.1.无约束优化

4.1.无约束优化

4.1.1.无约束优化问题

无约束优化问题是机器学习中最普遍、最简单的优化问题。

《数学基础》-4.凸优化-4.1.无约束优化

求最大值也可以 在前面加上负号,变成上面求最小的形式。

求一个函数f(x)的最小值可以对函数f(x)求导并使其等于0(或者说使得梯度▽f(x)等于0),但是很多复杂的函数求导后没法求出解,所以这种方法实际上很少用。

常用梯度下降法、牛顿法或者拟牛顿法求解。

4.1.2.梯度下降法

基于迭代的方法,从某个点《数学基础》-4.凸优化-4.1.无约束优化开始找很多点《数学基础》-4.凸优化-4.1.无约束优化,使得这些点满足:《数学基础》-4.凸优化-4.1.无约束优化,且有《数学基础》-4.凸优化-4.1.无约束优化,这里《数学基础》-4.凸优化-4.1.无约束优化表示单位梯度,经常写作《数学基础》-4.凸优化-4.1.无约束优化,λ表示步长,所以通项是:

《数学基础》-4.凸优化-4.1.无约束优化

实际上λ也不会取很大,一般是《数学基础》-4.凸优化-4.1.无约束优化

其过程为:

  《数学基础》-4.凸优化-4.1.无约束优化

梯度下降法的种类:

①批量梯度下降法(BGD)

更新系数时,所有样本都参与计算

优点:需要个很少的迭代次数就可以收敛

缺点:当样本量很大时,更新一次的时间很长

②随机梯度下降法(SGD)

更新系数时,从n个样本中随机选择一个样本参与计算,

优点:更新一次的时间很短,所以大样本时有优势

缺点:会受到每一个样本的影响会很大,不稳定,需要更多的迭代次数才能收敛

③小批量梯度下降法(MBGD)

结合了批量梯度下降法和随机梯度下降法,选择一小部分样本参与计算

例如:

《数学基础》-4.凸优化-4.1.无约束优化

所有的样本都算完,就是一个epoch

4.1.3.牛顿法

求一个函数《数学基础》-4.凸优化-4.1.无约束优化的最小值可以对函数《数学基础》-4.凸优化-4.1.无约束优化求导并使其等于0(或者说使得梯度《数学基础》-4.凸优化-4.1.无约束优化等于0):《数学基础》-4.凸优化-4.1.无约束优化,把函数《数学基础》-4.凸优化-4.1.无约束优化的导数看做一个函数,令《数学基础》-4.凸优化-4.1.无约束优化

牛顿法求《数学基础》-4.凸优化-4.1.无约束优化的过程也是迭代过程

《数学基础》-4.凸优化-4.1.无约束优化

假设《数学基础》-4.凸优化-4.1.无约束优化的函数曲线是这个样子,要找到那个《数学基础》-4.凸优化-4.1.无约束优化的点,先做某个《数学基础》-4.凸优化-4.1.无约束优化的切线,然后找到切线与x轴相交的点《数学基础》-4.凸优化-4.1.无约束优化然后再做《数学基础》-4.凸优化-4.1.无约束优化的切线,以此类推,不断逼近《数学基础》-4.凸优化-4.1.无约束优化的点。

先来求第一条切线的方程:

《数学基础》-4.凸优化-4.1.无约束优化

令y=0(就是上图中的《数学基础》-4.凸优化-4.1.无约束优化点)得:

《数学基础》-4.凸优化-4.1.无约束优化

再把《数学基础》-4.凸优化-4.1.无约束优化带入得:

《数学基础》-4.凸优化-4.1.无约束优化

这是二维的情况,如果是多维的情况:

《数学基础》-4.凸优化-4.1.无约束优化

其中H是海森矩阵,除以海森矩阵就是乘以它的逆矩阵。

为什么这里是海森矩阵?因为《数学基础》-4.凸优化-4.1.无约束优化《数学基础》-4.凸优化-4.1.无约束优化的n维向量,《数学基础》-4.凸优化-4.1.无约束优化是n维向量,二次求导就是海森矩阵。

在机器学习中,要算海森矩阵的逆矩阵很麻烦,于是就引申出了很多种拟牛顿法BFGS(用另外一个矩阵来逼近海森矩阵的逆矩阵)。

 

牛顿法收敛速度

按这个迭代原理,《数学基础》-4.凸优化-4.1.无约束优化就应该是函数的局部最优点,也就是《数学基础》-4.凸优化-4.1.无约束优化有最小值,且有《数学基础》-4.凸优化-4.1.无约束优化要弄明白这个收敛速度,就是要比较下《数学基础》-4.凸优化-4.1.无约束优化《数学基础》-4.凸优化-4.1.无约束优化的距离和《数学基础》-4.凸优化-4.1.无约束优化《数学基础》-4.凸优化-4.1.无约束优化的距离的区别,由上述结论得:

《数学基础》-4.凸优化-4.1.无约束优化

由于《数学基础》-4.凸优化-4.1.无约束优化,所以分子加上《数学基础》-4.凸优化-4.1.无约束优化得:

《数学基础》-4.凸优化-4.1.无约束优化

根据中值定理f(b)−f(a)=(b−a)f′(ξ),a<ξ<b,得:

《数学基础》-4.凸优化-4.1.无约束优化

《数学基础》-4.凸优化-4.1.无约束优化

《数学基础》-4.凸优化-4.1.无约束优化

再利用拉格朗日中值定理得:

《数学基础》-4.凸优化-4.1.无约束优化

《数学基础》-4.凸优化-4.1.无约束优化

《数学基础》-4.凸优化-4.1.无约束优化

ξ是在《数学基础》-4.凸优化-4.1.无约束优化之间的,所以

《数学基础》-4.凸优化-4.1.无约束优化

由于M的分子分母都是导数,导数都是有界的,所以M是有界的,用《数学基础》-4.凸优化-4.1.无约束优化表示其上界。

《数学基础》-4.凸优化-4.1.无约束优化

即:

《数学基础》-4.凸优化-4.1.无约束优化

《数学基础》-4.凸优化-4.1.无约束优化《数学基础》-4.凸优化-4.1.无约束优化的距离小于1:《数学基础》-4.凸优化-4.1.无约束优化,则《数学基础》-4.凸优化-4.1.无约束优化,这里是按照平方的速度进行收敛的,收敛速度更快,注意这里有条件:x《数学基础》-4.凸优化-4.1.无约束优化《数学基础》-4.凸优化-4.1.无约束优化的距离小于1,如果距离大于1,上界会越来越大,没法收敛。

 

综上,牛顿法要拟合,不能离最小值太远的地方拟合,越接近极小值再拟合收敛的效果越好。因此可以先用梯度下降,到了局部极小值附近后再用牛顿法。