凸优化简介25_随机镜像下降-程序员宅基地

技术标签: 凸优化  

随机梯度下降的下界与性能提升

1. 随机梯度下降的下界

考虑一个一维空间上的函数 f ( x ) = E [ 1 2 ( x − ξ ) 2 ] f(x)=\mathbb{E}\left[\frac{1}{2}(x-\xi)^2\right] f(x)=E[21(xξ)2],其中 ξ ∼ N ( 0 , 1 ) \xi \sim\mathcal{N}(0,1) ξN(0,1)。基于随机梯度下降方法,得到更新规则 x t + 1 = x t − γ t ( x t − ξ t ) x_{t+1}=x_t-\gamma_t(x_t-\xi_t) xt+1=xtγt(xtξt)。设 x 1 = 0 , γ t = 1 t x_1=0, \gamma_t=\frac{1}{t} x1=0,γt=t1,那么列出 x 1 x_1 x1 x t + 1 x_{t+1} xt+1的等式,消元后得到 x t + 1 = 1 t ∑ t = 1 t ξ t x_{t+1}=\frac{1}{t}\sum\limits_{t=1}^{t}\xi_t xt+1=t1t=1tξt
所以可以得到 x t + 1 ∼ N ( 0 , 1 t ) x_{t+1}\sim \mathcal{N}(0,\frac{1}{t}) xt+1N(0,t1)。由期望与方差之间的等式关系 E [ x 2 ] = V a r [ x ] + E [ x ] 2 \mathbb{E}[x^2]=Var[x]+\mathbb{E}[x]^2 E[x2]=Var[x]+E[x]2得到 f ( x ) = 1 2 ( x 2 + 1 ) f(x)=\frac{1}{2}(x^2+1) f(x)=21(x2+1),并且 x ∗ = 0 x_*=0 x=0。所以 E [ ∥ x t + 1 − x ∗ ∥ 2 2 ] = 1 t \mathbb{E}[\|x_{t+1}-x_*\|_2^2]=\frac{1}{t} E[xt+1x22]=t1
为了能够分析非光滑的随机优化问题,引入
Stochastic Oracle:给定输入 x x x,stochastic oracle 返回 G ( x , ξ ) G(x,\xi) G(x,ξ),且 E [ G ( x , ξ ) ] ∈ ∂ f ( x ) , E [ ∥ G ( x , ξ ) ∥ p 2 ] ≤ M 2 \mathbb{E}[G(x,\xi)]\in \partial f(x),\mathbb{E}[\|G(x,\xi)\|_p^2]\leq M^2 E[G(x,ξ)]f(x),E[G(x,ξ)p2]M2
在1983年Nemirovski与Yudin的Problem complexity and method efficiency in optimization 中,在最坏的情况下,对于凸问题,stochastic oracles至少需要的次数为 T = O ( 1 ϵ 2 ) T=O(\frac{1}{\epsilon^2}) T=O(ϵ21),而对于强凸的问题,stochastic oracles需要的最少的次数为 T = O ( 1 ϵ ) T=O(\frac{1}{\epsilon}) T=O(ϵ1)

2. 随机镜像下降(Stochastic Mirror Descent)

镜像下降的随机近似方法被用于处理非光滑的问题。设 w ( x ) w(x) w(x)是一个连续可微的函数,并且对于一些norm是 l − s t r o n g l y    c o n v e x l-strongly\ \ convex l

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36573282/article/details/105652714

智能推荐

LOAD_TEMP - Unable to get database metadata from this database connection-程序员宅基地

文章浏览阅读1w次。关于kettle 写入mysql 遇到一个问题:LOAD_TEMP - Unable to get database metadata from this database connection,报错大致如下:2021/11/26 14:05:12 - LOAD_TEMP - ERROR (version 5.3.0.0-213, build 1 from 2015-02-02_12-17-08 by buildguy) : org.pentaho.di.core.exception.KettleDa_unable to get database metadata from this database connection

XPath详解_如何定义xpath-程序员宅基地

文章浏览阅读935次。XPath简介XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航什么是 XPath?XPath 使用路径表达式在 XML 文档中进行导航XPath 包含一个标准函数库XPath 是 XSLT 中的主要元素XPath 是一个 W3C 标准XPath 路径表达式XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。XPath 标准函数XPath 含有超过 _如何定义xpath

pppoe远程计算机错误,PPPoE宽带拨号连接常见错误代码是什么意思-程序员宅基地

文章浏览阅读828次。原标题:"PPPoE宽带拨号连接常见错误代码的解决办法 错误769的处理方法"的相关路由器设置教程资料分享。- 来源:191路由网。当我们家的网络出现问题时,网络管理员一般会问你电脑的宽带连接错误代码是什么。其实我们自己也可以通过这些错误代码,自行解决问题。下边我说下怎么看错误代码和解决办法。家里有接路由器的,请把WAN口的线拔出,插到任意LAN口上,然后宽带连接。注意,测试完毕后,记得恢复原状。..._pppoe不能建立到远程计算机的连接,因此用于此链接的端口已关闭

单元测试之Mockito+Junit使用和总结(完整)_junit mockito-程序员宅基地

文章浏览阅读1.1w次,点赞10次,收藏90次。一、什么是MOCK测试Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。Mock 最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为。mock中的必知概念:打桩(存根):模拟要调用的函数(打桩对象),_junit mockito

集合 List、Set、Map 的区别和实现原理_容器map和set,list和set 对比和底层实现-程序员宅基地

文章浏览阅读2.3k次,点赞5次,收藏17次。集合 List、Set、Map 的区别和实现原理Java中的集合包括三大类,它们是Set、List和Map,它们都处于java.util包中,Set、List和Map都是接口,它们有各自的实现类。Set的实现类主要有HashSet和TreeSet,List的实现类主要有ArrayList,Map的实现类主要有HashMap和TreeMap。_容器map和set,list和set 对比和底层实现

英雄 (HERO) 练字钢笔_英雄钢笔359怎么换墨水-程序员宅基地

文章浏览阅读1k次。英雄 (HERO) 练字钢笔_英雄钢笔359怎么换墨水

随便推点

git命令-笔记_git show current-程序员宅基地

文章浏览阅读205次。1 下载地址Windows版本:https://git-scm.com/download/winGit-2.29.1-64-bit.exe 2.29.12 相关命令2.1 基本git init 初始化代码仓库git status 查询仓库索引状态git add <文件名/目录> 添加文件到仓库git config --global user.email “[email protected]” 配置全局的提交者邮箱git config --global user.name “Y_git show current

unity3d UnityScript to C# Convertor 1.4 扩展 下载-程序员宅基地

文章浏览阅读538次。资源名称:UnityScript to C# Convertor  资源版本:1.4  资源类型:.unitypackage  资源大小:293K  更新时间:2014-01-13  资源图片: unity3d下载地址:http://www.unitymanual.com/thread-10680-1-1.html

STM32 磁场传感器HMC5883-程序员宅基地

文章浏览阅读1.7k次。一、IIC协议默认(出厂) HMC5883LL 7 位从机地址为0x3C 的写入操作,或0x3D 的读出操作。要改变测量模式到连续测量模式,在通电时间后传送三个字节:0x3C 0x02 0x00将00写入第二寄存器或模式寄存器以完成从单一模式切换到连续测量模式的设置。随着数据速率在出厂默认的15Hz更新,在查询HMC5883L数据寄存器进行新的测量之前,I2C主机允许产生一个..._hmc5883l 从机地址地址位

Leetcode刷题技巧总结篇(python版)_leetcode python刷题-程序员宅基地

文章浏览阅读1w次,点赞20次,收藏114次。持续更新……1 求字符差值python不可以直接进行字符减运算。当需要进行字符之间的减运算时,我们可以用ord()函数。ord()是python自带的函数,无需导入。2 字符串反转string='leetcode'print(string[::-1])3 数组元素计数import collectionsli=[1,2,2,4,5,5]cnt = collections.Counter(li)print(cnt)4 字典遍历cnt={1:4,2:3}# 遍历键值对for _leetcode python刷题

java8中,java.util.Date, java.sql.Date, java.time.LocalDate 的转换异常及处理_java.sql.date cannot be cast to java.time.localdat-程序员宅基地

文章浏览阅读9.1k次。java8中,java.util.Date, java.sql.Date, java.time.LocalDate 的转换异常及处理/** *PreparedStatement绑定日期参数的时候,如果传入的是 java.util.Date,则会抛出如下异常* Caused by: java.lang.ClassCastException: java.util.Date cannot ..._java.sql.date cannot be cast to java.time.localdate

使用 soffice 将 doc 转换为 docx 不起作用Error: no export filter for teste.docx found, aborting. Error: no expo_error: no export filter for /usr/布丁扫描2024-04-07-14-程序员宅基地

文章浏览阅读1.4k次。我发现它为什么不起作用。我卸载了 oppenoffice 和 libreoffice,然后再放一个。最近项目编辑器有一个小功能,需要将doc转为docx,按照下面的方法安装后使用报。我正在使用 centos7,并从 openoffice 到安装所有东西。我放置了过滤器(来自 soffice 的过滤器示例)但仍然无法正常工作。失效了搜索名称即可下载,最后按照下方教程即可解决。可能它缺少某些库或某些依赖项存在冲突。我在 .doc 文件的当前目录中。_error: no export filter for /usr/布丁扫描2024-04-07-14.45.38.doc found, abor

推荐文章

热门文章

相关标签