优化理论

(一)梯度下降算法(最速下降法)

1.梯度下降法是用负梯度方向为搜索方向的,最速下降法越接近目标值,步长越小,前进越慢;

2.梯度下降法的计算过程就是沿梯度下降的方向求解极小值(也可以沿梯度上升方向求解极大值);

3.梯度下降法可以分为批量梯度下降或者随机梯度下降;

4.梯度下降法容易陷入局部最优,常用的避免方法有:

(1)随机梯度下降:每次是按照单点的最优方向而不是整体的最优方向前进,从而相当于在朝目标前进的路上多拐了好多弯,有可能逃出局部最优;

(2)momentum方法:相当于记忆上一次的更新;在每次的更新中,都要加一个k倍的上一次更新量;这样,也不再是按照标准路线前进,每次的步骤都容易受到上一次的影响,从而可能会逃出局部最优;另外,也会加大步长,从而加快收敛;

(二)牛顿法

(1)牛顿法最初是用来求解函数零值点位置的一种算法,假设需求解:


根据牛顿法,只需要更新参数如下:


经过若干次迭代,可以近似求得函数零值点所在位置;

(2)牛顿法可以进行扩展,用于求解极值点的位置,极值点的位置就是导数为0的位置,所以就是用牛顿法来求解梯度函数的零值点位置:


若求解的是多维向量的函数:


其中H就是Hessian矩阵;

(3)一般情况下,牛顿法收敛速度比梯度下降法快,但是计算量大,因为要计算H矩阵,若参数维度不多,一般采用牛顿法;

(三)拟牛顿法

1.拟牛顿法是用Hessian矩阵的逆矩阵来代替Hessian矩阵;拟牛顿法虽然每次迭代不像牛顿法那样保证是最优化的方向,但是算法始终是朝着最优化的方向在搜索;

2.常见的拟牛顿算法有DFP,BFGS,L-BFGS;

(四)共轭梯度法

1.共轭梯度法是介于梯度下降算法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点;

2.共轭梯度法的思想是利用已知点处的梯度构造一组共轭方向,并沿这组方向进行搜素,求出目标函数的极小点;

3.共轭方向:设A为对称正定矩阵,若一组非零向量S1,S2,…Sn满足SiASj=0 (i≠j) (2)则称向量系Si(i=1,2,…n)为关于矩阵A共轭;共扼向量的方向称为共轭方向;
(五)坐标上升法

1.优化问题如下:


2.相比于梯度上升法跟牛顿法,坐标上升法的思想主要是每次只更新一个参数,而不是一次性更新所有参数:


3.坐标上升法的关键在于如何确定更新的参数的次序从而使得以最快的收敛速度到达最优解;



©️2020 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值