logo

프락시멀 오퍼레이터 📂최적화이론

프락시멀 오퍼레이터

정의1

벡터공간 XXX\left\| \cdot \right\|_{X}라 하자. 함수 f:XRf : X \to \mathbb{R}에 대한 프락시멀 오퍼레이터proximal operator 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 point라고 한다.

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하다.

프락시멀 오퍼레이터를 사용하여 최적화문제를 푸는 알고리즘을 프락시멀 알고리즘proximal algorithm이라 한다. 다음의 것들이 있다.

성질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 ↩︎