在对函数进行凸优化时,如果使用导数的方法(如:梯度下降法/GD,牛顿法等)来寻找最优解,有可能陷入到局部最优解而非全局最优解。

为了防止得到局部最优,可以对梯度下降法进行一些改进,防止陷入局部最优。

但是请注意,这些方法只能保证以最大的可能找到全局最优,无法保证100%得到全局最优。

一、incremental GD/stochastic GD

在GD中,是需要遍历所有的点之后才计算w的变化的;但是,在stochastic GD中,每输入一个点,就根据该点计算下一步的w,这样,不仅可以从batch training变成online training方法,而且每次是按照单点的最优方向而不是整体的最优方向前进,从而相当于在朝目标前进的路上多拐了好多弯,有可能逃出局部最优。

二、momentum方法

momentum相当与记忆住上一次的更新。在每次的更新中,都要加一个k倍的上一次更新量。这样,也不再是按照标准路线前进,每次的步骤都容易受到上一次的影响,从而可能会逃出局部最优。另外,也会加大步长,从而加快收敛。

三、我印象中还有一种方法?

再回去查书的时候没有翻到,但我印象中记得还有一种思路。在上面两种对GD的改进中,w的更新都是在所有维度上同时更新的,但是,可以通过每次只在一个维度上进行更新,相当于把多维上的一步变成了多个一维上的一步,这样最终的“行走路线”会和标准的GD有区别,因此,也有可能逃出局部最优。

凸优化中如何改进GD方法以防止陷入局部最优解相关推荐

  1. 浅谈凸优化中的共轭函数

    浅谈凸优化中的共轭函数 函数ff的共轭定义: f∗(y)=sup(yTx−f(x))f^*(y) = \sup (y^Tx - f(x)), x∈domf{x\in {\bf dom} f} 可见,共 ...

  2. 随机优化中的样本均值近似方法

    随机优化中的样本均值近似方法 1.SAA原理 2.使用Gurobi实操求解 2.1 问题求解 2.2 最坏的情况(worst case) 2.3 机会约束优化(chance constrained o ...

  3. 不确定优化中使用的决策准则方法

    不确定优化中使用的决策准则方法 1.决策准则方法 2.线性决策准则 2.1 多阶段优化能否使用LDR? 最近比较烦,学习有点停滞.想借助写博客,梳理自己的知识脉络,把自己静下来.关注不确定性优化问题, ...

  4. 凸优化中凸函数定义、直线与线段、凸集、仿射集合、仿射函数

    凸优化(Stephen Boyd)中自学部分 凸函数定义 函数f:Rn→Rf:\mathbf{R}^{n} \rightarrow \mathbf{R}f:Rn→R是凸的,如果fff在定义域(domd ...

  5. 用户旅程方法论_3种有效准备数字旅程中流程改进的方法

    用户旅程方法论 在转变工作方式的过程中,我们专注于客户的愿望,并且计划转向数字业务,因此始终需要改进流程. 尽管向数字业务的转变可能包含组织中许多新的方面,但始终存在需要评估的技术和流程方面的现有投资 ...

  6. 如何理解凸优化中的共轭函数的定义?

    共轭函数的意义主要就是:一个函数即便不是凸函数,但通过共轭法获得一个凸函数,很方便求解全局最优解的问题. 另外,共轭函数亦称对偶函数.极化函数,函数的某种对偶变换.过多的东西我就不再赘述了. 此处我是 ...

  7. html seo设置,搜索引擎优化中的HTML代码优化方法-如何做好SEO

    一. h标签优化 友爱网团队认为,网站代码中h标签的优化是非常重要的一部分.h-标签分为h1-h6标签.H1标签是h标签中重要的一个,它也支付了重量.因为一个页面只能呈现一次H1标签,和往常一样,H1 ...

  8. 数学之美:凸优化问题

    导言 凸优化(convex optimization)是最优化问题中非常重要的一类,也是被研究的很透彻的一类.对于机器学习来说,如果要优化的问题被证明是凸优化问题,则说明此问题可以被比较好的解决.在本 ...

  9. 文献翻译__人工智能时代医学图像重建中的凸优化算法(第4、5、6章)

    文章下载–我的Gitee Convex optimization algorithms in medical image reconstruction-in the age of AI 人工智能时代医 ...

最新文章

  1. c++ double 只输出五位_c 语言第四章 在控制台上数据的输入和输出
  2. 利用JS获取IE客户端IP及MAC的实现
  3. C#实验室常用软件-Windows Live Writer
  4. Android开发笔记(八十三)多语言支持
  5. 黑莓 QNX 被曝严重的 BadAlloc 漏洞 影响数百万汽车和医疗设备
  6. c语言怎么确定输出数的坐标,c语言printf实现同一位置打印输出的实例
  7. Scipy教程 - 统计函数库scipy.stats
  8. unity打开excel表格_Excel电子表格需要双击两次才能打开问题的解决方案
  9. Integer的比较
  10. inputstream 占用内存吗_明明是8G的内存,系统却显示只有4G!为什么电脑这么吃内存?...
  11. exec还原oracle,详解通过Backup Exec来实施Oracle灾难恢复
  12. excel Cell函数
  13. 腾讯企业邮箱 java_java发送腾讯企业邮件-可用于发送邮箱验证码
  14. android 钢琴识别音阶对错_练习音阶琶音的方法——你确定自己没弄错?
  15. 微信公众号-模板消息管理
  16. HTML5全栈工程师好就业吗
  17. 剪不断,理还乱--Oracle的字符集乱码问题
  18. java pdf 签名_java – PDFBox 1.8.10:填充和签名PDF生成无效签名
  19. 云计算与大数据课程学习笔记
  20. js实现好看的图案 加勒比海盗(php拍黄片)

热门文章

  1. 计算机组成原理第7章-输入/输出系统
  2. 浅谈安卓线程池相关问题
  3. bilibili有电脑版吗_虚充制冷剂、谎称电脑版故障...空调维修的这些套路,你 中招了吗...
  4. android 手机跑分,安兔兔安卓手机跑分性能榜公布:第一名实至名归?
  5. java网格画线_java 网格输出的类--练习 stream
  6. pythonsuper_用__init __()方法理解Python super()
  7. brave浏览器_区块链浏览器 Brave 为广告观看者提供 BAT 代币奖励
  8. mysql 唯一索引 性能_普通索引和唯一索引的区别、性能差异,以及其他索引简介...
  9. docker配置容器mysql启动参数_修改Docker容器启动配置参数
  10. html连接服务器文件夹,云服务器html链接到文件夹