牛顿法、拟牛顿法与梯度下降法

牛顿法
基于当前位置的切线来确定下一次的位置,所以牛顿法又被很形象地称为是"切线法"
优点:二阶收敛,收敛速度快
实际应用中牛顿法首先选择一个点作为起始点,并进行一次二阶泰勒展开得到导数为0的点进行一个更新,直到达到要求,这时牛顿法也就成了二阶求解问题,比一阶方法更快。
缺点:是一种迭代算法,每一步都需要求解目标函数的Hessian矩阵的逆矩阵,计算比较复杂。定长迭代,没有步长因子
Hessian矩阵:x通常为一个多维向量,而Hessian矩阵就是x的二阶导数矩阵

拟牛顿法
求解非线性优化问题最有效的方法之一
本质:改善牛顿法每次需要求解复杂的Hessian矩阵的逆矩阵的缺陷,它使用正定矩阵来近似Hessian矩阵的逆,从而简化了运算的复杂度
改善牛顿法的方法:不用二阶偏导而是构造出Hession矩阵的近似正定对称矩阵
常用的拟牛顿法有DFP(逼近Hession的逆)算法、BFGS(直接逼近Hession矩阵)算法、L-BFGS(可以减少BFGS所需的存储空间)

梯度下降法
1、批梯度下降法(GD)
原始的梯度下降法
优点:收敛速度快
缺点:易于陷入局部最优解

2、随机梯度下降法(SGD)
每次计算只是用一个样本

  • 避免在类似样本上计算梯度造成的冗余计算
  • 增加了跳出当前局部最小值的潜力
  • 在组建缩小学习率的情况下,有了与批梯度下降法类似的收敛速度

3、小批量随机梯度下降法(Mini Batch SGD)注:神经网络训练的文献中中经常把Mini Batch 称为SGD
每次梯度计算使用一个小批量样本

  • 梯度计算比单样本更加稳定
  • 可以很好的利用现成的高度优化的矩阵计算工具

正则化

一般的目标函数
Obj(Θ)=L(Θ)+Ω(Θ)Obj(\Theta)=L(\Theta)+\Omega(\Theta)
其中L(Θ)L(\Theta)是模型的误差损失函数;Ω(Θ)\Omega(\Theta)是正则化项,也是模型的惩罚项
为什么要添加正则化项?
正则化项的添加主要用来惩罚模型,一般来说,仅仅是通过误差损失来衡量模型好坏不是一个好的方法,因为会出现过拟合;增加一个正则化项就是为了防止出现过拟合
当模型的误差损失低,而且模型复杂度高(可以看作是模型参数过多),这时便容易出现过拟合,正则化项的出现,就是对于这些参数进行惩罚,也就是参数越多,惩罚越厉害,导致的结果是整体的目标函数值升高,缓解过拟合;而当模型复杂度低时,惩罚小,适于拟合函数模型;

L1正则与L2正则
正则化项的不同,可以有L1正则和L2正则

L1 L2
w1\vert \vert w\vert\vert _1 w22{\vert \vert w\vert\vert _2}^2
Lasso回归 Ridge回归
权值向量中各个元素绝对值之和 权值向量中各个元素平方和,再求平方根
稀疏模型 平滑模型

关于稀疏模型与平滑模型的解释,参考:https://www.julyedu.com/question/big/kp_id/23/ques_id/988

优化方法
优化方法

参考文献:
https://www.julyedu.com/question/big/kp_id/23/ques_id/988

相关文章:

  • 2021-12-20
  • 2021-12-21
  • 2021-07-31
  • 2022-12-23
  • 2022-01-22
  • 2021-12-23
  • 2021-04-23
猜你喜欢
  • 2021-12-09
  • 2021-04-08
  • 2021-12-23
  • 2021-12-13
  • 2021-06-05
  • 2022-02-01
相关资源
相似解决方案