logo

近接作用素 📂最適化理論

近接作用素

定義1

ベクトル空間 XXノルムX\left\| \cdot \right\|_{X}とする。関数f:XRf : X \to \mathbb{R}に対する プロキシマルオペレーター proxλf:X2X\operatorname{prox}_{\lambda f} : X \to 2^{X}を次のように定義する。λ>0\lambda > 0に対して、

proxλf(x):=arg minv{λf(v)+12vxX2:vX}=arg minv{f(v)+12λvxX2:vX} \begin{align} \operatorname{prox}_{\lambda f} (\mathbf{x}) &:= \argmin\limits_{\mathbf{v}} \left\{ \lambda f(\mathbf{v}) + \dfrac{1}{2}\left\| \mathbf{v} - \mathbf{x} \right\|_{X}^{2} : \mathbf{v} \in X \right\} \\ &= \argmin\limits_{\mathbf{v}} \left\{ f(\mathbf{v}) + \dfrac{1}{2\lambda}\left\| \mathbf{v} - \mathbf{x} \right\|_{X}^{2} : \mathbf{v} \in X \right\} \nonumber \end{align}

arg min\argmin最適解を意味する。

わかりやすい定義

上記の定義が難しい場合は、次のように理解しても構わない。関数f:RnRf : \mathbb{R}^{n} \to \mathbb{R}に対するプロキシマルオペレーターproxλf:RnRn\operatorname{prox}_{\lambda f} : \mathbb{R}^{n} \to \mathbb{R}^{n}を次のように定義する。

proxλf(x):=arg minv{λf(v)+12vx22:vRn} \operatorname{prox}_{\lambda f} (\mathbf{x}) := \argmin\limits_{\mathbf{v}} \left\{ \lambda f(\mathbf{v}) + \dfrac{1}{2}\left\| \mathbf{v} - \mathbf{x} \right\|_{2}^{2} : \mathbf{v} \in \mathbb{R}^{n} \right\}

説明 2

定義(1)(1)によるとproxλf(x)\operatorname{prox}_{\lambda f} (\mathbf{x})ffの関数値を最小化することとx\mathbf{x}に近づくことの間の妥協点を意味する。つまり、x\mathbf{x}の近辺でffの値を最も小さくする点であると言える。ffを最適化する問題にある種の正則化を添加したものと見ることができる。λ\lambdaの値によって、どの項を減らすことにより大きい価値を置くかが決まる。点proxλf(x)\operatorname{prox}_{\lambda f} (\mathbf{x})ffに対するx\mathbf{x}プロキシマルポイント という。

proximalは「近接の」、「近い」という意味だが、proxλf(x)\operatorname{prox}_{\lambda f} (\mathbf{x})x\mathbf{x}に近い点の中でffの最適解を見つけるという意味でproximalと名付けられたようだ。

proxλf()\operatorname{prox}_{\lambda f} (\cdot)の計算が容易な関数ffprox friendly という。

X=RnX = \mathbb{R}^{n}の場合にはff凸関数であればproxλf(x)\operatorname{prox}_{\lambda f} (\mathbf{x})は一意uniqueである。

プロキシマルオペレーターを使用して最適化問題を解くアルゴリズムを プロキシマルアルゴリズム という。以下が含まれる。

性質3

  • Separable sum: 関数fff(u,v)=ϕ(u)+ψ(v)f(\mathbf{u}, \mathbf{v}) = \phi (\mathbf{u}) + \psi (\mathbf{v})のように区切れる場合、次が成り立つ。 proxλf(x,y)=(proxλϕ(x),proxλψ(y)) \operatorname{prox}_{\lambda f} (\mathbf{x}, \mathbf{y}) = (\operatorname{prox}_{\lambda \phi} (\mathbf{x}), \operatorname{prox}_{\lambda \psi} (\mathbf{y})) 二つ以上の変数に対してf(x)=infi(xi)f(x) = \sum_{i}^{n}f_{i}(x_{i})のように完全に区切られる場合は、 (proxλf(x))i=proxλfi(xi) (\operatorname{prox}_{\lambda f} (x))_{i} = \operatorname{prox}_{\lambda f_{i}} (x_{i})
  • Postcomposition: f(x)=αϕ(x)+bf(\mathbf{x}) = \alpha \phi (\mathbf{x}) + bα>0\alpha \gt 0に対して次が成り立つ。 proxλf(x)=proxαλϕ(x) \operatorname{prox}_{\lambda f} (\mathbf{x}) = \operatorname{prox}_{\alpha \lambda \phi} (\mathbf{x})
  • Precomposition: f(x)=ϕ(αx+b)f(\mathbf{x}) = \phi (\alpha \mathbf{x} + b)α0\alpha \ne 0に対して次が成り立つ。 proxλf(x)=1α(proxα2λϕ(αx+b)b) \operatorname{prox}_{\lambda f} (\mathbf{x}) = \dfrac{1}{\alpha}\left( \operatorname{prox}_{\alpha^{2} \lambda \phi} (\alpha \mathbf{x} + b) - b \right) f(x)=ϕ(Qx)f(\mathbf{x}) = \phi (Q \mathbf{x})でありQQ直交である場合、次が成り立つ。 proxλf(x)=QTproxλϕ(Qx) \operatorname{prox}_{\lambda f} (\mathbf{x}) = Q^{T}\operatorname{prox}_{\lambda \phi} (Q\mathbf{x})
  • Affine addition: f(x)=ϕ(x)+aTx+bf(\mathbf{x}) = \phi (\mathbf{x}) + \mathbf{a}^T\mathbf{x} + bに対して次が成り立つ。 proxλf(x)=proxλϕ(xλa) \operatorname{prox}_{\lambda f} (\mathbf{x}) = \operatorname{prox}_{\lambda \phi} (\mathbf{x} - \lambda \mathbf{a})
  • Regularization: f(x)=ϕ(x)+ρ2xa22f(\mathbf{x}) = \phi (\mathbf{x}) + \frac{\rho}{2} \left\| \mathbf{x} - \mathbf{a} \right\|_{2}^{2}に対して次が成り立つ。 proxλf(x)=proxλ~ϕ((λ~/λ)x+(ρλ~)a) \operatorname{prox}_{\lambda f} (\mathbf{x}) = \operatorname{prox}_{\tilde{\lambda} \phi} ((\tilde{\lambda}/\lambda)\mathbf{x} + (\rho \tilde{\lambda}) \mathbf{a}) この時、λ~=λ/(1+λρ)\tilde{\lambda} = \lambda / (1+\lambda \rho)である。

  1. Parikh, Neal, and Stephen Boyd. “Proximal algorithms.” Foundations and trends® in Optimization 1.3 (2014), p3. ↩︎

  2. https://web.eecs.umich.edu/~fessler/course/598/l/n-05-prox.pdf ↩︎

  3. https://web.stanford.edu/~boyd/papers/pdf/prox_algs.pdf Ch2 Properties ↩︎