本节介绍一些例子.

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. Linux基础命令---htpasswd创建密码文件

    htpasswd htpasswd指令用来创建和更新用于基本认证的用户认证密码文件.htpasswd指令必须对密码文件有读写权限,否则会返回错误码. 此命令的适用范围:RedHat.RHEL.Ubun ...

  2. NSURLSessionDownloadTask实现大文件下载

    - 4.1 涉及知识点(1)使用NSURLSession和NSURLSessionDownload可以很方便的实现文件下载操作 第一个参数:要下载文件的url路径 第二个参数:当接收完服务器返回的数据 ...

  3. 远程连接mysql库问题

    如果你想连接你的mysql的时候发生这个错误: ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL serve ...

  4. react中在hooks方法useEffect中加载异步数据

    useEffect( ()=>{ (async function getPipeList(value:any) { let result= await GetPipeList(value); s ...

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

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

  6. mybtis入门

    1.编写持久化对象 public class User { private String id;//用户编号 private String username;//用户名 private String ...

  7. 【C/C++】链表

    #include <bits/stdc++.h> using namespace std; struct node { int data; // 数据 node* next; // 指针 ...

  8. 【JavaWeb】【JSP】【Bean】JavaBean基础使用方法与操作步骤

    JavaBean基础使用方法与操作步骤 JavaWeb jsp Bean 项目结构 JavaBean的概念 JavaBean是可复用的.平台独立的软件组件 JavaBean既可以是简单的GUI要素,如 ...

  9. .net 5 开发部署B/S程序。

    现在.net 6 已经出来了,visualStudio 2022也发行预览版了. 自 .net5 发布,.net core 与.net framework 已经走向统一.确实越来越好用了. 现在.ne ...

  10. 设计风格之REST

    一.简介 REST简介 REST 是英文 representational state transfer(表象性状态转变)或者表述性状态转 移;Rest 是 web 服务的一种架构风格;使用 HTTP ...