通用的损失函数最优化的数值方法,来源于泰勒展开式,多元函数的泰勒展开式为:

一、一阶逼近与一阶方法

一阶泰勒展开式:

其中,是代表了β变化的可能性,t在之后说到的梯度下降方法中演变成了学习速率。

现在,我们需要第二项最小,向量内积,最小为-|梯度||a|,这就是β的改变量。梯度的方向是函数在给定点上升最快的方向,那么梯度的反方向就是函数在给定点下降最快的方向,这正是我们所需要的。所以我们只要沿着梯度的方向一直走,就能走到局部的最低点!

于是,演变成了:

倒三角符号就是梯度。梯度是函数关于每一个自变量的偏导组成的向量。物理意义就是一个在站在某一个点上,斜率最大的那个方向。(最常见的就是二维平面上曲线的斜率)。

二、二阶逼近与牛顿法

对损失函数进行二阶展开:

损失函数取得最小值的必要条件是:

最后得到β的迭代公式:

牛顿法需要用到Hessian矩阵,是损失函数的二阶导数组成的矩阵。于是上面的公式就变成了:

牛顿法要求Hessian矩阵必须是非负定的,才能求解出局部最小值。。

ps:当Hessian矩阵非正定时,收敛到局部最大值,不定时,收敛到鞍点。

另外,如果Hessian矩阵是病态的(求解方程组时如果对数据进行较小的扰动,则得出的结果具有很大波动,这样的矩阵称为病态矩阵。用条件数来衡量,矩阵A的条件数:K(A)=‖A-1‖*‖A‖。若K很大的时候,A为病态矩阵),需要通过正则化来处理,求伪逆。则损失函数的参数更新方程:

转载于:https://www.cnblogs.com/melina-zh/p/9789036.html

经典数值优化算法--专题学习相关推荐

  1. 2.8 Adam 优化算法-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 2.7 RMSprop 回到目录 2.9 学习率衰减 Adam优化算法 (Adam Optimization Algorithm) 在深度学习的历史上,包括许多知名研究者在内 ...

  2. 算术优化算法AOA(学习笔记_10)

    1. 算法简介 算术优化算法(Arithmetic Optimization Algorithm, AOA)是一种根据算术操作符的分布特性实现全局寻优的元启发式优化算法. 乘除运算提高位置更新的全局分 ...

  3. 精英反向学习与二次插值改进的黏菌优化算法ISMA(学习笔记_13)

    1.理论分析 1.SMA 优点:较强的全局探索能力 缺点:后期迭代震荡作用较弱,易陷入局部最优:收缩机制不强,收敛速度较慢:初始种群质量低,探索和开发过程难以平衡. 2.精英反向学习机制 反向学习OB ...

  4. 数值优化:经典随机优化算法及其收敛性与复杂度分析

  5. 经典凸优化算法(牛顿法,BFGS)的python实现

    文章目录 牛顿法 代码 结果 BFGS 代码 结果 就如文章标题所示,只是简单的代码整理,用于数模比赛的准备(虽然并没有用上) 算法的数学原理请查阅前人blog 牛顿法 代码 这里我演示的函数为 f( ...

  6. #数值优化算法#一维极值之黄金分割

    黄金分割法也叫0.618法,是一种基于区间收缩的极小值搜索算法. 比如以 [a,b][a,b][a,b] 为区间,产生两个内点 x1=a+0.382∗(b−a)x2=a+0.618∗(b−a)x_1 ...

  7. 学习黑盒优化算法CMA和RandomSearch,借助阿里达摩院MindOpt的RABBO榜单【系列2/4】

    1 黑盒优化的概念 上一篇<新手一步步学习黑盒优化算法,借助达摩院MindOpt的RABBO榜单[系列1/4]>中给大家介绍了黑盒优化的概念.和怎么借助阿里达摩院的RABBO"动 ...

  8. 深度学习中常用的优化算法(SGD, Nesterov,Adagrad,RMSProp,Adam)总结

    深度学习中常用的优化算法(SGD, Nesterov,Adagrad,RMSProp,Adam)总结 1. 引言 在深度学习中我们定义了损失函数以后,会采取各种各样的方法来降低损失函数的数值,从而使模 ...

  9. l bfgs算法java代码_数值优化:理解L-BFGS算法

    译自<Numerical Optimization: Understanding L-BFGS>,本来只想作为学习CRF的补充材料,读完后发现收获很多,把许多以前零散的知识点都串起来了.对 ...

最新文章

  1. oracle merge
  2. career service at cambridge
  3. 云炬Android开发教程 Android studio的详细安装步骤
  4. 信息学奥赛一本通(1194:移动路线)
  5. zoj 1454 Employment Planning
  6. DIV滚动条滚动到指定位置(jquery的position()与offset()方法区别小记)
  7. Ubuntu 安装 typora
  8. 文件包含原理及本地文件包含漏洞演示(本地文件,远程包含文件的测试)
  9. 洛谷3004 [USACO10DEC]宝箱Treasure Chest
  10. 用脚本运行Modelsim教程
  11. 微信小程序商城项目实战(第九篇:收货地址管理)
  12. 如何在cisco官网上下载Cisco packet tracer模拟器
  13. Java应届生为什么找工作那么难
  14. 令人惊艳的NanoPC-T4(RK3399)作为工作站的初始配置和相关应用
  15. spark入门教程(3)--Spark 核心API开发
  16. 什么是“双重支付”,即“双花”
  17. 2.SSM之Spring整合、AOP及Spring事务
  18. 攻防演练建设过程中技术考虑
  19. 安装配置Android Studio集成开发环境
  20. “AI+教育”想做好有多难?网易有道CEO、学霸君CEO等4位大佬“掏心窝”...

热门文章

  1. C小项目——电子词典
  2. 怎么撤回操作_微信又更新,拍一拍能撤回了
  3. 纸机器人的折法_好神奇!他们竟用一张纸折成了一个机器人
  4. 顺序表的应用__电话本
  5. sql 关联使用id还是code_R语言实例:用glue批量生成SQL语句
  6. LeetCode 1806. 还原排列的最少操作步数(模拟)
  7. LeetCode 735. 行星碰撞(栈)
  8. LeetCode 496. 下一个更大元素 I(哈希)
  9. POJ 2967 (水题,考察putchar()按位输入)
  10. 二级vb笔试题库__全国计算机等级考试,2012年9月全国计算机二级VB笔试标准预测试卷试题六...