次梯度法
维基百科,自由的百科全书
次梯度法是求解凸函数最优化问题的一种迭代法. 次梯度法能够用于不可微的目标函数. 当目标函数可微时, 对于无约束问题次梯度法与梯度下降法具有同样的搜索方向.
虽然在实际的应用中, 次梯度法比内点法和牛顿法慢得多, 但是次梯度法可以直接应用于更广泛的问题, 次梯度法只需要很少的存储需求. 然而, 通过将次梯度法与分解技术结合, 有时能够开发出问题的简单分配算法.
目录 |
基本次梯度算法[编辑]
记
为定义在
上的凸函数. 次梯度算法使用以下的迭代格式
其中
表示函数
at
的次梯度. 如果
可微, 他的次梯度就是梯度向量
. 有时,
不是函数
在
处的下降方向. 因此采用一系列可能的
来追踪目标函数的极小值点, 即
步长的选取[编辑]
次梯度方法有许多可采用的步长. 以下为 5 种能够保证收敛性的步长规则
- 恒定步长,

- 恒定间隔,
, 得出 
- 步长平方可加, 但步长不可加, 即步长满足
- 步长不可加但步长递减, 即步长满足
- 间隔不可加但间隔递减, 即
, 其中
注意: 上述步长是在算法执行前所确定的, 不依赖于算法运行过程中产生的任何数据. 这是与标准梯度下降法的显著区别.
收敛结果[编辑]
对于恒定间隔的步长以及恒定步长, 次梯度算法收敛到最优值的某个邻域, 即
基本次梯度算法的性能较差,因此一般的优化问题并不推荐使用。
有约束最优化[编辑]
投影次梯度算法[编辑]
次梯度法的一个扩展版本是投影次梯度法, 该方法用于求解有约束最优化问题
- 最小化

其中
为凸集. 投影次梯度算方法的迭代公式为
其中
是在
上的投影,
是在点
处
的次梯度.
一般约束问题[编辑]
次梯度法可扩展到求解求解不等式约束问题
- 最小化

其中
为凸函数. 该算法与无约束优化问题具有相同的形式
其中
是步长,
是目标函数或约束函数在
处的次梯度
其中
代表
的次微分. 如果当前点为可行点, 算法采用目标函数的次梯度, 否则采用任一违反约束的函数的次微分.
参考资料[编辑]
- Bertsekas, Dimitri P.. Nonlinear Programming. Cambridge, MA.: Athena Scientific. 1999. ISBN 1-886529-00-0.
- Shor, Naum Z.. Minimization Methods for Non-differentiable Functions. Springer-Verlag. 1985. ISBN 0-387-12763-1.



, 得出 


, 其中




