流形優化方法求解約束問題 - 知乎

最近幾年,流形優化方法(或者叫黎曼優化)算是比較熱門的,它提供了一個新的角度去求解和分析一類特殊的約束優化問題,也就是流形約束優化問題。算法

這篇文章的目的是讓你們對這個方向有個大概的理解。詳細的入門書籍建議看【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).

相關文章
相關標籤/搜索