Proximal Algorithms

定义

令\(f: \mathrm{R}^n \rightarrow \mathrm{R} \cup \{+ \infty \}\)为闭的凸函数,即其上镜图:

\[\mathbf{epi} f = \{ (x, t) \in \mathrm{R}^n \times \mathrm{R}| f(x) \le t\}
\]

为非空闭的凸集,定义域:

\[\mathbf{dom} f = \{x \in \mathrm{R}^n| f(x) < + \infty\}
\]

近端算子(是这么翻译的?)proximal operator \(\mathbf{prox}_f: \mathrm{R}^n \rightarrow \mathrm{R}^n\)定义为:



我们常常会对添加一个比例系数\(\lambda\),而关心\(\lambda f\)的近端算子:



注:等式右边乘以一个常数\(\lambda\)便是\(\lambda f\)的形式,所以是等价的。

解释

图形解释



注:图中的细黑线是函数\(f\)的等值线,而粗黑线表示定义域的边界。在蓝色的点处估计其\(\mathbf{prox}_f\)得到红色的点。

可以发现,\(\mathbf{prox}_f(v)\)实际上是对点\(v\)附近的一个估计。

梯度解释

假设\(\lambda\)很小,且\(f\)可微,那么,容易知道\(f(x) + \frac{1}{2\lambda}\|x-v\|_2^2\)取得极值(实际上也是最值)的条件是:

\[\nabla f(x) +\frac{x-v}{\lambda}=0 \Rightarrow x=v-\lambda \nabla f(x) \approx v-\lambda \nabla f(v)
\]

可以看到,\(\mathbf{prox}_f(v)\)近似为在\(v\)点的梯度下降,而\(\lambda\)为步长。

一个简单的例子

有一个问题,就是,如果我们的目的是最小化\(f(x)\),那么利用\(\mathbf{prox}_f\)会不会太愚蠢了,既然我们能求解\(\mathbf{prox}_f\),那么直接最小化\(f(x)\)应该也不是难事吧。这个问题留到以后再讨论吧,我也不知道能否找到一个恰当的例子来反驳。

当\(f\)是一个示性函数:



其中\(\mathcal{C}\)为非空凸集,我们来看看这个时候的\(\mathbf{prox}_f(v)\):

\[\mathbf{prox}_{\lambda f}(v)= \mathrm{argmin}_x \: I_{\mathcal{C}}(x) + \frac{1}{2 \lambda}\|x-v\|_2^2
\]

首先,我们可以确定\(x \in \mathcal{C}\), 否则结果为无穷,所以,问题可以转化为一个Euclid范数下投影问题:



所以一个问题是,如果\(\mathbf{prox}_f\)的尾项不用\(\ell_2\)范数,用别的范数会变成什么样?

Proximal Algorithms 1 介绍的更多相关文章

  1. Proximal Algorithms 6 Evaluating Proximal Operators

    目录 一般方法 二次函数 平滑函数 标量函数 一般的标量函数 多边形 对偶 仿射集合 半平面 Box Simplex Cones 二阶锥 半正定锥 指数锥 Pointwise maximum and ...

  2. Proximal Algorithms 5 Parallel and Distributed Algorithms

    目录 问题的结构 consensus 更为一般的情况 Exchange 问题 Global exchange 更为一般的情况 Allocation Proximal Algorithms 这一节,介绍 ...

  3. Proximal Algorithms 4 Algorithms

    目录 Proximal minimization 解释 Gradient flow 解释1 最大最小算法 不动点解释 Forward-backward 迭代解释 加速 proximal gradien ...

  4. Proximal Algorithms

    1. Introduction Much like Newton's method is a standard tool for solving unconstrained smooth minimi ...

  5. Proximal Algorithms 3 Interpretation

    目录 Moreau-Yosida regularization 与次梯度的联系 改进的梯度路径 信赖域问题 Proximal Algorithms 这一节,作者总结了一些关于proximal的一些直观 ...

  6. Proximal Algorithms 7 Examples and Applications

    目录 LASSO proximal gradient method ADMM 矩阵分解 ADMM算法 多时期股票交易 随机最优 Robust and risk-averse optimization ...

  7. Proximal Algorithms 2 Properties

    目录 可分和 基本的运算 不动点 fixed points Moreau decomposition 可分和 如果\(f\)可分为俩个变量:\(f(x, y)=\varphi(x) + \psi(y) ...

  8. 【机器学习Machine Learning】资料大全

    昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...

  9. 【深度学习Deep Learning】资料大全

    最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books  by Yoshua Bengio, Ian Goodfellow and Aaron C ...

随机推荐

  1. IDEA高颜值之最吸引小姐姐插件集合!让你成为人群中最靓的那个崽!

    经常有小伙伴会来找TJ君,可能觉得TJ君比较靠谱,要TJ君帮忙介绍女朋友.TJ君一直觉得程序猿是天底下最可爱的一个群体,只不过有时候不善于表达自己的优秀,所以TJ君今天准备介绍几款酷炫实用的IDEA插 ...

  2. Angular中怎样创建service服务来实现组件之间调用公共方法

    Angular组件之间不能互相调用方法,但是可以通过创建服务来实现公共方法的调用. 实现 创建服务命令 ng g service 服务路径/服务名 比如这里在app/services目录下创建stor ...

  3. Linux学习 - 流程控制

    一.if语句 1 单分支if条件语句 (1) if  [ 条件判断式 ];then 程序  fi (2) if [ 条件判断式 ] then 程序  fi 例:检测根分区的使用量 2 双分支if条件语 ...

  4. 利用Lombok编写优雅的spring依赖注入代码,去掉繁人的@Autowired

    大家平时使用spring依赖注入,都是怎么写的? @Servicepublic class OrderService {@Autowiredprivate UserService userServic ...

  5. mysql死锁com.mysql.cj.jdbc.exception.MYSQLTransactionRollbackException Deadlock found when trying to get lock;try restarting transaction

    1.生产环境出现以下报错 该错误发生在update操作中,该表并未建立索引,也就是只有InnoDB默认的主键索引,发生错误的程序是for循环中update. 什么情况下会出现Deadlock foun ...

  6. 运维笔记之yum,rpm,挂载,磁盘管理和raid详解

    yum 与 rpm centos6,7 主要有rpm和yum这两种包管理软件,两种包的管理各有用处,其中最主要区别是:  yum使用简单但需要联网,yum会去网上的yum包源去获取所需要的软件包.而r ...

  7. Linux:spool命令

    格式调整有以下参数: set echo on/off--是否显示脚本中的需要执行的命令 set feedback on/off--是否显示 select 结果之后返回多少行的提示 set linesi ...

  8. 阿里云发布CloudOps白皮书,ECS自动化运维套件新升级

    12月10 日,2021云上架构与运维峰会上,阿里云发布业界首部<云上自动化运维白皮书>(简称CloudOps白皮书),并在其中提出了CloudOps成熟度模型.同时,阿里云还宣布了ECS ...

  9. Webpack学习篇

    <深入浅出Webpack>优化篇 01 Webpack 优化可以分为开发优化和输出质量优化两部分,主要要点如下: 优化开发体验,提升开发效率 优化构建速度 优化使用体验 优化输出质量 减少 ...

  10. 【划重点】Python pandas简介

    一.pandas获取Excel表单的两种方式 import pandas as pd df1 = pd.DataFrame(pd.read_excel(r'C:\Users\ASUS\Desktop\ ...