Proximal Algorithms 1 介绍
文章目录
- 定义
- 解释
- 图形解释
- 梯度解释
- 一个简单的例子
Proximal Algorithms
定义
令f:Rn→R∪{+∞}f: \mathrm{R}^n \rightarrow \mathrm{R} \cup \{+ \infty \}f:Rn→R∪{+∞}为闭的凸函数,即其上镜图:
epif={(x,t)∈Rn×R∣f(x)≤t}\mathbf{epi} f = \{ (x, t) \in \mathrm{R}^n \times \mathrm{R}| f(x) \le t\} epif={(x,t)∈Rn×R∣f(x)≤t}
为非空闭的凸集,定义域:
domf={x∈Rn∣f(x)<+∞}\mathbf{dom} f = \{x \in \mathrm{R}^n| f(x) < + \infty\} domf={x∈Rn∣f(x)<+∞}
近端算子(是这么翻译的?)proximal operator proxf:Rn→Rn\mathbf{prox}_f: \mathrm{R}^n \rightarrow \mathrm{R}^nproxf:Rn→Rn定义为:
我们常常会对添加一个比例系数λ\lambdaλ,而关心λf\lambda fλf的近端算子:
注:等式右边乘以一个常数λ\lambdaλ便是λf\lambda fλf的形式,所以是等价的。
解释
图形解释
注:图中的细黑线是函数fff的等值线,而粗黑线表示定义域的边界。在蓝色的点处估计其proxf\mathbf{prox}_fproxf得到红色的点。
可以发现,proxf(v)\mathbf{prox}_f(v)proxf(v)实际上是对点vvv附近的一个估计。
梯度解释
假设λ\lambdaλ很小,且fff可微,那么,容易知道f(x)+12λ∥x−v∥22f(x) + \frac{1}{2\lambda}\|x-v\|_2^2f(x)+2λ1∥x−v∥22取得极值(实际上也是最值)的条件是:
∇f(x)+x−vλ=0⇒x=v−λ∇f(x)≈v−λ∇f(v)\nabla f(x) +\frac{x-v}{\lambda}=0 \Rightarrow x=v-\lambda \nabla f(x) \approx v-\lambda \nabla f(v) ∇f(x)+λx−v=0⇒x=v−λ∇f(x)≈v−λ∇f(v)
可以看到,proxf(v)\mathbf{prox}_f(v)proxf(v)近似为在vvv点的梯度下降,而λ\lambdaλ为步长。
一个简单的例子
有一个问题,就是,如果我们的目的是最小化f(x)f(x)f(x),那么利用proxf\mathbf{prox}_fproxf会不会太愚蠢了,既然我们能求解proxf\mathbf{prox}_fproxf,那么直接最小化f(x)f(x)f(x)应该也不是难事吧。这个问题留到以后再讨论吧,我也不知道能否找到一个恰当的例子来反驳。
当fff是一个示性函数:
其中C\mathcal{C}C为非空凸集,我们来看看这个时候的proxf(v)\mathbf{prox}_f(v)proxf(v):
proxλf(v)=argminx IC(x)+12λ∥x−v∥22\mathbf{prox}_{\lambda f}(v)= \mathrm{argmin}_x \: I_{\mathcal{C}}(x) + \frac{1}{2 \lambda}\|x-v\|_2^2 proxλf(v)=argminxIC(x)+2λ1∥x−v∥22
首先,我们可以确定x∈Cx \in \mathcal{C}x∈C, 否则结果为无穷,所以,问题可以转化为一个Euclid范数下投影问题:
所以一个问题是,如果proxf\mathbf{prox}_fproxf的尾项不用ℓ2\ell_2ℓ2范数,用别的范数会变成什么样?
Proximal Algorithms 1 介绍相关推荐
- Proximal Algorithms 4 Algorithms
目录 Proximal minimization 解释 \(f(x) + g(x)\) 解释1 最大最小算法 不动点解释 Forward-backward 迭代解释 加速 proximal gradi ...
- Proximal Algorithms 3 Interpretation
目录 Moreau-Yosida regularization 与次梯度的联系 \(\mathbf{prox}_{\lambda f} = (I + \lambda \partial f)^{-1}\ ...
- 近端算法:近端最小化(Proximal minimization)、近端梯度(PG)、加速近端梯度(APG)、ADMM
近端算法 基本介绍及定义 定义 工作原理 性质 近端算子解释 Moreau-Yosida正则化 次微分算子的预解 修正梯度步长 信任区域问题 近端算法(Proximal Algorithms) 近端最 ...
- 学好算法?不花钱好好看这个 GitHub 项目就够了!
点击上方"小白学视觉",选择加"星标"或"置顶"重磅干货,第一时间送达 转自机器之心 不想做低级码农,不想成为前端抠图达人或是后台「增删改查 ...
- 比可微架构搜索DARTS快10倍,第四范式提出优化NAS算法
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 神经架构搜索一直被认为是高算力的代表,尽管可微架构搜索的概念非常吸引人,但它目前的 ...
- 机器学习资料推荐 URL
1 http://blog.csdn.net/poiiy333/article/details/10282751 机器学习的资料较多,初学者可能会不知道怎样去有效的学习,所以对这方面的资料进行了一个 ...
- [转]机器学习和深度学习资料汇总【01】
本文转自:http://blog.csdn.net/sinat_34707539/article/details/52105681 <Brief History of Machine Learn ...
- l2高斯分布_L1和L2正则的区别,如何选择L1和L2正则?L1在0处不可导,怎么处理...
首先毫无疑问的,他们都是可以防止过拟合,降低模型复杂度 L1是在loss function后面加上模型参数的1范数(也就是|xi|)L0范数的最小化问题在实际应用中是NP难问题,无法实际应用.L2是在 ...
- 基于PyTorch重写sklearn,《现代大数据算法》
HyperLearn是一个基于PyTorch重写的机器学习工具包Scikit Learn,它的一些模块速度更快.需要内存更少,效率提高了一倍. 专为大数据而设计,HyperLearn可以使用50%以下 ...
- 使用DirectX9进行遮盖剔除
转自:http://hi.baidu.com/_%E2d_%B7%B3_%DE%B2%C2%D2/blog/item/540fd926e61e711b8b82a1f1.html 对象剔除是图形编程中一 ...
最新文章
- css清除浮动方法总结
- 树莓派查看mysql的密码_树莓派安装MySQL 后若何获取登录密码
- hdu 5188 dfs+二分
- 服务器内存傲腾基本参数信息,服务器加傲腾内存
- zk服务器系统,windows系统搭建zookeeper服务器的教程
- python数组替换_Python:替换数组中的值
- C和指针之函数之递归实现厄密多项式
- Java中的Enum的使用与分析
- 初识Node.js之Node.js与java作为后台服务器的对比
- C\C++不经意间留下的知识空白------const使用
- C语言:存储类型,内存管理
- Authlib OAuth2.0
- itunes真难用,这是什么垃圾
- html5连接mysql数据库操作_html5-本地数据库的操作
- 你是如何管理你的时间的?-----时间管理与树的遍历
- Dxg——C++ 开发笔记整理分类合集【所有的相关记录,都整理在此】
- 建筑专业规范大全 2020版_房屋建筑工程现行规范标准目录汇编(2020版)—防水工程...
- Exif文件格式描述(转载)
- 关于页眉的奇偶页不同设置和奇数页页眉展示每一章名称的设置方法
- matlab 2013至2016 32bit、64bit破解版集合 百度云盘下载