流形优化方法求解约束问题 - 知乎

最近几年,流形优化方法(或者叫黎曼优化)算是比较热门的,它提供了一个新的角度去求解和分析一类特殊的约束优化问题,也就是流形约束优化问题。算法

这篇文章的目的是让你们对这个方向有个大概的理解。详细的入门书籍建议看【1】【2】app

另外综述文章看【3】还有一些博士论文:【4】【5】.ide

一句话归纳就是:传统的优化方法是在欧式空间考虑问题,而流形优化是在黎曼流形中考虑问题,这个黎曼流形哪来的呢?约束给的!也就是把欧式空间的约束当作是一个流形。函数

1、流形约束问题

1.问题阐述flex

流形约束优化问题是指一类特殊的约束优化问题,它的约束具备流形结构。考虑通常的问题:优化

 \begin{split} \min_x & f(x) ,~~\mbox{s.t. }  x\in\mathcal{M}.  \end{split}  \\ 其中 \mathcal{M} 表示流形约束。这个问题你能够简单的把它当作是约束问题,而后用传统的一些针对约束优化问题的优化方法去求,好比罚方法,增广拉格朗日方法等等。为何有了这些方法还有去弄个流形优化方法出来,由于首先流行约束一般非凸,收敛性很难保证,其次这些方法不能保证迭代点老是知足约束,最后,流形约束是有结构的,这些方法没有去探索这些结构信息。以上说的三点正是流形优化的三个优势:url

  • 全部迭代点保持约束可行性,也就是老是在流形 \mathcal{M} 上。
  • 流形优化将问题(1)理解为流形上的无约束优化问题,便于分析收敛性。
  • 利用了流形约束自己的结构信息。

2.流形约束的例子spa

接下来介绍一下常见的 \mathcal{M} 有哪些设计

  • Stiefel manifold: \mbox{St}(p,n) = \{X\in\mathbb{R}^{n\times p}| X^TX = I_p\}
  • Grassmann manifold: \mbox{Gr}(p,n) :all p -dimensional subspaces of \mathbb{R}^n
  • Symmetric positive definite manifold: S_{++}(r) = \{X\in\mathbb{R}^{r\times r} | X^T=X,X\succ 0\}
  • Fixed-rank manifold: \mathbb{R}^{m\times n}_r = \{X\in\mathbb{R}^{m\times n} | \mbox{rank}(X)=r\}

3.问题的例子3d

  • 稀疏主成分分析

\begin{equation}\label{chap1.2-matspca}\left\{   \begin{split}      \min_{X\in\mathbb{R}^{n\times r}} &  -tr(X^TA^TAX) + \mu \|X\|_1, \\      \mbox{s.t. }~~ & X^TX = I_r.   \end{split}\right. \end{equation} \\

  • Finding the sparsest vector in subspace

\begin{equation}   \min_x \|Qx\|_1, ~~ \mbox{s.t. } x^Tx=1, \end{equation} \\

  • 典型相关性分析

\begin{equation}\label{chap1.2-cca}\left\{ \begin{split} \max_{u, v}~& u^{T}X^{T}Yv, \\ \mbox{s.t.} & \quad u^{T}X^{T}Xu=1, v^{T}Y^{T}Yv=1. \end{split}\right. \end{equation}\\

  • 鲁棒低秩矩阵恢复

  \begin{equation}     \begin{split}       \min_X & \|P_{\Omega}(X-M)\|_1 \\       \mbox{s.t.} & X\in\mathcal{M}_r: = \{X | \mbox{ rank }(X) = r\}     \end{split}   \end{equation} \\

2、预备知识

在欧式空间中的优化方法已经很成熟,对于在流形上设计优化方法,一切在欧式空间中看起来理所应当的东西在黎曼流形上却不成立,所以咱们须要从新定义。

1.黎曼流形

引用wen huang的一句话解释:

"Roughly, a Riemannian manifold \mathcal{M} is a smooth set with a smoothly-varying inner product on the tangent spaces."

2.黎曼梯度

由于咱们要设计优化方法,梯度是最重要的,咱们要定义流形上的梯度,称为黎曼梯度,而且限制在切空间上。

Riemannian Gradient: \mbox{grad} f(x) \in T_x\mathcal{M} is denoted as the unique tangent vector satisfying

  \left< \mbox{grad}f(x), \xi \right>_x = df(x)[\xi], \mbox{ for any }\xi\in T_x\mathcal{M}. \\

为何要在切空间上考虑梯度,由于切空间是线性子空间,性质好。能够将切空间理解为流形在某个点的线性逼近,所以只要邻域足够小,切空间和流形的差能够获得控制。

3.收缩算子

有了负梯度,接下来是怎么往前走一步,假设咱们有了 x^k\in \mathcal{M} ,和该点的黎曼梯度: \mbox{grad}f(x^k) ,咱们如何获得 x^{k+1}\in \mathcal{M} ,若是是像欧式空间同样:

x^{k+1} = x^k  -  \alpha \mbox{grad}f(x^k) \\这不能保证迭代点还在流形上,也就是说不知足约束条件。所以咱们定义流形上的”加法“

Retraction:A retraction on a manifold \mathcal{M} is a smooth mapping R:T\mathcal{M}\rightarrow \mathcal{M} with the following properties. Let R_x:T_x\mathcal{M} \rightarrow \mathcal{M} denote be the restriction of $R$ to T_x\mathcal{M}

  1. R_x(0_x) = x , where 0_x the zero element of T_x\mathcal{M}
  2. dR_x(0_x) = id_{T_x\mathcal{M}} ,where id_{T_x\mathcal{M}} is the identity mapping on T_x\mathcal{M}

对于不一样的流形有不一样的收缩算子,而且对于某个流形能够有多个算子。在欧式空间中,收缩算子就是传统意义下的加法。

有了这两个定义,咱们就能够很轻松的设计出黎曼梯度方法,基本迭代为:

x_{k+1} = R_{x_k}(-\alpha_k\mbox{grad}f(x_k)) \\

咱们来比较下传统梯度和黎曼梯度的区别:

4.向量转移算子

在黎曼流形中,不一样点的梯度位于该点的切空间上,那么问题来了,不一样点的黎曼梯度如何去比较?好比 \mbox{grad}f(x^k)\mbox{grad}f(x^{k+1}) ,这两个不在同一个切空间上。这里的解决方案是,咱们把其中一个”平移“到另外一个的切空间上。因而有了这个算子:

这个算子在共轭梯度方法中会用到。

vector transport

3、流形优化方法

1.黎曼梯度方法

x_{k+1} = R_{x_k}(-\alpha_k\mbox{grad}f(x_k)) \\

和传统梯度方法同样,其中的步长能够有不一样的选择,好比线搜索,BB步长等

2.黎曼共轭梯度

\left\{ \begin{split} x^{k+1}&=R_{x^k}(\alpha_k \eta^k) \\ \eta^{k+1} &= -\mbox{grad}f(x^{k+1}) + \beta_{k+1} \mathcal{T}_{\alpha_k \eta^k}(\eta^k ) \end{split} \right. \\

注意到第二步,由于 \mbox{grad}f(x^{k+1})  \in T_{x^{k+1}} \mathcal{M}\eta^k \in T_{x^k} \mathcal{M} 不在同一个切空间上,没办法做比较,因此咱们对 \eta^k 用了向量转移算子,使得他们保持在同一个切空间。

二阶方法比较复杂一点,下次再补上。

4、总结

流形优化用于求解一类约束优化问题,将欧式空间中的约束优化问题转化为黎曼流形上的无约束优化问题。关于欧式空间下优化理论的不少东西都能扩展过来,好比函数的凸性,光滑性等等。

  • 流形优化方法并不能求解全部的约束优化,只限于那些能够当作是黎曼流形的约束,好比前面提到的正交约束,对称正定约束,低秩约束等等。
  • 欧式空间的临近类算法不太好扩展到黎曼流形,至少在计算方面,由于在欧式空间下“临近友好”这个性质扩展到黎曼流形下就没有了。


黎曼优化zhuanlan.zhihu.com图标


参考文献

【1】 Absil, P-A., Robert Mahony, and Rodolphe Sepulchre.Optimization algorithms on matrix manifolds. Princeton University Press, 2009.

【2】Nicolas Boumal. An introduction to optimization on smooth manifolds. 2020.

【3】Hu, Jiang, Xin Liu, Zai-Wen Wen, and Ya-Xiang Yuan. "A brief introduction to manifold optimization."Journal of the Operations Research Society of China(2019): 1-50.

【4】Zhang, Hongyi. "Topics in non-convex optimization and learning." PhD diss., Massachusetts Institute of Technology, 2019.

【5】Huang, Wen. "Optimization algorithms on Riemannian manifolds with applications." (2013).

相关文章
相关标签/搜索