临近梯度下降算法(Proximal Gradient Method)的推导以及优势
邻近梯度下降法
对于无约束凸优化问题,当目标函数可微时,可以采用梯度下降法求解;当目标函数不可微时,可以采用次梯度下降法求解;当目标函数中同时包含可微项与不可微项时,常采用邻近梯度下降法求解。上述三种梯度算法均属于离线批处理类型算法,在大规模的数据问题中,每次迭代都需要计算整个数据集梯度,因而需要较大的计算代价和存储空间。在线邻近梯度法(Online Proximal Gradient,OPG)是随即优化算法与临近梯度算法的结合,是一种典型的随机优化方法,以单个或小批量采样数据而实现数据实时处理。
考虑如下目标函数可分解为两部分的凸优化问题:
\begin{equation}\label{E1}
\min _{x} f(x)+g(x),
\end{equation}
其中$x$为优化变量,$f(x)$为光滑可微凸损失函数,$g(x)$是不可微的凸函数,一般为正则项。邻近梯度算法对其中的不可微项$g(x)$保持不变,可微项$f(x)$在$k$步迭代值$x_k$处做一阶Taylor展开,并加入二阶邻近项,对\eqref{E1}式的邻近梯度下降为:
\begin{aligned}
x_{k+1} &=\underset{u}{\arg \min } g(u)+f\left(x_{k}\right)+\nabla f\left(x_{k}\right)^{T}\left(u-x_{k}\right)+(1 / 2 \tau)\left\|u-x_{k}\right\|_{2}^{2} \\
&=\underset{u}{\operatorname{argmin}} g(u)+\frac{1}{2 \tau} \| u-\left.\left(x_{k}-t \nabla f\left(x_{k}\right)\right)\right|_{2} ^{2} \\
&=\operatorname{prox}_{\tau g}\left(x_{k}-\tau \nabla f\left(x_{k}\right)\right)
\end{aligned}
其中$\tau$为梯度步长,$\operatorname{prox}_{\tau g}(\cdot)$为邻近算子,根据$g(x)$形式有不同的定义,当$g(x)$为0时,邻近梯度算法退化为梯度下降算法;当$g(x)$为示性函数时,邻近算子为投影算符;当$g(x)$为$l_1$范数时,邻近算子为软阈值收缩算子。
在线邻近梯度下降法中,$f(x)$可以为不可微凸函数,将其利用次梯度线性化处理,同时也加入邻近项,可得:
\begin{equation}\label{E3}
x_{k+1}=\arg \min \left\{f_{k}^{T} x+g(x)+\left(1 / 2 \eta_{k}\right)\left\|x-x_{k}\right\|_{2}^{2}\right\}
\end{equation}
其中,次梯度$f_k$为$f(x)$的在$k$步迭代值$x_k$处近似,线性化处理目的是简化计算;$\left(1 / 2 \eta_{k}\right)\left\|x-x_{k}\right\|_{2}^{2}$为在$x_k$处的二次正则项,也称邻近项,目的是使得$x_{k+1}$和$x_{k}$相距较近,同时随着迭代收敛,$x_{k+1}$逐渐接近$x_{k}$,邻近项逐渐接近于0,所以可认为邻近项的目的是加快收敛,同时不会影响最终结果;$\eta_{k}>0$为邻近步长参数。



关于次梯度(Subgradient)



临近梯度下降算法(Proximal Gradient Method)的推导以及优势的更多相关文章
- 梯度下降算法(Gradient Descent)
近期在搞论文,须要用梯度下降算法求解,所以又一次整理分享在这里. 主要包含梯度介绍.公式求导.学习速率选择.代码实现. 梯度下降的性质: 1.求得的解和选取的初始点有关 2.能够保证找到局部最优解,由 ...
- 梯度下降算法(gradient descent)
简述 梯度下降法又被称为最速下降法(Steepest descend method),其理论基础是梯度的概念.梯度与方向导数的关系为:梯度的方向与取得最大方向导数值的方向一致,而梯度的模就是函数在该点 ...
- 梯度下降算法的一点认识(Ng第一课)
昨天开始看Ng教授的机器学习课,发现果然是不错的课程,一口气看到第二课. 第一课 没有什么新知识,就是机器学习的概况吧. 第二课 出现了一些听不太懂的概念.其实这堂课主要就讲了一个算法,梯度下降算法. ...
- Proximal Gradient Descent for L1 Regularization(近端梯度下降求解L1正则化问题)
假设我们要求解以下的最小化问题: $min_xf(x)$ 如果$f(x)$可导,那么一个简单的方法是使用Gradient Descent (GD)方法,也即使用以下的式子进行迭代求解: $x_{k+1 ...
- 梯度下降算法实现原理(Gradient Descent)
概述 梯度下降法(Gradient Descent)是一个算法,但不是像多元线性回归那样是一个具体做回归任务的算法,而是一个非常通用的优化算法来帮助一些机器学习算法求解出最优解的,所谓的通用就是很 ...
- Logistic回归Cost函数和J(θ)的推导(二)----梯度下降算法求解最小值
前言 在上一篇随笔里,我们讲了Logistic回归cost函数的推导过程.接下来的算法求解使用如下的cost函数形式: 简单回顾一下几个变量的含义: 表1 cost函数解释 x(i) 每个样本数据点在 ...
- 深度学习课程笔记(四)Gradient Descent 梯度下降算法
深度学习课程笔记(四)Gradient Descent 梯度下降算法 2017.10.06 材料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS1 ...
- flink 批量梯度下降算法线性回归参数求解(Linear Regression with BGD(batch gradient descent) )
1.线性回归 假设线性函数如下: 假设我们有10个样本x1,y1),(x2,y2).....(x10,y10),求解目标就是根据多个样本求解theta0和theta1的最优值. 什么样的θ最好的呢?最 ...
- 梯度下降算法(Gradient descent)GD
1.我们之前已经定义了代价函数J,可以将代价函数J最小化的方法,梯度下降是最常用的算法,它不仅仅用在线性回归上,还被应用在机器学习的众多领域中,在后续的课程中,我们将使用梯度下降算法最小化其他函数,而 ...
随机推荐
- linux开机报警无法进入系统
一.开机无法进入系统提示如下 二.输入"journactl"命令查看红色的日志提示什么错误 三.问题分析: 这是由于swap告警,根据报错信息可以分析出是这两个device设备访问 ...
- 关于JS精度缺失问题
问题描述 在Java后端传一个比较大的Long值的时候 前端接收值的时候会出现精度的缺失: 解决办法 添加一个转换类 点击查看代码 public class JacksonObjectMapper e ...
- 踩到一个关于分布式锁的非比寻常的BUG!
你好呀,我是歪歪. 提到分布式锁,大家一般都会想到 Redis. 想到 Redis,一部分同学会说到 Redisson. 那么说到 Redisson,就不得不掰扯掰扯一下它的"看门狗&quo ...
- 【hexo博客搭建】将搭建好的hexo博客部署到阿里云服务器上面(下)
一.部署到阿里云服务器 既然博客也已经成功在本地部署,然后主题也成功安装,接下来就可以部署到服务器上面了,如果你也想要魔改matery主题,可以去各种博客上面找一找大佬的教程,或者联系我,也可以让你少 ...
- Golang 的 `[]interface{}` 类型
Golang 的 []interface{} 类型 我其实不太喜欢使用 Go 语言的 interface{} 类型,一般情况下我宁愿多写几个函数:XxxInt, XxxFloat, XxxString ...
- 为什么列式存储会被广泛用在 OLAP 中?
大家好,我是大D. 不知是否有小伙伴们疑问,为什么列式存储会广泛地应用在 OLAP 领域,和行式存储相比,它的优势在哪里?今天我们一起来对比下这两种存储方式的差别. 其实,列式存储并不是一项新技术,最 ...
- 好客租房13-在jsx中使用javascript表达式
嵌入js表达式 数据存储在js中 语法{javascript表达式} 注意语法中是单大括号 不是双大括号 //导入react import React from "react&quo ...
- 137_Power BI 自定义矩阵复刻Beyondsoft Calendar
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 前两天我们用PBI原生的视觉制作了自定义的热力图,今天我们来复刻一个Beyondsoft Calendar 1. ...
- Flask框架实现登录注册功能(mysql数据库)
前言: 本例使用Flask框架完成登录和注册操作,包括前端(index.html,regist.html)和后端(app.py)两部分,前端页面不过多介绍,直接进入后端部分: 逻辑思路: 登录部分:运 ...
- python之名称空间与函数对象
目录 名称空间 内置名称空间 全局名称空间 局部名称空间 名称的查找顺序 作用域 global关键字 nonlocal关键字 函数名的多种用法 函数的嵌套 名称空间 名称空间就是变量名与变量值绑定关系 ...