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. 带你全面了解 OAuth2.0

    最开始接触 OAuth2.0 的时候,经常将它和 SSO单点登录搞混.后来因为工作需要,在项目中实现了一套SSO,通过对SSO的逐渐了解,也把它和OAuth2.0区分开了.所以当时自己也整理了一篇文章 ...

  2. Redis | 第11章 服务器的复制《Redis设计与实现》

    目录 前言 1. 旧版复制功能的实现 1.1 同步与命令传播 1.2 旧版复制功能的缺陷 2. 新版复制功能的实现 2.1 部分重同步的实现原理 3. PSYNC 命令的实现 4. 复制的详细步骤 4 ...

  3. Flink(三)【核心编程】

    目录 一.Environment 二.Source 从集合读取数据 从文件读取数据 从kakfa读取数据(常用) 自定义数据源 三.Transform map Rich版本函数 flatMap key ...

  4. flink04 -----1 kafkaSource 2. kafkaSource的偏移量的存储位置 3 将kafka中的数据写入redis中去 4 将kafka中的数据写入mysql中去

    1. kafkaSource 见官方文档 2. kafkaSource的偏移量的存储位置 默认存在kafka的特殊topic中,但也可以设置参数让其不存在kafka的特殊topic中   3   将k ...

  5. 安全相关,关于https

    什么是 HTTPS HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全 ...

  6. 容器之分类与各种测试(四)——map

    map和set的区别在于,前者key和value是分开的,前者的key不会重复,value可以重复:后者的key即为value,后者的value不允许重复.还有,map在插入时可以使用 [ ]进行(看 ...

  7. C++ 之杂记

    今天做了一个题,代码不难,但是编译的时候就恼火,老是报错,也不告诉我错哪了.... 之前的代码是这样的,在main函数中调用这个类的构造函数,就一直报错,但是不知道原因,后来加上了const 就好了. ...

  8. 【Java 8】Stream中的Pipeline理解

    基于下面一段代码: public static void main(String[] args) { List<String> list = Arrays.asList("123 ...

  9. Appium获取toast消息遇到的问题(一)

    一.运行错误 Android获取toast,需要在参数里设置automationName:Uiautomator2 1 # 设置设备的信息 2 desired_caps = { 3 'platform ...

  10. bootstrapTable频繁向后台接口发请求

    当bootstrapTable出现这样的问题,是因为查询到的数据行数为空,而后台返回的总行数又不为0时,就会疯狂地往接口发请求