Proximal Algorithms

这一节,作者总结了一些关于proximal的一些直观解释

Moreau-Yosida regularization

内部卷积(infimal convolution):

\[(f \: \Box \: g)(v)=\inf_x (f(x)+g(v-x))
\]

Moreau-Yosida envelope 或者 Moreau-Yosida regularization 为:

\[M_{\lambda f}=\lambda f \: \Box \: (1/2)\|\cdot\|_2^2
\]

, 于是:



事实上,这就是,我们在上一节提到过的东西。就像在上一节一样,可以证明:

\[M_f (x) = f(\mathbf{prox}(x)) + (1/2) \|x-\mathbf{prox}_f(x)\|_2^2
\]

以及:

\[\nabla M_{\lambda_f}(x) = (1 / \lambda)(x- \mathbf{prox}_{\lambda f}(x))
\]

虽然上面的我不知道在\(f\)不可微的条件下怎么证明.

于是有与上一节同样的结果:



总结一下就是,近端算子,实际上就是最小化\(M_{\lambda f}\), 等价于\(\nabla M_{f^*}\),即:

\[\mathbf{prox}_f(x) = \nabla M_{f^*} (x)
\]

这个,需要通过Moreau分解得到.

与次梯度的联系 \(\mathbf{prox}_{\lambda f} = (I + \lambda \partial f)^{-1}\)



上面的式子,有一个问题是,这个映射是单值函数吗(论文里也讲,用关系来讲更合适),因为\(\partial f\)的原因,不过,论文的意思好像是的,不过这并不影响证明:

改进的梯度路径

就像在第一节说的,和之前有关Moreau envelope表示里讲的:

\[\mathbf{prox}_{\lambda f} (x) = x - \lambda \nabla M_{\lambda f}(x)
\]

实际上,\(\mathbf{prox}_{\lambda f}\)可以视为最小化Moreau envelope的一个迭代路径,其步长为\(\lambda\). 还有一些相似的解释.

假设\(f\)是二阶可微的,且\(\nabla^2 f(x) \succ0\)(表正定),当\(\lambda \rightarrow 0\):

\[\mathbf{prox}_{\lambda f} (x) = (I + \lambda \nabla f)^{-1} (x) = x - \lambda \nabla f(x)+o(\lambda)
\]

这个的证明,我觉得是用到了变分学的知识:

\[\delta(I+\lambda \nabla f)^{-1}|_{\lambda=0}=-\frac{\nabla f}{(I+\lambda \nabla f)^{-2}}|_{\lambda =0}= -\nabla f
\]

所以上面的是一阶距离的刻画.

我们先来看\(f\)的一阶泰勒近似:



其近端算子为:



感觉,实际上是为:\(\mathbf{prox}_{\lambda \hat{f}_v^{(1)}}\)

相应的,还有二阶近似:



这个是Levenberg-Marquardt update的牛顿方法,虽然我不知道这玩意儿是什么.

上面的证明都是容易的,直接更具定义便能导出.

信赖域问题

proximal还可以用信赖域问题来解释:



而普通的proximal问题:



约束条件变成了惩罚项, 论文还指出,通过指定不同的参数\(\rho\)和\(\lambda\),俩个问题能互相达到对方的解.

Proximal Algorithms 3 Interpretation的更多相关文章

  1. Proximal Algorithms 4 Algorithms

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

  2. Proximal Algorithms

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

  3. Proximal Algorithms 6 Evaluating Proximal Operators

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

  4. Proximal Algorithms 5 Parallel and Distributed Algorithms

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

  5. Proximal Algorithms 1 介绍

    目录 定义 解释 图形解释 梯度解释 一个简单的例子 Proximal Algorithms 定义 令\(f: \mathrm{R}^n \rightarrow \mathrm{R} \cup \{+ ...

  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. Proximal Gradient Descent for L1 Regularization

    [本文链接:http://www.cnblogs.com/breezedeus/p/3426757.html,转载请注明出处] 假设我们要求解以下的最小化问题:                     ...

  9. Matrix Factorization, Algorithms, Applications, and Avaliable packages

    矩阵分解 来源:http://www.cvchina.info/2011/09/05/matrix-factorization-jungle/ 美帝的有心人士收集了市面上的矩阵分解的差点儿全部算法和应 ...

随机推荐

  1. 日常Java 2021/10/27

    java HashMap HashMap是一个散列表,它存储的内客是键值对(key-value)映射.HashMap实现了Map.接口,根据键的HashCode值存储数据,具有很快的访问速度,最多允许 ...

  2. EDA简介

    Electronic design automation (EDA), also referred to as electronic computer-aided design (ECAD),[1] ...

  3. openwrt装载固件

    方法1. 确定串口号以后(在设备管理器可以查看) 打开SecureCRT软件,选择串口,设置合适的波特率(我用的115200),然后快速连接, 板子通电启动,在启动的时候会提示按任意键中断,这时按下任 ...

  4. Linux基础命令---ntpdate网络时间服务器

    ntpdate ntpdate指令通过轮询指定为服务器参数的网络时间协议(NTP)服务器来设置本地日期和时间,从而确定正确的时间. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS ...

  5. 【Java基础】ExecutorService的使用

    ExecutorService是java中的一个异步执行的框架,通过使用ExecutorService可以方便的创建多线程执行环境. 本文将会详细的讲解ExecutorService的具体使用. 创建 ...

  6. Echarts 实现tooltip自动显示自动播放

    1.其实这个很容易实现,一个 dispatchAction 方法就解决问题:但是博主在未实现该功能时是花了大力气,各种百度,各种搜: 很难找到简单粗暴的例子,大多数随便回一句你的问题就没下文: 废话太 ...

  7. 匿名内部类与lamda表达式

    1.为什么要使用lamda表达式 从JDK1.8开始为了简化使用者进行代码开发,专门提供有Lambda表达式的支持,利用此操作形式可以实现函数式的编程,对于函数式编程比较著名的语言:haskell,S ...

  8. 我的第一篇博客blog,笑哭

    我的第一篇博客blog Markdown学习 一级标题:#加一个空格 加 文字, 二级标题:加2个##以此类推 字体 粗体:hello world!字体前有二个星号,字体后有二个星号 斜体:hello ...

  9. 【C++】使用VS2022开发可以在线远程编译部署的C++程序

    前言: 今天没有前言. 一.先来一点C++的资源分享,意思一下. 1.c++类库源码以及其他有关资源.站点是英文的,英文不好的话可以谷歌浏览器在线翻译.http://www.cplusplus.com ...

  10. bjdctf_2020_router

    这道题其实主要考linux下的命令.我们来试一下!!! 可以看到,只要我们在命令之间加上分号,就可以既执行前面的命令,又执行后面的命令... 这道题就不看保护了,直接看一下关键的代码. 这里可以看到s ...