梯度下降法
梯度下降法的优化思想是用当前负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为“最速下降法”。最速下降法越接近目标值,步长越小,前进越慢。
批量梯度下降法
得到的是全局最优解,但是每迭代一步,都要用到训练集所有的数据,如果训练集的数据很大,那么可想而知这种方法的迭代速度会相当的慢。于是出现了随机梯度下降法
随机梯度下降
通过每个样本来迭代更新一次,如果样本量很大的情况(例如几十万),那么可能只用其中几万条或者几千条样本
最小化每条样本的损失函数,虽然不是每次迭代得到的损失函数都向着全局最优方向,但是大的整体方向是向全局最优解的,最终结果往往是在全局最优解附近,适用于大规模训练样本情况
牛顿法
首先,我们对函数在xk点处进行二阶泰勒展开
拟牛顿法
因为我们要选择一个矩阵来代替海森矩阵的逆,那么我们首先要研究一下海森矩阵需要具有什么样的特征才能保证牛顿法成功的应用。通过上面的描述我们知道
f′(xk+1)=f′(xk)+Hk(xk+1−xk)⇒
H−1K(f′(xk+1)−f′(xk))=xk+1−xk
上式我们称之为拟牛顿条件。
因此,对于我们所选择的替代矩阵 Gk ,需要满足两个条件:
- 拟牛顿条件,即Gk(f′(xk+1)−f′(xk))=xk+1−xk;
- 要保证Gk为正定矩阵,这是因为只有正定才能保证牛顿法的搜索方向是向下搜索的
假设yk=f′(xk+1)−f′(xk),δk=xk+1−xk,因为每次迭代我们都需要更新替代矩阵Gk,下面介绍一种常用的迭代算法DFP(Davidon-Fletcher-Powell)