1. 单个算子
从算子的角度来解释一阶算法,令为一个算子,我们求解问题:找到
使得
满足,对应于最优化问题,我们可以令
, 这样问题
就等价于求解
,那么怎么找到这样的
呢。 我们寻找一种迭代策略,即找到一种算子F,已知
, 令
这种F满足当 有
。于是我们只要寻找满足这种条件的算子即可。接下来介绍几个算法
- Forward Operator
=>>>
等价于梯度算法(Gradient Method)。
- Backward Operator
=>>>
将算子的逆化简,进一步转化为:
移项得到:
等价于临近点方法(Proximal Point Method)。
- Reflection Operator
=>>>>>>
移项得到:
对应到最优化问题上即为在k+1步求解以下问题
等价于梯度方法和临近点方法的交替。
2. 多个算子
考虑问题:
该问题类似于最优化可分离问题
- Forward-Backward Splitting Operator
=>>>>>>>
将中间的两个算子代入得到
转化为最优化问题的形式:
等价于临近梯度算法(Proximal Gradient Method)。
- Backward-Forward Splitting Operator
=>>>>>>>>>>>
将中间的两个算子代入得到
转化为最优化问题的形式:
也等价于临近梯度算法。
- Peaceman-Rachford Splitting Operator
=>>>>>>>>>>>>
转化为最优化问题的形式:
- Douglas-Rachford Splitting (DRS) Operator
- Davis-Yin Three-operator Splitting Operator
持续更新中..........
介绍完算子,接下来从问题入手来介绍这些算子实际的用法以及和已知算法的关系。
1.首先考虑一般的无约束凸优化问题:
Gradient Descent Method 有如下迭代形式:
令 , 上面式子等价于Forward Operator.
2.还是考虑无约束凸优化问题:
Proximal Point Algorithm 有如下形式:
所以PPA等价于Backward Operator。
3.考虑可分离凸问题:
Proximal Gradient Algorithm有如下形式:
PGA等价于Forward Backward Operator。
4.考虑线性约束凸问题:
未完待续..........