近端梯度下降法是众多梯度下降 (gradient descent) 方法中的一种,其英文名称为proximal gradident descent,其中,术语中的proximal一词比较耐人寻味,将proximal翻译成“近端”主要想表达"(物理上的)接近"。与经典的梯度下降法和随机梯度下降法相比,近端梯度下降法的适用范围相对狭窄。对于凸优化问题,当其目标函数存在不可微部分(例如目标函数中有 1. 特定的凸优化问题一般而言,近端梯度下降法常用于解决以下这类优化问题: 假设目标函数 2. 以线性回归问题为例给定 其中, 2.1 近端算子 (proximal operator)一般来说,对于任意向量 其中, 这条公式想表达的意思是:对于任意给定的 当不可微的凸函数的形式为 如公式(2),当 公式(4)给出的软阈值函数恰好与公式(2)中的目标函数相对应。至于为什么软阈值函数的形式是这样,Derivation of the soft thresholding operator中给出了简单详细的推导过程。 2.2 近端梯度下降 (proximal gradient descent)对于优化问题 其中,变量上标的 迭代递推公式证明过程(涉及知识:泰勒展开): 2.3 线性回归问题的迭代过程回到公式(1),我们定义了函数 由于 这条更新公式通常也被称为迭代软阈值算法 (iterative soft-thresholding algorithm, ISTA)。 众所周知,如果将这里的 其中, 当然,这里还有一个很值得思考的问题: 对于上述线性回归问题,为何选用近端梯度下降法,而非次梯度 (subgradient descent) 下降法呢? 实际上,次梯度下降法也能求解这种线性回归问题。一般而言,对于损失函数 我们可以得到正则项的梯度为 相应地,损失函数的次梯度为 与梯度下降法类似,我们可以用次梯度下降法使得损失函数最小化。但仔细看一下损失函数次梯度的表达式 3. 相关参考[1] Proximal Gradient Descent (by Ryan Tibshirani from CMU):http://stat.cmu.edu/~ryantibs/convexopt/lectures/prox-grad.pdf [2] Why proximal gradient descent instead of plain subgradient methods for Lasso? [3] Why doesn't subgradient descent give sparse solutions to the Lasso? 编辑于 2019-11-27
|
|
收敛速度稍慢,理论收敛阶1/n。对于l1极小化问题,临(邻)近梯度法(pg)即为ista。采用加速版本的ista即fista算法可以到1/n2。
|
https://www.google.com.hk/search?q=%E8%BF%91%E7%AB%AF%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D
临近算子是对梯度的延伸,当函数 f 为光滑函数时,该临近算子就是梯度。
https://blog.csdn.net/qq547276542/article/details/78251779
http://roachsinai.github.io/2016/08/03/1Proximal_Method/
讲得详细
Frank-Wolfe方法将线性约束最优化问题转化为一系列线性规划问题和一维搜索问题求解。可以证明,当f具有连续一阶偏导数,且可行域S有界,Frank-Wolfe方法是收敛的。
https://www.cnblogs.com/cx2016/p/12926182.html
所以这个示意图还是不错的