[Week 3] Sub-gradient Method [2]

ESC·2023년 12월 13일
0

2023-Spring

목록 보기
5/9

1. Polyak’s Step Length

이번 포스트에서는 먼저 Polyak이 제안한 step length 선택 방법에 대해 알아볼 예정이다. Optimal value인 ff^\star를 알 때, 아래와 같은 step size를 선택할 수 있다.

αk=f(x(k))fg(k)22\alpha_k=\dfrac{f(x^{(k)})-f^\star}{||g^{(k)}||^2_2}

어떻게 이러한 step size가 도출되는 것일까? 아래의 식을 보자.

f(x(k)αg(k))f(x(k))+g(k)T(x(k)αg(k)x(k))=f(x(k))αg(k)Tg(k)f(x^{(k)}- \alpha g^{(k)}) \approx f(x^{(k)})+g^{(k)T}(x^{(k)}-\alpha g^{(k)}-x^{(k)})=f(x^{(k)})-\alpha g^{(k)T}g^{(k)}

좌변을 ff^*로 대체하고 α\alpha에 대해 정리하면 위와 같은 step length가 얻어지는 것을 확인할 수 있다. 나아가 지난 포스트에서 확인했던 식 2i=1kαi(f(xi)f)R2+i=1kαi2g(i)222 \sum ^k _{i=1} \alpha_i (f(x_i)-f^*) \leq R^2 + \sum ^k _{i=1} \alpha ^2_i ||g^{(i)}||^2_2 의 step size 자리에 αk\alpha_k를 대입하고 정리함으로써 Convergence를 확인할 수 있다.

i=1k(f(x(i))f)2R2G2f(x(k))f\sum\limits^k_{i=1} (f(x^{(i)})-f^\star)^2 \le R^2G^2 \Rightarrow f(x^{(k)}) \rightarrow f^*

또한 suboptimality인 ϵ\epsilon 을 보장하는 steps의 수는 k=(RG/ϵ)2k=(RG/\epsilon)^2 이다.


2. Polyak step size choice with estimated ff^*

위의 step size αk\alpha_kff^*를 알아야 계산될 수 있는데, 이번에는 이 optimal value를 fbestγkf_{\text{best}}-\gamma^k로 estimate 하는 방법에 대해 다루고자 한다. 이때 γk\gamma^kγk>0,\gamma^k \gt 0, γk0\gamma^k\rightarrow 0를 만족한다.

step size : αk=f(x(k))fbest(k)+γkg(k)22,\alpha_k=\dfrac{f(x^{(k)})-f^{(k)}_{\text{best}}+\gamma_k}{||g^{(k)}||^2_2}, (k=1γk=)(\sum^{\infin}_{k=1}\gamma_k=\infin)

이때의 γk\gamma_k 는 현재 point의 estimate of suboptimal 이며, k=1γk=\sum^{\infin}_{k=1}\gamma_k=\infin을 만족한다. 그렇다면 fbest(k)ff_{\text{best}}^{(k)} \rightarrow f^\star 이 만족된다. 이번에도 수렴성을 살펴보자.

R2i=1k(2αi(f(x(i))f)αi2g(i)22)=i=1k2(f(x(i))fbest(i)+γi)(f(x(i))f)(f(x(i))fbest(i)+γi)2g(i)22=i=1k(f(x(i))f(i)best+γi)((f(x(i))f)+(fbest(i)f)γi)g(i)22=S\begin{aligned} R^2 &\geq \sum ^{k}_{i=1} (2 \alpha_i (f(x^{(i)})-f^*)-\alpha_i^2 || g^{(i)} || ^2_2) \\ &= \sum ^{k}_{i=1} \frac{2(f(x^{(i)})-f^{(i)}_{\mathsf{best}}+ \gamma_i)(f(x^{(i)})-f^*)-(f(x^{(i)})-f^{(i)}_{\mathsf{best}} + \gamma_i)^2}{||g^{(i)}||^2_2} \\ &= \sum^{k}_{i=1}\dfrac{(f(x^{(i)})-f^{(i)}{\text{best}}+\gamma_i)((f(x^{(i)})-f^*)+(f^{(i)}_{\text{best}}-f^*)-\gamma_i)}{||g^{(i)}||^2_2} = S \end{aligned}

만약 fbest(k)fϵ>0f^{(k)}_{\mathsf{best}}-f^* \geq \epsilon > 0 라면 i=1,...,ki=1, ..., k에 대해 f(x(i))fϵf(x^{(i)})-f^* \geq \epsilon가 만족되고, 이는 곧 (f(x(i))f)+(fbest(i)f)γiϵ(f(x^{(i)})-f^*)+(f^{(i)}_{\text{best}}-f^*)-\gamma_i \geq \epsilon을 암시한다. 이때 위의 합을 쪼갬으로써 아래와 같은 관계식을 도출할 수 있다.

i=Nk(f(x(i))f(i)best+γi)((f(x(i))f)+(fbest(i)f)γi)g(i)22R2S\sum^k_{i=N}\dfrac{(f(x^{(i)})-f^{(i)}{\text{best}}+\gamma_i)((f(x^{(i)})-f^*)+(f^{(i)}_{\text{best}}-f^*)-\gamma_i)}{||g^{(i)}||^2_2} \leq R^2-S

이제 f(x(i))fbest(i)+γiγif(x^{(i)})-f^{(i)}_\mathsf{best}+ \gamma_i \geq \gamma_ig(i)22G||g^{(i)}||^2_2 \leq G를 이용하여 수렴성을 최종적으로 확인하자.

(ϵ/G2)i=NkγiR2S(\epsilon/G^2)\sum\limits^k_{i=N} \gamma_i \le R^2-S

이때 좌변이 \infin 으로 converge하고 우변이 변수 kk에 대한 식이 아니므로 kk는 너무 클 수 없다.

Piecewise linear example을 Polyak’s step size로 진행한 sub-gradient method의 결과이다. 문제를 풀기 전에는 ff^\star 의 값을 모르기 때문에 사실 현실적인 문제들에 적용하기는 어렵다. 또한 수렴 속도가 꽤 느린 것을 관찰할 수 있다.

똑같은 문제의 optimal step size와 estimated step size에 대한 fbestkf^k_{\text{best}} 를 보여준다. Estimated optimal value를 사용한 Polyak step size가 known optimal value의 step size만큼 좋은 결과를 보이고 있다.


3. Alternating Projection

Alternating projections method는 convex sets들의 intersection에 있는 점을 찾는 기법으로, 이 과정에서 Polyak’s step이 어떻게 사용되는지를 설명하고자 한다.

C1,...,CmRnC_1,...,C_m \sube \bold R^n 이 closed and convex한 sets일 때, C=C1CmC=C_1\cap \cdots \cap C_m 에 있는 점을 찾는 문제는 다음 함수를 minimizing함으로써 풀 수 있다.

f(x)=max{dist(x,C1),,dist(x,Cm)}f(x)=\max \{\bold{dist}(x,C_1),…,\bold{dist}(x,C_m) \}

이때 f(x)f(x)는 convex하고 f=0f^\star=0 이라는 minimum value를 갖는다. 그리고 ffxx에서의 sub-gradient gg를 찾는 방법은 다음과 같다. (f(x)=0(f(x)=0 이면 g=0g=0 이다))

g=dist(x,Cj)=xCj(x)xCj(x)2g=\nabla\bold{dist}(x,C_j)=\dfrac{x-\prod_{C_j}(x)}{||x-\prod_{C_j}(x)||_2}

이때 Cj\prod_{C_j}CjC_j로의 Euclidean projection이고 g2=1||g||_2=1 이므로 G=1G=1 이다. jjx(k)x^{(k)}CjC_j에 최대 거리를 가지는 index라 정의하고, 앞에서 나온 step size 식을 활용하여 sub-gradient algorithm을 update하면 다음과 같은 결과를 얻는다.

x(k+1)=x(k)αkg(k)=x(k)f(x(k))xCj(x)xCj(x)2=Cj(x)\begin{aligned} x^{(k+1)} &=x^{(k)}-\alpha_kg^{(k)} \\ &= x^{(k)} -f(x^{(k)}) \dfrac{x-\prod_{C_j}(x)}{||x-\prod_{C_j}(x)||_2} \\ &= \prod_{C_j}(x) \end{aligned}

이때 두 번째 줄에서 g(k)2=1||g^{(k)}||_2=1f=0f^\star=0 을 사용하면 다음과 같은 식을 얻는다.

f(x(k))=dist(x(k),Cj)=x(k)Cj(x(k))2f(x^{(k)})=\bold{dist}(x^{(k)},C_j)=||x^{(k)}-\prod_{C_j}(x^{(k)})||_2

이는 현재의 점을 가장 먼 set에 projection 시키는 간단한 알고리즘이다. Alternating projections algorithm의 확장판이라고 생각하면 된다. 유의해야 할 것은, f(x(k))f=0f(x^{(k)}) \rightarrow f^\star=0 은 보장되지만 CC 안에 있는 정확한 점을 찾는 것은 보장되지 않는다는 점이다. 교재에서는 이를 해결하기 위한 크게 두 가지의 방법을 제시하고 있다.

(1) Closed sets인 Ci~intCi\tilde{C_i}\sube \bold{int}C_i 를 사용하여, x(k)C~=C1~Cm~x^{(k)}\rightarrow \tilde{C}=\tilde{C_1}\cap \cdots \cap \tilde{C_m} 이 만족된다면 x(k)Cx^{(k)}\in Ckk가 존재함을 이용한다.

(2) 각 step에 over-projection을 한다. 즉 CC에 radius ϵ\epsilon인 Euclidean ball을 있다고 가정하면 Euclidean ball의 center인 현재의 점을 가장 먼 set에 project 하면서 ϵ\epsilon 을 바꿀 수 있다.

x(k+1)=Cj(x(k))ϵx(k)Cj(x(k))x(k)Cj(x(k))2x^{(k+1)}=\prod_{C_j}(x^{(k)})-\epsilon \dfrac{x^{(k)}-\prod_{C_j}(x^{(k)})}{||x^{(k)}-\prod_{C_j}(x^{(k)})||_2}

이런 alternating projections은 projection하는 sets이 간단할 때 주로 사용한다.

이번에는 Convex inequalities를 다루는 방법에 대해 살펴보자. fi(x)0, i=1,,mf_i(x) \le 0,~ i=1,…,m 을 만족하는 점을 찾는 문제가 있다. 이런 convex inequalities의 set을 풀기 위해서는 subgradient method를 사용하여 unconstrained function인 f(x)=maxifi(x)f(x)=\max_i f_i(x) 를 minimize해야 한다. 이때 inequalities가 strictly feasible하면 f<0f^\star \lt 0이고, finite한 step을 통해 f(x)0f(x) \le 0 인 점을 찾을 수 있다.

ϵ>0\epsilon \gt 0 이 tolerance일 때 f(x)=max{f1(x),,fm(x),ϵ}f(x)=\max\{ f_1(x),…,f_m(x),-\epsilon\} 에 대하여 fi(x)ϵf_i(x)\le -\epsilon 인 점이 있다고 가정하면 step length 는 다음과 같다.

step size : α=f(x)+ϵg22\alpha=\dfrac{f(x)+\epsilon}{||g||_2^2}

간단함을 위해 ϵ=0\epsilon = 0 이라 가정하고 위의 step length에 대한 해석을 해보자. 현재의 점 xx 에 대하여 fi(x)=f(x)>0f_i(x)=f(x) \gt 0 이고 gfi(x)g \in \partial f_i(x) 라 하자. xx^\starfi(x)0f_i(x^\star) \le 0인 점이라면 다음을 얻는다.

0fi(x)fi(x)+gT(xx)0 \ge f_i(x^\star) \ge f_i(x)+g^T(x^\star-x)

즉, H={z  0fi(x)+gT(zx)}\mathcal{H}=\{z ~|~0 \ge f_i(x)+g^T(z-x) \}에 대해 xHx \in \mathcal{H}이다. 우리는 Polyak’s step length를 사용하여 xx에서의 sub-gradient를 업데이트하는 것이 xxH\mathcal{H}에 projection하는 것과 같음을 알 수 있다.

마지막으로, sub-gradient method가 positive semidefinite matrix completion problem을 푸는 데 어떻게 사용될 수 있는지를 살펴보자. 이는 Sn\bold S^n에 있는 matrix에 대해 diagonal entries을 포함한 몇몇의 entries 이 고정되어 있는 상황에서 다른 entries 들을 채워넣어야 하는 문제이다. 목표는 빈 entries들을 채워넣어 matrix가 positive semidefinite가 되도록 만드는 것이다.

Positive semidefinite matrices 인 S+n\bold S^n_+의 set 과 고정된 entries 로 이루어진 matrix에서 alternating projection 을 사용한다. 첫 번째 projection은 eigenvalue decomposition 을 통해 찾을 수 있다. X=i=1nλiqiqiTX=\sum ^n_{i=1}\lambda_i q_i q_i^T 라 하면 (X)=i=1nmax{0,λi}qiqiT\prod(X)=\sum\limits^n_{i=1}\max \{0,\lambda_i\}q_i q_i^T이다. 두 번째 projection은 주어진 matrix의 fixed entries들을 fixed values 로 바꾸면 된다.

50×5050\times 50 matrix의 예시를 보면 unknown entries 들이 positive semidefinite completion 으로 아주 잘 수렴하고 있음을 관찰할 수 있다.


4. Projected sub-gradient method

이번에 살펴볼 Projected sub-gradient method는 sub-gradient method의 확장으로, convex set으로의 제약 조건이 있을 때 optimization 문제를 풀기 위한 방법이다.

minimize f(x)subject to xC{\displaystyle {\begin{aligned}&{\text{minimize }}f(x)\\[0.5ex]&{\text{subject to }}x \in \mathcal{C}\end{aligned}}}

Projected sub-gradient method는 다음과 같이 주어진다.

x(k+1)=Π(x(k)αkg(k))x^{(k+1)} = \Pi \left(x^{(k)}-\alpha_kg^{(k)}\right)

그냥 sub-gradient method와 비교했을 때 Π\Pi가 추가된 점이 다르다. 이 Π\Piconstraint set C\mathcal{C}로 projection 해주는 operator,negative sub-gradient 방향으로 이동한 뒤 projection 해준다는 의미를 지닌다 이때의 convergence는 standard case와 동일하게 성립한다.

z(k+1)z^{(k+1)}을 projection 전의 point로 놓고 optimal point와의 distance에 대입해 정리해 보자.

z(k+1)x22=x(k)αkg(k)x22=x(k)x222g(k)T(x(k)x)+αk2g(k)22x(k)x222αk(f(x(k))f)+αk2g(k)22\begin{aligned} \lVert z^{(k+1)}-x^* \lVert_2^{2} &=\lVert x^{(k)}-\alpha_kg^{(k)}-x^* \lVert_2^{2} \\ &=\lVert x^{(k)}-x^* \lVert_2^{2}\,-2g^{(k)T}(x^{(k)}-x^*)+\alpha_k^2 \lVert g^{(k)} \rVert_2^{2}\\ &\leq \lVert x^{(k)}-x^* \lVert_2^{2}-2\alpha_k(f(x^{(k)})-f^*)+\alpha_k^2 \lVert g^{(k)} \rVert_2^{2} \end{aligned}

이때 z(k+1)z^{(k+1)}C\mathcal{C}로 projection 시켰으므로 C\mathcal{C} 안의 점인 optimal point에 더 가까워지는 것은 당연하다. 따라서 x(k+1)x22z(k+1)x22\lVert x^{(k+1)}-x^* \lVert_2^{2}\,\leq \lVert z^{(k+1)}-x^* \lVert_2^{2} 이고, 이 둘을 합치면 x(k+1)x22x(k)x222αk(f(x(k))f)+αk2g(k)22\lVert x^{(k+1)}-x^* \lVert_2^{2}\, \leq\lVert x^{(k)}-x^* \lVert_2^{2}\,-2\alpha_k(f(x^{(k)})-f^*)+\alpha_k^2 \lVert g^{(k)} \rVert_2^2 의 inequality를 얻을 수 있다. 이는 standard sub-gradient method의 convergence 증명에서 얻은 결과와 일치하므로, projection이 convergence에 영향을 미치지 않는다는 것을 알 수 있다. 앞에서 나온 Polyak’s step length를 적용해도 convergence는 동일하게 성립한다고 한다.

만약 C={xAx=b}\mathcal{C} =\left\{x\,|\,Ax=b\right\}꼴의 affine set이라면 Ax(k)=bAx^{(k)}=b이므로 AA의 null space로 projection해주면 된다. 그리고 null space는 ATA^T의 column space의 orthogonal complement이므로 sub-gradient update는 아래와 같이 도출된다.

x(k+1)=x(k)αk(IHT)g(k)x^{(k+1)}=x^{(k)}-\alpha_k(I-H^T)g^{(k)}

이처럼 operator를 연산하기 쉬운 경우에는 projected sub-gradient method를 잘 사용할 수 있다.

(Example) l1 norm problem

minimize x1subject to Ax=b{\displaystyle {\begin{aligned}&{\text{minimize }}\lVert x \rVert_1\\[0.5ex]&{\text{subject to }}Ax=b\end{aligned}}}

xRnx\in \mathbb{R}^n이고 A는 full column rank라고 가정하자. l1 norm의 subgradient는 sign(x)이다. 따라서 업데이트 공식은 아래와 같다.

x(k+1)=x(k)αk(IAT(AAT)1A)sign(x(k))x^{(k+1)}=x^{(k)}-\alpha_k(I-A^T(AA^T)^{-1}A)\mathbf{sign}(x^{(k)})

이번에는 dual problem에 대해 projected sub-gradient를 적용해보자. convex optimization problem의 dual problem을 정의하는 것은 익숙하다.

maximize  g(λ)subject to  λ0{\displaystyle {\begin{aligned}&{\text{maximize }}\ g(\lambda)\\[0.5ex]&{\text{subject to }}\ \lambda \succeq0\end{aligned}}}

strong duality가 성립할 때, (가령 slater’s condition을 만족할 때) lambda의 optimal값을 구한 뒤 역으로 x의 optimal 값을 구할 수 있었다. (x=x(λ)x^*=x^*(\lambda^*) 이 dual problem 역시 sub-gradient method를 이용해 풀 수 있다. 업데이트 식은 다음과 같다.

λ(k+1)=(λ(k)αkh)+,h(g)(λ(k))\lambda^{(k+1)}=(\lambda^{(k)}-\alpha_kh)_+,\,\,h\in \partial(-g)(\lambda^{(k)})

라그랑지안에 대한 sub-gradient는 아래와 같이 찾을 수 있다.

g=f0(x(λ))i=1mλifi(x(λ)),h=(f1(x(λ)),...,fm(x(λ)))-g = -f_0(x^*(\lambda))-\sum_{i=1}^m\lambda_if_i(x^*(\lambda)),\,\,h=-\left(f_1(x^*(\lambda)),...,f_m(x^*(\lambda))\right)

Dual problem에 대한 projected sub-gradient method의 업데이트 식은 다음과 같이 정의된다.

x(k)=arg minx(f0(x)+i=1mλi(k)fi(x))x^{(k)}=\underset{x}{\argmin}\left(f_0(x)+\sum_{i=1}^m \lambda_i^{(k)} f_i(x) \right)
λi(k+1)=(λi(k)+fi(x(k)))+\lambda_i^{(k+1)}=\left(\lambda_i^{(k)} +f_i(x^{(k)})\right)_+

이때 primal variable x는 limit에서만 feasible하다. 또한 dual function value와 primal function value는 optimal로 같이 수렴한다.


5. Sub-gradient method for constrained problem

minimize f0(x)subject to fi(x)0,i=1,...,m{\displaystyle {\begin{aligned}&{\text{minimize }}f_0(x)\\[0.5ex]&{\text{subject to }}f_i(x) \leq0,\,i=1,...,m\end{aligned}}}

제약 조건이 있는 convex optimization의 경우에도 sub-gradient update 식은 앞과 똑같다. 다만 현재 x값이 feasible, infeasible한지에 따라 objective의 sub-gradient를 사용할지, 또는 violated된 constraint의 아무 subgradient를 사용할지가 달라진다.

g(k){f0(x(k))fi(x)0,i=1,...,mfj(x)fj(x)>0g^{(k)}\in \begin{cases} \partial f_0(x^{(k)}) & f_i(x) \leq 0,\,\,i=1,...,m \\ \partial f_j(x) & f_j(x) > 0 \end{cases}

다 결국 iteration이 반복됨에 따라 optimal point로 수렴함을 귀류법으로 증명할 수 있다. Polyak’s step length를 사용하고 ff^*를 안다고 하면 현재 상태가 feasible이냐, infeasible이냐에 따라 아래와 같이 step size를 선택한다.

αk={(f0(x(k))f)/g(k)22x(k)is feasible(fi(x(k))+ϵ)/g(k)22x(k)infeasible\alpha_k = \begin{cases} (f_0(x^{(k)})-f^*)/ \lVert g^{(k)} \rVert_2^2 & x^{(k)}\,\text{is feasible} \\ (f_i(x^{(k)})+\epsilon )/ \lVert g^{(k)} \rVert_2^2 & x^{(k)}\,\text{infeasible} \end{cases}

A. Directional Derivative

Directional Derivative의 개념이 포스트 전반에 등장하여, 이를 쉽게 이해할 수 있도록 Kahn Academy의 아래 영상 내용과 기타 자료들을 정리하였다.

https://www.youtube.com/watch?v=N_ZRcLheNv0

Directional derivative, ‘방향도함수’라고 칭해지는 이 개념은 쉽게 말해 편도함수의 확장이라고 볼 수 있다. f(x,y)=x2yf(x, y)=x^2 y로 정의된 함수를 생각해보자. 해당 함수는 두 개의 변수 즉 multivariable을 받아서 하나의 실수를 출력하는 함수이다. 따라서 input space와 output space를 다음과 같이 표현할 수 있다.

이때 우리가 아는 편도함수와 편미분의 개념에 대해 생각해보자. f/x(1,2)\partial f/ \partial x (1, 2)가 의미하는 것은 무엇인가? 바로 input space의 점인 (1, 2)를 x축 방향으로 아주 조금 이동했을 때 출력값이 얼마나 이동해야 하는지를 의미한다. 이 출력값이 이동한 거리와 입력값이 이동한 거리의 비가 f의 x에 대한 편도함수에 입력값을 대입한 결과값이 되는 것이다. f/y(1,2)\partial f/ \partial y (1, 2)도 마찬가지로 해석될 수 있다. 참고로 지금 그림들은 과장해서 그린 것이며, 실제로는 가시적인 변화가 아닌 아주 작은(0에 수렴하는) 변화에 대해 생각하고 있다.

그렇다면 방향 도함수란 무엇인가? (1, 2)를 시점으로 하는 벡터 vv[1,2]T[-1, 2]^T로 정의하도록 하겠다. 방향 도함수의 관심사는 이것이다. 입력값을 x나 y 방향이 아닌, 이 벡터의 방향으로 움직인다면 출력값에는 어떤 영향이 갈 것인가? 이 입력값의 변화를 식으로 표현하면 tvtv가 될 것이다(여기서 t는 아주 작은 값이다). 그리고 우리가 정의한 vv값에 따라 [h,2h][-h, 2h]로 표현할 수 있다. 이는 수학적으로 다음과 같은 노테이션을 이용해 표현된다.

[h,2h][-h, 2h]를 보면 방향도함수가 어떤 식으로 계산될 지를 어느정도 예상해볼 수 있다. 아주 작은 단위 h만큼을 x축 방향으로 -1칸, y축 방향으로 2칸 움직였으니 (f/x)+2(f/y)-(\partial f/\partial x)+2(\partial f/\partial y) 임을 예상할 수 있고, 실제로도 그렇다. 이를 gradient form으로 일반화 해보자면, 벡터 ww[a,b]T[a, b]^T로 정의될 때 wf=wf=wTf\triangledown_wf=w \cdot \triangledown f = w^T\triangledown f로 나타낼 수 있다.

그리고 f가 점 x에서 미분 가능하다는 것의 필요충분조건은 방향도함수 값이 어떤 g에 대해서 f(x;v)=gTvf^\prime(x;v)=g^Tv (여기서 g는 f(x)\triangledown f(x)이다) 의 linear한 형태로 표현되는 것이다. 위에 적은 노테이션을 참고했을 때 좌변이 우변의 형태로 정의되기 위해서는 일단 f\triangledown f가 정의되어야 하기 때문이라고 생각하면 될 것 같다.

이제 교재의 내용으로 돌아와서, Convex function ff에 대해 점 xx에서의 vv 방향으로의 방향도함수는 수식적으로 다음과 같이 정의된다.

이 방향도함수는 몇 가지 성질을 지니는데, 교재에 나온 성질 중에서 함수의 convexity와 관련된 부분만 얘기하고 넘어가도록 하겠다. f**f가 v에서 convex하고 xx의 주변에서 finite 하다면 f(x;v)f^\prime(x;v)는 존재한다**. 좀 더 러프하게 말하자면, (비록 ±\pm \infin의 값을 가질 수는 있지만) convex function f의 모든 점은 방향도함수 값을 가진다.

그림으로 살펴보자면, 다음과 같이 convex한 function에 미분 불가능한 점이 있다고 해도 이 점은 이 근처에서는 미분이 가능하기에 방향도함수를 갖는다. 예를 들어 아래의 점을 기준으로 1과 -1이 다른 방향에 있는 상황일 때, f(x;1)f'(x; 1)f+(x)f'_+(x)이고 f(x;1)f'(x; -1)f(x)f'_-(x)이 된다. 미분 가능하다는 것은 곧 이 방향도함수 값들이 서로 같은 값을 갖는 상황인 것이다.

그리고 방향도함수는 convex function ff에 대해 다음의 관계를 만족한다.

f(x;v)=supgf(x) gTvf^\prime (x;v)=sup_{g \in \partial f(x)} \ g^Tv

이 등식을 증명하는데 sub-gradient의 개념이 이용된다. ffxx에서 미분가능하다면 그 gradient 값이 곧 sub-gradient 값과 동일하다. 따라서 sub-gradient의 정의에서 zz자리에 x+tvx+tv를 넣어보겠다. 이때 식은 다음과 같이 정리되는데: f(x+tv)f(x)tgTvf(x+tv)-f(x) \geq tg^Tv, 여기에 리미트를 붙인게 방향도함수이고 모든 t와 g값에 대해서 이 식이 성립해야 하므로 (즉, 우변의 sup에 대해서도) f(x;v)supgf(x) gTvf^\prime (x;v) \geq sup_{g \in \partial f(x)} \ g^Tv가 만족된다.

f(x+v)f^(x+v)=f(x)+f(x)TvΔxnsd=argmin{f(x)Tv v=1}f(x+v)\approx \hat f(x+v)=f(x)+\nabla f(x)^T v\\ \Delta x_{nsd} = argmin\{\nabla f(x)^T v|~||v||=1\}

이때 f가 x에서 미분 가능하다면 f가 어떤 g에 대해 f(x;v)=gTvf^\prime(x;v)=g^Tv 꼴로 표현된다고 했기 때문에 등호가 성립한다고 생각할 수 있다.

profile
@Yonsei University

0개의 댓글