文章目录

  • 1.梯度下降
    • 1.1批量梯度下降(BGD)
    • 1.2随机梯度下降(SGD)
    • 1.3 小批量随机梯度下降(MSGD)
    • 1.4 比较:
    • 1.5 动量算法(momentum)
    • 1.6 Nestrov Momentum
  • 2. 自适应方法
    • 2.1 自适应学习率算法(AdaGrad)
    • 2.2 均方根反向传播算法(RMSprop)
    • 2.3 Adadelta
    • 2.4 自适应矩估计优化算法(Adam)
  • 3.牛顿法
    • 3.1 牛顿法
    • 3.2 拟牛顿法
  • 总结

几乎所有的的机器学习问题最终都将转换为一个最优化问题,而一般回转换为最小化问题
传统的解析方法在机器学习的优化问题中常常不适用,通常使用的是迭代优化的问题,需要确定两个关键点:1.下降的方向 2.确定下降的步长
参考博客

1.梯度下降

每次都沿着目标函数的负梯度方向进行下降,更新参数

1.1批量梯度下降(BGD)

BGD 采用整个训练集的数据来计算 cost function 对参数的梯度

1.2随机梯度下降(SGD)

和批量梯度下降(BGD) 的一次用所有数据计算梯度相比,随机梯度下降(SGD)每次更新时对每个样本进行梯度更新,
对于很大的数据集来说,可能会有相似的样本,这样 BGD 在计算梯度时会出现冗余, 而 SGD 一次只进行一次更新,
就没有冗余,而且比较快,并且可以新增样本。

缺点
随机梯度下降(SGD)因为更新比较频繁,会造成 cost function 有严重的震荡,此外随机梯度下降(SGD)对噪声比较敏感;批量梯度下降(BGD)可以收敛到局部极小值,当然 随机梯度下降(SGD)的震荡可能会跳到更好的局部极小值处。;当我们稍微减小 learning rate,随机梯度下降(SGD)和批量梯度下降(BGD)的收敛性是一样的。

1.3 小批量随机梯度下降(MSGD)

MBGD 每一次利用一小批样本,即 n 个样本进行计算, 这样它可以降低参数更新时的方差,收敛更稳定,

另一方面可以充分地利用深度学习库中高度优化的矩阵操作来进行更有效的梯度计算。
和 SGD 的区别是每一次循环不是作用于每个样本,而是具有 n 个样本的Batch。

缺点

  • 1.选择合适的学习率非常困难。太大会使得手敛波动大,太小使得手敛速度慢
  • 2.所有的参数使用相同的学习率。对于不经常出现的特征的参数希望更新快些,对于常常出现的特征则希望跟新慢一些
  • 3.sgd容易收敛到局部最优解,并且在某些会受到鞍点影响;通过合适的初始化和step size设置下,鞍点影响可以降低。

minibatchSGD是梯度下降方法中较常用的方法,而且性能比其他两种都要好一些。但是仍然存在很多的问题,于是就有后面的那些改进的方法。

1.4 比较:

1.5 动量算法(momentum)


1.6 Nestrov Momentum

2. 自适应方法

2.1 自适应学习率算法(AdaGrad)

2.2 均方根反向传播算法(RMSprop)

2.3 Adadelta

2.4 自适应矩估计优化算法(Adam)


3.牛顿法

3.1 牛顿法


3.2 拟牛顿法

总结

机器学习知识总结系列-机器学习中的优化算法总结(1-4)相关推荐

  1. 机器学习知识总结系列-机器学习中的数学-概率与数理统计(1-3-1)

    文章目录 目录 1.概率与统计 1.1 机器学习与概率统计之间的关系 1.2 重要的统计量 1.2.1 期望 1.2.2 方差 1.2.3 协方差,相关系数 协方差 相关系数 1.2.4 矩 1.3 ...

  2. 机器学习知识总结系列-机器学习中的数学-矩阵(1-3-2)

    矩阵 SVD 矩阵的乘法 状态转移矩阵 状态转移矩阵 特征值和特征向量 对称阵 正交阵 正定阵 数据白化 矩阵求导 向量对向量求导 标量对向量求导 标量对矩阵求导 一.矩阵 1.1 SVD 奇异值分解 ...

  3. louvian算法 缺点 优化_机器学习中的优化算法(1)-优化算法重要性,SGD,Momentum(附Python示例)...

    本系列文章已转至 机器学习的优化器​zhuanlan.zhihu.com 优化算法在机器学习中扮演着至关重要的角色,了解常用的优化算法对于机器学习爱好者和从业者有着重要的意义. 这系列文章先讲述优化算 ...

  4. 【深度学习】一文搞定面试中的优化算法

    深度学习各类优化器 借用古代炼丹的一些名词,我们可以把训练模型中的数据比做炼丹药材,模型比做炼丹炉,火候比做优化器.那么我们知道,同样的药材同样的炼丹炉,但是火候不一样的话,炼出来的丹药千差万别,同样 ...

  5. 深度学习中的优化算法串讲

    Datawhale原创 作者:谢文睿,Datawhale成员 寄语:优化算法是一个超参数,一个优化算法不是适合所有损失函数的,没有哪个优化算法是绝对的好或绝对的坏,是要根据损失函数判断的 本文对深度学 ...

  6. 深度学习中的优化算法之Adam

    之前在https://blog.csdn.net/fengbingchun/article/details/124909910 介绍过深度学习中的优化算法Adadelta,这里介绍下深度学习的另一种优 ...

  7. 深度学习中的优化算法之RMSProp

    之前在https://blog.csdn.net/fengbingchun/article/details/124766283 中介绍过深度学习中的优化算法AdaGrad,这里介绍下深度学习的另一种优 ...

  8. 机器学习中的优化算法!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤,Datawhale高校群成员,深圳大学 在机器学习中,有很 ...

  9. 机器学习知识总结系列- 基本概念(1-0)

    文章目录 目录 1. 机器学习的定义 2. 机器学习的分类 2.1根据是否在人类监督下进行训练 监督学习 非监督学习 半监督学习 强化学习 2.2根据是否可以动态渐进的学习 在线学习 批量学习 2.3 ...

最新文章

  1. C# 温故而知新:Stream篇(二)
  2. python基础教程第三版试题-Python基础教程(第3版) 笔记(二)
  3. 蒙特卡洛积分与重要性采样详解
  4. dubbo是长连接还是短连接_从快手短视频看,内容平台如何做好产品与用户的连接及运营实操...
  5. gitbook mysql_使用Gitbook做笔记
  6. 练习-前程无忧数据爬取
  7. Phoenix+Hbase二级索引
  8. 解决Response.AddHeader(Content-Disposition, attachment; filename= + file.Name) 中文显示乱码...
  9. Android开发汇总帖子
  10. soapui生成java客户端_用soapUI生成客户端代码
  11. 如何导出立创EDA库到AD库 ?
  12. java javaw 命令区别_java.exe和javaw.exe有什么区别
  13. Office:手动卸载 Office 系统
  14. lisp princ详解_LISP – 输入和输出
  15. Lecture05:随机市场出清
  16. #计划# 机器视觉 #视觉增强 #python #数据库 #算法 #深度学习 #迁移学习 #matlab #数据融合
  17. 获取input内容并回填_Input选项框的回填与取值
  18. 1035: 分段函数求值 C语言
  19. kaggle比赛流程(转)
  20. 频率特性测量仪 频率响应分析仪 频率特性测试仪

热门文章

  1. etherpeek nx在网络维护中的应用
  2. magicbook linux系统换w7,荣耀magicbook怎么安装win7 荣耀magicbook安装win7方法
  3. 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借助TopSelf、服务类】)
  4. 第五节:框架前期准备篇之锁机制处理并发
  5. SharePoint2010开发最佳实践
  6. 算法 - KMP算法(字符串匹配)
  7. REVERSE-PRACTICE-CTFSHOW-8
  8. REVERSE-PRACTICE-BUUCTF-11
  9. REVERSE-PRACTICE-BUUCTF-4
  10. RSA公私钥加解密方式-工具类