本节介绍一些例子.

LASSO

考虑如下问题:

\[\min \quad (1/2)\|Ax-b\|_2^2 + \gamma\|x\|_1,
\]

其中\(x \in \mathbb{R}^n, A \in \mathbb{R}^{m\times n }\).

proximal gradient method

proximal gradient method 是:

\[x^{k+1} := \mathbf{prox}_{\lambda g}(x^k - \lambda \nabla f(x^k))
\]

令\(f(x)=(1/2)\|Ax-b\|_2^2, g(x)=\gamma \|x\|_1\), 则

\[\nabla f(x) = A^T(Ax-b), \quad \mathbf{prox}_{\gamma g}(x)=S_{\gamma}(x),
\]

其中\(S_{\gamma}(x)\)是soft-thresholding.

ADMM

很自然的方法,不提了.

矩阵分解

一般的矩阵分解问题如下:



其中\(X_1, \ldots, X_N \in \mathbb{R}^{m\times n}\)为变量,而\(A \in \mathbb{R}^{m\times n }\)为数据矩阵.

不同的惩罚项\(\varphi\)会带来不同的效果.

  • \(\varphi(X)=\|X\|_F^2\), 这时,矩阵元素往往都比较接近且小
  • \(\varphi(X)=\|X\|_1\), 这会导致稀疏化
  • \(\varphi(X) = \sum_j \|x_j\|_2\), 其中\(x_j\)是\(X\)的第\(j\)列, 这会导致列稀疏?

其他的看文章吧.

ADMM算法

\[f(x) = \sum_{i=1}^N \varphi_i (X_i), \quad g(X)=I_{\mathcal{C}}(X),
\]

其中\(X = (X_1, \ldots, X_N)\), 并且:

\[\mathcal{C} = \{(X_1, \ldots, X_N| X_1 + \ldots + X_N=A\}.
\]

根据之前的分析,容易知道:

\[\Pi_{\mathcal{C}}=(X_1, \ldots, X_N)-\bar{X}+(1/N)A,
\]

其中\(\bar{X}\)是\(X_1, \ldots, X_N\)的各元素的平均.

最后算法总结为:

多时期股票交易

其问题是:

\[\min \quad \sum_{t=1}^T f_t(x_t) + \sum_{t=1}^T g_t (x_t - x_{t-1}),
\]

其中\(x_t, t=1,\ldots, T\)表示第\(t\)个时期所保持的股份,期权,而\(f_t\)则表示对应的风险,\(g_t\)表示第\(t\)个时期交易所需要耗费的资源.

考虑如下分割:

\[f(X)=\sum_{t=1}^ Tf_t(x_t), \quad g(X)=\sum_{t=1}^T g_t(x_t-x_{t-1}),
\]

其中\(X=[x_1, \ldots, x_T]\in\mathbb{R}^{n \times T}\).

随机最优

为如下问题:

\[\min \quad \sum_{k=1}^K \pi_k f^{(k)} (x),
\]

其中\(\pi \in \mathbb{R}_+^K\)是一个概率分布,满足\(1^T\pi=1\).

利用第5节的知识,将此问题化为:

\[\min \quad \sum_{k=1}^K \pi_k f^{(k)} (x^{(k)}) \\
s.t. \quad x^{(1)}=\ldots=x^{(K)}.
\]

再利用ADMM就可以了.

Robust and risk-averse optimization

鲁棒最优,特别的, 最小化最大风险:

\[\min \quad \max_{k=1, \ldots, K} f^{(k)}(x).
\]

更一般的:

\[\min \quad \varphi(f^{(1)}, \ldots, f^{(K)}(x)),
\]

其中\(\varphi\)为非降凸函数.

method

将上面的问题转化为:





视作\(f\)



作为\(g\),再利用ADMM求解即可.

Proximal Algorithms 7 Examples and Applications的更多相关文章

  1. Proximal Algorithms

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

  2. Proximal Algorithms 6 Evaluating Proximal Operators

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

  3. Proximal Algorithms 5 Parallel and Distributed Algorithms

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

  4. Proximal Algorithms 4 Algorithms

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

  5. Proximal Algorithms 3 Interpretation

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

  6. Proximal Algorithms 1 介绍

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

  7. Proximal Algorithms 2 Properties

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

  8. OpenCASCADE Hidden Line Removal

    OpenCASCADE Hidden Line Removal eryar@163.com Abstract. To provide the precision required in industr ...

  9. 计算机视觉code与软件

    Research Code A rational methodology for lossy compression - REWIC is a software-based implementatio ...

随机推荐

  1. flink-----实时项目---day07-----1.Flink的checkpoint原理分析 2. 自定义两阶段提交sink(MySQL) 3 将数据写入Hbase(使用幂等性结合at least Once实现精确一次性语义) 4 ProtoBuf

    1.Flink中exactly once实现原理分析 生产者从kafka拉取数据以及消费者往kafka写数据都需要保证exactly once.目前flink中支持exactly once的sourc ...

  2. 使用 Addressables 来管理资源

    使用 Addressables 来管理资源 一.安装 打开Package Manager,在Unity Technologies的目录下找到Addressables,更新或下载. 二.配置 依次打开W ...

  3. STM32 部分重映射和完全重映射(查看数据手册)

    数据手册如何查找对应的映射: 打开官网直接搜索STM32F可以看到数据手册,里面有关于重映射的表格,输入第6页的页码,点击9.3中的9.3x可打开对应的链接.  举例说明: STM32中拥有重映射功能 ...

  4. 寻找pair

    给定n个整数使其两两组合成一对pair,例如给定 1 ,2 可以组成的pair为(1,1),(1,2),(2,1),(2,2),然后在这些pair中寻找第k小的pair. 输入第一行包含两个数字,第一 ...

  5. 【swift】复制后,为Xcode工程项目重新修改名称

    感谢,参考了另一篇博客:https://www.jianshu.com/p/abf10c9609ef 我做了一些修改,和自己遇到的情况 我用的是繁体的mac,所以下面图片内,鼠标右键点出来的文字(丢到 ...

  6. 【STM32】基于正点原子『探索者』开发板的烧录

    项目需要一个功能,开发板范例正好有,就买了一块,不过还是有点贵 我手边没有J-Link 用的都是串口烧录 烧录时,先打开右上的开关 如果是仿真器烧录,它无法供电,需要接12V适配器或是杜邦线供电 然后 ...

  7. Mybatis 批量插入

    一.首先对于批量数据的插入有两种解决方案(下面内容只讨论和Mysql交互的情况) 1)for循环调用Dao中的单条插入方法 2)传一个List<Object>参数,使用Mybatis的批量 ...

  8. Android 清除本地缓存

    主要功能:清除内.外缓存,清除数据库,清除Sharepreference,清除files和清除自定义目录 public class DataCleanManager { //清除本应用内部缓存(/da ...

  9. springboot-使用AOP日志拦截实现

    一 前言 借助spring的AOP功能,我们可以将AOP应用至全局异常处理,全局请求拦截等,本篇文章的核心功能就是使用AOP实现日志记录,比如哪些用户进行了哪些操作,对于一个成功的项目这是必须记录的, ...

  10. FastDFS分布式文件系统及源码解析

    记录一次本人学习FastDFS-分布式文件系统的学习过程,希望能帮助到有需要的人. 首选得对此技术有个大概的了解,可以参考 https://www.cnblogs.com/centos2017/p/7 ...