如何使用投影梯度下降来解决这个有约束的优化问题?

计算科学 优化 凸优化 约束优化 牛顿法
2021-12-16 14:22:11

假设并且,那么我怎样才能找到向量使得 的最小化约束 (因此)使用投影梯度下降?qAq,pRNARNxNp

(qp)TA(qp)
i=1N|pi|1||p||11

的约束下应用投影梯度下降||p||1=1

我可以找到成本函数本身的梯度,但是鉴于“更新”的值,我需要通过将它投影到,这就是我想要的,是将更新后的 p 值投射到可行空间中,但我不确定我该如何去做那部分。pargminp(||pp||)p

3个回答

的投影没有封闭形式的表达式;它也不是一个组件操作。原则上,对于上的投影 其中软阈值(或软收缩)算子,对于是由 1αB1α>0

Π(x)={xx1αSλ(x)(x)x1>α
Sλλ>0
[Sλ(x)]i={xiλxiλ0|xi|λxi+λxiλ
λ(x)>0必须选择使得或者,等效地, 这是一个标量(但不可微)求根问题,可以使用二分法解决,该算法在 Maziar Sanjabi 的答案中的链接中给出(这是一种基于对向量的分量进行分区的有效实现)或半光滑牛顿法方法(或其任何组合)。Sλ(x)x1=α
imax{|xi|λ(x),0}=α.
x

所以你想解决

minp11f(q).
如果是对称正半定的,这是一个具有凸约束的平滑凸目标,因此,这可以通过迭代 的投影梯度来完成 其中上的正交投影这个预测可以很快计算出来,并且基本上每年都会重新发现这个算法。Maziar Sanjabi 已经给出了一个很好的来源的链接。是步长,您可以使用t_nf(p)=(pq)TA(pq)A
pn+1=P(pntn2A(pnq))
P{p11}tntn=1/(2A)(如果我没有记错的话)。如果这很慢,那么廉价的加速就是加速投影梯度下降(又名 FISTA 或 Nesterov 的加速梯度法)。

您可以使用以下论文中的算法将梯度更新投影到 l1 范数球: https ://stanford.edu/~jduchi/projects/DuchiShSiCh08.pdf