在利用损失函数(Loss Function)计算出模型的损失值之后,接下来需要利用损失值进行模型参数的优化。在实践操作最常用到的是一阶优化函数。包括GD,SGD,BGD,Adam等。一阶优化函数在优化过程中求解的是参数的一阶导数,这些一阶导数的值就是模型中参数的微调值。

1.梯度下降

梯度下降(Gradient Descent)是参数优化的基础方法。虽然已广泛应用,但是其自身存在许多不足,所以在其基础上改进的优化函数也非常多。

全局梯度下降的参数更新公式如下:

其中,训练样本总数为是我们优化的参数对象,是学习速率,是损失函数,后面的求导是根据损失函数来计算的梯度。学习速率过快,参数的更新跨步就会变大,极易出现局部最优和抖动。学习率过慢,梯度更新的迭代次数就会增加,参数更新时间也会变长。

缺点:计算损失值的时间成本和模型训练过程中的复杂度增加。

2.批量梯度下降

假设划分出来的批量个数为m,其中的一个批量包含batch个数据样本,那么一个批量的梯度下降的参数更新公式如下:

缺点:容易导致优化函数的最终结果是局部最优解。

3.随机梯度下降:

假设我们随机选取的一部分数据集包含stochastic个数据样本,那么随机梯度下降的参数更新公式如下:

缺点:会在模型的参数优化过程中出现抖动的情况。

4.Adam

一个比较智能的优化函数方法--自适应时刻估计方法(Adaptive Moment Estimation)。它在模型训练优化的过程中通过让每个参数获得自适应的学习率,来达到优化质量和速度的双重提升。现在一般都选择用这个方法。

。。。。。。等等

参考:

PyTorch学习之十种优化函数

深度学习各种优化函数详解

优化函数 (Optimization Function)相关推荐

  1. Ansys Zemax | 如何设计单透镜 第三部分:优化

    本系列共三篇文章,旨在介绍如何使用OpticStudio序列模式界面进行操作.本文以单透镜为例,介绍了设计透镜的基本过程,包括第一部分:构建系统.第二部分:分析其性能,以及第三部分:根据所需的指标和设 ...

  2. Optimization Options Reference

    Optimization Options 下表介绍了优化选项. 使用optimoptions函数或fminbnd,fminsearch,fzero或lsqnonneg的optimset创建选项. 有关 ...

  3. python——聚类

    目录 Cluster Analysis聚类分析 Introduction to Unsupervised Learning无监督学习简介 Clustering Distance or Similari ...

  4. 文本分类从入门到精通

    在这篇文章中,笔者将讨论自然语言处理中文本分类的相关问题.笔者将使用一个复旦大学开源的文本分类语料库,对文本分类的一般流程和常用模型进行探讨.首先,笔者会创建一个非常基础的初始模型,然后使用不同的特征 ...

  5. 一文读懂YOLOv5 与 YOLOv4

    作者:William 来源:自动驾驶全栈工程师知乎专栏 链接:https://www.zhihu.com/people/william.hyin/columns YOLO之父Joseph Redmon ...

  6. Matlab线性/非线性规划优化算法(4)

    本文继续介绍matlab提供的其他优化求解函数,这里介绍 fminbnd, 用于查找单变量函数在定区间上的最小值, fminsearch,使用无导数法计算无约束的多变量函数的最小值 fminbnd的用 ...

  7. 吴恩达机器学习练习2:optimset和fminunc函数

    在练习2中使用了到了两个函数:optimset和fminunc. % Set options for fminunc options = optimset('GradObj', 'on', 'MaxI ...

  8. 常用算法大全-贪婪算法

    本章首先引入最优化的概念,然后介绍一种直观的问题求解方法:贪婪算法.最后,应用该算法给出货箱装船问题.背包问题.拓扑排序问题.二分覆盖问题.最短路径问题.最小代价生成树等问题的求解方案. 1.1 最优 ...

  9. Zemax优化过程中的Rings和Arms

    1.  建立"傻瓜"评价函数时,一般选择反映像质的"总体"指标,如弥散圆或波像差等,并且要做如下考虑: 选择像质评价指标的RMS值还是Peak to Valle ...

  10. epl2编程指南_epl幻想gw2回顾和gw3算法精选

    epl2编程指南 If this is the first time you land on one of my Fantasy EPL Blogs, you might want to check ...

最新文章

  1. python中的与或非_「Python基础」 While 循环语句
  2. linux 正则查找email_Linux--正则表达式--详解
  3. 事务学习总结(1)——事务的基本概念
  4. 99%的人都能看懂的分布式系统「补偿」机制
  5. 零基础入门神经网络:从原理、主要类型到行业应用
  6. 第3章:Hadoop分布式文件系统(1)
  7. 怎么在Android布局里面写下拉框,Android CoordinatorLayout(六) 加入下拉功能
  8. vbs 读unicode 编码格式的文件
  9. (void __user *)arg 中__user的作用
  10. 反汇编IDA WinDbg
  11. linux+qq+输入法下载,QQ拼音输入法下载
  12. 面试官:ca证书存储在哪的
  13. mysql 建库建表模板 权限管理
  14. JavaSE学生教师管理系统
  15. Win10下SCP命令免密码上传、下载工程师服务器上的文件
  16. MySql 数据库 管理员密码忘记怎么办?
  17. 计算机附件计算器的用法,计算机附件中的计算器使用方法.doc
  18. SCRDet:Towards More Robust Detection for Small, Cluttered and Rotated Objects
  19. 适合写笔记的文本笔记管理工具——Keep It for Mac!
  20. linux内核栈与用户栈及调用栈观察方法

热门文章

  1. 【分享】马卡龙玩图v3.6.5,滑动手指让图片动起来,懒人党的福音~
  2. [生存志] 第136节 相如辞赋神来之笔
  3. 【富文本】2019年上半年英语四、六级成绩查询时间(附不需要验证码的查询网站)
  4. Linux错误 “cp: omitting directory”解决办法
  5. ctfshow 菜狗杯 一言既出 wp
  6. 检测站营销系列文章:机动车检测站如何做精益营销?
  7. Web.15.三层架构之购物车项目02
  8. RHCE linux学习第八天
  9. ECCV2022 | 多任务SOTA模型!分割/深度/边界/显著图四项任务
  10. python中ospathjoin_python-在Windows上与os.path.join混合斜杠