参数估计问题都可以写成优化问题。
哪些是凸优化,哪些是非凸优化?
非凸优化是个比较难求解的问题,但是主成分分析PCA是一个特例。我们可以借助SVD直接得到主成分分析的全局极小值。

1、经典优化算法

1.1 直接法

直接给出最优解的方法, 但不是万能的,有前提条件。
两个前提条件:
1>、凸函数
2>、一阶导数有解
同时满足这个条件的是岭回归(LR + L2正则化项)

1.2 迭代法

一阶法和二阶法,就是对优化函数进行泰勒一阶、二阶展开。

  • 二阶法(牛顿法):当目标函数非凸时,二阶法可能会收敛到鞍点。

2、梯度验证

3、随机梯度下降(SGD)

4、随机梯度下降的加速

4.1 SGD的缺点:山谷震荡 和 鞍点停滞

有时候SGD会是一个坑,那么你的得到一个比较差的训练结果时,可能不是模型的问题,而是SGD在优化过程中失效了。
BGD(批量梯度下降),好比是正常下山,计算的是准确的梯度。数据量大的情况下,则不适用。
SGD好比是蒙着眼睛下山,采用的是单个样本估计的当前的梯度,这样会不稳定,甚至出现偏差。造成目标函数曲线收敛的不稳定。
但是随机梯度下降最可怕的不是局部最优点,而是山谷和鞍点两类。

  • 山谷

山谷顾名思义是狭长的山间小道,左右两边是峭壁。准确的方向是沿着山道向下,稍微有偏离就会撞向山壁,而粗糙的梯度估计使得它在两山壁间来回反弹震荡,不能迅速下降。

  • 鞍点

鞍点像马鞍,一个方向上两头翘,另一个方向上两头垂,而中心区域是一块近乎水平的平地。在鞍点处,SGD会走入一片平坦之地,坡度不明显,很可能找错方向,陷入停滞。

4.2 解决方法

惯性保持和环境感知
SGD下降算法本质上是采用迭代方式更新参数,每次迭代在当前的位置的基础上,沿着某一方向,迈一小步抵达下一位置。
动量方法:纸团和铁球,惯性不同,加速度不同。
AdaGrad,

4.2.1 Adam方法

惯性保持和环境感知都OK。
体现为:
记录梯度的一阶矩:过往梯度和当前梯度的平均,体现了惯性保持;
记录梯度的二阶矩:过往梯度平方与当前梯度的平方的平均,类似AdaGrad方法,体现了环境感知能力。
类似于滑动窗口内求平均的思想进行融合,时间久远的梯度对当前平均值的贡献呈指数衰减。

4.2.2. 改进

1、AdaMax
基于Adam的一个变种方法,对梯度平方的处理由指数衰退平均改为指数衰退求最大值。
2、AdaDelta和RMSProp类似:
基于AdaGrad的改进,AdaGrad采用的是所有历史梯度平方和的平方根做分母,分母随着时间单调递增,产生的自适应学习速率随时间衰减的速度过于激进。AdaDelta和RMSProp采用指数衰退平均的计算方法,用过往梯度的均值代替求和。

补充:智能优化算法

【百面机器学习】优化算法相关推荐

  1. 百面机器学习!算法工程师面试宝典!

    本文部分内容经授权节选自<百面机器学习> 责编 | 胡巍巍 去年年底到今年年初,整个互联网圈,都笼罩着裁员的阴霾. 以至于很多程序员,都不敢看新闻了. 前段时间,SOHO中国董事长潘石屹, ...

  2. 百面机器学习!算法工程师面试宝典!| 码书

    本文部分内容经授权节选自<百面机器学习> 责编 | 胡巍巍 去年年底到今年年初,整个互联网圈,都笼罩着裁员的阴霾. 以至于很多程序员,都不敢看新闻了. 但是,昨天SOHO中国董事长潘石屹, ...

  3. 备战秋招 |《百面机器学习》算法+leetcode开班报名!

    算法面试刷题班推荐: 以<百面机器学习>为教材 结合leetcode筛选刷题 秋招已经开始了!时间紧迫,也许别人已经得到offer了,你却还在不知所措?(文末重金招聘讲师) 六月份基本都是 ...

  4. 【最全干货】从SGD到NadaMax,十种机器学习优化算法原理及实现

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 作者丨永远在你身后@知乎 来源丨https://zhuanlan.zhihu.com/p/81 ...

  5. 深度学习核心技术精讲100篇(二十八)-由浅入深概览机器学习优化算法

    前言 学习算法一直以来是机器学习能根据数据学到知识的核心技术.而好的优化算法可以大大提高学习速度,加快算法的收敛速度和效果.本文从浅层模型到深度模型纵览监督学习中常用的优化算法,并指出了每一种优化算法 ...

  6. 机器学习优化算法中梯度下降,牛顿法和拟牛顿法的优缺点详细介绍

    1.梯度下降法 梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解.一般情况下,其解不保证是全局最优解,梯度下降法的速度也未必是最快的. 梯度下降法的优化思想:用当前位置负梯度方向作为搜 ...

  7. 机器学习优化算法(一)

    总第122篇 前言 我们在前面说过机器学习中的损失函数,其实机器学习中的每一个模型都是在求损失函数的最优解,即让损失达到最小值/极小值,求解方式有多种,本篇讲讲其中两个基本的优化方法: 梯度下降法 牛 ...

  8. 机器学习——优化算法:牛顿法-伪代码描述算法

    前言 在上一篇文章中,我了解了关于牛顿法的基础.简单概括其中的要点: 1.对于函数的泰勒级数展二阶开式2.优化目标是求出目标函数极小值点Xt,该点的重要特征是一阶偏导数为0.(利用这一特征建立等式关系 ...

  9. 【百面机器学习之算法工程师读书笔记】——第十四章:人工智能的热门应用-游戏AI

    目录 游戏AI发展史 从AlphaGo到AlphaGo Zero 德州扑克中的"唬人"AI AI电子竞技 星际争霸:走向通用AI 为什么AI需要游戏? 游戏AI发展史 (1)195 ...

  10. 机器学习萌新必备的三种优化算法 | 选型指南

    作者 | Nasir Hemed 编译 | Rachel 出品 | AI科技大本营(id:rgznai100) [导读]在本文中,作者对常用的三种机器学习优化算法(牛顿法.梯度下降法.最速下降法)进行 ...

最新文章

  1. 人类、动物和人工智能意识的新理论
  2. jvm在创建对象时采用哪些并发安全机制
  3. ae输出quicktime设置_AE大神再现酷炫神技能,AE中怎么输出带透明通道的视频文件!...
  4. c++账户类 题目描述
  5. 分析及解决SQLServer死锁问题
  6. 盛科交换机配置命令_cisco2960交换机 清除配置的命令
  7. prompt弹出输入框中文php,Prompt输入框
  8. 树莓派 wiringpi 读取引脚_树莓派驱动的无人驾驶开发记录--驱动电机
  9. php 100元 换算,货币换算的PHP脚本
  10. VS2017 Git操作教程
  11. vs2017优雅配色
  12. 8.3-8.4上海外滩迪士尼两日游
  13. [Xilinx FPGA] #8 Xilinx Power Estimator[XPE, 功耗估计器]的使用方法
  14. IText构造PDF文件
  15. CGCS2000/WGS84/ITRF关系
  16. 微信小程序获取用户信息
  17. 阿里云企业邮箱怎么开通?
  18. c++语言解一元二次方程,初学C++新手跪求:用C++编 解一元二次方程 并 结果用复数表示。。...
  19. 免费的期刊论文文献检索网站(收集整理)
  20. 将 多个空格 替换为一个逗号

热门文章

  1. 云原生中间件RocketMQ-消费者核心参数、消费模式之集群模式
  2. 猎头辅助企业招聘能给企业带来什么?
  3. 《假如给我三天光明》
  4. playwright
  5. 基于BNT的贝叶斯模型仿真分析
  6. java多线程——Executors线程池的四种用法简单解析
  7. Retrofit2 源码解析
  8. 加油机程序C语言,不要认为简单!!要多少架飞机?怎样写程序?哪位高手能把程序写出来?...
  9. 管理:领导对下属要充分信任 孙权的用人哲学(转)
  10. GDCPC2016题解 by lby@SYSU | Asiimov