临近梯度下降算法(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最小化的方法,梯度下降是最常用的算法,它不仅仅用在线性回归上,还被应用在机器学习的众多领域中,在后续的课程中,我们将使用梯度下降算法最小化其他函数,而 ...
随机推荐
- Python获取文件夹下的所有文件名
1 #获取文件夹内的图片 2 import os 3 def get_imlist(path): 4 return [os.path.join(path,f) for f in os.listdir( ...
- input 标签的 pattern 属性
定义和用法 pattern 属性规定用于验证输入字段的模式. 模式指的是正则表达式. 注释:pattern 属性适用于以下 <input>类型:text, search, url, tel ...
- python学习-Day32
目录 今日内容详细 软件开发架构 概念 软件开发架构的分类 C/S架构 B/S架构 两种架构的优缺点 C/S架构: B/S架构: tip 网络编程 概念 互联网 互联网协议 OSI七层协议简介 专业设 ...
- 轮播——swiper
swiper组件 1.轮播数据是使用ajax进行填充的话,可能数目是0~n,在数目是1时,轮播会出现一些问题(出现空白侧),这时需作出判断(一张图片不滑动,多张就就行滑动),方法如下(以下方法中,si ...
- 如何使用Python实现图像融合及加法运算?
摘要:本篇文章主要讲解Python调用OpenCV实现图像融合及加法运算,包括三部分知识:图像融合.图像加法运算.图像类型转换. 本文分享自华为云社区<[Python图像处理] 五.图像融合.加 ...
- Web Api源码(路由注册)
这篇文章只是我学习Web API框架的输出,学习方法还是输出倒逼输入比较行得通,所以不管写的好不好,坚持下去,肯定有收获.篇幅比较长,仔细思考阅读下来大约需要几分钟. 做.NET开发有好几年时间了,从 ...
- 811. Subdomain Visit Count - LeetCode
Question 811. Subdomain Visit Count Example 1: Input: ["9001 discuss.leetcode.com"] Output ...
- 成本节省 50%,10 人团队使用函数计算开发 wolai 在线文档应用
作者: 马锐拉 我们的日常工作场景几乎离不开"云文档".目前,人们对于文档的需求再不仅仅是简单的记录,而扩展到办公协同.信息组织.知识分享等.在国内众多在线文档中,wolai 因为 ...
- java 5种IO模型
每日一句 人的痛苦会把自己折磨到多深呢? 每日一句 You cannot swim for new horizons until you have courage to lose sight of t ...
- 带你学习MindSpore中算子使用方法
摘要:本文分享下MindSpore中算子的使用和遇到问题时的解决方法. 本文分享自华为云社区<[MindSpore易点通]算子使用问题与解决方法>,作者:chengxiaoli. 简介 算 ...