Proximal Algorithms 1 介绍
定义
令\(f: \mathrm{R}^n \rightarrow \mathrm{R} \cup \{+ \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\)取得极值(实际上也是最值)的条件是:
\]
可以看到,\(\mathbf{prox}_f(v)\)近似为在\(v\)点的梯度下降,而\(\lambda\)为步长。
一个简单的例子
有一个问题,就是,如果我们的目的是最小化\(f(x)\),那么利用\(\mathbf{prox}_f\)会不会太愚蠢了,既然我们能求解\(\mathbf{prox}_f\),那么直接最小化\(f(x)\)应该也不是难事吧。这个问题留到以后再讨论吧,我也不知道能否找到一个恰当的例子来反驳。
当\(f\)是一个示性函数:
其中\(\mathcal{C}\)为非空凸集,我们来看看这个时候的\(\mathbf{prox}_f(v)\):
\]
首先,我们可以确定\(x \in \mathcal{C}\), 否则结果为无穷,所以,问题可以转化为一个Euclid范数下投影问题:
所以一个问题是,如果\(\mathbf{prox}_f\)的尾项不用\(\ell_2\)范数,用别的范数会变成什么样?
Proximal Algorithms 1 介绍的更多相关文章
- Proximal Algorithms 6 Evaluating Proximal Operators
目录 一般方法 二次函数 平滑函数 标量函数 一般的标量函数 多边形 对偶 仿射集合 半平面 Box Simplex Cones 二阶锥 半正定锥 指数锥 Pointwise maximum and ...
- Proximal Algorithms 5 Parallel and Distributed Algorithms
目录 问题的结构 consensus 更为一般的情况 Exchange 问题 Global exchange 更为一般的情况 Allocation Proximal Algorithms 这一节,介绍 ...
- Proximal Algorithms 4 Algorithms
目录 Proximal minimization 解释 Gradient flow 解释1 最大最小算法 不动点解释 Forward-backward 迭代解释 加速 proximal gradien ...
- Proximal Algorithms
1. Introduction Much like Newton's method is a standard tool for solving unconstrained smooth minimi ...
- Proximal Algorithms 3 Interpretation
目录 Moreau-Yosida regularization 与次梯度的联系 改进的梯度路径 信赖域问题 Proximal Algorithms 这一节,作者总结了一些关于proximal的一些直观 ...
- Proximal Algorithms 7 Examples and Applications
目录 LASSO proximal gradient method ADMM 矩阵分解 ADMM算法 多时期股票交易 随机最优 Robust and risk-averse optimization ...
- Proximal Algorithms 2 Properties
目录 可分和 基本的运算 不动点 fixed points Moreau decomposition 可分和 如果\(f\)可分为俩个变量:\(f(x, y)=\varphi(x) + \psi(y) ...
- 【机器学习Machine Learning】资料大全
昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...
- 【深度学习Deep Learning】资料大全
最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books by Yoshua Bengio, Ian Goodfellow and Aaron C ...
随机推荐
- C/C++ Qt 数据库与TableView多组件联动
Qt 数据库组件与TableView组件实现联动,以下案例中实现了,当用户点击并选中TableView组件内的某一行时,我们通过该行中的name字段查询并将查询结果关联到ListView组件内,同时将 ...
- linux之wc命令详解
Linux系统中wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式 wc [options] 文件... 2.命令功能 统计指定文件中的字 ...
- Dubbo服务分组
服务分组与多版本控制的使用方式几乎是相同的,只要将version替换为group即可.但使用目的不同.使用版本控制的目的是为了升级,将原有老版本替换掉,将来不再提供老版本的服务,所以不同版本间不能出现 ...
- 【Linux】【Services】【SaaS】Docker+kubernetes(6. 安装和配置ceph)
1. 简介 1.1. 这个在生产中没用上,生产上用的是nfs,不过为了显示咱会,也要写出来 1.2. 官方网站:http://ceph.com/ 1.3. 中文网站:http://docs.ceph. ...
- centos7 docker 修改Nginx文件
1.docker 安装 nginx : docker安装Nginx还是很简单的,可以参考百度文章 ,或者参照docker安装mysql :https://www.cnblogs.com/jonrain ...
- 【Windows】github无法访问/hosts文件只能另存为txt
因为我的github访问不了了,搜索解决方案为修改host文件 https://blog.csdn.net/curry10086/article/details/106800184/ 在hosts文件 ...
- 对于React各种状态管理器的解读
首先我们要先知道什么是状态管理器,这玩意是干啥的? 当我们在多个页面中使用到了相同的属性时就可以用到状态管理器,将这些状态存到外部的一个单独的文件中,不管在什么时候想使用都可以很方便的获取. reac ...
- numpy基础教程--二维数组的转置
使用numpy库可以快速将一个二维数组进行转置,方法有三种 1.使用numpy包里面的transpose()可以快速将一个二维数组转置 2.使用.T属性快速转置 3.使用swapaxes(1, 0)方 ...
- Jenkins安全加固
1.jenkins未授权访问 描述 jenkins不当配置可导致未授权访问管理控制台,可以通过脚本命令行执行系统命令.通过该漏洞,可以后台管理服务,通过脚本命令行功能执行系统命令,如反弹shell,w ...
- Apache Log4j2,RASP 防御优势及原理
Apache Log4j2 远程代码执行漏洞已爆发一周,安全厂商提供各类防御方案和检测工具,甲方团队连夜应急. 影响持续至今,网上流传的各种利用和绕过姿势还在层出不穷,影响面持续扩大.所有安全人都开始 ...